diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 1bfcab790dd..00000000000 --- a/.eslintignore +++ /dev/null @@ -1,14 +0,0 @@ -node_modules -docs -docs-references -**/lib -**/dist -**/coverage -**/.nyc_output -**/node_modules -*-lock.json -*.lock -benchmarks.* -**/generated - -*/**/*.js diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 18cb6a55ef1..00000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,37 +0,0 @@ -module.exports = { - extends: ["prettier", "plugin:@typescript-eslint/recommended"], - plugins: ["@typescript-eslint", "workspaces"], - env: { - node: true, - es6: true - }, - rules: { - "@typescript-eslint/no-empty-function": "off", - "@typescript-eslint/ban-ts-comment": "off", - "@typescript-eslint/ban-types": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-empty-interface": "off", - "@typescript-eslint/no-namespace": "off", - "@typescript-eslint/no-var-requires": "off", - "@typescript-eslint/no-this-alias": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/explicit-module-boundary-types": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-non-null-assertion": "off", - "require-await": "error", - "no-return-await": "error", - "no-case-declarations": "off", - "no-empty": "off", - "prefer-const": "off", - "no-fallthrough": "off", - "workspaces/no-absolute-imports": "error" - }, - overrides: [ - { - files: ["**/*.benchmark.ts", "**/test/**", "**/__mock__/**"], - rules: { - "workspaces/no-absolute-imports": "off" - } - } - ] -}; diff --git a/.gflowrc b/.gflowrc index 272a63099bb..54e2e8dbdae 100644 --- a/.gflowrc +++ b/.gflowrc @@ -1,7 +1,7 @@ { "flow": "gflow", "remote": "origin", - "develop": "production", + "develop": "alpha", "production": "production", "ignores": [], "syncAfterFinish": false, diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fbc8fbdb73e..b563659db37 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,7 +7,7 @@ on: push: branches: [production, alpha, beta, rc] pull_request: - branches: [production] + branches: [production, alpha, beta, rc] types: [opened, synchronize, closed] concurrency: @@ -74,7 +74,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] - node-version: [20.12.2, 22.x] + node-version: [20.12.2] exclude: - os: macos-latest node-version: 20.x diff --git a/.husky/pre-commit b/.husky/pre-commit index 49088de7558..a644cbfbb5e 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,4 @@ #!/bin/sh . "$(dirname "$0")/_/husky.sh" -npx lint-staged $1 +yarn lint-staged $1 diff --git a/benchmarks/bin/benchmark-bench.js b/benchmarks/bin/benchmark-bench.js index a5b7c5cda5d..5aad3618406 100644 --- a/benchmarks/bin/benchmark-bench.js +++ b/benchmarks/bin/benchmark-bench.js @@ -1,8 +1,9 @@ "use strict"; +import {Command} from "commander"; import inquirer from "inquirer"; + import bench from "../src/bench.js"; import {choices, list} from "../src/packages.js"; -import {Command} from "commander"; const program = new Command(); diff --git a/benchmarks/bin/benchmark-compare.js b/benchmarks/bin/benchmark-compare.js index a35b05cf167..853ac55f450 100644 --- a/benchmarks/bin/benchmark-compare.js +++ b/benchmarks/bin/benchmark-compare.js @@ -1,13 +1,14 @@ #!/usr/bin/env node -import os from "os"; +import chalk from "chalk"; +import Table from "cli-table"; import {Command} from "commander"; +import {readdirSync, readFileSync, writeFileSync} from "fs"; import inquirer from "inquirer"; -import Table from "cli-table"; -import chalk from "chalk"; +import os from "os"; import {join} from "path"; -import {readdirSync, readFileSync, writeFileSync} from "fs"; -import {info} from "../src/packages.js"; + import {compare} from "../src/autocannon.js"; +import {info} from "../src/packages.js"; const commander = new Command(); diff --git a/benchmarks/frameworks/express-injector-async-hook.js b/benchmarks/frameworks/express-injector-async-hook.js index 0a7ff7ff6f2..ea0da803462 100644 --- a/benchmarks/frameworks/express-injector-async-hook.js +++ b/benchmarks/frameworks/express-injector-async-hook.js @@ -1,6 +1,6 @@ -import express from "express"; -import {InjectorService} from "@tsed/di"; import {PlatformContext, PlatformRequest, PlatformResponse} from "@tsed/common"; +import {InjectorService} from "@tsed/di"; +import express from "express"; import {v4} from "uuid"; const app = express(); diff --git a/benchmarks/frameworks/express-injector-http-hook.js b/benchmarks/frameworks/express-injector-http-hook.js index 7f26c1d6ddc..c595b82cbe2 100644 --- a/benchmarks/frameworks/express-injector-http-hook.js +++ b/benchmarks/frameworks/express-injector-http-hook.js @@ -1,8 +1,8 @@ -import express from "express"; -import {InjectorService, runInContext, setContext} from "@tsed/di"; import {PlatformContext, PlatformRequest, PlatformResponse} from "@tsed/common"; -import {v4} from "uuid"; +import {InjectorService, runInContext, setContext} from "@tsed/di"; +import express from "express"; import http from "http"; +import {v4} from "uuid"; const injector = new InjectorService(); const app = express(); diff --git a/benchmarks/frameworks/express-injector-without-events.js b/benchmarks/frameworks/express-injector-without-events.js index b59b58c57fe..5478d9bf8ef 100644 --- a/benchmarks/frameworks/express-injector-without-events.js +++ b/benchmarks/frameworks/express-injector-without-events.js @@ -1,8 +1,8 @@ -import express from "express"; -import {InjectorService, runInContext, setContext} from "@tsed/di"; import {PlatformContext, PlatformRequest, PlatformResponse} from "@tsed/common"; -import {v4} from "uuid"; +import {InjectorService, runInContext, setContext} from "@tsed/di"; +import express from "express"; import http from "http"; +import {v4} from "uuid"; const injector = new InjectorService(); const app = express(); diff --git a/benchmarks/frameworks/express-injector.js b/benchmarks/frameworks/express-injector.js index 1dccdb5681c..ab948821674 100644 --- a/benchmarks/frameworks/express-injector.js +++ b/benchmarks/frameworks/express-injector.js @@ -1,6 +1,6 @@ -import express from "express"; -import {InjectorService} from "@tsed/di"; import {PlatformContext, PlatformRequest, PlatformResponse} from "@tsed/common"; +import {InjectorService} from "@tsed/di"; +import express from "express"; import {v4} from "uuid"; const app = express(); diff --git a/benchmarks/frameworks/fastify-injector.js b/benchmarks/frameworks/fastify-injector.js index 84c3228c717..be050ef1a32 100644 --- a/benchmarks/frameworks/fastify-injector.js +++ b/benchmarks/frameworks/fastify-injector.js @@ -1,6 +1,6 @@ -import Fastify from "fastify"; -import {InjectorService, runInContext, getContext} from "@tsed/di"; import {PlatformContext} from "@tsed/common"; +import {getContext, InjectorService, runInContext} from "@tsed/di"; +import Fastify from "fastify"; import {v4} from "uuid"; const fastify = Fastify(); diff --git a/benchmarks/frameworks/hapi.js b/benchmarks/frameworks/hapi.js index 19281b5e8ca..63fdf01890c 100755 --- a/benchmarks/frameworks/hapi.js +++ b/benchmarks/frameworks/hapi.js @@ -1,4 +1,5 @@ import "make-promises-safe"; + import Hapi from "@hapi/hapi"; async function start() { diff --git a/benchmarks/frameworks/koa-isomorphic-router.js b/benchmarks/frameworks/koa-isomorphic-router.js index 6aa9db09561..7756ae80924 100644 --- a/benchmarks/frameworks/koa-isomorphic-router.js +++ b/benchmarks/frameworks/koa-isomorphic-router.js @@ -1,5 +1,5 @@ -import Koa from "koa"; import Router from "benchmarks/frameworks/koa-isomorphic-router.js"; +import Koa from "koa"; const app = new Koa(); const router = new Router(); diff --git a/benchmarks/frameworks/koa-router.js b/benchmarks/frameworks/koa-router.js index 67228559670..fbd9f3b1e6e 100644 --- a/benchmarks/frameworks/koa-router.js +++ b/benchmarks/frameworks/koa-router.js @@ -1,5 +1,5 @@ -import Koa from "koa"; import KoaRouter from "benchmarks/frameworks/koa-router.js"; +import Koa from "koa"; const router = KoaRouter(); diff --git a/benchmarks/frameworks/nest-fastify.js b/benchmarks/frameworks/nest-fastify.js index 7a4af148cc7..04ba896464c 100644 --- a/benchmarks/frameworks/nest-fastify.js +++ b/benchmarks/frameworks/nest-fastify.js @@ -1,5 +1,6 @@ import core from "@nestjs/core"; import fastifyPlatform from "@nestjs/platform-fastify"; + import {AppModule} from "./nest/app/app.module.js"; core.NestFactory.create(AppModule, new fastifyPlatform.FastifyAdapter(), { diff --git a/benchmarks/frameworks/nest/app/app.controller.js b/benchmarks/frameworks/nest/app/app.controller.js index 3b2a2dbeca5..9b0bae29de1 100644 --- a/benchmarks/frameworks/nest/app/app.controller.js +++ b/benchmarks/frameworks/nest/app/app.controller.js @@ -1,5 +1,5 @@ -import {__decorate, __metadata} from "tslib"; import common from "@nestjs/common"; +import {__decorate, __metadata} from "tslib"; class AppController { root() { diff --git a/benchmarks/frameworks/nest/app/app.module.js b/benchmarks/frameworks/nest/app/app.module.js index 1b9958187cd..64bed42a778 100644 --- a/benchmarks/frameworks/nest/app/app.module.js +++ b/benchmarks/frameworks/nest/app/app.module.js @@ -1,5 +1,6 @@ -import {__decorate} from "tslib"; import common_1 from "@nestjs/common"; +import {__decorate} from "tslib"; + import {AppController} from "./app.controller.js"; class AppModule {} diff --git a/benchmarks/frameworks/nest/index.js b/benchmarks/frameworks/nest/index.js index dee2ecfd6b8..40e14507ab7 100644 --- a/benchmarks/frameworks/nest/index.js +++ b/benchmarks/frameworks/nest/index.js @@ -1,5 +1,6 @@ "use strict"; import core from "@nestjs/core"; + import {AppModule} from "./app/app.module.js"; core.NestFactory.create(AppModule, { diff --git a/benchmarks/frameworks/tsed-express.js b/benchmarks/frameworks/tsed-express.js index 834d38f12ab..58cc73eb77e 100644 --- a/benchmarks/frameworks/tsed-express.js +++ b/benchmarks/frameworks/tsed-express.js @@ -1,8 +1,8 @@ "use strict"; +import {PlatformApplication} from "@tsed/common"; +import {Inject} from "@tsed/di"; import {PlatformExpress} from "@tsed/platform-express"; import {__decorate} from "tslib"; -import {Inject} from "@tsed/di"; -import {PlatformApplication} from "@tsed/common"; class Server { $onInit() { diff --git a/benchmarks/frameworks/tsed-koa.js b/benchmarks/frameworks/tsed-koa.js index a0b257b7af3..8c417686a48 100644 --- a/benchmarks/frameworks/tsed-koa.js +++ b/benchmarks/frameworks/tsed-koa.js @@ -1,8 +1,8 @@ "use strict"; +import {PlatformApplication} from "@tsed/common"; +import {Inject} from "@tsed/di"; import {PlatformKoa} from "@tsed/platform-koa"; import {__decorate} from "tslib"; -import {Inject} from "@tsed/di"; -import {PlatformApplication} from "@tsed/common"; class Server { $beforeRoutesInit() { diff --git a/benchmarks/frameworks/tsed-no-context.js b/benchmarks/frameworks/tsed-no-context.js index 3b2d1b59e61..82ca85e4708 100644 --- a/benchmarks/frameworks/tsed-no-context.js +++ b/benchmarks/frameworks/tsed-no-context.js @@ -1,8 +1,8 @@ "use strict"; +import {PlatformApplication} from "@tsed/common"; +import {Inject} from "@tsed/di"; import {PlatformExpress} from "@tsed/platform-express"; import {__decorate} from "tslib"; -import {Inject} from "@tsed/di"; -import {PlatformApplication} from "@tsed/common"; class Server { $onInit() { diff --git a/benchmarks/frameworks/tsed-no-events.js b/benchmarks/frameworks/tsed-no-events.js index 5b6d48939d6..28226a24e46 100644 --- a/benchmarks/frameworks/tsed-no-events.js +++ b/benchmarks/frameworks/tsed-no-events.js @@ -1,8 +1,8 @@ "use strict"; +import {PlatformApplication} from "@tsed/common"; +import {Inject} from "@tsed/di"; import {PlatformExpress} from "@tsed/platform-express"; import {__decorate} from "tslib"; -import {Inject} from "@tsed/di"; -import {PlatformApplication} from "@tsed/common"; class Server { $onInit() { diff --git a/benchmarks/src/autocannon.js b/benchmarks/src/autocannon.js index e50f0d2914b..f2f0905eaf6 100644 --- a/benchmarks/src/autocannon.js +++ b/benchmarks/src/autocannon.js @@ -1,6 +1,6 @@ import autocannon from "autocannon"; -import fs from "fs"; import autoCompare from "autocannon-compare"; +import fs from "fs"; import path from "path"; import {promisify} from "util"; diff --git a/benchmarks/src/bench.js b/benchmarks/src/bench.js index f814816dc36..96887bee306 100644 --- a/benchmarks/src/bench.js +++ b/benchmarks/src/bench.js @@ -2,9 +2,10 @@ import {execa} from "execa"; import ora from "ora"; import path from "path"; -import {fire} from "./autocannon.js"; import {fileURLToPath} from "url"; +import {fire} from "./autocannon.js"; + const __dirname = path.dirname(fileURLToPath(import.meta.url)); const doBench = async (opts, handler) => { diff --git a/benchmarks/src/packages.js b/benchmarks/src/packages.js index f55b68f50c3..8d0b2944def 100755 --- a/benchmarks/src/packages.js +++ b/benchmarks/src/packages.js @@ -1,6 +1,6 @@ import fs from "fs"; -import {dirname, join} from "path"; import {createRequire} from "module"; +import {dirname, join} from "path"; const require = createRequire(import.meta.url); diff --git a/commitlint.config.mjs b/commitlint.config.mjs index 5587c1bcfaf..57232d2cfa8 100644 --- a/commitlint.config.mjs +++ b/commitlint.config.mjs @@ -1,4 +1,4 @@ -import globby from "globby"; +import {globbySync} from "globby"; import {basename} from "node:path"; import pkg from "./package.json" assert {type: "json"}; import {RuleConfigSeverity} from "@commitlint/types"; @@ -8,7 +8,7 @@ function findPackages() { return `${pkgPattern}/package.json`; }); - let pkgs = globby.sync(patterns, { + let pkgs = globbySync(patterns, { cwd: process.cwd(), }); diff --git a/docs/docs/snippets/configuration/bootstrap-with-node-config.ts b/docs/docs/snippets/configuration/bootstrap-with-node-config.ts index 25913bd8d05..4b329a47497 100644 --- a/docs/docs/snippets/configuration/bootstrap-with-node-config.ts +++ b/docs/docs/snippets/configuration/bootstrap-with-node-config.ts @@ -2,7 +2,7 @@ import {$log} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; import {Server} from "./server"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // /!\ configuration file must be outside of your src directory process.env["NODE_CONFIG_DIR"] = `${rootDir}/../config`; diff --git a/docs/docs/snippets/controllers/observable-stream-buffer-controller.ts b/docs/docs/snippets/controllers/observable-stream-buffer-controller.ts index e7de777f06d..e997b4d829c 100644 --- a/docs/docs/snippets/controllers/observable-stream-buffer-controller.ts +++ b/docs/docs/snippets/controllers/observable-stream-buffer-controller.ts @@ -4,7 +4,7 @@ import {Get} from "@tsed/schema"; import {createReadStream, ReadStream} from "fs"; import {Observable, of} from "rxjs"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; @Controller("/") export class KindOfResponseCtrl { diff --git a/docs/docs/snippets/converters/server-moment-mapper-import.ts b/docs/docs/snippets/converters/server-moment-mapper-import.ts index ecbcab40bc0..8e2f159165c 100644 --- a/docs/docs/snippets/converters/server-moment-mapper-import.ts +++ b/docs/docs/snippets/converters/server-moment-mapper-import.ts @@ -1,5 +1,5 @@ import {Configuration} from "@tsed/di"; -import "./mappers/MomentMapper"; // just import mapper to be available +import "./mappers/MomentMapper.js"; // just import mapper to be available @Configuration({}) export class Server {} diff --git a/docs/docs/snippets/middlewares/accept-mime-usage.ts b/docs/docs/snippets/middlewares/accept-mime-usage.ts index 4f2ec46cc18..184b49493d1 100644 --- a/docs/docs/snippets/middlewares/accept-mime-usage.ts +++ b/docs/docs/snippets/middlewares/accept-mime-usage.ts @@ -1,10 +1,10 @@ -import {Get} from "@tsed/schema"; import {Controller} from "@tsed/di"; -import {AcceptMime} from "@tsed/common"; +import {AcceptMime, Get} from "@tsed/schema"; @Controller("/mypath") export class MyCtrl { @Get("/") @AcceptMime("application/json") - public getResource() {} + public getResource() { + } } diff --git a/docs/getting-started/snippets/base/package.json b/docs/getting-started/snippets/base/package.json index 9d1d033f4ee..6df6149f515 100644 --- a/docs/getting-started/snippets/base/package.json +++ b/docs/getting-started/snippets/base/package.json @@ -65,6 +65,6 @@ "supertest": "6.0.0", "ts-node": "9.0.0", "tslint": "6.1.3", - "typescript": "4.9.5" + "typescript": "5.4.5" } } diff --git a/docs/package.json b/docs/package.json index 6b9a9b6f881..fe8d06a2af0 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,6 +1,6 @@ { "name": "@tsed/docs", - "version": "7.83.3", + "version": "8.0.0-alpha.10", "description": "Documentation Ts.ED", "private": true, "scripts": { diff --git a/docs/tutorials/graphql-apollo.md b/docs/tutorials/graphql-apollo.md index a82651a2533..0d12ff7e578 100644 --- a/docs/tutorials/graphql-apollo.md +++ b/docs/tutorials/graphql-apollo.md @@ -15,6 +15,10 @@ Ts.ED provides a module to create multiple Apollo server and bind it with Ts.ED ## Feature +::: warning +Since v7.70.0, Ts.ED use Apollo Server v4. If you are using Apollo Server v3, you can use the `@tsed/apollo@7.69.0` package. +::: + - Create [Apollo](https://www.apollographql.com/docs/apollo-server/api/apollo-server.html) Server and bind it with Ts.ED, - Create multiple servers, @@ -27,7 +31,7 @@ Ts.ED provides a module to create multiple Apollo server and bind it with Ts.ED ```bash -npm install --save @tsed/apollo graphql apollo-server-express +npm install --save @tsed/apollo graphql @apollo/server npm install --save-dev apollo-server-testing ``` @@ -35,7 +39,7 @@ npm install --save-dev apollo-server-testing ```bash -npm install --save @tsed/apollo graphql apollo-server-koa +npm install --save @tsed/apollo graphql @apollo/server @as-integration/koa npm install --save-dev apollo-server-testing ``` @@ -160,7 +164,7 @@ ApolloService (or TypeGraphQLService) lets you retrieve an instance of ApolloSer import {AfterRoutesInit} from "@tsed/common"; import {Inject, Injectable} from "@tsed/di"; import {ApolloService} from "@tsed/apollo"; -import {ApolloServerBase} from "apollo-server-core"; +import {ApolloServer} from "@apollo/server"; @Injectable() export class UsersService implements AfterRoutesInit { @@ -168,7 +172,7 @@ export class UsersService implements AfterRoutesInit { private ApolloService: ApolloService; // or private typeGraphQLService: TypeGraphQLService; - private server: ApolloServerBase; + private server: ApolloServer; $afterRoutesInit() { this.server = this.apolloService.get("server1")!; @@ -179,6 +183,132 @@ export class UsersService implements AfterRoutesInit { For more information about ApolloServer, look at its documentation [here](https://www.apollographql.com/docs/apollo-server/api/apollo-server.html); +## DataSources + +Apollo Server provides a mechanism to fetch data from a REST API or a database. This mechanism is called DataSources. +Ts.ED allows you to register your DataSources using the `@DataSource` decorator. + +```typescript +import {DataSource} from "@tsed/apollo"; +import {RESTDataSource} from "@apollo/datasource-rest"; + +@DataSource() +export class MyDataSource extends RESTDataSource { + @InjectContext() + protected $ctx: PlatformContext; + + @Constant("envs.MY_API_URL", "http://localhost:8001") + private baseURL: string; + + getMyData(id: string) { + return this.get(`/rest/calendars/${id}`, { + headers: { + Authorization: `Bearer ${this.$ctx.request.get("authorization")}` + } + }); + } +} +``` + +## Alter Apollo Context + +You can alter the Apollo context by using the `$alterApolloContext` hook. This hook is called each the GraphQL request is handled. + +For example, you can call a service to get the user scope from the request token. + +```typescript +import type {AlterApolloContext, ApolloContext} from "@tsed/apollo"; +import {PlatformContext} from "@tsed/common"; +import {Injectable} from "@tsed/di"; +import {AuthService} from "../auth/AuthService"; + +export interface CustomApolloContext extends ApolloContext { + scope: string; + token: string | undefined; +} + +@Injectable() +export class MyModule implements AlterApolloContext { + @Inject() + protected authService: AuthService; + + async $alterApolloContext(context: ApolloContext, $ctx: PlatformContext): CustomApolloContext { + const token = $ctx.request.get("authorization"); + + return { + ...context, + token, + scope: await this.authService.getScope(token) + }; + } +} +``` + +Now, your context will be updated with the `authScope` property, and you can access it in your DataSources or resolvers. + +```typescript +import {DataSource, InjectApolloContext, ApolloContext, InjectApolloContext} from "@tsed/apollo"; +import {Constant, Opts} from "@tsed/di"; +import {RESTDataSource} from "@apollo/datasource-rest"; + +@DataSource() +export class MyDataSource extends RESTDataSource { + @InjectContext() + protected $ctx: PlatformContext; + + @Constant("envs.MY_BACK_URL", "http://localhost:8001") + protected baseURL: string; + + @InjectApolloContext() + protected context: CustomApolloContext; + + constructor(server: ApolloServer, logger: Logger) { + super({ + logger, + cache: server.cache + }); + } + + willSendRequest(path, request) { + request.headers["authorization"] = this.context.token; + } + + getMyData(id: string) { + return this.get(`/rest/calendars/${id}`); + } +} +``` + +Here another example using `apollo-datasource-http`: + +```ts +import {DataSource, InjectApolloContext, ApolloContext, InjectApolloContext} from "@tsed/apollo"; +import {ApolloServer} from "@apollo/server"; +import {Opts, Configuration} from "@tsed/di"; + +@DataSource() +class MoviesAPI extends HTTPDataSource { + constructor(@Opts {token}: CustomApolloContext, server: ApolloServer, logger: Logger, @Configuration() configuration: Configuration) { + // the necessary arguments for HTTPDataSource + super(configuration.get("envs.MOVIES_API_URL"), { + logger + }); + + // We need to call the initialize method in our data source's + // constructor, passing in our cache and contextValue. + this.initialize({cache: server.cache, context: token}); + } + + getMovie(id: string) { + return this.get(`movies/${encodeURIComponent(id)}`); + } +} +``` + +::: warning +Injecting ApolloServer on constructor is only possible inside a DataSource class. If you need to inject ApolloServer in another class, you can use the `ApolloService` to retrieve the server instance. +::: + ## Author diff --git a/docs/tutorials/graphql-nexus.md b/docs/tutorials/graphql-nexus.md index 3c742cd1968..86ca85ab7e6 100644 --- a/docs/tutorials/graphql-nexus.md +++ b/docs/tutorials/graphql-nexus.md @@ -21,8 +21,7 @@ This example need to be used with `@tsed/apollo` module. So, you must install it ```bash -npm install --save @tsed/apollo -npm install --save nexus graphql apollo-server-express +npm install --save @tsed/apollo nexus graphql @apollo/server npm install --save-dev apollo-server-testing ``` @@ -30,8 +29,7 @@ npm install --save-dev apollo-server-testing ```bash -npm install --save @tsed/apollo graphql -npm install --save nexus graphql apollo-server-koa +npm install --save @tsed/apollo nexus graphql @apollo/server @as-integration/koa npm install --save-dev apollo-server-testing ``` @@ -90,7 +88,7 @@ a @@DataSourceService@@ decorator to declare a DataSource which will be injected ```typescript import {DataSource} from "@tsed/typegraphql"; -import {RESTDataSource} from "apollo-datasource-rest"; +import {RESTDataSource} from "@apollo/datasource-rest"; import {User} from "../models/User"; @DataSource() export class UserDataSource extends RESTDataSource { diff --git a/docs/tutorials/graphql-typegraphql.md b/docs/tutorials/graphql-typegraphql.md index 8976f013855..1bcc6677355 100644 --- a/docs/tutorials/graphql-typegraphql.md +++ b/docs/tutorials/graphql-typegraphql.md @@ -20,8 +20,7 @@ To begin, install the `@tsed/typegraphql` package: ```bash -npm install --save @tsed/typegraphql graphql apollo-server-express -npm install --save type-graphql apollo-datasource apollo-datasource-rest +npm install --save @tsed/apollo graphql type-graphql @apollo/server @apollo/datasource-rest graphql-scalars npm install --save-dev apollo-server-testing ``` @@ -29,8 +28,7 @@ npm install --save-dev apollo-server-testing ```bash -npm install --save @tsed/typegraphql graphql apollo-server-koa -npm install --save type-graphql apollo-datasource apollo-datasource-rest +npm install --save @tsed/apollo graphql type-graphql @apollo/server @as-integration/koa @apollo/datasource-rest graphql-scalars npm install --save-dev apollo-server-testing ``` @@ -39,8 +37,8 @@ npm install --save-dev apollo-server-testing Now, we can configure the Ts.ED server by importing `@tsed/typegraphql` in your Server: - - +[//]: # '' +[//]: # ' ' ```ts import {Configuration} from "@tsed/di"; @@ -49,22 +47,18 @@ import "@tsed/typegraphql"; import "./resolvers/index"; // barrel file with all resolvers @Configuration({ - typegraphql: { + apollo: { server1: { // GraphQL server configuration + // See options descriptions on https://www.apollographql.com/docs/apollo-server/api/apollo-server.html path: "/", - playground: true, // enable playground GraphQL IDE. Set false to use Apollo Studio + playground: true // enable playground GraphQL IDE. Set false to use Apollo Studio // resolvers?: (Function | string)[]; // dataSources?: Function; // server?: (config: Config) => ApolloServer; - // Apollo Server options - // See options descriptions on https://www.apollographql.com/docs/apollo-server/api/apollo-server.html - serverConfig: { - plugins: [] - } - + // plugins: [] // middlewareOptions?: ServerRegistration; // type-graphql @@ -76,18 +70,19 @@ import "./resolvers/index"; // barrel file with all resolvers export class Server {} ``` - - - - - - - +[//]: # +[//]: # " " +[//]: # ' ' +[//]: # +[//]: # '' +[//]: # +[//]: # " " +[//]: # "" ## Types @@ -210,17 +205,35 @@ a @@DataSourceService@@ decorator to declare a DataSource which will be injected ```typescript import {DataSource} from "@tsed/typegraphql"; -import {RESTDataSource} from "apollo-datasource-rest"; +import {RESTDataSource} from "@apollo/datasource-rest"; import {User} from "../models/User"; +import {DataSource, InjectApolloContext, ApolloContext, InjectApolloContext} from "@tsed/apollo"; +import {Constant, Opts} from "@tsed/di"; +import {RESTDataSource} from "@apollo/datasource-rest"; @DataSource() export class UserDataSource extends RESTDataSource { - constructor() { - super(); - this.baseURL = "https://myapi.com/api/users"; + @InjectContext() + protected $ctx: PlatformContext; + + @Constant("envs.USERS_URL", "https://myapi.com/api/users") + protected baseURL: string; + + @InjectApolloContext() + protected context: CustomApolloContext; + + constructor(server: ApolloServer, logger: Logger) { + super({ + logger, + cache: server.cache + }); + } + + willSendRequest(path, request) { + request.headers["authorization"] = this.context.token; } - getUserById(id: string): Promise { + getUserById(id: string) { return this.get(`/${id}`); } } diff --git a/docs/tutorials/graphql-ws.md b/docs/tutorials/graphql-ws.md index 69731d5133b..922def2ee3d 100644 --- a/docs/tutorials/graphql-ws.md +++ b/docs/tutorials/graphql-ws.md @@ -43,7 +43,7 @@ yarn add @tsed/graphql-ws graphql-ws import {Configuration} from "@tsed/common"; import "@tsed/platform-express"; import "@tsed/apollo"; -import "@tsed/graphql-ws"; +import "@tsed/graphql-ws"; // auto import plugin for @tsed/apollo import {join} from "path"; @Configuration({ @@ -82,124 +82,49 @@ import {join} from "path"; export class Server {} ``` -## Register plugins +## The PubSub class -You can register plugins with the `plugins` property. The plugins are executed in the order of declaration. - -```typescript -import {Configuration} from "@tsed/common"; -import "@tsed/platform-express"; -import "@tsed/apollo"; -import {join} from "path"; - -@Configuration({ - apollo: { - server1: { - plugins: [] // Apollo plugins - } - } -}) -export class Server {} -``` - -But if you need to register and access to the injector, you can use the `$alterApolloServerPlugins` hook. For example, -you can register the `graphql-ws` necessary to support the `subscription` feature of GraphQL like this: - -```typescript -import {Constant, Inject, InjectorService, Module} from "@tsed/di"; -import {useServer} from "graphql-ws/lib/use/ws"; -import Http from "http"; -import Https from "https"; -import {WebSocketServer} from "ws"; -import {GraphQLWSOptions} from "./GraphQLWSOptions"; - -@Module() -export class GraphQLWSModule { - @Constant("graphqlWs", {}) - private settings: GraphQLWSOptions; - - @Inject(Http.Server) - private httpServer: Http.Server | null; - - @Inject(Https.Server) - private httpsServer: Https.Server | null; - - @Inject() - private injector: InjectorService; - - createWSServer(settings: GraphQLWSOptions) { - const wsServer = new WebSocketServer({ - ...(this.settings.wsServerOptions || {}), - ...settings.wsServerOptions, - server: this.httpsServer || this.httpServer!, - path: settings.path - }); - - return useServer( - { - ...(this.settings.wsUseServerOptions || {}), - ...settings.wsUseServerOptions, - schema: settings.schema - }, - wsServer - ); - } +::: warning +The PubSub class is not recommended for production environments, because it's an in-memory event system that only supports a single server instance. After you get subscriptions working in development, we strongly recommend switching it out for a different subclass of the abstract [PubSubEngine](https://github.com/apollographql/graphql-subscriptions/blob/master/src/pubsub-engine.ts) +class. Recommended subclasses are listed in [Production PubSub libraries](https://www.apollographql.com/docs/apollo-server/data/subscriptions/#production-pubsub-libraries). +::: - async $alterApolloServerPlugins(plugins: any[], settings: GraphQLWSOptions) { - const wsServer = await this.createWSServer(settings); +You can use the publish-subscribe (pub/sub) model to track events that update active subscriptions. +The graphql-subscriptions library provides the PubSub class as a basic in-memory event bus to help you get started: - this.injector.logger.info(`Create GraphQL WS server on: ${settings.path}`); +To use the graphql-subscriptions package, first install it like so: - return plugins.concat({ - serverWillStart() { - return { - async drainServer() { - await wsServer.dispose(); - } - }; - } - } as any); - } -} +```shell +npm install graphql-subscriptions ``` -::: tip Note -Ts.ED provide a `@tsed/graphql-ws` package to support the `subscription` feature of GraphQL. See [here](https://tsed.io/api/graphql-ws.html) for more details. -::: - -## Nexus - -### Installation +A `PubSub` instance enables your server code to both `publish` events to a particular label and listen for events associated with a particular label. +We can create a `PubSub` instance like so: - - - -```bash -npm install --save @tsed/apollo -npm install --save nexus graphql apollo-server-express -npm install --save-dev apollo-server-testing -``` +```typescript +import {PubSub} from "graphql-subscriptions"; +import {registerProvider} from "@tsed/di"; - - +export const pubsub = new PubSub(); +export const PubSubProvider = Symbol.for("PubSubProvider"); +export type PubSubProvider = PubSub; -```bash -npm install --save @tsed/apollo graphql -npm install --save nexus graphql apollo-server-koa -npm install --save-dev apollo-server-testing +registerProvider({provide: PubSub, useValue: pubsub}); ``` - - +Depending on the schema resolver (nexus, type-graphql, etc.), you can use the `pubsub` instance to publish events and subscribe to them in your resolvers. -Now, we can configure the Ts.ED server by importing `@tsed/apollo` in your Server: +::: warning +To use the subscription feature with TypeGraphQL, you have to give pubsub instance to the buildSchemaOptions: ```typescript import {Configuration} from "@tsed/common"; import "@tsed/platform-express"; import "@tsed/apollo"; -import {schema} from "./schema"; +import "@tsed/typegraphql"; +import "@tsed/graphql-ws"; // auto import plugin for @tsed/apollo import {join} from "path"; +import {pubsub} from "./pubsub/pubsub"; @Configuration({ apollo: { @@ -207,212 +132,84 @@ import {join} from "path"; // GraphQL server configuration path: "/", playground: true, // enable playground GraphQL IDE. Set false to use Apollo Studio - schema, - plugins: [] // Apollo plugins - - // Give custom server instance - // server?: (config: Config) => ApolloServer; - - // ApolloServer options - // ... - // See options descriptions on https://www.apollographql.com/docs/apollo-server/api/apollo-server.html + plugins: [], // Apollo plugins + buildSchemaOptions: { + pubsub + } + } + }, + graphqlWs: { + // global options + wsServerOptions: { + // See options descriptions on + }, + wsUseServerOptions: { + // See options descriptions on } } }) export class Server {} ``` -Then create `schema/index.ts`: - -```typescript -import {makeSchema} from "nexus"; -import {join} from "path"; - -export const schema = makeSchema({ - types: [], // 1 - outputs: { - typegen: join(process.cwd(), "..", "..", "nexus-typegen.ts"), // 2 - schema: join(process.cwd(), "..", "..", "schema.graphql") // 3 - } -}); -``` - -## TypeGraphQL - -### Installation - -To begin, install the `@tsed/typegraphql` package: - - - - -```bash -npm install --save @tsed/typegraphql graphql apollo-server-express -npm install --save type-graphql apollo-datasource apollo-datasource-rest -npm install --save-dev apollo-server-testing -``` - - - - -```bash -npm install --save @tsed/typegraphql graphql apollo-server-koa -npm install --save type-graphql apollo-datasource apollo-datasource-rest -npm install --save-dev apollo-server-testing -``` - - - - -Now, we can configure the Ts.ED server by importing `@tsed/typegraphql` in your Server: - - - - -<<< @/tutorials/snippets/graphql/server-configuration.ts - - - - - - - - - -### Types - -We want to get the equivalent of this type described in SDL: - -``` -type Recipe { - id: ID! - title: String! - description: String - creationDate: Date! - ingredients: [String!]! -} -``` - -So we create the Recipe class with all properties and types: +Here is a simple example of how to use the `pubsub` instance in a resolver using the `type-graphql` library: ```typescript -class Recipe { - id: string; - title: string; - description?: string; - creationDate: Date; - ingredients: string[]; -} -``` - -Then we decorate the class and its properties with decorators: +import {InjectContext, PlatformContext} from "@tsed/common"; +import {Inject} from "@tsed/di"; +import {ResolverController} from "@tsed/typegraphql"; +import {Arg, Mutation, Query, Root, Subscription} from "type-graphql"; +import {RecipeService} from "../../services/RecipeService"; +import {PubSubProvider} from "../pubsub/pubsub.js"; +import {Recipe, RecipeNotification} from "./Recipe"; +import {RecipeNotFoundError} from "./RecipeNotFoundError"; + +@ResolverController((_of) => Recipe) +export class RecipeResolver { + @InjectContext() + private $ctx: PlatformContext; -<<< @/tutorials/snippets/graphql/recipe-type.ts + @Inject() + private recipeService: RecipeService; -The detailed rules for when to use nullable, array and others are described -in [fields and types docs](https://typegraphql.com/docs/types-and-fields.html). + @Inject(PubSubProvider) + private pubSub: PubSubProvider; -### Resolvers + @Query((returns) => Recipe) + async recipe(@Arg("id") id: string) { + const recipe = await this.recipeService.findById(id); -After that we want to create typical crud queries and mutation. To do that we create the resolver (controller) class -that will have injected RecipeService in the constructor: + if (recipe === undefined) { + throw new RecipeNotFoundError(id); + } -<<< @/tutorials/snippets/graphql/resolver-service.ts + return recipe; + } -#### Multiple GraphQL server + @Query((returns) => [Recipe], {description: "Get all the recipes from around the world "}) + recipes(): Promise { + this.$ctx.set("test", "test"); + return this.recipeService.findAll({}); + } -If you register multiple GraphQL servers, you must specify the server id in the `@ResolverController` decorator. + @Mutation((returns) => Recipe) + async addRecipe(@Arg("title") title: string, @Arg("description") description: string) { + const payload = await this.recipeService.create({title, description}); + const notification = new RecipeNotification(payload); -```typescript -@ResolverController(Recipe, {id: "server1"}) -``` + this.pubSub.publish("NOTIFICATIONS", notification); -Another solution is to not use `@ResolverController` (use `@Resolver` from TypeGraphQL), and declare explicitly the resolver in the server configuration: + return payload; + } -```typescript -@Configuration({ - graphql: { - server1: { - resolvers: { - RecipeResolver - } - }, - server2: { - resolvers: { - OtherResolver - } - } + @Subscription(() => RecipeNotification, { + topics: "RECIPE_ADDED" + }) + newRecipe(@Root() payload: Recipe): RecipeNotification { + return {...payload, date: new Date()}; } -}) +} ``` -### Data Source - -Data source is one of the Apollo server features which can be used as option for your Resolver or Query. Ts.ED provides -a @@DataSourceService@@ decorator to declare a DataSource which will be injected to the Apollo server context. - -<<< @/tutorials/snippets/graphql/datasource-service.ts - -Then you can retrieve your data source through the context in your resolver like that: - -<<< @/tutorials/snippets/graphql/resolver-data-source.ts - -## Get Server instance - -ApolloService (or TypeGraphQLService) lets you to retrieve an instance of ApolloServer. - -<<< @/tutorials/snippets/graphql/get-server-instance.ts - -For more information about ApolloServer, look at its -documentation [here](https://www.apollographql.com/docs/apollo-server/api/apollo-server.html); - -## Testing - -Here is an example to create a test server based on TypeGraphQL and run a query: - -::: tip - -The unit example is also available to test any Apollo Server! -::: - - - - -<<< @/tutorials/snippets/graphql/testing.jest.ts - - - - -<<< @/tutorials/snippets/graphql/testing.mocha.ts - - - - -<<< @/tutorials/snippets/graphql/resolver-service.ts - - - - -<<< @/tutorials/snippets/graphql/recipes-service.ts - - - - -<<< @/tutorials/snippets/graphql/recipe-type.ts - - - - -<<< @/tutorials/snippets/graphql/recipe-args.ts - - - - ## Author diff --git a/docs/tutorials/graphql.md b/docs/tutorials/graphql.md index f21555c2ae2..8b7ab56b0c4 100644 --- a/docs/tutorials/graphql.md +++ b/docs/tutorials/graphql.md @@ -54,6 +54,37 @@ GraphQL Websocket allows you to use the `subscription` feature of GraphQL using See [here](/tutorials/graphql-ws.md) for more details. +## ApolloService + +ApolloService let you retrieve an instance of ApolloServer: + +```typescript +import {Injectable, AfterRoutesInit} from "@tsed/common"; +import {graphQLService} from "@tsed/apollo"; +import {ApolloServer} from "@apollo/server"; + +@Injectable() +export class UsersService implements AfterRoutesInit { + @Injec() + apolloService: ApolloService; + + private server: ApolloServer; + + $afterRoutesInit() { + this.server = this.apolloService.get("server1"); + } +} +``` + +## DataSources + +Apollo Server provides a mechanism to fetch data from a REST API or a database. This mechanism is called DataSources. +Ts.ED allow you to register your DataSources using the @@DataSource@@ decorator. + +```typescript + +``` + ## Testing Here is an example to create a test server based on TypeGraphQL and run a query: diff --git a/docs/tutorials/snippets/graphql/datasource-service.ts b/docs/tutorials/snippets/graphql/datasource-service.ts index bede39f8e02..1a9c7dbfd64 100644 --- a/docs/tutorials/snippets/graphql/datasource-service.ts +++ b/docs/tutorials/snippets/graphql/datasource-service.ts @@ -1,6 +1,7 @@ +import {RESTDataSource} from "@apollo/datasource-rest"; import {DataSource} from "@tsed/typegraphql"; -import {RESTDataSource} from "apollo-datasource-rest"; import {User} from "../models/User"; + @DataSource() export class UserDataSource extends RESTDataSource { constructor() { diff --git a/docs/tutorials/snippets/graphql/server-configuration.ts b/docs/tutorials/snippets/graphql/server-configuration.ts index ab67ff1514e..7b099e59855 100644 --- a/docs/tutorials/snippets/graphql/server-configuration.ts +++ b/docs/tutorials/snippets/graphql/server-configuration.ts @@ -1,7 +1,7 @@ import {Configuration} from "@tsed/di"; import "@tsed/platform-express"; import "@tsed/typegraphql"; -import "./resolvers/index"; // barrel file with all resolvers +import "./resolvers/index.js"; // barrel file with all resolvers @Configuration({ typegraphql: { diff --git a/docs/tutorials/snippets/passport/server.ts b/docs/tutorials/snippets/passport/server.ts index ce1f3fd99da..17b286d542c 100644 --- a/docs/tutorials/snippets/passport/server.ts +++ b/docs/tutorials/snippets/passport/server.ts @@ -8,7 +8,7 @@ import session from "express-session"; import methodOverride from "method-override"; // import your protocol. Ts.ED will discover it automatically -import "./protocols/LoginLocalProtocol"; +import "./protocols/LoginLocalProtocol.js"; @Configuration({ passport: { diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000000..f2410436224 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,72 @@ +import typescriptEslint from "@typescript-eslint/eslint-plugin"; +import typescriptParser from "@typescript-eslint/parser"; +import pluginPrettierRecommended from "eslint-plugin-prettier/recommended"; +import pluginSimpleImportSort from "eslint-plugin-simple-import-sort"; +import vitest from "eslint-plugin-vitest"; +import pluginWorkspaces from "eslint-plugin-workspaces"; +import globals from "globals"; +import {join} from "node:path"; + +export default [ + { + ignores: ["**/coverage", "**/lib", "**/dist", "processes.config.js", "**/snapshots", "**/templates", "**/docs/**", "**/docs-references/**"] + }, + { + files: ["**/*.{js,mjs,cjs,jsx,mjsx,ts,tsx,mtsx}"], + languageOptions: { + ecmaVersion: "latest", + sourceType: "module", + parser: typescriptParser, + parserOptions: { + ecmaVersion: "latest", + sourceType: "module", + tsconfigRootDir: join(import.meta.dirname, "tsconfig.eslint.json") + }, + globals: { + ...globals.node + } + }, + plugins: { + "@typescript-eslint": typescriptEslint + }, + rules: { + "@typescript-eslint/ban-ts-comment": 0, + "@typescript-eslint/camelcase": 0, + "@typescript-eslint/no-inferrable-types": 0, + "@typescript-eslint/explicit-function-return-type": 0, + "@typescript-eslint/explicit-module-boundary-types": 0, + "@typescript-eslint/no-unused-vars": 0, + "@typescript-eslint/no-explicit-any": 0, + "@typescript-eslint/no-non-null-assertion": 0 + } + }, + { + files: ["**/*.spec.{js,mjs,cjs,jsx,mjsx,ts,tsx,mtsx}"], // or any other pattern + ignores: ["docs/**", "docs-references/**"], + plugins: { + vitest + }, + rules: { + ...vitest.configs.recommended.rules, // you can also use vitest.configs.all.rules to enable all rules + "vitest/consistent-test-it": ["error", {fn: "it", withinDescribe: "it"}], + "vitest/no-alias-methods": "error", + "vitest/expect-expect": "off" + } + }, + { + files: ["**/*.{js,mjs,cjs,jsx,mjsx,ts,tsx,mtsx}"], + languageOptions: { + parserOptions: {} + }, + plugins: { + "simple-import-sort": pluginSimpleImportSort, + workspaces: pluginWorkspaces + }, + rules: { + "simple-import-sort/imports": "error", + "simple-import-sort/exports": "error", + "workspaces/no-absolute-imports": "error" + } + }, + pluginPrettierRecommended +]; diff --git a/lerna.json b/lerna.json index fc072a3f65b..a97b30c49dd 100644 --- a/lerna.json +++ b/lerna.json @@ -11,12 +11,10 @@ "packages/utils/*", "docs" ], - "version": "7.83.3", + "version": "8.0.0-alpha.10", "command": { "bootstrap": { - "npmClientArgs": [ - "--no-package-lock" - ] + "npmClientArgs": ["--no-package-lock"] } } } diff --git a/lint-staged.config.js b/lint-staged.config.js deleted file mode 100644 index f63bf136417..00000000000 --- a/lint-staged.config.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - "**/*.{ts,js}": ["eslint --fix"], - "**/*.{ts,js,json,md,yml,yaml}": ["prettier --write"] -}; diff --git a/package.json b/package.json index 7efd150d659..bbb347489ec 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tsed/root", - "version": "7.83.3", + "version": "8.0.0-alpha.10", "description": "A TypeScript Framework on top of Express", "private": true, "author": "Romain Lenzotti", @@ -24,7 +24,7 @@ "url": "https://github.com/tsedio/tsed.git" }, "scripts": { - "postinstall": "node tools/yarn/postinstall.js && cd docs && yarn install && cd .. && node ./tools/github-sponsors/bin/github-sponsors.js", + "postinstall": "cd docs && yarn install && cd .. && node ./tools/github-sponsors/bin/github-sponsors.js", "configure": "monorepo ci configure", "clean": "monorepo clean workspace", "test": "vitest run", @@ -34,11 +34,11 @@ "test:core": "lerna run test:ci --scope '@tsed/{core,di,common,engines,normalize-path}' --stream --concurrency 2", "test:platform": "lerna run test:ci --ignore '@tsed/platform-{express,koa}' --scope '@tsed/platform-*' --stream --concurrency 2", "test:integration": "lerna run test:ci --scope '@tsed/platform-{express,koa}' --stream --concurrency 2", - "test:orm": "lerna run test:ci --scope '@tsed/{adapters,adapters-redis,mikro-orm,mongoose,objection,prisma,typeorm}' --stream --concurrency 4", + "test:orm": "lerna run test:ci --scope '@tsed/{adapters,adapters-redis,mikro-orm,mongoose,objection,prisma}' --stream --concurrency 4", "test:graphql": "lerna run test:ci --scope '@tsed/{apollo,typegraphql}' --stream", "test:security": "lerna run test:ci --scope '@tsed/{jwks,oidc-provider,passport,oidc-provider-plugin-wildcard-redirect-uri}' --stream", "test:specs": "lerna run test --scope '@tsed/{ajv,exceptions,json-mapper,schema,swagger}' --stream --concurrency 2", - "test:third-parties": "lerna run test:ci --scope '@tsed/{agenda,bullmq,components-scan,event-emitter,formio,pulse,sse,socketio,stripe,temporal,terminus,vike,vite-ssr-plugin,schema-formio,formio}' --stream --concurrency 1", + "test:third-parties": "lerna run test:ci --scope '@tsed/{agenda,bullmq,components-scan,event-emitter,formio,pulse,sse,socketio,stripe,temporal,terminus,vike,schema-formio,formio}' --stream --concurrency 1", "coverage": "merge-istanbul --out coverage/coverage-final.json \"**/packages/**/coverage/coverage-final.json\" && nyc report --reporter text --reporter html --reporter lcov -t coverage --report-dir coverage", "barrels": "lerna run barrels", "build": "monorepo build --verbose", @@ -99,57 +99,59 @@ "multer" ], "dependencies": { - "@tsed/logger": ">=6.7.5", - "ajv": "8.12.0", - "axios": "1.7.4", - "change-case": "4.1.2", - "globby": "11.1.0", - "lerna": "7.4.2", - "rimraf": "5.0.5", + "@tsed/logger": "^6.7.8", + "ajv": "8.17.1", + "axios": "1.7.7", + "change-case": "5.4.4", + "globby": "14.0.2", + "lerna": "8.1.8", + "rimraf": "6.0.1", "rxjs": "^7.8.1", - "uuid": "9.0.1" + "uuid": "10.0.0" }, "devDependencies": { - "@commitlint/cli": "^19.2.1", - "@commitlint/config-conventional": "^19.1.0", - "@faker-js/faker": "6.3.1", - "@swc-node/register": "1.6.8", - "@swc/core": "1.7.26", + "@commitlint/cli": "19.5.0", + "@commitlint/config-conventional": "19.5.0", + "@faker-js/faker": "9.0.3", + "@swc-node/register": "1.10.9", + "@swc/core": "1.7.28", "@swc/helpers": "0.5.13", "@tsed/monorepo-utils": "2.3.5", "@tsed/ts-doc": "4.1.0", "@types/axios": "0.14.0", "@types/globby": "9.1.0", - "@types/node": "20.11.30", - "@types/superagent": "4.1.24", + "@types/node": "22.7.4", + "@types/superagent": "8.1.9", "@types/supertest": "6.0.2", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", - "concurrently": "8.2.2", + "@typescript-eslint/eslint-plugin": "8.8.0", + "@typescript-eslint/parser": "8.8.0", + "concurrently": "9.0.1", "cross-env": "7.0.3", - "eslint": "^8.57.0", - "eslint-config-prettier": "8.10.0", - "eslint-plugin-prettier": "5.1.3", - "eslint-plugin-workspaces": "0.8.0", + "eslint": "9.12.0", + "eslint-config-prettier": "9.1.0", + "eslint-plugin-prettier": "5.2.1", + "eslint-plugin-simple-import-sort": "12.1.1", + "eslint-plugin-vitest": "0.5.4", + "eslint-plugin-workspaces": "0.10.1", "fs-extra": "^11.2.0", "html-webpack-plugin": "5.6.0", - "husky": "8.0.3", - "is-ci": "^3.0.1", - "lint-staged": "^12.5.0", + "husky": "9.1.6", + "is-ci": "3.0.1", + "lint-staged": "15.2.10", "merge-istanbul": "1.1.4", "micromatch": "4.0.8", "moment": "2.30.1", - "prettier": "3.2.5", - "semantic-release": "23.0.5", + "mongoose": "^8.7.0", + "prettier": "3.3.3", + "semantic-release": "24.1.2", "semantic-release-slack-bot": "4.0.2", - "supertest": "6.2.2", - "ts-loader": "^9.4.2", - "tslib": "2.6.1", - "typescript": "4.9.5", + "supertest": "7.0.0", + "ts-loader": "9.5.1", + "tslib": "2.7.0", + "typescript": "5.4.5", "unplugin-swc": "1.5.1", - "vite": "5.4.1", - "vite-plugin-dts": "^4.0.3", - "vitest": "2.0.4", + "vite": "5.4.8", + "vitest": "2.1.2", "webpack": "^5.75.0", "webpack-cli": "^5.0.1", "webpack-dev-server": "^4.11.1", @@ -172,8 +174,13 @@ "tools/*" ] }, - "resolutions": { - "mongoose": "6.5.1" + "lint-staged": { + "**/*.{ts,js}": [ + "eslint --fix" + ], + "**/*.{json,md,yml,yaml}": [ + "prettier --write" + ] }, "collective": { "type": "opencollective", diff --git a/packages/core/package.json b/packages/core/package.json index a2469bda357..23a894e7957 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,10 +1,10 @@ { "name": "@tsed/core", "description": "Core module for Ts.ED Framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "browser": "./lib/browser/core.umd.min.js", @@ -13,8 +13,7 @@ "types": "./lib/types/index.d.ts", "browser": "./lib/browser/core.umd.min.js", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -26,19 +25,19 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "reflect-metadata": "^0.2.1", - "tslib": "2.6.1" + "reflect-metadata": "^0.2.2", + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", "@tsed/monorepo-utils": "2.3.5", "@tsed/typescript": "workspace:*", "@tsed/vitest": "workspace:*", - "@vitest/coverage-v8": "^2.0.5", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vite": "^5.4.1", - "vitest": "2.0.4", + "@vitest/coverage-v8": "^2.1.2", + "eslint": "9.12.0", + "typescript": "5.4.5", + "vite": "^5.4.8", + "vitest": "2.1.2", "webpack": "^5.75.0" } } diff --git a/packages/core/src/domain/AnyToPromise.spec.ts b/packages/core/src/domain/AnyToPromise.spec.ts index 9ac93ccacb5..959986d35a4 100644 --- a/packages/core/src/domain/AnyToPromise.spec.ts +++ b/packages/core/src/domain/AnyToPromise.spec.ts @@ -1,10 +1,11 @@ import {createReadStream} from "fs"; import {of} from "rxjs"; + import {catchAsyncError} from "../utils/catchError.js"; import {isStream} from "../utils/objects/isStream.js"; import {AnyToPromise, AnyToPromiseStatus} from "./AnyToPromise.js"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build describe("AnyToPromise", () => { it("should handle sync value", async () => { diff --git a/packages/core/src/domain/Metadata.spec.ts b/packages/core/src/domain/Metadata.spec.ts index 226df3c00e0..414634dc820 100644 --- a/packages/core/src/domain/Metadata.spec.ts +++ b/packages/core/src/domain/Metadata.spec.ts @@ -120,18 +120,6 @@ describe("Metadata", () => { }); }); - // describe("getReturnType", () => { - // it("should return types on method", () => { - // expect(Metadata.getReturnType(Test.prototype, "method")).toBe(Boolean); - // }); - // }); - // - // describe("getOwnReturnType", () => { - // it("should return types on method", () => { - // expect(Metadata.getOwnReturnType(Test.prototype, "method")).toBe(Boolean); - // }); - // }); - describe("list", () => { it("should return unique provide from property key", () => { Metadata.set("controller", "test", Test); diff --git a/packages/core/src/domain/Metadata.ts b/packages/core/src/domain/Metadata.ts index ccef19868a2..e2d49df1497 100644 --- a/packages/core/src/domain/Metadata.ts +++ b/packages/core/src/domain/Metadata.ts @@ -1,4 +1,5 @@ import "reflect-metadata"; + import {classOf} from "../utils/objects/classOf.js"; /** diff --git a/packages/core/src/domain/Type.ts b/packages/core/src/domain/Type.ts index b587826a6df..280547df030 100644 --- a/packages/core/src/domain/Type.ts +++ b/packages/core/src/domain/Type.ts @@ -1,5 +1,5 @@ /** - * An example of a `Type` is `MyCustomComponent` filters, which in JavaScript is be represented by + * An example of a `Type` is `MyCustomComponent` filters, which in JavaScript is represented by * the `MyCustomComponent` constructor function. */ // tslint:disable-next-line: variable-name @@ -14,3 +14,7 @@ export const Type = Function; // @ts-ignore global.Type = Type; + +export interface AbstractType extends Function { + prototype: T; +} diff --git a/packages/core/src/utils/decorators/useDecorators.spec.ts b/packages/core/src/utils/decorators/useDecorators.spec.ts index 22dd9ac2d6a..fd97adc9554 100644 --- a/packages/core/src/utils/decorators/useDecorators.spec.ts +++ b/packages/core/src/utils/decorators/useDecorators.spec.ts @@ -1,7 +1,7 @@ import {StoreFn} from "../../decorators/storeFn.js"; -import {useDecorators} from "./useDecorators.js"; -import {AnyDecorator} from "../../interfaces/AnyDecorator.js"; import {Store} from "../../domain/Store.js"; +import {AnyDecorator} from "../../interfaces/AnyDecorator.js"; +import {useDecorators} from "./useDecorators.js"; describe("useDecorators", () => { function decorator1(value: any) { diff --git a/packages/core/src/utils/decorators/useDecorators.ts b/packages/core/src/utils/decorators/useDecorators.ts index 8dec50bcab7..1b72739f2b8 100644 --- a/packages/core/src/utils/decorators/useDecorators.ts +++ b/packages/core/src/utils/decorators/useDecorators.ts @@ -1,5 +1,5 @@ -import {DecoratorParameters} from "../../interfaces/DecoratorParameters.js"; import {AnyDecorator} from "../../interfaces/AnyDecorator.js"; +import {DecoratorParameters} from "../../interfaces/DecoratorParameters.js"; export function useDecorators(...decorators: AnyDecorator[]): any { return (...args: DecoratorParameters) => { diff --git a/packages/core/src/utils/objects/ObjectUtils.spec.ts b/packages/core/src/utils/objects/ObjectUtils.spec.ts index c5728624eb7..457ca54e5f4 100644 --- a/packages/core/src/utils/objects/ObjectUtils.spec.ts +++ b/packages/core/src/utils/objects/ObjectUtils.spec.ts @@ -83,10 +83,6 @@ describe("ObjectUtils", () => { expect(isArrayOrArrayClass(Array)).toBe(true); }); - it("should return true when Array is given", () => { - expect(isArrayOrArrayClass([])).toBe(true); - }); - it("should return true when [] is given", () => { expect(isArrayOrArrayClass([])).toBe(true); }); @@ -101,10 +97,6 @@ describe("ObjectUtils", () => { expect(isCollection(Array)).toBe(true); }); - it("should return true when Array is given", () => { - expect(isCollection([])).toBe(true); - }); - it("should return true when [] is given", () => { expect(isCollection([])).toBe(true); }); @@ -138,7 +130,7 @@ describe("ObjectUtils", () => { expect(isEmpty(null)).toBe(true); }); - it("should return true when empty string is given", () => { + it("should return true when undefined is given", () => { expect(isEmpty(undefined)).toBe(true); }); it("should return false when {} is given", () => { @@ -154,11 +146,11 @@ describe("ObjectUtils", () => { }); describe("isClass()", () => { - it("should return true", () => { + it("should return true when is a class", () => { expect(isClass(class {})).toBe(true); }); - it("should return true", () => { + it("should return true when is a function", () => { expect(isClass(function t() {})).toBe(true); }); @@ -188,31 +180,31 @@ describe("ObjectUtils", () => { expect(isPromise(Promise)).toBe(true); }); - it("should return true", () => { + it("should return true when its promise resolved", () => { expect(isPromise(Promise.resolve())).toBe(true); }); }); describe("nameOf", () => { - it("should return name when class is given", () => { + it("should return 'Test' when class is given", () => { expect(nameOf(Test)).toBe("Test"); }); - it("should return name when symbol is given", () => { + it("should return 'test2' when symbol is given", () => { expect(nameOf(sym)).toBe("test2"); }); - it("should return name when string is given", () => { + it("should return 'test' when string is given", () => { expect(nameOf("test")).toBe("test"); }); - it("should return name when string is given", () => { + it("should return '1' when string is given", () => { expect(nameOf(1)).toBe("1"); }); - it("should return name when string is given", () => { + it("should return 'true' when boolean is given", () => { expect(nameOf(true)).toBe("true"); }); - it("should return name when null is given", () => { + it("should return 'null' when null is given", () => { expect(nameOf(null)).toBe("null"); }); - it("should return name when undefined is given", () => { + it("should return 'undefined' when undefined is given", () => { expect(nameOf(undefined)).toBe("undefined"); }); }); diff --git a/packages/core/src/utils/objects/ancestorsOf.ts b/packages/core/src/utils/objects/ancestorsOf.ts index a8187d8c78a..355954160f7 100644 --- a/packages/core/src/utils/objects/ancestorsOf.ts +++ b/packages/core/src/utils/objects/ancestorsOf.ts @@ -1,5 +1,5 @@ -import {classOf} from "./classOf.js"; import {getInheritedClass} from "./ancestorOf.js"; +import {classOf} from "./classOf.js"; import {nameOf} from "./nameOf.js"; /** diff --git a/packages/core/src/utils/objects/deepClone.ts b/packages/core/src/utils/objects/deepClone.ts index 0d0bba5007a..25f40864ebe 100644 --- a/packages/core/src/utils/objects/deepClone.ts +++ b/packages/core/src/utils/objects/deepClone.ts @@ -1,10 +1,10 @@ +import {classOf} from "./classOf.js"; import {isDate} from "./isDate.js"; import {isFunction} from "./isFunction.js"; import {isNil} from "./isNil.js"; import {isPrimitive} from "./isPrimitive.js"; -import {isSymbol} from "./isSymbol.js"; import {isRegExp} from "./isRegExp.js"; -import {classOf} from "./classOf.js"; +import {isSymbol} from "./isSymbol.js"; const isBasicType = (source: any) => isNil(source) || isPrimitive(source) || isSymbol(source) || isFunction(source); diff --git a/packages/core/src/utils/objects/deepMerge.spec.ts b/packages/core/src/utils/objects/deepMerge.spec.ts index d98dd4d97e9..945c9af83b6 100644 --- a/packages/core/src/utils/objects/deepMerge.spec.ts +++ b/packages/core/src/utils/objects/deepMerge.spec.ts @@ -128,8 +128,7 @@ describe("deepMerge", () => { security: ["o", "o1"] }); }); - - it("should merge data", () => { + it("should merge data (2)", () => { expect( deepMerge( { @@ -182,8 +181,7 @@ describe("deepMerge", () => { it("should merge data", () => { expect(deepMerge(["1", "2", "4"], ["1", "2", "3"])).toEqual(["1", "2", "4", "3"]); }); - - it("should merge data", () => { + it("should merge data (2)", () => { expect(deepMerge([{"1": "1"}, {"2": "2"}, {"4": "4"}], [{"1": "1"}, {"2": "2"}, {"3": "3"}])).toEqual([ {"1": "1"}, {"2": "2"}, diff --git a/packages/core/src/utils/objects/descriptorOf.ts b/packages/core/src/utils/objects/descriptorOf.ts index fc2755b3513..83dcd65372d 100644 --- a/packages/core/src/utils/objects/descriptorOf.ts +++ b/packages/core/src/utils/objects/descriptorOf.ts @@ -5,7 +5,7 @@ * @returns {PropertyDescriptor} */ export function descriptorOf(target: any, propertyKey: string | symbol): PropertyDescriptor { - return Object.getOwnPropertyDescriptor((target && target.prototype) || target, propertyKey)!; + return Reflect.getOwnPropertyDescriptor((target && target.prototype) || target, propertyKey)!; } export function isMethodDescriptor(target: any, propertyKey: string | symbol) { diff --git a/packages/core/src/utils/objects/getValue.spec.ts b/packages/core/src/utils/objects/getValue.spec.ts index 4854aea4a12..e26ee92f803 100644 --- a/packages/core/src/utils/objects/getValue.spec.ts +++ b/packages/core/src/utils/objects/getValue.spec.ts @@ -24,7 +24,7 @@ describe("getValue()", () => { expect(getValue("users.0", {users: [{user: {name: "name"}}]})).toEqual({user: {name: "name"}}); expect(getValue({users: [{user: {name: "name"}}]}, "users.0")).toEqual({user: {name: "name"}}); }); - it("should return given value when expression is given but scope have value (3)", () => { + it("should return given value when expression is given but scope have value (4)", () => { const map = new Map([["user", "name"]]); expect(getValue("user", map)).toEqual("name"); expect(getValue(map, "user")).toEqual("name"); diff --git a/packages/core/src/utils/objects/isInheritedFrom.ts b/packages/core/src/utils/objects/isInheritedFrom.ts index a9afad8d8c5..b0f5208bfd5 100644 --- a/packages/core/src/utils/objects/isInheritedFrom.ts +++ b/packages/core/src/utils/objects/isInheritedFrom.ts @@ -1,5 +1,5 @@ -import {classOf} from "./classOf.js"; import {ancestorOf} from "./ancestorOf.js"; +import {classOf} from "./classOf.js"; import {nameOf} from "./nameOf.js"; export function isInheritedFrom(target: any, from: any, deep = 5): boolean { diff --git a/packages/core/src/utils/objects/isSerializable.ts b/packages/core/src/utils/objects/isSerializable.ts index 75217c84494..5be6fd461ae 100644 --- a/packages/core/src/utils/objects/isSerializable.ts +++ b/packages/core/src/utils/objects/isSerializable.ts @@ -1,8 +1,8 @@ -import {isStream} from "./isStream.js"; import {isBoolean} from "./isBoolean.js"; +import {isNil} from "./isNil.js"; import {isNumber} from "./isNumber.js"; +import {isStream} from "./isStream.js"; import {isString} from "./isString.js"; -import {isNil} from "./isNil.js"; export function isSerializable(data: any) { return !(Buffer.isBuffer(data) || isStream(data) || isBoolean(data) || isNumber(data) || isString(data) || isNil(data)); diff --git a/packages/core/src/utils/objects/methodsOf.ts b/packages/core/src/utils/objects/methodsOf.ts index 351bf5a35c7..04b24d0a953 100644 --- a/packages/core/src/utils/objects/methodsOf.ts +++ b/packages/core/src/utils/objects/methodsOf.ts @@ -1,7 +1,7 @@ -import {classOf} from "./classOf.js"; +import {Type} from "../../domain/Type.js"; import {ancestorsOf} from "./ancestorsOf.js"; +import {classOf} from "./classOf.js"; import {prototypeOf} from "./prototypeOf.js"; -import {Type} from "../../domain/Type.js"; /** * Return all methods for a given class. diff --git a/packages/core/src/utils/objects/setValue.spec.ts b/packages/core/src/utils/objects/setValue.spec.ts index 1063fec3443..3a6858dfa49 100644 --- a/packages/core/src/utils/objects/setValue.spec.ts +++ b/packages/core/src/utils/objects/setValue.spec.ts @@ -39,7 +39,7 @@ describe("setValue()", () => { }); }); - describe("when object with dep (without defined value)", () => { + describe("when object with dep (with object defined value)", () => { it("should set value", () => { const obj = {}; setValue(obj, "__proto__", "vulnerable"); diff --git a/packages/core/tsconfig.cjs.json b/packages/core/tsconfig.cjs.json deleted file mode 100644 index ab4caf25857..00000000000 --- a/packages/core/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/core/tsconfig.esm.json b/packages/core/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/core/tsconfig.esm.json +++ b/packages/core/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index d2f0c1fcdbd..ffa3a8cd7e1 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -6,9 +6,6 @@ }, "include": [], "references": [ - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/core/tsconfig.spec.json b/packages/core/tsconfig.spec.json index 36d8cd76b16..18c0d7624a9 100644 --- a/packages/core/tsconfig.spec.json +++ b/packages/core/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../specs/openspec/src"], - "@tsed/schema": ["../specs/schema/src"], - "@tsed/di": ["../di/src"], - "@tsed/exceptions": ["../specs/exceptions/src"], - "@tsed/json-mapper": ["../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../platform/platform-router/src"], - "@tsed/platform-views": ["../platform/platform-views/src"], - "@tsed/components-scan": ["../third-parties/components-scan/src"], - "@tsed/common": ["../platform/common/src"], - "@tsed/ajv": ["../specs/ajv/src"], - "@tsed/platform-cache": ["../platform/platform-cache/src"], - "@tsed/swagger": ["../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../platform/platform-express/src"], - "@tsed/platform-koa": ["../platform/platform-koa/src"] + "@tsed/openspec": ["../specs/openspec/src/index.ts"], + "@tsed/schema": ["../specs/schema/src/index.ts"], + "@tsed/di": ["../di/src/index.ts"], + "@tsed/exceptions": ["../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../platform/common/src/index.ts"], + "@tsed/ajv": ["../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/core/webpack.config.js b/packages/core/webpack.config.cjs similarity index 100% rename from packages/core/webpack.config.js rename to packages/core/webpack.config.cjs diff --git a/packages/di/package.json b/packages/di/package.json index e79f0c9357d..a063bd47ebd 100644 --- a/packages/di/package.json +++ b/packages/di/package.json @@ -1,11 +1,11 @@ { "name": "@tsed/di", "description": "DI module for Ts.ED Framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "lib/esm/index.js", - "module": "lib/esm/index.js", + "main": "./lib/esm/index.js", + "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "browser": "./lib/browser/di.umd.min.js", "exports": { @@ -13,8 +13,7 @@ "types": "./lib/types/index.d.ts", "browser": "./lib/browser/di.umd.min.js", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -26,24 +25,25 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.2" + "tslib": "2.7.0", + "uuid": "^10.0.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", "@tsed/core": "workspace:*", - "@tsed/logger": ">=6.7.5", + "@tsed/logger": "^6.7.8", "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", "cross-env": "7.0.3", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4", + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2", "webpack": "^5.75.0" }, "peerDependencies": { - "@tsed/core": "7.83.3", + "@tsed/core": "8.0.0-alpha.10", "@tsed/logger": ">=6.7.5", - "@tsed/schema": "7.83.3" + "@tsed/schema": "8.0.0-alpha.10" }, "peerDependenciesMeta": { "@tsed/core": { diff --git a/packages/di/src/common/constants/constants.ts b/packages/di/src/common/constants/constants.ts index b0732aaea65..13625ae188d 100644 --- a/packages/di/src/common/constants/constants.ts +++ b/packages/di/src/common/constants/constants.ts @@ -1,3 +1,5 @@ -export const INJECTABLE_PROP = "DI:INJECTABLE_PROP"; -export const DI_PARAMS = "DI:PARAMS"; -export const DI_PARAM_OPTIONS = "DI:PARAM:OPTIONS"; +export const DI_INVOKE_OPTIONS = Symbol("DI_INVOKE_OPTIONS"); +export const DI_INJECTABLE_PROPS = Symbol("DI_INJECTABLE_PROPS"); +export const DI_USE_OPTIONS = "DI_USE_OPTIONS"; +export const DI_USE_PARAM_OPTIONS = "DI_USE_PARAM_OPTIONS"; +export const DI_INTERCEPTOR_OPTIONS = "DI_INTERCEPTOR_OPTIONS"; diff --git a/packages/di/src/common/decorators/autoInjectable.spec.ts b/packages/di/src/common/decorators/autoInjectable.spec.ts index 8bd1f8ba032..8b7e827e911 100644 --- a/packages/di/src/common/decorators/autoInjectable.spec.ts +++ b/packages/di/src/common/decorators/autoInjectable.spec.ts @@ -1,6 +1,7 @@ import {catchError} from "@tsed/core"; import {Logger} from "@tsed/logger"; import {beforeEach} from "vitest"; + import {DITest} from "../../node/index.js"; import {registerProvider} from "../registries/ProviderRegistry.js"; import {InjectorService} from "../services/InjectorService.js"; @@ -106,14 +107,15 @@ describe("AutoInjectable", () => { logger: Logger; private value: string; + instances?: InterfaceGroup[]; constructor(initialValue: string, @Inject(TOKEN_GROUPS) instances?: InterfaceGroup[]) { this.value = initialValue; - expect(instances).toHaveLength(3); + this.instances = instances; } } - new Test("test"); + expect(new Test("test").instances).toHaveLength(3); }); it("should return a class that extends the original class (with 3 arguments)", () => { @AutoInjectable() diff --git a/packages/di/src/common/decorators/autoInjectable.ts b/packages/di/src/common/decorators/autoInjectable.ts index 519e6f55a52..5473ff23eb2 100644 --- a/packages/di/src/common/decorators/autoInjectable.ts +++ b/packages/di/src/common/decorators/autoInjectable.ts @@ -1,13 +1,38 @@ +import {isArray, type Type} from "@tsed/core"; + import {LocalsContainer} from "../domain/LocalsContainer.js"; +import type {TokenProvider} from "../interfaces/TokenProvider.js"; import {InjectorService} from "../services/InjectorService.js"; +import {getConstructorDependencies} from "../utils/getConstructorDependencies.js"; + +function resolveAutoInjectableArgs(token: Type, args: unknown[]) { + const locals = new LocalsContainer(); + const injector = InjectorService.getInstance(); + const deps: TokenProvider[] = getConstructorDependencies(token); + const list: any[] = []; + const length = Math.max(deps.length, args.length); + + for (let i = 0; i < length; i++) { + if (args[i] !== undefined) { + list.push(args[i]); + } else { + const value = deps[i]; + const instance = isArray(value) + ? injector!.getMany(value[0], locals, {parent: token}) + : injector!.invoke(value, locals, {parent: token}); + + list.push(instance); + } + } + + return list; +} export function AutoInjectable() { return }>(constr: T): T => { return class AutoInjectable extends constr { constructor(...args: any[]) { - const locals = new LocalsContainer(); - super(...InjectorService.resolveAutoInjectableArgs(constr, locals, args)); - InjectorService.bind(this, locals); + super(...resolveAutoInjectableArgs(constr, args)); } } as unknown as T; }; diff --git a/packages/di/src/common/decorators/configuration.spec.ts b/packages/di/src/common/decorators/configuration.spec.ts index 618f58b6bfe..e44cc14ad79 100644 --- a/packages/di/src/common/decorators/configuration.spec.ts +++ b/packages/di/src/common/decorators/configuration.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {Container} from "../domain/Container.js"; import {Provider} from "../domain/Provider.js"; import {GlobalProviders} from "../registries/GlobalProviders.js"; diff --git a/packages/di/src/common/decorators/configuration.ts b/packages/di/src/common/decorators/configuration.ts index 18f49fcfd86..d43bace5b8b 100644 --- a/packages/di/src/common/decorators/configuration.ts +++ b/packages/di/src/common/decorators/configuration.ts @@ -1,6 +1,7 @@ import {DecoratorParameters, decoratorTypeOf, DecoratorTypes, StoreSet} from "@tsed/core"; -import {Inject} from "./inject.js"; + import {DIConfiguration} from "../services/DIConfiguration.js"; +import {Inject} from "./inject.js"; /** * Get or set Configuration on a class. diff --git a/packages/di/src/common/decorators/constant.spec.ts b/packages/di/src/common/decorators/constant.spec.ts index 2caff743424..ab8df90c51c 100644 --- a/packages/di/src/common/decorators/constant.spec.ts +++ b/packages/di/src/common/decorators/constant.spec.ts @@ -1,24 +1,95 @@ -import {Store} from "@tsed/core"; -import {INJECTABLE_PROP} from "../constants/constants.js"; -import {Constant} from "./constant.js"; - -class Test {} +import {DITest} from "../../node/index.js"; +import {Constant, constant} from "./constant.js"; describe("@Constant()", () => { - it("should store metadata", () => { - // WHEN - Constant("expression")(Test, "test"); - - // THEN - const store = Store.from(Test).get(INJECTABLE_PROP); - - expect(store).toEqual({ - test: { - bindingType: "constant", - propertyKey: "test", - expression: "expression", - defaultValue: undefined + beforeEach(() => + DITest.create({ + logger: { + level: "off" + } + }) + ); + afterEach(() => DITest.reset()); + describe("when decorator is used as property decorator", () => { + it("should create a getter", async () => { + // WHEN + class Test { + @Constant("logger.level", "default value") + test: string; + } + + // THEN + + const test = await DITest.invoke(Test); + + expect(test.test).toEqual("off"); + }); + it("should create a getter with default value", async () => { + // WHEN + class Test { + @Constant("logger.test", "default value") + test: string; + } + + // THEN + + const test = await DITest.invoke(Test); + + expect(test.test).toEqual("default value"); + }); + it("shouldn't be possible to modify injected value from injector.settings", async () => { + // WHEN + class Test { + @Constant("logger.level") + test: string; + } + + // THEN + + const test = await DITest.invoke(Test); + + test.test = "new value"; + + expect(test.test).toEqual("off"); + }); + it("should create a getter with native default value", async () => { + // WHEN + class Test { + @Constant("logger.test") + test: string = "default prop"; + } + + // THEN + + const test = await DITest.invoke(Test); + + expect(test.test).toEqual("default prop"); + }); + }); + describe("when constant is used as default value initializer", () => { + it("should inject constant to the property", async () => { + // WHEN + class Test { + test: string = constant("logger.level", "default value"); } + + // THEN + + const test = await DITest.invoke(Test); + + expect(test.test).toEqual("off"); + }); + it("should return the default value if expression is undefined", async () => { + // WHEN + class Test { + test: string = constant("logger.test", "default value"); + } + + // THEN + + const test = await DITest.invoke(Test); + + expect(test.test).toEqual("default value"); }); }); }); diff --git a/packages/di/src/common/decorators/constant.ts b/packages/di/src/common/decorators/constant.ts index b2b84105853..28f151f95c3 100644 --- a/packages/di/src/common/decorators/constant.ts +++ b/packages/di/src/common/decorators/constant.ts @@ -1,7 +1,40 @@ -import {Store} from "@tsed/core"; -import {INJECTABLE_PROP} from "../constants/constants.js"; -import type {InjectableProperties} from "../interfaces/InjectableProperties.js"; -import {InjectablePropertyType} from "../domain/InjectablePropertyType.js"; +import {catchError, deepClone} from "@tsed/core"; + +import {InjectorService} from "../services/InjectorService.js"; + +export function constant(expression: string): Type | undefined; +export function constant(expression: string, defaultValue: Type | undefined): Type; +export function constant(expression: string, defaultValue?: Type | undefined): Type | undefined { + return InjectorService.getInstance().settings.get(expression, defaultValue); +} + +export function bindConstant(target: any, propertyKey: string | symbol, expression: string, defaultValue?: any) { + const symbol = Symbol(); + + catchError(() => Reflect.deleteProperty(target, propertyKey)); + Reflect.defineProperty(target, propertyKey, { + get() { + if (this[symbol] !== undefined) { + return this[symbol]; + } + + const value = constant(expression, defaultValue); + + this[symbol] = Object.freeze(deepClone(value)); + + return this[symbol]; + }, + set(value: unknown) { + const bean = constant(expression, defaultValue) || this[symbol]; + + if (bean === undefined && value !== undefined) { + this[symbol] = value; + } + }, + enumerable: true, + configurable: true + }); +} /** * Return value from Configuration. @@ -38,15 +71,8 @@ import {InjectablePropertyType} from "../domain/InjectablePropertyType.js"; * @returns {(targetClass: any, attributeName: string) => any} * @decorator */ -export function Constant(expression: string, defaultValue?: any): any { - return (target: any, propertyKey: string) => { - Store.from(target).merge(INJECTABLE_PROP, { - [propertyKey]: { - bindingType: InjectablePropertyType.CONSTANT, - propertyKey, - expression, - defaultValue - } - } as InjectableProperties); +export function Constant(expression: string, defaultValue?: Type): PropertyDecorator { + return (target, propertyKey) => { + return bindConstant(target, propertyKey, expression, defaultValue); }; } diff --git a/packages/di/src/common/decorators/controller.ts b/packages/di/src/common/decorators/controller.ts index 4a1745e86ef..04e47d01f1c 100644 --- a/packages/di/src/common/decorators/controller.ts +++ b/packages/di/src/common/decorators/controller.ts @@ -1,5 +1,6 @@ import {isArrayOrArrayClass, Type, useDecorators} from "@tsed/core"; import {Children, Path} from "@tsed/schema"; + import {ProviderOpts} from "../interfaces/ProviderOpts.js"; import {registerController} from "../registries/ProviderRegistry.js"; diff --git a/packages/di/src/common/decorators/inject.spec.ts b/packages/di/src/common/decorators/inject.spec.ts index 358fa4bba71..c720becbdb1 100644 --- a/packages/di/src/common/decorators/inject.spec.ts +++ b/packages/di/src/common/decorators/inject.spec.ts @@ -1,186 +1,123 @@ -import {descriptorOf} from "@tsed/core"; +import {catchAsyncError} from "@tsed/core"; + +import {DITest} from "../../node/index.js"; import {registerProvider} from "../registries/ProviderRegistry.js"; import {InjectorService} from "../services/InjectorService.js"; -import {Inject} from "./inject.js"; +import {Inject, inject} from "./inject.js"; import {Injectable} from "./injectable.js"; -describe("@Inject()", () => { - describe("used on unsupported decorator type", () => { - it("should store metadata", () => { - // GIVEN - class Test { - test() {} - } - - // WHEN - let actualError; - try { - Inject()(Test, "test", descriptorOf(Test, "test")); - } catch (er) { - actualError = er; - } - - // THEN - expect(actualError.message).toEqual("Inject cannot be used as method.static decorator on Test.test"); - }); - }); +describe("inject", () => { + beforeEach(() => DITest.create()); + afterEach(() => DITest.reset()); + describe("inject()", () => { + describe("when inject function is used on a property", () => { + it("should inject the expected provider", async () => { + class Nested {} - describe("@property", () => { - it("should inject service", async () => { - // GIVEN - @Injectable() - class Test { - @Inject() - test: InjectorService; - } + class Test { + readonly injector = inject(InjectorService); + readonly nested = inject(Nested); - const injector = new InjectorService(); - const instance = await injector.invoke(Test); + constructor() { + expect(this.injector).toBeInstanceOf(InjectorService); + expect(this.nested).not.toBeInstanceOf(Nested); + } + } - expect(instance).toBeInstanceOf(Test); - expect(instance.test).toBeInstanceOf(InjectorService); + await DITest.invoke(Test, [ + { + token: Nested, + use: {} + } + ]); + }); }); - it("should inject service w/ async factory", async () => { - // GIVEN - class Test { - constructor(public type: string) {} - } - - const TokenAsync = Symbol.for("MyService"); - - registerProvider({ - provide: TokenAsync, - type: "test:async", - deps: [], - useAsyncFactory() { - return Promise.resolve(new Test("async")); + }); + describe("@Inject()", () => { + describe("when the decorator used on property", () => { + it("should inject service", async () => { + // GIVEN + @Injectable() + class Test { + @Inject() + test: InjectorService; } - }); - @Injectable() - class Parent1 { - @Inject(TokenAsync) - test: Test; - } - - @Injectable() - class Parent2 { - @Inject(TokenAsync) - test: Test; - } + const injector = new InjectorService(); + const instance = await injector.invoke(Test); - const injector = new InjectorService(); + expect(instance).toBeInstanceOf(Test); + expect(instance.test).toBeInstanceOf(InjectorService); + }); + it("should inject service and async factory", async () => { + // GIVEN + class Test { + constructor(public type: string) {} + } - await injector.load(); + const TokenAsync = Symbol.for("MyService"); - const parent1 = await injector.invoke(Parent1); - const parent2 = await injector.invoke(Parent2); + registerProvider({ + provide: TokenAsync, + type: "test:async", + deps: [], + useAsyncFactory() { + return Promise.resolve(new Test("async")); + } + }); - expect(parent1.test).toBeInstanceOf(Test); - expect(parent2.test).toBeInstanceOf(Test); - }); - it("should inject service with the given type", async () => { - // GIVEN - @Injectable() - class Test { - @Inject(InjectorService, (bean: any) => bean.get(InjectorService)) - test: InjectorService; - } - - const injector = new InjectorService(); - const instance = await injector.invoke(Test); - - expect(instance).toBeInstanceOf(Test); - expect(instance.test).toBeInstanceOf(InjectorService); - }); - it("should inject many services", async () => { - const TOKEN_GROUPS = Symbol.for("groups:1"); - - interface InterfaceGroup { - type: string; - } - - @Injectable({ - type: TOKEN_GROUPS - }) - class MyService1 implements InterfaceGroup { - readonly type: string = "service1"; - - constructor(@Inject(InjectorService) readonly injector: any) {} - } - - @Injectable({ - type: TOKEN_GROUPS - }) - class MyService2 implements InterfaceGroup { - readonly type: string = "service2"; - - constructor(@Inject(InjectorService) readonly injector: any) {} - } - - const TokenAsync = Symbol.for("MyService2"); - - registerProvider({ - provide: TokenAsync, - type: TOKEN_GROUPS, - deps: [], - useAsyncFactory() { - return Promise.resolve({ - type: "async" - }); + @Injectable() + class Parent1 { + @Inject(TokenAsync) + test: Test; } - }); - @Injectable() - class MyInjectable { - @Inject(TOKEN_GROUPS) - instances: InterfaceGroup[]; - } + @Injectable() + class Parent2 { + @Inject(TokenAsync) + test: Test; + } - const injector = new InjectorService(); + const injector = new InjectorService(); - await injector.load(); + await injector.load(); - const instance = await injector.invoke(MyInjectable); + const parent1 = await injector.invoke(Parent1); + const parent2 = await injector.invoke(Parent2); - expect(instance.instances).toBeInstanceOf(Array); - expect(instance.instances).toHaveLength(3); - expect(instance.instances[0].type).toEqual("service1"); - expect(instance.instances[1].type).toEqual("service2"); - expect(instance.instances[2].type).toEqual("async"); - }); - it("should throw error", () => { - try { + expect(parent1.test).toBeInstanceOf(Test); + expect(parent2.test).toBeInstanceOf(Test); + }); + it("should inject service and use onGet option to transform injected service", async () => { // GIVEN @Injectable() class Test { - @Inject() - test: Object; + @Inject(InjectorService, {transform: (instance) => instance.get(InjectorService)}) + test: InjectorService; } - } catch (er) { - expect(er.message).toContain("Object isn't a valid token. Please check the token set on Test.test"); - } - }); - }); - describe("@constructorParameters", () => { - describe("when token is given on constructor", () => { - it("should inject the expected provider", async () => { + const injector = new InjectorService(); + const instance = await injector.invoke(Test); + + expect(instance).toBeInstanceOf(Test); + expect(instance.test).toBeInstanceOf(InjectorService); + }); + it("should inject service and use onGet option to transform injected service (legacy)", async () => { + // GIVEN @Injectable() - class MyInjectable { - constructor(@Inject(InjectorService) readonly injector: InjectorService) {} + class Test { + @Inject(InjectorService, (instance) => instance.get(InjectorService)) + test: InjectorService; } const injector = new InjectorService(); - const instance = await injector.invoke(MyInjectable); + const instance = await injector.invoke(Test); - expect(instance.injector).toBeInstanceOf(InjectorService); + expect(instance).toBeInstanceOf(Test); + expect(instance.test).toBeInstanceOf(InjectorService); }); - }); - - describe("when a group token is given on constructor", () => { - it("should inject the expected provider", async () => { - const TOKEN_GROUPS = Symbol.for("groups:2"); + it("should inject many services", async () => { + const TOKEN_GROUPS = Symbol.for("groups:1"); interface InterfaceGroup { type: string; @@ -192,7 +129,7 @@ describe("@Inject()", () => { class MyService1 implements InterfaceGroup { readonly type: string = "service1"; - constructor(@Inject(InjectorService) readonly injector: InjectorService) {} + constructor(@Inject(InjectorService) readonly injector: any) {} } @Injectable({ @@ -201,10 +138,10 @@ describe("@Inject()", () => { class MyService2 implements InterfaceGroup { readonly type: string = "service2"; - constructor(@Inject(InjectorService) readonly injector: InjectorService) {} + constructor(@Inject(InjectorService) readonly injector: any) {} } - const TokenAsync = Symbol.for("MyService1"); + const TokenAsync = Symbol.for("MyService2"); registerProvider({ provide: TokenAsync, @@ -219,7 +156,8 @@ describe("@Inject()", () => { @Injectable() class MyInjectable { - constructor(@Inject(TOKEN_GROUPS) readonly instances: InterfaceGroup[]) {} + @Inject(TOKEN_GROUPS) + instances: InterfaceGroup[]; } const injector = new InjectorService(); @@ -234,6 +172,135 @@ describe("@Inject()", () => { expect(instance.instances[1].type).toEqual("service2"); expect(instance.instances[2].type).toEqual("async"); }); + it("should throw error", () => { + try { + // GIVEN + @Injectable() + class Test { + @Inject() + test: Object; + } + } catch (er) { + expect(er.message).toContain("Object isn't a valid token. Please check the token set on Test.test"); + } + }); + it("should inject service and use mock", async () => { + @Injectable() + class Nested { + get cache() { + return true; + } + } + + @Injectable() + class Test { + @Inject() + nested: Nested; + } + + const instance = await DITest.invoke(Test, [ + { + token: Nested, + use: { + cache: false + } + } + ]); + + expect(instance.nested.cache).toEqual(false); + + const instance2 = await DITest.invoke(Test, []); + expect(instance2.nested.cache).toEqual(true); + }); + }); + describe("when the decorator is used on constructor parameter", () => { + describe("when token is given on constructor", () => { + it("should inject the expected provider", async () => { + @Injectable() + class MyInjectable { + constructor(@Inject(InjectorService) readonly injector: InjectorService) {} + } + + const injector = new InjectorService(); + const instance = await injector.invoke(MyInjectable); + + expect(instance.injector).toBeInstanceOf(InjectorService); + }); + }); + + describe("when a group token is given on constructor", () => { + it("should inject the expected provider", async () => { + const TOKEN_GROUPS = Symbol.for("groups:2"); + + interface InterfaceGroup { + type: string; + } + + @Injectable({ + type: TOKEN_GROUPS + }) + class MyService1 implements InterfaceGroup { + readonly type: string = "service1"; + + constructor(@Inject(InjectorService) readonly injector: InjectorService) {} + } + + @Injectable({ + type: TOKEN_GROUPS + }) + class MyService2 implements InterfaceGroup { + readonly type: string = "service2"; + + constructor(@Inject(InjectorService) readonly injector: InjectorService) {} + } + + const TokenAsync = Symbol.for("MyService1"); + + registerProvider({ + provide: TokenAsync, + type: TOKEN_GROUPS, + deps: [], + useAsyncFactory() { + return Promise.resolve({ + type: "async" + }); + } + }); + + @Injectable() + class MyInjectable { + constructor(@Inject(TOKEN_GROUPS) readonly instances: InterfaceGroup[]) {} + } + + const injector = new InjectorService(); + + await injector.load(); + + const instance = await injector.invoke(MyInjectable); + + expect(instance.instances).toBeInstanceOf(Array); + expect(instance.instances).toHaveLength(3); + expect(instance.instances[0].type).toEqual("service1"); + expect(instance.instances[1].type).toEqual("service2"); + expect(instance.instances[2].type).toEqual("async"); + }); + }); + }); + describe("when token is Object", () => { + it("should throw error", async () => { + class Test { + @Inject() + test: any; + } + + const error = await catchAsyncError(async () => { + const instance = await DITest.invoke(Test); + + return instance.test; + }); + + expect(error?.message).toContain("Object isn't a valid token. Please check the token set on Test.test"); + }); }); }); }); diff --git a/packages/di/src/common/decorators/inject.ts b/packages/di/src/common/decorators/inject.ts index 92b475030dc..5bb8c1c7c17 100644 --- a/packages/di/src/common/decorators/inject.ts +++ b/packages/di/src/common/decorators/inject.ts @@ -1,16 +1,107 @@ -import {decoratorTypeOf, DecoratorTypes, isPromise, Metadata, Store, UnsupportedDecoratorType} from "@tsed/core"; -import {DI_PARAM_OPTIONS, INJECTABLE_PROP} from "../constants/constants.js"; +import {catchError, decoratorTypeOf, DecoratorTypes, isPromise, Metadata, Store, type Type} from "@tsed/core"; + +import {DI_INJECTABLE_PROPS, DI_INVOKE_OPTIONS, DI_USE_OPTIONS} from "../constants/constants.js"; import {InvalidPropertyTokenError} from "../errors/InvalidPropertyTokenError.js"; -import type {InjectablePropertyOptions} from "../interfaces/InjectableProperties.js"; +import type {InvokeOptions} from "../interfaces/InvokeOptions.js"; import {TokenProvider} from "../interfaces/TokenProvider.js"; +import {InjectorService} from "../services/InjectorService.js"; import {getConstructorDependencies, setConstructorDependencies} from "../utils/getConstructorDependencies.js"; -export function injectProperty(target: any, propertyKey: string, options: Partial) { - Store.from(target).merge(INJECTABLE_PROP, { - [propertyKey]: { - bindingType: DecoratorTypes.PROP, - propertyKey, - ...options +export function inject(token: TokenProvider, opts?: Partial>): T { + return InjectorService.getInstance().invoke(token, opts?.locals || InjectorService.getLocals(), opts); +} + +export function injectMany(token: string | symbol, opts?: Partial>): T[] { + return InjectorService.getInstance().getMany(token, opts?.locals || InjectorService.getLocals(), opts); +} + +function setToken( + token: TokenProvider, + { + target, + propertyKey, + parameterIndex + }: { + target: any; + propertyKey: string | symbol | undefined; + parameterIndex: number; + } +) { + const paramTypes = getConstructorDependencies(target, propertyKey); + const type = paramTypes[parameterIndex]; + + paramTypes[parameterIndex] = type === Array ? [token] : token; + + Metadata.setParamTypes(target, propertyKey!, paramTypes); + setConstructorDependencies(target, paramTypes); +} + +function getTokenType(token: TokenProvider | (() => TokenProvider) | undefined, target: any, propertyKey: string | symbol) { + const useType = token || Metadata.getType(target, propertyKey); + + if (useType === Object) { + throw new InvalidPropertyTokenError(target, String(propertyKey)); + } + + return useType; +} + +export type TransformInjectedProviderCB = ( + instance: T, + {target, propertyKey}: {self: Klass; target: Type; propertyKey: symbol | string} +) => unknown; + +export interface BindInjectablePropertyOpts { + token?: TokenProvider; + useOpts?: Record; + transform?: TransformInjectedProviderCB; +} + +function bindInjectableProperty( + target: any, + propertyKey: string | symbol, + {token, transform = (o) => o, useOpts}: BindInjectablePropertyOpts +) { + const symbol = Symbol(); + + if (!target[DI_INJECTABLE_PROPS]) { + Reflect.defineProperty(target, DI_INJECTABLE_PROPS, { + value: new Set(), + enumerable: false, + configurable: false + }); + } + + target[DI_INJECTABLE_PROPS].add(propertyKey); + + catchError(() => Reflect.deleteProperty(target, propertyKey)); + Reflect.defineProperty(target, propertyKey, { + get() { + const useType = getTokenType(token, target, propertyKey!); + const originalType = Metadata.getType(target, propertyKey); + + const invokeOpts: Partial = { + rebuild: !!this[DI_INVOKE_OPTIONS]?.rebuild, + locals: this[DI_INVOKE_OPTIONS]?.locals, + useOpts: useOpts || Store.from(target, propertyKey).get(DI_USE_OPTIONS) + }; + + if (this[symbol] === undefined) { + this[symbol] = originalType === Array ? injectMany(token as string, invokeOpts) : inject(useType, invokeOpts); + } + + [].concat(this[symbol]).forEach((instance: any, index) => { + if (isPromise(this[symbol])) { + instance.then((result: any) => { + this[symbol]![index] = result; + if (originalType !== Array) { + this[symbol] = result; + } + }); + } + }); + + return transform(this[symbol], {self: this, target, propertyKey}); } }); } @@ -29,78 +120,32 @@ export function injectProperty(target: any, propertyKey: string, options: Partia * ``` * * @param token A token provider or token provider group - * @param onGet Use the given name method to inject + * @param transform * @returns {Function} * @decorator */ -export function Inject(token?: TokenProvider | (() => TokenProvider), onGet = (bean: any) => bean): Function { - return (target: any, propertyKey: string | symbol | undefined, descriptor: TypedPropertyDescriptor | number): any | void => { - const bindingType = decoratorTypeOf([target, propertyKey, descriptor]); +export function Inject(token?: TokenProvider | (() => TokenProvider), transform?: TransformInjectedProviderCB): any; +export function Inject( + token?: TokenProvider | (() => TokenProvider), + opts?: Partial, "token">> +): any; +export function Inject( + token?: TokenProvider | (() => TokenProvider), + opts: TransformInjectedProviderCB | Partial, "token">> = {} +) { + opts = typeof opts === "function" ? {transform: opts} : opts; + + return (target: any, propertyKey: string | symbol | undefined, index?: number) => { + const bindingType = decoratorTypeOf([target, propertyKey, index]); switch (bindingType) { case DecoratorTypes.PARAM_CTOR: if (token) { - const paramTypes = getConstructorDependencies(target, propertyKey); - const type = paramTypes[descriptor as number]; - - paramTypes[descriptor as number] = type === Array ? [token] : token; - - Metadata.setParamTypes(target, propertyKey!, paramTypes); - setConstructorDependencies(target, paramTypes); + setToken(token, {target, propertyKey, parameterIndex: index!}); } break; - case DecoratorTypes.PROP: - const useType = token || Metadata.getType(target, propertyKey); - - if (useType === Object) { - throw new InvalidPropertyTokenError(target, String(propertyKey)); - } - - injectProperty(target, String(propertyKey), { - resolver(injector, locals, {options, ...invokeOptions}) { - const originalType = Metadata.getType(target, propertyKey); - locals.set(DI_PARAM_OPTIONS, {...options}); - - if (originalType === Array) { - let bean: any[] | undefined; - - if (!bean) { - bean = injector.getMany(token, locals, invokeOptions); - locals.delete(DI_PARAM_OPTIONS); - } - - bean.forEach((instance: any, index) => { - if (isPromise(bean)) { - instance.then((result: any) => { - bean![index] = result; - }); - } - }); - - return () => onGet(bean); - } - - let bean: any; - - if (!bean) { - bean = injector.invoke(useType, locals, invokeOptions); - locals.delete(DI_PARAM_OPTIONS); - } - - if (isPromise(bean)) { - bean.then((result: any) => { - bean = result; - }); - } - - return () => onGet(bean); - } - }); - break; - - default: - throw new UnsupportedDecoratorType(Inject, [target, propertyKey, descriptor]); + bindInjectableProperty(target, propertyKey!, {...opts, token}); } }; } diff --git a/packages/di/src/common/decorators/injectable.spec.ts b/packages/di/src/common/decorators/injectable.spec.ts index 9ac8bf445d7..da73fd43be2 100644 --- a/packages/di/src/common/decorators/injectable.spec.ts +++ b/packages/di/src/common/decorators/injectable.spec.ts @@ -1,5 +1,5 @@ -import {Injectable} from "./injectable.js"; import {GlobalProviders} from "../registries/GlobalProviders.js"; +import {Injectable} from "./injectable.js"; describe("@Injectable()", () => { afterEach(() => { diff --git a/packages/di/src/common/decorators/intercept.spec.ts b/packages/di/src/common/decorators/intercept.spec.ts index 87c44cdce57..278364432e2 100644 --- a/packages/di/src/common/decorators/intercept.spec.ts +++ b/packages/di/src/common/decorators/intercept.spec.ts @@ -1,51 +1,107 @@ -import {Store} from "@tsed/core"; -import {INJECTABLE_PROP} from "../constants/constants.js"; -import {InjectablePropertyType} from "../domain/InjectablePropertyType.js"; +import {catchError} from "@tsed/core"; + +import {DITest} from "../../node/index.js"; import {InterceptorContext} from "../interfaces/InterceptorContext.js"; import {InterceptorMethods} from "../interfaces/InterceptorMethods.js"; -import {Intercept} from "./intercept.js"; +import {InjectorService} from "../services/InjectorService.js"; +import {getInterceptorOptions, Intercept} from "./intercept.js"; +import {Interceptor} from "./interceptor.js"; +import {Service} from "./service.js"; + +@Interceptor() +class MyInterceptor implements InterceptorMethods { + constructor(injSrv: InjectorService) { + // do some logic + } + + intercept(context: InterceptorContext) { + const r = typeof context.args[0] === "string" ? undefined : new Error(`Error message`); + const retValue = context.next(r); + + return `${retValue} - ${context.options || ""} - intercepted`; + } +} + +@Service() +class ServiceTest { + @Intercept(MyInterceptor, "options data") + exec(param: string) { + return `Original data - ${param}`; + } +} + +@Service() +@Intercept(MyInterceptor, "options data") +class ServiceTest2 { + exec(param: string) { + return `Original data - ${param}`; + } +} describe("@Intercept", () => { - it("should add interceptor on method", () => { - // GIVEN - class TestInterceptor implements InterceptorMethods { - intercept(ctx: InterceptorContext) { - return ""; - } - } - - // WHEN - class TestService { - @Intercept(TestInterceptor, {options: "options"}) - test() {} - } - - // THEN - const injectableProperties = Store.from(TestService).get(INJECTABLE_PROP); - expect(injectableProperties.test.bindingType).toEqual(InjectablePropertyType.INTERCEPTOR); - expect(injectableProperties.test.useType).toEqual(TestInterceptor); - expect(injectableProperties.test.options).toEqual({options: "options"}); - expect(injectableProperties.test.propertyKey).toEqual("test"); + beforeEach(() => DITest.create()); + afterEach(() => DITest.reset()); + + describe("when the decorator is used on a method", () => { + it("should intercept the method", async () => { + // GIVEN + const serviceTest = await DITest.invoke(ServiceTest)!; + + // WHEN + const result = serviceTest.exec("param data"); + + expect(getInterceptorOptions(ServiceTest, "exec")).toEqual("options data"); + + // THEN + expect(result).toEqual("Original data - param data - options data - intercepted"); + }); + it("should intercept the method and mock interceptor", async () => { + // GIVEN + const serviceTest = await DITest.invoke(ServiceTest, [ + { + token: MyInterceptor, + use: { + intercept: vi.fn().mockReturnValue("intercepted") + } + } + ]); + + // WHEN + const result = serviceTest.exec("param data"); + + // THEN + expect(result).toEqual("intercepted"); + }); + it("should intercept the method and throw error", async () => { + // GIVEN + const serviceTest = await DITest.invoke(ServiceTest)!; + + // WHEN + let actualError = catchError(() => serviceTest.exec({} as any)); + + // THEN + expect(actualError?.message).toEqual("Error message"); + }); }); - it("should add interceptor on class and decorate all methods", () => { - // GIVEN - class TestInterceptor implements InterceptorMethods { - intercept(ctx: InterceptorContext) { - return ""; - } - } - - // WHEN - @Intercept(TestInterceptor, {options: "options"}) - class TestService { - test2() {} - } - - // THEN - const injectableProperties = Store.from(TestService).get(INJECTABLE_PROP); - expect(injectableProperties.test2.bindingType).toEqual(InjectablePropertyType.INTERCEPTOR); - expect(injectableProperties.test2.useType).toEqual(TestInterceptor); - expect(injectableProperties.test2.options).toEqual({options: "options"}); - expect(injectableProperties.test2.propertyKey).toEqual("test2"); + describe("when the decorator is used on a class", () => { + it("should intercept the method", async () => { + // GIVEN + const serviceTest = await DITest.invoke(ServiceTest2)!; + + // WHEN + const result = serviceTest.exec("param data"); + + // THEN + expect(result).toEqual("Original data - param data - options data - intercepted"); + }); + it("should intercept the method and throw error", async () => { + // GIVEN + const serviceTest = await DITest.invoke(ServiceTest2)!; + + // WHEN + let actualError = catchError(() => serviceTest.exec({} as any)); + // THEN + expect(actualError?.message).toEqual("Error message"); + }); }); }); diff --git a/packages/di/src/common/decorators/intercept.ts b/packages/di/src/common/decorators/intercept.ts index d40a5e4ccc1..76a7a7dc010 100644 --- a/packages/di/src/common/decorators/intercept.ts +++ b/packages/di/src/common/decorators/intercept.ts @@ -1,8 +1,59 @@ -import {decorateMethodsOf, DecoratorParameters, decoratorTypeOf, DecoratorTypes, Store, Type} from "@tsed/core"; -import {INJECTABLE_PROP} from "../constants/constants.js"; -import {InjectablePropertyType} from "../domain/InjectablePropertyType.js"; +import {classOf, decorateMethodsOf, DecoratorParameters, decoratorTypeOf, DecoratorTypes, Store, Type} from "@tsed/core"; + +import {DI_INTERCEPTOR_OPTIONS, DI_INVOKE_OPTIONS} from "../constants/constants.js"; +import type {InterceptorContext} from "../interfaces/InterceptorContext.js"; import type {InterceptorMethods} from "../interfaces/InterceptorMethods.js"; -import type {InjectableProperties} from "../interfaces/InjectableProperties.js"; +import type {InvokeOptions} from "../interfaces/InvokeOptions.js"; +import type {TokenProvider} from "../interfaces/TokenProvider.js"; +import {inject} from "./inject.js"; + +export function getInterceptorOptions(target: Type, propertyKey: string | symbol) { + return Store.fromMethod(target, propertyKey).get(DI_INTERCEPTOR_OPTIONS) as T; +} + +export function bindIntercept(target: any, propertyKey: string | symbol, token: TokenProvider, options: Record) { + const klass = classOf(target); + const descriptor = Reflect.getOwnPropertyDescriptor(klass.prototype, propertyKey); + const originalMethod = descriptor!.value; + const symbol = Symbol(); + + Store.fromMethod(klass, propertyKey).set(DI_INTERCEPTOR_OPTIONS, options); + + descriptor!.value = function (...args: any[]) { + const next = (err?: Error) => { + if (!err) { + return originalMethod.apply(this, args); + } + + throw err; + }; + + const context: InterceptorContext = { + target, + propertyKey, + args, + options, + next + }; + + const invokeOpts: Partial = { + rebuild: !!this[DI_INVOKE_OPTIONS]?.rebuild, + locals: this[DI_INVOKE_OPTIONS]?.locals + }; + + this[symbol] = this[symbol] || inject(token, invokeOpts)!; + + return this[symbol].intercept!( + { + ...context, + options + }, + next + ); + }; + + return descriptor; +} /** * Attaches interceptor to method call and executes the before and after methods @@ -13,23 +64,14 @@ import type {InjectableProperties} from "../interfaces/InjectableProperties.js"; */ export function Intercept(interceptor: Type, options?: any): any { return (...args: DecoratorParameters) => { - const [target, propertyKey, descriptor] = args; + const [target, propertyKey] = args; const type = decoratorTypeOf(args); switch (type) { case DecoratorTypes.CLASS: decorateMethodsOf(target, Intercept(interceptor, options)); break; case DecoratorTypes.METHOD: - Store.from(target).merge(INJECTABLE_PROP, { - [propertyKey]: { - options, - propertyKey, - useType: interceptor, - bindingType: InjectablePropertyType.INTERCEPTOR - } - } as InjectableProperties); - - return descriptor; + return bindIntercept(target, propertyKey, interceptor, options); } }; } diff --git a/packages/di/src/common/decorators/lazyInject.spec.ts b/packages/di/src/common/decorators/lazyInject.spec.ts index f0fba4356a1..f2e9b2428a2 100644 --- a/packages/di/src/common/decorators/lazyInject.spec.ts +++ b/packages/di/src/common/decorators/lazyInject.spec.ts @@ -1,4 +1,5 @@ import {catchAsyncError, classOf, nameOf} from "@tsed/core"; + import {InjectorService} from "../services/InjectorService.js"; import type {MyLazyModule} from "./__mock__/lazy.module.js"; import {Injectable} from "./injectable.js"; @@ -8,7 +9,7 @@ describe("LazyInject", () => { it("should lazy load module (import)", async () => { @Injectable() class MyInjectable { - @LazyInject("MyLazyModule", () => import("./__mock__/lazy.import.module")) + @LazyInject("MyLazyModule", () => import("./__mock__/lazy.import.module.js")) lazy: Promise; } @@ -25,7 +26,7 @@ describe("LazyInject", () => { it("should throw an error when token isn't a valid provider", async () => { @Injectable() class MyInjectable { - @LazyInject("TKO", () => import("./__mock__/lazy.nodefault.module")) + @LazyInject("TKO", () => import("./__mock__/lazy.nodefault.module.js")) lazy?: Promise; } diff --git a/packages/di/src/common/decorators/lazyInject.ts b/packages/di/src/common/decorators/lazyInject.ts index 69459dd3a0f..08c7177e065 100644 --- a/packages/di/src/common/decorators/lazyInject.ts +++ b/packages/di/src/common/decorators/lazyInject.ts @@ -1,5 +1,6 @@ -import {importPackage} from "@tsed/core"; -import {injectProperty} from "./inject.js"; +import {catchError, importPackage} from "@tsed/core"; + +import {InjectorService} from "../services/InjectorService.js"; /** * Lazy load a provider from his package and invoke only when the provider is used @@ -26,26 +27,26 @@ export function LazyInject( resolver: () => any, {optional = false, packageName = resolver.toString()}: {optional?: boolean; packageName?: string} = {} ): PropertyDecorator { - return (target: any, propertyKey: string): any | void => { + return (target: any, propertyKey: string | symbol): any | void => { let bean: any, token: any; - injectProperty(target, propertyKey, { - resolver(injector) { - return async () => { - if (!token || !bean) { - const exports = await importPackage(packageName, resolver, optional); - token = exports[key]; - if (!token) { - if (!optional) { - throw new Error(`Unable to lazy load the "${key}". The token isn\'t a valid token provider.`); - } + catchError(() => Reflect.deleteProperty(target, propertyKey)); + Reflect.defineProperty(target, propertyKey, { + async get() { + if (!token) { + const injector = InjectorService.getInstance(); + const exports = await importPackage(packageName, resolver, optional); + token = exports[key]; + if (!token) { + if (!optional) { + throw new Error(`Unable to lazy load the "${key}". The token isn\'t a valid token provider.`); } - - bean = token ? await injector.lazyInvoke(token) : {}; } - return bean; - }; + bean = token ? await injector.lazyInvoke(token) : {}; + } + + return bean; } }); }; diff --git a/packages/di/src/common/decorators/module.ts b/packages/di/src/common/decorators/module.ts index 43ab1ce1d01..e10464551a4 100644 --- a/packages/di/src/common/decorators/module.ts +++ b/packages/di/src/common/decorators/module.ts @@ -1,10 +1,11 @@ import {useDecorators} from "@tsed/core"; + import {ProviderScope} from "../domain/ProviderScope.js"; +import {ProviderType} from "../domain/ProviderType.js"; +import {DIResolver} from "../interfaces/DIResolver.js"; import {TokenProvider} from "../interfaces/TokenProvider.js"; import {Configuration} from "./configuration.js"; import {Injectable} from "./injectable.js"; -import {ProviderType} from "../domain/ProviderType.js"; -import {DIResolver} from "../interfaces/DIResolver.js"; export interface ModuleOptions extends Omit { /** diff --git a/packages/di/src/common/decorators/opts.ts b/packages/di/src/common/decorators/opts.ts index 994abe3acaa..ee8e5d09307 100644 --- a/packages/di/src/common/decorators/opts.ts +++ b/packages/di/src/common/decorators/opts.ts @@ -1,5 +1,6 @@ import {classOf} from "@tsed/core"; -import {DI_PARAM_OPTIONS} from "../constants/constants.js"; + +import {DI_USE_PARAM_OPTIONS} from "../constants/constants.js"; import {ProviderScope} from "../domain/ProviderScope.js"; import {Inject} from "./inject.js"; import {Scope} from "./scope.js"; @@ -46,5 +47,5 @@ import {Scope} from "./scope.js"; */ export function Opts(target: any, propertyKey: string | symbol | undefined, index: number) { Scope(ProviderScope.INSTANCE)(classOf(target)); - Inject(DI_PARAM_OPTIONS)(target, propertyKey, index); + Inject(DI_USE_PARAM_OPTIONS)(target, propertyKey, index); } diff --git a/packages/di/src/common/decorators/overrideProvider.spec.ts b/packages/di/src/common/decorators/overrideProvider.spec.ts index 0091ef34991..b17d8a60843 100644 --- a/packages/di/src/common/decorators/overrideProvider.spec.ts +++ b/packages/di/src/common/decorators/overrideProvider.spec.ts @@ -1,4 +1,5 @@ import {Provider} from "../domain/Provider.js"; +import type {TokenProvider} from "../interfaces/TokenProvider.js"; import {GlobalProviders} from "../registries/GlobalProviders.js"; import {OverrideProvider} from "./overrideProvider.js"; @@ -14,7 +15,7 @@ describe("OverrideProvider", () => { // GIVEN const provider = new Provider(Test); - vi.mocked(GlobalProviders.get).mockImplementation((token: object) => { + vi.mocked(GlobalProviders.get).mockImplementation((token: TokenProvider) => { if (token === Test) { return provider; } diff --git a/packages/di/src/common/decorators/overrideProvider.ts b/packages/di/src/common/decorators/overrideProvider.ts index 620eae20d0b..46382f6cd8f 100644 --- a/packages/di/src/common/decorators/overrideProvider.ts +++ b/packages/di/src/common/decorators/overrideProvider.ts @@ -1,4 +1,5 @@ import {Type} from "@tsed/core"; + import {GlobalProviders} from "../registries/GlobalProviders.js"; /** diff --git a/packages/di/src/common/decorators/scope.spec.ts b/packages/di/src/common/decorators/scope.spec.ts index c2b218c6e99..36e5ae0a5c6 100644 --- a/packages/di/src/common/decorators/scope.spec.ts +++ b/packages/di/src/common/decorators/scope.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {Scope} from "./scope.js"; class Test {} diff --git a/packages/di/src/common/decorators/scope.ts b/packages/di/src/common/decorators/scope.ts index ad076874446..aa0fa2c6679 100644 --- a/packages/di/src/common/decorators/scope.ts +++ b/packages/di/src/common/decorators/scope.ts @@ -1,4 +1,5 @@ import {StoreSet} from "@tsed/core"; + import {ProviderScope} from "../domain/ProviderScope.js"; /** diff --git a/packages/di/src/common/decorators/useOpts.spec.ts b/packages/di/src/common/decorators/useOpts.spec.ts index 4e0004f7dac..16d0ba2bd27 100644 --- a/packages/di/src/common/decorators/useOpts.spec.ts +++ b/packages/di/src/common/decorators/useOpts.spec.ts @@ -1,4 +1,5 @@ import {descriptorOf} from "@tsed/core"; + import {DITest} from "../../node/index.js"; import {ProviderScope} from "../domain/ProviderScope.js"; import {Inject} from "./inject.js"; diff --git a/packages/di/src/common/decorators/useOpts.ts b/packages/di/src/common/decorators/useOpts.ts index ffd823a7b47..4d45ab85b14 100644 --- a/packages/di/src/common/decorators/useOpts.ts +++ b/packages/di/src/common/decorators/useOpts.ts @@ -1,5 +1,6 @@ import {decoratorTypeOf, DecoratorTypes, Store, UnsupportedDecoratorType} from "@tsed/core"; -import {DI_PARAM_OPTIONS, INJECTABLE_PROP} from "../constants/constants.js"; + +import {DI_USE_OPTIONS, DI_USE_PARAM_OPTIONS} from "../constants/constants.js"; /** * Add options to invoke the Service. @@ -46,15 +47,11 @@ export function UseOpts(options: {[key: string]: any}): Function { switch (bindingType) { case DecoratorTypes.PARAM_CTOR: - Store.from(target).merge(`${DI_PARAM_OPTIONS}:${index}`, options); + Store.from(target).merge(`${DI_USE_PARAM_OPTIONS}:${index}`, options); break; case DecoratorTypes.PROP: - Store.from(target).merge(INJECTABLE_PROP, { - [propertyKey as string]: { - options - } - }); + Store.from(target, propertyKey).set(DI_USE_OPTIONS, options); break; default: diff --git a/packages/di/src/common/decorators/value.spec.ts b/packages/di/src/common/decorators/value.spec.ts index e924d47dc73..43c1072ac87 100644 --- a/packages/di/src/common/decorators/value.spec.ts +++ b/packages/di/src/common/decorators/value.spec.ts @@ -1,23 +1,58 @@ -import {Store} from "@tsed/core"; +import {DITest} from "../../node/index.js"; import {Value} from "./value.js"; -import {INJECTABLE_PROP} from "../constants/constants.js"; describe("@Value()", () => { - it("should store metadata", () => { - // GIVEN - class Test {} - - // WHEN - Value("expression")(Test, "test"); - - // THEN - expect(Store.from(Test).get(INJECTABLE_PROP)).toEqual({ - test: { - bindingType: "value", - propertyKey: "test", - expression: "expression", - defaultValue: undefined + beforeEach(() => + DITest.create({ + logger: { + level: "off" } + }) + ); + afterEach(() => DITest.reset()); + describe("when decorator is used as property decorator", () => { + it("should create a getter", async () => { + // WHEN + class Test { + @Value("logger.level", "default value") + test: string; + } + + // THEN + + const test = await DITest.invoke(Test); + + expect(test.test).toEqual("off"); + }); + it("should create a getter with default value", async () => { + expect(DITest.injector.settings.get("logger.test")).toEqual(undefined); + + // WHEN + class Test { + @Value("logger.test", "default value") + test: string; + } + + // THEN + + const test = await DITest.invoke(Test); + + expect(test.test).toEqual("default value"); + expect(DITest.injector.settings.get("logger.test")).toEqual(undefined); + }); + it("should create a getter with native default value", async () => { + // WHEN + class Test { + @Value("logger.test") + test: string = "default prop"; + } + + // THEN + + const test = await DITest.invoke(Test); + + expect(test.test).toEqual("default prop"); + expect(DITest.injector.settings.get("logger.test")).toEqual("default prop"); }); }); }); diff --git a/packages/di/src/common/decorators/value.ts b/packages/di/src/common/decorators/value.ts index 183335eac7e..2654cbb856b 100644 --- a/packages/di/src/common/decorators/value.ts +++ b/packages/di/src/common/decorators/value.ts @@ -1,7 +1,22 @@ -import {Store} from "@tsed/core"; -import {INJECTABLE_PROP} from "../constants/constants.js"; -import type {InjectableProperties} from "../interfaces/InjectableProperties.js"; -import {InjectablePropertyType} from "../domain/InjectablePropertyType.js"; +import {catchError} from "@tsed/core"; + +import {InjectorService} from "../services/InjectorService.js"; + +export function bindValue(target: any, propertyKey: string | symbol, expression: string, defaultValue?: any) { + const descriptor = { + get() { + return InjectorService.getInstance().settings.get(expression, defaultValue); + }, + set(value: unknown) { + InjectorService.getInstance().settings.set(expression, value); + }, + enumerable: true, + configurable: true + }; + + catchError(() => Reflect.deleteProperty(target, propertyKey)); + catchError(() => Reflect.defineProperty(target, propertyKey, descriptor)); +} /** * Return value from Configuration. @@ -38,15 +53,8 @@ import {InjectablePropertyType} from "../domain/InjectablePropertyType.js"; * @returns {(targetClass: any, attributeName: string) => any} * @decorator */ -export function Value(expression: any, defaultValue?: any) { - return (target: any, propertyKey: string) => { - Store.from(target).merge(INJECTABLE_PROP, { - [propertyKey]: { - bindingType: InjectablePropertyType.VALUE, - propertyKey, - expression, - defaultValue - } - } as InjectableProperties); +export function Value(expression: string, defaultValue?: unknown): PropertyDecorator { + return (target, propertyKey) => { + return bindValue(target, propertyKey, expression, defaultValue); }; } diff --git a/packages/di/src/common/domain/Container.ts b/packages/di/src/common/domain/Container.ts index 7ee6ee3659c..7b3fa67c54b 100644 --- a/packages/di/src/common/domain/Container.ts +++ b/packages/di/src/common/domain/Container.ts @@ -1,8 +1,8 @@ import type {ProviderOpts} from "../interfaces/ProviderOpts.js"; -import type {ProviderType} from "./ProviderType.js"; import type {TokenProvider} from "../interfaces/TokenProvider.js"; import {GlobalProviders} from "../registries/GlobalProviders.js"; import {Provider} from "./Provider.js"; +import type {ProviderType} from "./ProviderType.js"; export class Container extends Map { /** @@ -49,21 +49,21 @@ export class Container extends Map { * @returns {T} Returns the element associated with the specified key or undefined if the key can't be found in the Map object. * @param token */ - public getProvider(token: TokenProvider): T | undefined { - return super.get(token) as T; + public getProvider(token: TokenProvider | undefined): T | undefined { + return super.get(token!) as T; } /** * Get all providers registered in the injector container. * - * @param {ProviderType} type Filter the list by the given ProviderType. + * @param type Filter the list by the given ProviderType. * @returns {[TokenProvider , Provider][]} */ - public getProviders(type?: ProviderType | string | string[]): Provider[] { - const types = ([] as (string | ProviderType)[]).concat(type as never); + public getProviders(type?: TokenProvider | ProviderType | string | string[]): Provider[] { + const types = ([] as (string | ProviderType)[]).concat(type as never).map(String); return [...this].reduce((providers, [_, provider]) => { - if (types.includes(provider.type) || !type) { + if (types.includes(String(provider.type)) || !type) { return [...providers, provider]; } return providers; diff --git a/packages/di/src/common/domain/LocalsContainer.spec.ts b/packages/di/src/common/domain/LocalsContainer.spec.ts index 12cc42579f6..c9578bef7aa 100644 --- a/packages/di/src/common/domain/LocalsContainer.spec.ts +++ b/packages/di/src/common/domain/LocalsContainer.spec.ts @@ -14,7 +14,7 @@ describe("LocalsContainer", () => { await container.destroy(); - expect(instance.$onDestroy).toBeCalledWith(); + expect(instance.$onDestroy).toHaveBeenCalledWith(); }); }); }); diff --git a/packages/di/src/common/domain/LocalsContainer.ts b/packages/di/src/common/domain/LocalsContainer.ts index de440cbe32c..06a1d38233a 100644 --- a/packages/di/src/common/domain/LocalsContainer.ts +++ b/packages/di/src/common/domain/LocalsContainer.ts @@ -1,4 +1,5 @@ import {Hooks} from "@tsed/core"; + import type {TokenProvider} from "../interfaces/TokenProvider.js"; export class LocalsContainer extends Map { diff --git a/packages/di/src/common/domain/Provider.spec.ts b/packages/di/src/common/domain/Provider.spec.ts index ef06c934a00..fe2132492ff 100644 --- a/packages/di/src/common/domain/Provider.spec.ts +++ b/packages/di/src/common/domain/Provider.spec.ts @@ -1,5 +1,5 @@ -import {ProviderScope} from "./ProviderScope.js"; import {Provider} from "./Provider.js"; +import {ProviderScope} from "./ProviderScope.js"; class T1 {} diff --git a/packages/di/src/common/domain/Provider.ts b/packages/di/src/common/domain/Provider.ts index d684231b2f0..8534c01e264 100644 --- a/packages/di/src/common/domain/Provider.ts +++ b/packages/di/src/common/domain/Provider.ts @@ -1,4 +1,5 @@ -import {classOf, getClassOrSymbol, isClass, methodsOf, nameOf, Store, Type} from "@tsed/core"; +import {type AbstractType, classOf, getClassOrSymbol, isClass, methodsOf, nameOf, Store, Type} from "@tsed/core"; + import type {ProviderOpts} from "../interfaces/ProviderOpts.js"; import type {TokenProvider} from "../interfaces/TokenProvider.js"; import {ProviderScope} from "./ProviderScope.js"; @@ -10,7 +11,7 @@ export class Provider implements ProviderOpts { /** * Token group provider to retrieve all provider from the same type */ - public type: TokenProvider | ProviderType = ProviderType.PROVIDER; + public type: ProviderType | TokenProvider = ProviderType.PROVIDER; public deps: TokenProvider[]; public imports: (TokenProvider | [TokenProvider])[]; public alias?: string; @@ -25,9 +26,9 @@ export class Provider implements ProviderOpts { [key: string]: any; - constructor(token: TokenProvider, options: Partial = {}) { + constructor(token: TokenProvider, options: Partial = {}) { this.provide = token; - this.useClass = token; + this.useClass = token as Type; Object.assign(this, options); } @@ -52,10 +53,10 @@ export class Provider implements ProviderOpts { } /** - * Create a new store if the given value is a class. Otherwise the value is ignored. + * Create a new store if the given value is a class. Otherwise, the value is ignored. * @param value */ - set useClass(value: Type) { + set useClass(value: Type | AbstractType) { if (isClass(value)) { this._useClass = classOf(value); this._store = Store.from(value); diff --git a/packages/di/src/common/errors/InjectionError.ts b/packages/di/src/common/errors/InjectionError.ts index c15d5a742fc..de7ab2054ff 100644 --- a/packages/di/src/common/errors/InjectionError.ts +++ b/packages/di/src/common/errors/InjectionError.ts @@ -1,4 +1,5 @@ import {getConstructorArgNames, isClass, isString, nameOf} from "@tsed/core"; + import {TokenProvider} from "../interfaces/TokenProvider.js"; import {colors} from "../utils/colors.js"; diff --git a/packages/di/src/common/errors/UndefinedTokenError.ts b/packages/di/src/common/errors/UndefinedTokenError.ts deleted file mode 100644 index 8ae8646d1f4..00000000000 --- a/packages/di/src/common/errors/UndefinedTokenError.ts +++ /dev/null @@ -1,9 +0,0 @@ -export class UndefinedTokenError extends Error { - name = "UNDEFINED_TOKEN_ERROR"; - - constructor() { - super( - "Given token is undefined. Have you enabled emitDecoratorMetadata in your tsconfig.json or decorated your class with @Injectable, @Service, ... decorator ?" - ); - } -} diff --git a/packages/di/src/common/index.ts b/packages/di/src/common/index.ts index 227b5ba9cc1..c3245ae1bb2 100644 --- a/packages/di/src/common/index.ts +++ b/packages/di/src/common/index.ts @@ -27,13 +27,11 @@ export * from "./domain/ProviderScope.js"; export * from "./domain/ProviderType.js"; export * from "./errors/InjectionError.js"; export * from "./errors/InvalidPropertyTokenError.js"; -export * from "./errors/UndefinedTokenError.js"; export * from "./interfaces/DIConfigurationOptions.js"; export * from "./interfaces/DILogger.js"; export * from "./interfaces/DILoggerOptions.js"; export * from "./interfaces/DIResolver.js"; export * from "./interfaces/ImportTokenProviderOpts.js"; -export * from "./interfaces/InjectableProperties.js"; export * from "./interfaces/InterceptorContext.js"; export * from "./interfaces/InterceptorMethods.js"; export * from "./interfaces/InvokeOptions.js"; diff --git a/packages/di/src/common/integration/async-factory.spec.ts b/packages/di/src/common/integration/async-factory.spec.ts index 2dca755ece5..05af3a1fc74 100644 --- a/packages/di/src/common/integration/async-factory.spec.ts +++ b/packages/di/src/common/integration/async-factory.spec.ts @@ -1,4 +1,5 @@ import {isPromise} from "@tsed/core"; + import {Inject} from "../decorators/inject.js"; import {Injectable} from "../decorators/injectable.js"; import {Container} from "../domain/Container.js"; @@ -12,7 +13,7 @@ describe("DI", () => { registerProvider({ provide: ASYNC_FACTORY, - // eslint-disable-next-line require-await + useAsyncFactory() { return { connection: true, diff --git a/packages/di/src/common/integration/imports.spec.ts b/packages/di/src/common/integration/imports.spec.ts index 31ea384eb0b..9c5716c1692 100644 --- a/packages/di/src/common/integration/imports.spec.ts +++ b/packages/di/src/common/integration/imports.spec.ts @@ -34,6 +34,6 @@ describe("DITest", () => { it("should create container with stubbed service", () => { const service = DITest.get(MyService); - expect(service.createConnection).toBeCalledWith(); + expect(service.createConnection).toHaveBeenCalledWith(); }); }); diff --git a/packages/di/src/common/integration/interceptor.spec.ts b/packages/di/src/common/integration/interceptor.spec.ts deleted file mode 100644 index 76c3d219aa6..00000000000 --- a/packages/di/src/common/integration/interceptor.spec.ts +++ /dev/null @@ -1,77 +0,0 @@ -import {Intercept} from "../decorators/intercept.js"; -import {Interceptor} from "../decorators/interceptor.js"; -import {Service} from "../decorators/service.js"; -import {Container} from "../domain/Container.js"; -import {InterceptorContext} from "../interfaces/InterceptorContext.js"; -import {InterceptorMethods} from "../interfaces/InterceptorMethods.js"; -import {GlobalProviders} from "../registries/GlobalProviders.js"; -import {InjectorService} from "../services/InjectorService.js"; - -describe("DI Interceptor", () => { - @Interceptor() - class MyInterceptor implements InterceptorMethods { - constructor(injSrv: InjectorService) { - // do some logic - } - - intercept(context: InterceptorContext) { - const r = typeof context.args[0] === "string" ? undefined : new Error(`Error message`); - const retValue = context.next(r); - - return `${retValue} - ${context.options || ""} - intercepted`; - } - } - - @Service() - class ServiceTest { - @Intercept(MyInterceptor, "options data") - exec(param: string) { - return `Original data - ${param}`; - } - } - - afterAll(() => { - GlobalProviders.delete(MyInterceptor); - GlobalProviders.delete(ServiceTest); - }); - - it("should intercept the method", async () => { - // GIVEN - const injector = new InjectorService(); - const container = new Container(); - container.addProvider(MyInterceptor); - container.addProvider(ServiceTest); - - await injector.load(container); - - const serviceTest = injector.invoke(ServiceTest)!; - - // WHEN - const result = serviceTest.exec("param data"); - - // THEN - expect(result).toEqual("Original data - param data - options data - intercepted"); - }); - - it("should intercept the method and throw error", async () => { - // GIVEN - const injector = new InjectorService(); - const container = new Container(); - container.addProvider(MyInterceptor); - container.addProvider(ServiceTest); - - await injector.load(container); - - const serviceTest = await injector.invoke(ServiceTest)!; - - // WHEN - let actualError; - try { - serviceTest.exec({} as any); - } catch (er) { - actualError = er; - } - // THEN - expect(actualError.message).toEqual("Error message"); - }); -}); diff --git a/packages/di/src/common/integration/request.spec.ts b/packages/di/src/common/integration/request.spec.ts index 295ea1a0cc7..dda0418b2d1 100644 --- a/packages/di/src/common/integration/request.spec.ts +++ b/packages/di/src/common/integration/request.spec.ts @@ -69,7 +69,7 @@ describe("DI Request", () => { expect(serviceSingleton1).toEqual(serviceSingleton2); - return expect(result1.$onDestroy).toBeCalledWith(); + return expect(result1.$onDestroy).toHaveBeenCalledWith(); }); }); }); diff --git a/packages/di/src/common/interfaces/ImportTokenProviderOpts.ts b/packages/di/src/common/interfaces/ImportTokenProviderOpts.ts index b267f0ba9ce..dbaba3c47cf 100644 --- a/packages/di/src/common/interfaces/ImportTokenProviderOpts.ts +++ b/packages/di/src/common/interfaces/ImportTokenProviderOpts.ts @@ -1,4 +1,5 @@ -import type {Type} from "@tsed/core"; +import type {AbstractType, Type} from "@tsed/core"; + import type {TokenProvider} from "./TokenProvider.js"; export type UseImportTokenProviderOpts = { @@ -8,7 +9,7 @@ export type UseImportTokenProviderOpts = { export type UseClassImportTokenProviderOpts = { token: TokenProvider; - useClass: Type | Function; + useClass: Type | AbstractType; }; export type UseFactoryImportTokenProviderOpts = { diff --git a/packages/di/src/common/interfaces/InjectableProperties.ts b/packages/di/src/common/interfaces/InjectableProperties.ts deleted file mode 100644 index 537bc82f941..00000000000 --- a/packages/di/src/common/interfaces/InjectableProperties.ts +++ /dev/null @@ -1,27 +0,0 @@ -import type {InjectablePropertyType} from "../domain/InjectablePropertyType.js"; -import type {LocalsContainer} from "../domain/LocalsContainer.js"; -import type {TokenProvider} from "./TokenProvider.js"; -import type {InjectorService} from "../services/InjectorService.js"; -import type {InvokeOptions} from "./InvokeOptions.js"; - -export interface InjectableProperty { - propertyKey: string; -} - -export interface InjectablePropertyOptions extends InjectableProperty { - bindingType: InjectablePropertyType.METHOD | InjectablePropertyType.PROPERTY | InjectablePropertyType.INTERCEPTOR; - propertyType: string; - useType?: TokenProvider; - resolver: (injector: InjectorService, locals: LocalsContainer, options: Partial & {options: any}) => () => any; - options?: any; -} - -export interface InjectablePropertyValue extends InjectableProperty { - bindingType: InjectablePropertyType.CONSTANT | InjectablePropertyType.VALUE; - expression: string; - defaultValue?: any; -} - -export interface InjectableProperties { - [key: string]: InjectablePropertyOptions | InjectablePropertyValue; -} diff --git a/packages/di/src/common/interfaces/InterceptorContext.ts b/packages/di/src/common/interfaces/InterceptorContext.ts index 6d611368e16..211a5ef4cef 100644 --- a/packages/di/src/common/interfaces/InterceptorContext.ts +++ b/packages/di/src/common/interfaces/InterceptorContext.ts @@ -6,7 +6,7 @@ export interface InterceptorNext { export interface InterceptorContext { target: Klass; - propertyKey: string; + propertyKey: string | symbol; args: any[]; next: InterceptorNext; options?: Opts; diff --git a/packages/di/src/common/interfaces/InvokeOptions.ts b/packages/di/src/common/interfaces/InvokeOptions.ts index 9c0ca320e1e..f292e5644fd 100644 --- a/packages/di/src/common/interfaces/InvokeOptions.ts +++ b/packages/di/src/common/interfaces/InvokeOptions.ts @@ -1,3 +1,4 @@ +import type {LocalsContainer} from "../domain/LocalsContainer.js"; import {ProviderScope} from "../domain/ProviderScope.js"; import {TokenProvider} from "./TokenProvider.js"; @@ -5,11 +6,11 @@ export interface InvokeOptions { /** * Define dependencies to build the provider and inject them in the constructor. */ - deps: unknown[]; + deps: TokenProvider[]; /** * List of imports to be created before the provider. Imports list aren't injected directly in the provider constructor. */ - imports: unknown[]; + imports: TokenProvider[]; /** * Parent provider. */ @@ -22,4 +23,10 @@ export interface InvokeOptions { * If true, the injector will rebuild the instance. */ rebuild?: boolean; + /** + * Option given to injectable props or parameter constructor (UseOpts). + */ + useOpts?: Record; + + locals?: LocalsContainer; } diff --git a/packages/di/src/common/interfaces/ProviderOpts.ts b/packages/di/src/common/interfaces/ProviderOpts.ts index b4cfb048f0e..9f191a5657f 100644 --- a/packages/di/src/common/interfaces/ProviderOpts.ts +++ b/packages/di/src/common/interfaces/ProviderOpts.ts @@ -1,14 +1,15 @@ import type {Type} from "@tsed/core"; + +import type {ProviderScope} from "../domain/ProviderScope.js"; import type {ProviderType} from "../domain/ProviderType.js"; import type {DIResolver} from "./DIResolver.js"; -import type {ProviderScope} from "../domain/ProviderScope.js"; import type {TokenProvider} from "./TokenProvider.js"; export interface ProviderOpts { /** * An injection token. (Typically an instance of `Type` or `InjectionToken`, but can be `any`). */ - provide: TokenProvider; + provide: TokenProvider; /** * Create alias token to retrieve the instance provider. */ diff --git a/packages/di/src/common/interfaces/RegistrySettings.ts b/packages/di/src/common/interfaces/RegistrySettings.ts index ed79865caa8..91444bc3fe9 100644 --- a/packages/di/src/common/interfaces/RegistrySettings.ts +++ b/packages/di/src/common/interfaces/RegistrySettings.ts @@ -1,4 +1,6 @@ import {Type} from "@tsed/core"; + +import type {LocalsContainer} from "../domain/LocalsContainer.js"; import type {Provider} from "../domain/Provider.js"; import type {InjectorService} from "../services/InjectorService.js"; import type {ResolvedInvokeOptions} from "./ResolvedInvokeOptions.js"; @@ -16,5 +18,5 @@ export interface RegistrySettings { * @param {Map} locals * @param options */ - onInvoke?(provider: Provider, locals: Map, options: ResolvedInvokeOptions & {injector: InjectorService}): void; + onInvoke?(provider: Provider, locals: LocalsContainer, options: ResolvedInvokeOptions & {injector: InjectorService}): void; } diff --git a/packages/di/src/common/interfaces/ResolvedInvokeOptions.ts b/packages/di/src/common/interfaces/ResolvedInvokeOptions.ts index 1bd069c2aa1..93181c0f961 100644 --- a/packages/di/src/common/interfaces/ResolvedInvokeOptions.ts +++ b/packages/di/src/common/interfaces/ResolvedInvokeOptions.ts @@ -7,7 +7,7 @@ export interface ResolvedInvokeOptions { parent?: TokenProvider; scope: ProviderScope; deps: TokenProvider[]; - imports: TokenProvider[]; + imports: (TokenProvider | [TokenProvider])[]; provider: Provider; construct(deps: TokenProvider[]): any; diff --git a/packages/di/src/common/interfaces/TokenProvider.ts b/packages/di/src/common/interfaces/TokenProvider.ts index 538e8f569c6..825fc67833b 100644 --- a/packages/di/src/common/interfaces/TokenProvider.ts +++ b/packages/di/src/common/interfaces/TokenProvider.ts @@ -1,8 +1,3 @@ -import type {Type} from "@tsed/core"; +import type {AbstractType, Type} from "@tsed/core"; -export type TokenProvider = string | symbol | Type | Function | any; - -export interface TokenProviderOpts { - token?: TokenProvider; - use: any; -} +export type TokenProvider = string | symbol | Type | AbstractType | Function; diff --git a/packages/di/src/common/registries/GlobalProviders.spec.ts b/packages/di/src/common/registries/GlobalProviders.spec.ts index 615fbeacc28..25cd6d877fd 100644 --- a/packages/di/src/common/registries/GlobalProviders.spec.ts +++ b/packages/di/src/common/registries/GlobalProviders.spec.ts @@ -45,7 +45,7 @@ describe("GlobalProviderRegistry", () => { const provider = new Provider("token"); provider.type = ProviderType.PROVIDER; // WHEN - const settings = providers.getRegistrySettings(provider); + const settings = providers.getRegistrySettings(provider as never); // THEN expect(settings).toEqual({ diff --git a/packages/di/src/common/registries/GlobalProviders.ts b/packages/di/src/common/registries/GlobalProviders.ts index 6359e0eba28..9b3ca327f76 100644 --- a/packages/di/src/common/registries/GlobalProviders.ts +++ b/packages/di/src/common/registries/GlobalProviders.ts @@ -1,4 +1,5 @@ import {getClassOrSymbol, Type} from "@tsed/core"; + import type {LocalsContainer} from "../domain/LocalsContainer.js"; import {Provider} from "../domain/Provider.js"; import {ProviderType} from "../domain/ProviderType.js"; @@ -9,7 +10,7 @@ import {TokenProvider} from "../interfaces/TokenProvider.js"; import type {InjectorService} from "../services/InjectorService.js"; export class GlobalProviderRegistry extends Map { - #settings: Map = new Map(); + #settings: Map = new Map(); /** * The get() method returns a specified element from a Map object. @@ -49,7 +50,12 @@ export class GlobalProviderRegistry extends Map { const meta = this.createIfNotExists(target, options); Object.keys(options).forEach((key) => { - meta[key] = (options as any)[key]; + let value = (options as never)[key]; + // if (key === "type") { + // value = String(value); + // } + + meta[key] = value; }); this.set(target, meta); @@ -66,7 +72,7 @@ export class GlobalProviderRegistry extends Map { return super.delete(getClassOrSymbol(key)); } - createRegistry(type: string, model: Type, options: Partial = {}) { + createRegistry(type: string | symbol, model: Type, options: Partial = {}) { const defaultOptions = this.getRegistrySettings(type); options = Object.assign(defaultOptions, { @@ -87,8 +93,8 @@ export class GlobalProviderRegistry extends Map { } } - getRegistrySettings(target: string | TokenProvider): RegistrySettings { - let type: string = "provider"; + getRegistrySettings(target: TokenProvider): RegistrySettings { + let type: TokenProvider | ProviderType = ProviderType.PROVIDER; if (typeof target === "string") { type = target; diff --git a/packages/di/src/common/registries/ProviderRegistry.spec.ts b/packages/di/src/common/registries/ProviderRegistry.spec.ts index dca1ff5c87d..a3efc8c6a13 100644 --- a/packages/di/src/common/registries/ProviderRegistry.spec.ts +++ b/packages/di/src/common/registries/ProviderRegistry.spec.ts @@ -13,7 +13,7 @@ describe("ProviderRegistry", () => { vi.resetAllMocks(); }); - it("should throw an error when provide field is not given ", () => { + it("should throw an error when provide field is not given", () => { // GIVEN let actualError; try { @@ -30,7 +30,7 @@ describe("ProviderRegistry", () => { registerProvider({provide: Test}); - expect(GlobalProviders.merge).toBeCalledWith(Test, { + expect(GlobalProviders.merge).toHaveBeenCalledWith(Test, { provide: Test }); }); @@ -49,7 +49,7 @@ describe("ProviderRegistry", () => { registerValue(token, "myValue"); - expect(GlobalProviders.merge).toBeCalledWith(token, { + expect(GlobalProviders.merge).toHaveBeenCalledWith(token, { provide: token, useValue: "myValue", scope: ProviderScope.SINGLETON, @@ -62,7 +62,7 @@ describe("ProviderRegistry", () => { registerValue({provide: token, useValue: "myValue", scope: ProviderScope.REQUEST}); - expect(GlobalProviders.merge).toBeCalledWith(token, { + expect(GlobalProviders.merge).toHaveBeenCalledWith(token, { provide: token, useValue: "myValue", scope: ProviderScope.REQUEST, @@ -75,7 +75,7 @@ describe("ProviderRegistry", () => { registerValue(token, "myValue"); - expect(GlobalProviders.merge).toBeCalledWith(token, { + expect(GlobalProviders.merge).toHaveBeenCalledWith(token, { provide: token, useValue: "myValue", scope: ProviderScope.SINGLETON, diff --git a/packages/di/src/common/services/DIConfiguration.spec.ts b/packages/di/src/common/services/DIConfiguration.spec.ts index 295bc789b55..2579c54c63c 100644 --- a/packages/di/src/common/services/DIConfiguration.spec.ts +++ b/packages/di/src/common/services/DIConfiguration.spec.ts @@ -1,4 +1,5 @@ import {Env} from "@tsed/core"; + import {DIConfiguration} from "./DIConfiguration.js"; describe("DIConfiguration", () => { diff --git a/packages/di/src/common/services/DIConfiguration.ts b/packages/di/src/common/services/DIConfiguration.ts index 17a19ae8d01..26c5f5f734b 100644 --- a/packages/di/src/common/services/DIConfiguration.ts +++ b/packages/di/src/common/services/DIConfiguration.ts @@ -1,4 +1,5 @@ import {Env, getValue, proxyDelegation, setValue} from "@tsed/core"; + import type {ProviderScope} from "../domain/ProviderScope.js"; import type {DILoggerOptions} from "../interfaces/DILoggerOptions.js"; import type {DIResolver} from "../interfaces/DIResolver.js"; @@ -30,7 +31,7 @@ export class DIConfiguration { } get version() { - return this.get("version"); + return this.get("version")!; } set version(v: string) { @@ -38,7 +39,7 @@ export class DIConfiguration { } get rootDir() { - return this.get("rootDir"); + return this.get("rootDir")!; } set rootDir(value: string) { @@ -70,7 +71,7 @@ export class DIConfiguration { } get imports(): (TokenProvider | ImportTokenProviderOpts)[] { - return this.get("imports"); + return this.get("imports")!; } set imports(imports: (TokenProvider | ImportTokenProviderOpts)[]) { @@ -78,7 +79,7 @@ export class DIConfiguration { } get routes(): TokenRoute[] { - return this.get("routes"); + return this.get("routes")!; } set routes(routes: TokenRoute[]) { @@ -86,7 +87,7 @@ export class DIConfiguration { } get logger(): Partial { - return this.get("logger"); + return this.get("logger")!; } set logger(value: Partial) { diff --git a/packages/di/src/common/services/DILogger.spec.ts b/packages/di/src/common/services/DILogger.spec.ts index 5a9daf1ad6e..2eddde47253 100644 --- a/packages/di/src/common/services/DILogger.spec.ts +++ b/packages/di/src/common/services/DILogger.spec.ts @@ -15,7 +15,7 @@ describe("DILogger", () => { container.add(MyService); await injector.load(container); - const logger = injector.get(MyService).logger; + const logger = injector.get(MyService)!.logger; expect(logger).toEqual(injector.logger); }); diff --git a/packages/di/src/common/services/InjectorService.spec.ts b/packages/di/src/common/services/InjectorService.spec.ts index 6a74910a46e..2ccdd43decc 100644 --- a/packages/di/src/common/services/InjectorService.spec.ts +++ b/packages/di/src/common/services/InjectorService.spec.ts @@ -1,5 +1,3 @@ -import {Store} from "@tsed/core"; -import {INJECTABLE_PROP} from "../constants/constants.js"; import {Configuration} from "../decorators/configuration.js"; import {Inject} from "../decorators/inject.js"; import {Injectable} from "../decorators/injectable.js"; @@ -95,45 +93,15 @@ describe("InjectorService", () => { // THEN expect(result1 !== result2).toEqual(true); - expect(injector.getProvider).toBeCalledWith(token); + expect(injector.getProvider).toHaveBeenCalledWith(token); expect(injector.get("alias")).toBeInstanceOf(token); - expect((injector as any).resolve).toBeCalledWith(token, locals, {rebuild: true}); - expect((injector as any).invoke).toBeCalledWith(InjectorService, locals, { + expect((injector as any).resolve).toHaveBeenCalledWith(token, locals, {rebuild: true}); + expect((injector as any).invoke).toHaveBeenCalledWith(InjectorService, locals, { parent: token }); }); }); - describe("when provider is a SINGLETON", () => { - it("should invoke the provider from container", async () => { - // GIVEN - const token = class Test {}; - - const provider = new Provider(token); - provider.scope = ProviderScope.SINGLETON; - - const injector = new InjectorService(); - const container = new Container(); - container.set(token, provider); - - await injector.load(container); - - vi.spyOn(injector as any, "resolve"); - vi.spyOn(injector, "getProvider"); - - const locals = new LocalsContainer(); - - // WHEN - - const result1: any = injector.invoke(token, locals); - const result2: any = injector.invoke(token, locals); - - // THEN - expect(result1).toEqual(result2); - - return expect((injector as any).resolve).not.toBeCalled(); - }); - }); describe("when provider is a REQUEST", () => { it("should invoke a request from local container", async () => { // GIVEN @@ -166,12 +134,12 @@ describe("InjectorService", () => { expect(result1).toEqual(result2); expect(result2 !== result3).toEqual(true); - expect(injector.getProvider).toBeCalledWith(token); - expect((injector as any).resolve).toBeCalledWith(token, locals, {}); + expect(injector.getProvider).toHaveBeenCalledWith(token); + expect((injector as any).resolve).toHaveBeenCalledWith(token, locals, {}); expect(locals.get(token)).toEqual(result1); expect(locals2.get(token)).toEqual(result3); - return expect(injector.get).not.toBeCalled(); + return expect(injector.get).not.toHaveBeenCalled(); }); }); describe("when provider is a INSTANCE", () => { @@ -201,11 +169,11 @@ describe("InjectorService", () => { // THEN expect(result1 !== result2).toEqual(true); - expect(injector.getProvider).toBeCalledWith(token); - expect((injector as any).resolve).toBeCalledWith(token, locals, {}); + expect(injector.getProvider).toHaveBeenCalledWith(token); + expect((injector as any).resolve).toHaveBeenCalledWith(token, locals, {}); expect(locals.has(token)).toEqual(false); - return expect(injector.get).not.toBeCalled(); + return expect(injector.get).not.toHaveBeenCalled(); }); }); describe("when provider is a SINGLETON", () => { @@ -229,7 +197,35 @@ describe("InjectorService", () => { // THEN expect(result).toBeInstanceOf(token); - expect(GlobalProviders.onInvoke).toBeCalledWith(provider, expect.any(LocalsContainer), expect.anything()); + expect(GlobalProviders.onInvoke).toHaveBeenCalledWith(provider, expect.any(LocalsContainer), expect.anything()); + }); + it("should invoke the provider from container (2)", async () => { + // GIVEN + const token = class Test {}; + + const provider = new Provider(token); + provider.scope = ProviderScope.SINGLETON; + + const injector = new InjectorService(); + const container = new Container(); + container.set(token, provider); + + await injector.load(container); + + vi.spyOn(injector as any, "resolve"); + vi.spyOn(injector, "getProvider"); + + const locals = new LocalsContainer(); + + // WHEN + + const result1: any = injector.invoke(token, locals); + const result2: any = injector.invoke(token, locals); + + // THEN + expect(result1).toEqual(result2); + + return expect((injector as any).resolve).not.toHaveBeenCalled(); }); }); describe("when provider is a Value (useValue)", () => { @@ -423,7 +419,7 @@ describe("InjectorService", () => { const provider3 = new Provider(token3); provider3.scope = ProviderScope.SINGLETON; - provider3.deps = [undefined]; + provider3.deps = [undefined] as never; const injector = new InjectorService(); injector.set(token2, provider2); @@ -439,7 +435,7 @@ describe("InjectorService", () => { // THEN expect(actualError.message).toContain( - "Injection failed on Test\nOrigin: Unable to inject dependency. Given token is undefined. Have you enabled emitDecoratorMetadata in your tsconfig.json or decorated your class with @Injectable, @Service, ... decorator ?" + "Injection failed on Test\nOrigin: Unable to inject dependency. Given token is undefined. Could mean a circular dependency problem. Try to use @Inject(() => Token) to solve it." ); }); it("should throw InjectionError > Object", () => { @@ -602,173 +598,6 @@ describe("InjectorService", () => { }); }); - describe("bindInjectableProperties()", () => { - class TestBind {} - - it("should bind all properties", () => { - // GIVEN - const injector = new InjectorService(); - const instance = new TestBind(); - - vi.spyOn(injector as any, "bindProperty").mockReturnValue(undefined); - vi.spyOn(injector as any, "bindConstant").mockReturnValue(undefined); - vi.spyOn(injector as any, "bindValue").mockReturnValue(undefined); - vi.spyOn(injector as any, "bindInterceptor").mockReturnValue(undefined); - - const injectableProperties = { - testMethod: { - bindingType: "method" - }, - testProp: { - bindingType: "property" - }, - testConst: { - bindingType: "constant" - }, - testValue: { - bindingType: "value" - }, - testInterceptor: { - bindingType: "interceptor" - } - }; - - Store.from(TestBind).set(INJECTABLE_PROP, injectableProperties); - - // WHEN - injector.bindInjectableProperties(instance, new LocalsContainer(), {}); - - // THEN - expect(injector.bindProperty).toBeCalledWith(instance, injectableProperties.testProp, new LocalsContainer(), {}); - expect(injector.bindConstant).toBeCalledWith(instance, injectableProperties.testConst); - expect(injector.bindValue).toBeCalledWith(instance, injectableProperties.testValue); - expect(injector.bindInterceptor).toBeCalledWith(instance, injectableProperties.testInterceptor); - }); - }); - - describe("bindProperty()", () => { - it("should bind the method", () => { - // GIVEN - const injector = new InjectorService(); - const instance = new Test(); - - // WHEN - injector.bindProperty( - instance, - { - bindingType: "property", - propertyKey: "prop", - resolver: (injector: InjectorService) => () => injector.get(InjectorService) - } as any, - new LocalsContainer(), - {} - ); - - // THEN - expect(instance.prop).toEqual(injector); - }); - }); - - describe("bindValue()", () => { - it("should bind a property with a value (1)", () => { - // GIVEN - const injector = new InjectorService(); - const instance = new Test(); - - // WHEN - injector.bindValue(instance, {propertyKey: "value", expression: "expression"} as any); - - instance.value = "test"; - // THEN - expect(instance.value).toEqual("test"); - }); - - it("should bind a property with a value (2)", () => { - // GIVEN - const injector = new InjectorService(); - const instance = new Test(); - - // WHEN - injector.bindValue(instance, {propertyKey: "value", expression: "UNKNOW", defaultValue: "test2"} as any); - - // THEN - expect(instance.value).toEqual("test2"); - }); - }); - - describe("bindConstant()", () => { - it("should bind a property with a value (1)", () => { - // GIVEN - const injector = new InjectorService(); - const instance = new Test(); - - injector.settings.set("expression", "constant"); - - // WHEN - injector.bindConstant(instance, {propertyKey: "constant", expression: "expression"} as any); - - // THEN - expect(instance.constant).toEqual("constant"); - // should be the same - expect(instance.constant).toEqual("constant"); - - let actualError: any; - try { - instance.constant = "test"; - } catch (er) { - actualError = er; - } - expect(!!actualError).toEqual(true); - }); - - it("should bind a property with a value (2)", () => { - // GIVEN - const injector = new InjectorService(); - const instance = new Test(); - - // WHEN - injector.bindConstant(instance, {propertyKey: "constant", expression: "UNKNOW", defaultValue: "test"} as any); - - // THEN - expect(instance.constant).toEqual("test"); - }); - }); - - describe("bindInterceptor()", () => { - it("should bind the method with intercept", async () => { - // GIVEN - class InterceptorTest { - intercept(ctx: any) { - return ctx.next() + " intercepted"; - } - } - - const injector = new InjectorService(); - const container = new Container(); - container.addProvider(InterceptorTest); - - await injector.load(container); - - const instance = new Test(); - - vi.spyOn(injector, "get"); - - // WHEN - injector.bindInterceptor(instance, { - bindingType: "interceptor", - propertyKey: "test3", - useType: InterceptorTest - } as any); - - const result = (instance as any).test3("test"); - - // THEN - expect(injector.get).toBeCalledWith(InterceptorTest); - - expect(result).toEqual("test called intercepted"); - }); - }); - describe("resolveConfiguration()", () => { it("should load configuration from each providers", () => { // GIVEN @@ -903,7 +732,7 @@ describe("InjectorService", () => { const value = injector.alter("$alterValue", "value"); - expect(service.$alterValue).toBeCalledWith("value"); + expect(service.$alterValue).toHaveBeenCalledWith("value"); expect(value).toEqual("alteredValue"); }); it("should alter value (factory)", () => { @@ -948,7 +777,7 @@ describe("InjectorService", () => { const value = await injector.alterAsync("$alterValue", "value"); - expect(service.$alterValue).toBeCalledWith("value"); + expect(service.$alterValue).toHaveBeenCalledWith("value"); expect(value).toEqual("alteredValue"); }); }); @@ -956,6 +785,7 @@ describe("InjectorService", () => { describe("imports", () => { it("should load all provider and override by configuration a provider (use)", async () => { const injector = new InjectorService(); + @Injectable() class TestService { get() { @@ -979,6 +809,7 @@ describe("InjectorService", () => { }); it("should load all provider and override by configuration a provider (useClass)", async () => { const injector = new InjectorService(); + @Injectable() class TestService { get() { @@ -1007,6 +838,7 @@ describe("InjectorService", () => { }); it("should load all provider and override by configuration a provider (useFactory)", async () => { const injector = new InjectorService(); + @Injectable() class TestService { get() { @@ -1034,6 +866,7 @@ describe("InjectorService", () => { }); it("should load all provider and override by configuration a provider (useAsyncFactory)", async () => { const injector = new InjectorService(); + @Injectable() class TestService { get() { diff --git a/packages/di/src/common/services/InjectorService.ts b/packages/di/src/common/services/InjectorService.ts index 98b16326235..9a17809c93f 100644 --- a/packages/di/src/common/services/InjectorService.ts +++ b/packages/di/src/common/services/InjectorService.ts @@ -1,6 +1,4 @@ import { - ancestorsOf, - catchError, classOf, deepClone, deepMerge, @@ -9,25 +7,22 @@ import { isClass, isFunction, isInheritedFrom, + isObject, isPromise, nameOf, - Store, - type Type + Store } from "@tsed/core"; -import {DI_PARAM_OPTIONS, INJECTABLE_PROP} from "../constants/constants.js"; + +import {DI_INVOKE_OPTIONS, DI_USE_PARAM_OPTIONS} from "../constants/constants.js"; import {Configuration} from "../decorators/configuration.js"; import {Injectable} from "../decorators/injectable.js"; import {Container} from "../domain/Container.js"; -import {InjectablePropertyType} from "../domain/InjectablePropertyType.js"; import {LocalsContainer} from "../domain/LocalsContainer.js"; import {Provider} from "../domain/Provider.js"; import {ProviderScope} from "../domain/ProviderScope.js"; import {InjectionError} from "../errors/InjectionError.js"; -import {UndefinedTokenError} from "../errors/UndefinedTokenError.js"; import type {DILogger} from "../interfaces/DILogger.js"; -import {InjectableProperties, InjectablePropertyOptions, InjectablePropertyValue} from "../interfaces/InjectableProperties.js"; -import type {InterceptorContext} from "../interfaces/InterceptorContext.js"; -import type {InterceptorMethods} from "../interfaces/InterceptorMethods.js"; +import type {ImportTokenProviderOpts} from "../interfaces/ImportTokenProviderOpts.js"; import type {InvokeOptions} from "../interfaces/InvokeOptions.js"; import type {ResolvedInvokeOptions} from "../interfaces/ResolvedInvokeOptions.js"; import type {TokenProvider} from "../interfaces/TokenProvider.js"; @@ -38,6 +33,8 @@ import {resolveControllers} from "../utils/resolveControllers.js"; import {DIConfiguration} from "./DIConfiguration.js"; let globalInjector: InjectorService | undefined; +let globalLocals: LocalsContainer | undefined; + /** * This service contain all services collected by `@Service` or services declared manually with `InjectorService.factory()` or `InjectorService.service()`. * @@ -83,34 +80,28 @@ export class InjectorService extends Container { return this.settings.scopes || {}; } - static resolveAutoInjectableArgs(token: Type, locals: LocalsContainer, args: unknown[]) { + /** + * Return the current injector service. + */ + static getInstance() { if (!globalInjector) { throw new Error("InjectorService instance is not created yet."); } + return globalInjector; + } - const deps: unknown[] = getConstructorDependencies(token); - const list: any[] = []; - const length = Math.max(deps.length, args.length); - - for (let i = 0; i < length; i++) { - if (args[i] !== undefined) { - list.push(args[i]); - } else { - const value = deps[i]; - - const instance = isArray(value) - ? globalInjector!.getMany(value[0], locals, {parent: token}) - : globalInjector!.invoke(value, locals, {parent: token}); - - list.push(instance); - } - } - - return list; + /** + * Get the locals container initiated by DITest or .bootstrap() method. + */ + static getLocals() { + return globalLocals || (globalLocals = new LocalsContainer()); } - static bind(instance: any, locals: LocalsContainer) { - globalInjector!.bindInjectableProperties(instance, locals, {}); + /** + * Reset the locals container. + */ + static unsetLocals() { + globalLocals = undefined; } /** @@ -118,7 +109,7 @@ export class InjectorService extends Container { * @param provider */ public scopeOf(provider: Provider) { - return provider.scope || this.scopes[provider.type] || ProviderScope.SINGLETON; + return provider.scope || this.scopes[String(provider.type)] || ProviderScope.SINGLETON; } /** @@ -146,9 +137,8 @@ export class InjectorService extends Container { * * @param token The class or symbol registered in InjectorService. * @param options - * @returns {boolean} */ - get(token: TokenProvider, options: any = {}): T | undefined { + get(token: TokenProvider, options: Record = {}): T | undefined { const instance = this.getInstance(token); if (instance !== undefined) { @@ -168,23 +158,23 @@ export class InjectorService extends Container { /** * Return all instance of the same provider type - * @param type - * @param locals - * @param options */ getMany(type: any, locals?: LocalsContainer, options?: Partial): Type[] { - return this.getProviders(type).map((provider) => this.invoke(provider.token, locals, options)!); + return this.getProviders(type).map((provider) => { + return this.invoke(provider.token, locals, options)!; + }); } /** * The has() method returns a boolean indicating whether an element with the specified key exists or not. - * @returns {boolean} - * @param token */ has(token: TokenProvider): boolean { return this.#cache.get(token) !== undefined; } + /** + * Declare an alias for a given token. + */ alias(token: TokenProvider, alias: TokenProvider) { this.#cache.set(alias, this.#cache.get(token)); @@ -212,7 +202,7 @@ export class InjectorService extends Container { * @param options * @returns {Type} The class constructed. */ - public invoke(token: TokenProvider, locals?: LocalsContainer, options: Partial = {}): Type { + public invoke(token: TokenProvider, locals?: LocalsContainer, options: Partial = {}): Type { let instance: any = locals ? locals.get(token) : undefined; if (instance !== undefined) { @@ -229,8 +219,8 @@ export class InjectorService extends Container { return instance; } - if (token === DI_PARAM_OPTIONS) { - return {} as Type; + if (token === DI_USE_PARAM_OPTIONS) { + return options.useOpts as Type; } const provider = this.ensureProvider(token); @@ -260,6 +250,7 @@ export class InjectorService extends Container { if (!provider.isAsync() || !isPromise(instance)) { set(instance); + // locals?.delete(DI_USE_PARAM_OPTIONS); return instance; } @@ -271,7 +262,7 @@ export class InjectorService extends Container { return instance; }); - + // locals?.delete(DI_USE_PARAM_OPTIONS); return instance; case ProviderScope.REQUEST: @@ -283,6 +274,8 @@ export class InjectorService extends Container { } } + // locals?.delete(DI_USE_PARAM_OPTIONS); + return instance; } @@ -300,6 +293,9 @@ export class InjectorService extends Container { } } + /** + * Build only providers which are synchronous. + */ loadSync() { for (const [, provider] of this) { if (!this.has(provider.token) && this.scopeOf(provider) === ProviderScope.SINGLETON) { @@ -393,159 +389,6 @@ export class InjectorService extends Container { this.resolvedConfiguration = true; } - /** - * - * @param instance - * @param locals - * @param options - */ - public bindInjectableProperties(instance: any, locals: LocalsContainer, options: Partial) { - const properties: InjectableProperties = ancestorsOf(classOf(instance)).reduce((properties: any, target: any) => { - const store = Store.from(target); - - return { - ...properties, - ...(store.get(INJECTABLE_PROP) || {}) - }; - }, {}); - - Object.values(properties).forEach((definition) => { - switch (definition.bindingType) { - case InjectablePropertyType.PROPERTY: - this.bindProperty(instance, definition, locals, options); - break; - case InjectablePropertyType.CONSTANT: - this.bindConstant(instance, definition); - break; - case InjectablePropertyType.VALUE: - this.bindValue(instance, definition); - break; - case InjectablePropertyType.INTERCEPTOR: - this.bindInterceptor(instance, definition); - break; - } - }); - } - - /** - * Create an injectable property. - * - * @param instance - * @param {string} propertyKey - * @param {any} useType - * @param resolver - * @param options - * @param locals - * @param invokeOptions - */ - public bindProperty( - instance: any, - {propertyKey, resolver, options = {}}: InjectablePropertyOptions, - locals: LocalsContainer, - invokeOptions: Partial - ) { - let get: () => any; - - get = resolver(this, locals, {...invokeOptions, options}); - - catchError(() => Reflect.deleteProperty(instance, propertyKey)); - catchError(() => - Reflect.defineProperty(instance, propertyKey, { - get, - enumerable: true, - configurable: true - }) - ); - } - - /** - * - * @param instance - * @param {string} propertyKey - * @param {any} useType - */ - public bindValue(instance: any, {propertyKey, expression, defaultValue}: InjectablePropertyValue) { - const descriptor = { - get: () => this.settings.get(expression) || defaultValue, - set: (value: any) => this.settings.set(expression, value), - enumerable: true, - configurable: true - }; - - catchError(() => Reflect.deleteProperty(instance, propertyKey)); - catchError(() => Reflect.defineProperty(instance, propertyKey, descriptor)); - } - - /** - * - * @param instance - * @param {string} propertyKey - * @param {any} useType - */ - public bindConstant(instance: any, {propertyKey, expression, defaultValue}: InjectablePropertyValue) { - let bean: any; - - const get = () => { - if (bean !== undefined) { - return bean; - } - - const value = this.settings.get(expression, defaultValue); - bean = Object.freeze(deepClone(value)); - - return bean; - }; - - const descriptor = { - get, - enumerable: true, - configurable: true - }; - - catchError(() => Reflect.deleteProperty(instance, propertyKey)); - catchError(() => Object.defineProperty(instance, propertyKey, descriptor)); - } - - /** - * - * @param instance - * @param propertyKey - * @param useType - * @param options - */ - public bindInterceptor(instance: any, {propertyKey, useType, options}: InjectablePropertyOptions) { - const target = classOf(instance); - const originalMethod = instance[propertyKey]; - - instance[propertyKey] = (...args: any[]) => { - const next = (err?: Error) => { - if (!err) { - return originalMethod.apply(instance, args); - } - - throw err; - }; - - const context: InterceptorContext = { - target, - propertyKey, - args, - options, - next - }; - - const interceptor = this.get(useType)!; - - return interceptor.intercept!( - { - ...context, - options - }, - next - ); - }; - } - async lazyInvoke(token: TokenProvider) { let instance = this.getInstance(token); @@ -564,13 +407,14 @@ export class InjectorService extends Container { * Emit an event to all service. See service [lifecycle hooks](/docs/services.md#lifecycle-hooks). * @param eventName The event name to emit at all services. * @param args List of the parameters to give to each service. - * @returns {Promise} A list of promises. + * @returns A list of promises. */ - public emit(eventName: string, ...args: any[]) { + public emit(eventName: string, ...args: any[]): Promise { return this.#hooks.asyncEmit(eventName, args); } /** + * Alter value attached to an event. * @param eventName * @param value * @param args @@ -580,6 +424,7 @@ export class InjectorService extends Container { } /** + * Alter value attached to an event asynchronously. * @param eventName * @param value * @param args @@ -588,17 +433,21 @@ export class InjectorService extends Container { return this.#hooks.asyncAlter(eventName, value, args); } + /** + * Destroy the injector and all services. + */ async destroy() { await this.emit("$onDestroy"); globalInjector = undefined; } + /** + * Ensure that a provider is added to the container. + * @protected + */ protected ensureProvider(token: TokenProvider, force: true): Provider; - protected ensureProvider(token: TokenProvider, force: false): Provider | undefined; - protected ensureProvider(token: TokenProvider): Provider | undefined; - protected ensureProvider(token: TokenProvider, force = false): Provider | undefined { if (!this.hasProvider(token) && (GlobalProviders.has(token) || force)) { this.addProvider(token); @@ -654,17 +503,13 @@ export class InjectorService extends Container { (token: TokenProvider | [TokenProvider], index: number): any => { currentDependency = {token, index, deps}; - if (token !== DI_PARAM_OPTIONS) { - const options = provider?.store?.get(`${DI_PARAM_OPTIONS}:${index}`); - - locals.set(DI_PARAM_OPTIONS, options || {}); - } - if (isArray(token)) { return this.getMany(token[0], locals, options); } - return isInheritedFrom(token, Provider, 1) ? provider : this.invoke(token, locals, {parent}); + const useOpts = provider?.store?.get(`${DI_USE_PARAM_OPTIONS}:${index}`) || options.useOpts; + + return isInheritedFrom(token, Provider, 1) ? provider : this.invoke(token, locals, {parent, useOpts}); }; // Invoke manually imported providers @@ -688,7 +533,10 @@ export class InjectorService extends Container { } if (instance && isClass(classOf(instance))) { - this.bindInjectableProperties(instance, locals, options); + Reflect.defineProperty(instance, DI_INVOKE_OPTIONS, { + get: () => ({rebuild: options.rebuild, locals}) + }); + // TODO add a way to notify DI consumer when a class instance is build } return instance; @@ -696,9 +544,9 @@ export class InjectorService extends Container { private resolveImportsProviders() { this.settings.imports = this.settings.imports - ?.filter((meta) => meta.token !== InjectorService) + ?.filter((meta) => isObject(meta) && "token" in meta && meta.token !== InjectorService) .map((meta) => { - if ("token" in meta) { + if (isObject(meta) && "token" in meta) { const {token, ...props} = meta; const provider = this.ensureProvider(token, true); @@ -714,12 +562,12 @@ export class InjectorService extends Container { } if ("useFactory" in props) { - provider.useFactory = props.useFactory; + provider.useFactory = props.useFactory as never; return; } if ("useAsyncFactory" in props) { - provider.useAsyncFactory = props.useAsyncFactory; + provider.useAsyncFactory = props.useAsyncFactory as never; return; } @@ -732,7 +580,7 @@ export class InjectorService extends Container { return meta; }) - .filter(Boolean); + .filter(Boolean) as unknown as (TokenProvider | ImportTokenProviderOpts)[]; } /** @@ -746,13 +594,13 @@ export class InjectorService extends Container { locals: Map, options: Partial ): ResolvedInvokeOptions | false { - let imports: TokenProvider[] | undefined = options.imports; + let imports: (TokenProvider | [TokenProvider])[] | undefined = options.imports; let deps: TokenProvider[] | undefined = options.deps; let scope = options.scope; let construct; if (!token || token === Object) { - throw new UndefinedTokenError(); + throw new Error("Given token is undefined. Could mean a circular dependency problem. Try to use @Inject(() => Token) to solve it."); } let provider: Provider; @@ -761,7 +609,7 @@ export class InjectorService extends Container { provider = new Provider(token); this.resolvers.forEach((resolver) => { - const result = resolver.get(token, locals.get(DI_PARAM_OPTIONS)); + const result = resolver.get(token, locals.get(DI_USE_PARAM_OPTIONS)); if (result !== undefined) { provider.useFactory = () => result; diff --git a/packages/di/src/common/utils/__mock__/module1/Module1.ts b/packages/di/src/common/utils/__mock__/module1/Module1.ts index 48ec976f4dc..a260f426fd3 100644 --- a/packages/di/src/common/utils/__mock__/module1/Module1.ts +++ b/packages/di/src/common/utils/__mock__/module1/Module1.ts @@ -1,6 +1,6 @@ -import {SubModule} from "./submodule/SubModule.js"; import {Module} from "../../../decorators/module.js"; import {M1Ctrl1} from "./controllers/M1Ctrl1.js"; +import {SubModule} from "./submodule/SubModule.js"; @Module({ mount: { diff --git a/packages/di/src/common/utils/createContainer.ts b/packages/di/src/common/utils/createContainer.ts index 1a6d809e8a5..7c26b1d06e5 100644 --- a/packages/di/src/common/utils/createContainer.ts +++ b/packages/di/src/common/utils/createContainer.ts @@ -1,4 +1,5 @@ import {Type} from "@tsed/core"; + import {Container} from "../domain/Container.js"; import {GlobalProviders} from "../registries/GlobalProviders.js"; diff --git a/packages/di/src/common/utils/resolveControllers.spec.ts b/packages/di/src/common/utils/resolveControllers.spec.ts index 1f58270f225..b17ad472a6b 100644 --- a/packages/di/src/common/utils/resolveControllers.spec.ts +++ b/packages/di/src/common/utils/resolveControllers.spec.ts @@ -1,9 +1,10 @@ import {nameOf} from "@tsed/core"; + import {Controller} from "../decorators/controller.js"; -import {Module1} from "./__mock__/module1/Module1.js"; -import {Module2} from "./__mock__/module2/Module2.js"; import {M1Ctrl1} from "./__mock__/module1/controllers/M1Ctrl1.js"; +import {Module1} from "./__mock__/module1/Module1.js"; import {M2Ctrl} from "./__mock__/module2/controllers/M2Ctrl.js"; +import {Module2} from "./__mock__/module2/Module2.js"; import {resolveControllers} from "./resolveControllers.js"; @Controller("/root") diff --git a/packages/di/src/common/utils/resolveControllers.ts b/packages/di/src/common/utils/resolveControllers.ts index 002e1a99ed0..31824b9b43f 100644 --- a/packages/di/src/common/utils/resolveControllers.ts +++ b/packages/di/src/common/utils/resolveControllers.ts @@ -1,9 +1,10 @@ import {isArray, isClass} from "@tsed/core"; -import {TokenProvider} from "../interfaces/TokenProvider.js"; -import {GlobalProviders} from "../registries/GlobalProviders.js"; -import {ProviderType} from "../domain/ProviderType.js"; + import {Provider} from "../domain/Provider.js"; +import {ProviderType} from "../domain/ProviderType.js"; +import {TokenProvider} from "../interfaces/TokenProvider.js"; import {TokenRoute} from "../interfaces/TokenRoute.js"; +import {GlobalProviders} from "../registries/GlobalProviders.js"; const lookupProperties = ["mount", "imports"]; diff --git a/packages/di/src/node/decorators/injectContext.spec.ts b/packages/di/src/node/decorators/injectContext.spec.ts new file mode 100644 index 00000000000..c8f7e2a87f6 --- /dev/null +++ b/packages/di/src/node/decorators/injectContext.spec.ts @@ -0,0 +1,60 @@ +import {afterEach, beforeEach, expect} from "vitest"; + +import {Injectable} from "../../common/index.js"; +import {DIContext} from "../domain/DIContext.js"; +import {DITest} from "../services/DITest.js"; +import {runInContext} from "../utils/asyncHookContext.js"; +import {InjectContext} from "./injectContext.js"; + +describe("InjectContext", () => { + beforeEach(() => DITest.create()); + afterEach(() => DITest.reset()); + + it("should inject a context", async () => { + @Injectable() + class MyService { + @InjectContext() + ctx: DIContext; + } + + const $ctx = new DIContext({ + id: "test", + logger: DITest.injector.logger, + injector: DITest.injector, + maxStackSize: 0 + }); + + const myService = await DITest.invoke(MyService); + + await runInContext($ctx, () => { + expect(myService.ctx).toBeInstanceOf(DIContext); + expect(myService.ctx).toEqual($ctx); + }); + + expect(myService.ctx).toBeInstanceOf(DIContext); + expect(myService.ctx).not.toEqual($ctx); + }); + it("should inject a context and get value", async () => { + @Injectable() + class MyService { + @InjectContext((o) => o.get("test")) + test: string; + } + + const $ctx = new DIContext({ + id: "test", + logger: DITest.injector.logger, + injector: DITest.injector, + maxStackSize: 0 + }); + $ctx.set("test", "value"); + + const myService = await DITest.invoke(MyService); + + await runInContext($ctx, () => { + expect(myService.test).toEqual("value"); + }); + + expect(myService.test).toEqual(undefined); + }); +}); diff --git a/packages/di/src/node/decorators/injectContext.ts b/packages/di/src/node/decorators/injectContext.ts index 9bb7c6849d1..d483ef0b2c8 100644 --- a/packages/di/src/node/decorators/injectContext.ts +++ b/packages/di/src/node/decorators/injectContext.ts @@ -1,4 +1,7 @@ -import {injectProperty} from "../../common/index.js"; +import {catchError} from "@tsed/core"; + +import {InjectorService} from "../../common/index.js"; +import {DIContext} from "../domain/DIContext.js"; import {getContext} from "../utils/asyncHookContext.js"; /** @@ -15,11 +18,20 @@ import {getContext} from "../utils/asyncHookContext.js"; * @returns {Function} * @decorator */ -export function InjectContext(): PropertyDecorator { +export function InjectContext(transform: ($ctx: DIContext) => unknown = (o) => o): PropertyDecorator { return (target: any, propertyKey: string): any | void => { - injectProperty(target, propertyKey, { - resolver() { - return () => getContext(); + catchError(() => Reflect.deleteProperty(target, propertyKey)); + Reflect.defineProperty(target, propertyKey, { + get() { + return transform( + getContext() || + new DIContext({ + id: "", + logger: InjectorService.getInstance().logger, + injector: InjectorService.getInstance(), + maxStackSize: 0 + }) + ); } }); }; diff --git a/packages/di/src/node/domain/ContextLogger.spec.ts b/packages/di/src/node/domain/ContextLogger.spec.ts index 0eef4c29dd5..7e33d8f2baf 100644 --- a/packages/di/src/node/domain/ContextLogger.spec.ts +++ b/packages/di/src/node/domain/ContextLogger.spec.ts @@ -54,49 +54,49 @@ describe("ContextLogger", () => { contextLogger.flush(); // THEN - expect(logger.info).toBeCalledWith({ + expect(logger.info).toHaveBeenCalledWith({ minimal: "minimal", duration: 1, reqId: "id", test: "test", time: expect.any(Date) }); - expect(logger.info).toBeCalledWith({ + expect(logger.info).toHaveBeenCalledWith({ minimal: "minimal", duration: 1, reqId: "id", message: "message", time: expect.any(Date) }); - expect(logger.debug).toBeCalledWith({ + expect(logger.debug).toHaveBeenCalledWith({ complete: "complete", duration: 1, reqId: "id", test: "test", time: expect.any(Date) }); - expect(logger.warn).toBeCalledWith({ + expect(logger.warn).toHaveBeenCalledWith({ complete: "complete", duration: 1, reqId: "id", test: "test", time: expect.any(Date) }); - expect(logger.error).toBeCalledWith({ + expect(logger.error).toHaveBeenCalledWith({ complete: "complete", duration: 1, reqId: "id", test: "test", time: expect.any(Date) }); - expect(logger.fatal).toBeCalledWith({ + expect(logger.fatal).toHaveBeenCalledWith({ complete: "complete", duration: 1, reqId: "id", test: "test", time: expect.any(Date) }); - expect(logger.trace).toBeCalledWith({ + expect(logger.trace).toHaveBeenCalledWith({ complete: "complete", duration: 1, reqId: "id", @@ -139,37 +139,37 @@ describe("ContextLogger", () => { contextLogger.flush(); // THEN - expect(logger.info).toBeCalledWith({ + expect(logger.info).toHaveBeenCalledWith({ duration: 1, reqId: "id", test: "test", time: expect.any(Date) }); - expect(logger.info).toBeCalledWith({ + expect(logger.info).toHaveBeenCalledWith({ duration: 1, reqId: "id", message: "message", time: expect.any(Date) }); - expect(logger.debug).toBeCalledWith({ + expect(logger.debug).toHaveBeenCalledWith({ duration: 1, reqId: "id", test: "test", time: expect.any(Date) }); - expect(logger.warn).toBeCalledWith({ + expect(logger.warn).toHaveBeenCalledWith({ duration: 1, reqId: "id", test: "test", time: expect.any(Date) }); - expect(logger.error).toBeCalledWith({ + expect(logger.error).toHaveBeenCalledWith({ duration: 1, reqId: "id", test: "test", time: expect.any(Date) }); - expect(logger.trace).toBeCalledWith({ + expect(logger.trace).toHaveBeenCalledWith({ duration: 1, reqId: "id", test: "test", @@ -208,7 +208,7 @@ describe("ContextLogger", () => { contextLogger.flush(); // THEN - return expect(logger.info).not.toBeCalled(); + return expect(logger.info).not.toHaveBeenCalled(); }); it("should create a new Context and flush log when maxStackSize is reached", () => { const logger = { @@ -242,7 +242,7 @@ describe("ContextLogger", () => { contextLogger.info({test: "test"}); // THEN - return expect(logger.info).toBeCalledTimes(3); + return expect(logger.info).toHaveBeenCalledTimes(3); }); it("should do nothing when the log level is off", () => { const logger = { @@ -278,6 +278,6 @@ describe("ContextLogger", () => { contextLogger.flush(); // THEN - expect(logger.info).not.toBeCalled(); + expect(logger.info).not.toHaveBeenCalled(); }); }); diff --git a/packages/di/src/node/domain/ContextLogger.ts b/packages/di/src/node/domain/ContextLogger.ts index b60925dddad..a1d700b1f6e 100644 --- a/packages/di/src/node/domain/ContextLogger.ts +++ b/packages/di/src/node/domain/ContextLogger.ts @@ -1,7 +1,8 @@ -import {DILogger} from "../../common/index.js"; import {Hooks} from "@tsed/core"; import {levels, LogLevel} from "@tsed/logger"; +import {DILogger} from "../../common/index.js"; + export interface ContextLoggerOptions extends Record { id: string; logger?: DILogger; @@ -41,7 +42,7 @@ export class ContextLogger { return (this.#stack = this.#stack || []); } - alterLog(cb: (data: any, level: "debug" | "info" | "warn" | "error" | "off" | "all", withRequest: boolean) => any) { + alterLog(cb: (data: any, level: "debug" | "info" | "warn" | "error" | "all", withRequest: boolean) => any) { return this.hooks.on("log", cb); } @@ -54,8 +55,8 @@ export class ContextLogger { return this; } - debug(obj: any, withRequest: boolean = true) { - this.run(levels().DEBUG, obj, withRequest); + debug(obj: any) { + this.run(levels().DEBUG, obj); return this; } diff --git a/packages/di/src/node/domain/DIContext.ts b/packages/di/src/node/domain/DIContext.ts index e527ab83919..0b2ecc8326a 100644 --- a/packages/di/src/node/domain/DIContext.ts +++ b/packages/di/src/node/domain/DIContext.ts @@ -83,8 +83,8 @@ export class DIContext { return this.injector?.emit(eventName, ...args); } - runInContext(next: Function) { - return runInContext(this, next); + runInContext(next: (...args: unknown[]) => Result): Promise { + return runInContext(this, next); } cache(key: string, cb: () => Value): Value { diff --git a/packages/di/src/node/integration/async-factory-invoke.spec.ts b/packages/di/src/node/integration/async-factory-invoke.spec.ts index ea84efe46c2..dcd3eaa48ea 100644 --- a/packages/di/src/node/integration/async-factory-invoke.spec.ts +++ b/packages/di/src/node/integration/async-factory-invoke.spec.ts @@ -1,4 +1,4 @@ -import {Inject, Injectable, registerProvider, DITest} from "../../index.js"; +import {DITest, Inject, Injectable, registerProvider} from "../../index.js"; const PrimaryPostgresDb = Symbol.for("PrimaryPostgresDb"); type PrimaryPostgresDb = {id: string}; diff --git a/packages/di/src/node/integration/invoke-oninit.spec.ts b/packages/di/src/node/integration/invoke-oninit.spec.ts index d9686639aa6..49784b6ba24 100644 --- a/packages/di/src/node/integration/invoke-oninit.spec.ts +++ b/packages/di/src/node/integration/invoke-oninit.spec.ts @@ -1,4 +1,4 @@ -import {Inject, Injectable, registerProvider, DITest} from "../../index.js"; +import {DITest, Inject, Injectable, registerProvider} from "../../index.js"; @Injectable() export class MyService { diff --git a/packages/di/src/node/services/DILogger.spec.ts b/packages/di/src/node/services/DILogger.spec.ts index 7504fdcecff..06f522ccbf1 100644 --- a/packages/di/src/node/services/DILogger.spec.ts +++ b/packages/di/src/node/services/DILogger.spec.ts @@ -1,4 +1,5 @@ import {Logger} from "@tsed/logger"; + import {Container, Inject, Injectable, InjectorService} from "../../common/index.js"; describe("DILogger", () => { @@ -15,7 +16,7 @@ describe("DILogger", () => { container.add(MyService); await injector.load(container); - const logger = injector.get(MyService).logger; + const logger = injector.get(MyService)!.logger; expect(logger).toEqual(injector.logger); }); diff --git a/packages/di/src/node/services/DILogger.ts b/packages/di/src/node/services/DILogger.ts index 6eb7e2f6a04..8ca72f3c3fa 100644 --- a/packages/di/src/node/services/DILogger.ts +++ b/packages/di/src/node/services/DILogger.ts @@ -1,4 +1,5 @@ import {Logger} from "@tsed/logger"; + import {InjectorService, registerProvider} from "../../common/index.js"; registerProvider({ diff --git a/packages/di/src/node/services/DITest.spec.ts b/packages/di/src/node/services/DITest.spec.ts index 6eb42684805..b3d75ac9ea3 100644 --- a/packages/di/src/node/services/DITest.spec.ts +++ b/packages/di/src/node/services/DITest.spec.ts @@ -1,4 +1,5 @@ import {Logger} from "@tsed/logger"; + import {Inject, Injectable, InjectorService, registerProvider, Service} from "../../index.js"; import {DITest} from "../services/DITest.js"; diff --git a/packages/di/src/node/services/DITest.ts b/packages/di/src/node/services/DITest.ts index 45fdc4a9d16..3a577d8ba01 100644 --- a/packages/di/src/node/services/DITest.ts +++ b/packages/di/src/node/services/DITest.ts @@ -1,10 +1,11 @@ -import {Env, getValue, isClass, isPromise, setValue} from "@tsed/core"; +import {Env, getValue, isClass, isObject, isPromise, setValue} from "@tsed/core"; import {$log} from "@tsed/logger"; + import { createContainer, + DI_INJECTABLE_PROPS, InjectorService, - LocalsContainer, - OnInit, + type OnInit, TokenProvider, type UseImportTokenProviderOpts } from "../../common/index.js"; @@ -82,6 +83,7 @@ export class DITest { static async reset() { if (DITest.hasInjector()) { await DITest.injector.destroy(); + InjectorService.unsetLocals(); DITest._injector = null; } } @@ -91,17 +93,18 @@ export class DITest { * @param target * @param providers */ - static async invoke(target: TokenProvider, providers: UseImportTokenProviderOpts[] = []): Promise { - const locals = new LocalsContainer(); + static async invoke(target: TokenProvider, providers: UseImportTokenProviderOpts[] = []): Promise { + const locals = InjectorService.getLocals(); + providers.forEach((p) => { locals.set(p.token, p.use); }); locals.set(InjectorService, DITest.injector); - const instance: OnInit = DITest.injector.invoke(target, locals, {rebuild: true}); + const instance: T & OnInit = DITest.injector.invoke(target, locals, {rebuild: true}); - if (instance && instance.$onInit) { + if (instance && isObject(instance) && "$onInit" in instance) { const result = instance.$onInit(); if (result instanceof Promise) { @@ -114,9 +117,15 @@ export class DITest { } if (isClass(instance)) { - await Promise.all(Object.values(instance).filter(isPromise)); + const keys = (instance as any)[DI_INJECTABLE_PROPS]; + + if (keys) { + await Promise.all([...keys.keys()].map((key: string) => (instance as any)[key])); + } } + InjectorService.unsetLocals(); + return instance as any; } diff --git a/packages/di/src/node/utils/__mock__/module1/Module1.ts b/packages/di/src/node/utils/__mock__/module1/Module1.ts index 48ec976f4dc..a260f426fd3 100644 --- a/packages/di/src/node/utils/__mock__/module1/Module1.ts +++ b/packages/di/src/node/utils/__mock__/module1/Module1.ts @@ -1,6 +1,6 @@ -import {SubModule} from "./submodule/SubModule.js"; import {Module} from "../../../decorators/module.js"; import {M1Ctrl1} from "./controllers/M1Ctrl1.js"; +import {SubModule} from "./submodule/SubModule.js"; @Module({ mount: { diff --git a/packages/di/src/node/utils/asyncHookContext.spec.ts b/packages/di/src/node/utils/asyncHookContext.spec.ts index 660d12680b7..cc6f7f44fbb 100644 --- a/packages/di/src/node/utils/asyncHookContext.spec.ts +++ b/packages/di/src/node/utils/asyncHookContext.spec.ts @@ -1,5 +1,5 @@ import {DITest} from "../services/DITest.js"; -import {runInContext, setContext, getContext} from "./asyncHookContext.js"; +import {getContext, runInContext, setContext, useContext} from "./asyncHookContext.js"; describe("asyncHookContext", () => { beforeEach(() => DITest.create()); @@ -9,7 +9,7 @@ describe("asyncHookContext", () => { const res = {type: "res"}; function next(res: any, req: any) { - return Promise.resolve(getContext()); + return Promise.resolve(useContext()); } function nextContext(res: any, req: any, next: any) { @@ -45,7 +45,7 @@ describe("asyncHookContext", () => { const res = {type: "res"}; function next(res: any, req: any) { - return Promise.resolve(getContext()); + return Promise.resolve(useContext()); } function nextContext(res: any, req: any, next: any) { @@ -74,6 +74,36 @@ describe("asyncHookContext", () => { } }); }); + it("should initiate the async hook context - promise (initialValue)", async () => { + const req = {type: "req"}; + const res = {type: "res"}; + + function next(res: any, req: any) { + return Promise.resolve(useContext({id: "id2"} as never)); + } + + function nextContext(res: any, req: any, next: any) { + const $ctx: any = { + id: "id", + req, + res + }; + + setContext($ctx); + + return next(); + } + + function app(req: any, res: any) { + return runInContext(undefined, () => nextContext(req, res, () => next(req, res)), DITest.injector); + } + + const result = await app(req, res); + + expect(result).toEqual({ + id: "id2" + }); + }); it("should initiate the async hook context - promise + setTimeout", async () => { const req = {type: "req"}; const res = {type: "res"}; diff --git a/packages/di/src/node/utils/asyncHookContext.ts b/packages/di/src/node/utils/asyncHookContext.ts index 5a0a25483c4..104087a335d 100644 --- a/packages/di/src/node/utils/asyncHookContext.ts +++ b/packages/di/src/node/utils/asyncHookContext.ts @@ -1,4 +1,5 @@ import {AsyncLocalStorage, AsyncResource} from "async_hooks"; + import {InjectorService} from "../../common/index.js"; import type {DIContext} from "../domain/DIContext.js"; @@ -12,11 +13,17 @@ export function useContextRef() { return getAsyncStore().getStore(); } -export function getContext(): Context | undefined { - return useContextRef()?.current as any; +export function useContext(initialValue?: DIContext): Context | undefined { + return initialValue || (useContextRef()?.current as any); } -export async function runInContext(ctx: DIContext | undefined, cb: any, injector?: InjectorService) { +export const getContext = useContext; + +export async function runInContext( + ctx: DIContext | undefined, + cb: (...args: unknown[]) => Result, + injector?: InjectorService +): Promise { const ref = useContextRef(); if (ref) { diff --git a/packages/di/src/node/utils/attachLogger.spec.ts b/packages/di/src/node/utils/attachLogger.spec.ts index 0e608ae11ce..14782a42c55 100644 --- a/packages/di/src/node/utils/attachLogger.spec.ts +++ b/packages/di/src/node/utils/attachLogger.spec.ts @@ -1,4 +1,5 @@ import {Logger} from "@tsed/logger"; + import {InjectorService} from "../../common/index.js"; import {attachLogger} from "./attachLogger.js"; diff --git a/packages/di/src/node/utils/setLoggerConfiguration.spec.ts b/packages/di/src/node/utils/setLoggerConfiguration.spec.ts index 54ec4f94ce7..685ba2bd584 100644 --- a/packages/di/src/node/utils/setLoggerConfiguration.spec.ts +++ b/packages/di/src/node/utils/setLoggerConfiguration.spec.ts @@ -1,4 +1,5 @@ import {Logger} from "@tsed/logger"; + import {InjectorService} from "../../common/index.js"; import {setLoggerConfiguration} from "./setLoggerConfiguration.js"; @@ -22,7 +23,7 @@ describe("setLoggerConfiguration", () => { setLoggerConfiguration(injector); - expect(injector.logger.appenders.set).toBeCalledWith("stdout", { + expect(injector.logger.appenders.set).toHaveBeenCalledWith("stdout", { type: "stdout", levels: ["info", "debug"], layout: { @@ -31,7 +32,7 @@ describe("setLoggerConfiguration", () => { } }); - expect(injector.logger.appenders.set).toBeCalledWith("stderr", { + expect(injector.logger.appenders.set).toHaveBeenCalledWith("stderr", { levels: ["trace", "fatal", "error", "warn"], type: "stderr", layout: { diff --git a/packages/di/tsconfig.cjs.json b/packages/di/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/di/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/di/tsconfig.esm.json b/packages/di/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/di/tsconfig.esm.json +++ b/packages/di/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/di/tsconfig.json b/packages/di/tsconfig.json index ea088b4029d..5c1c1046579 100644 --- a/packages/di/tsconfig.json +++ b/packages/di/tsconfig.json @@ -12,9 +12,6 @@ { "path": "../specs/schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/di/tsconfig.spec.json b/packages/di/tsconfig.spec.json index 079424388b4..4db52eebb9a 100644 --- a/packages/di/tsconfig.spec.json +++ b/packages/di/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../specs/openspec/src"], - "@tsed/schema": ["../specs/schema/src"], - "@tsed/exceptions": ["../specs/exceptions/src"], - "@tsed/json-mapper": ["../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../platform/platform-router/src"], - "@tsed/platform-views": ["../platform/platform-views/src"], - "@tsed/components-scan": ["../third-parties/components-scan/src"], - "@tsed/common": ["../platform/common/src"], - "@tsed/ajv": ["../specs/ajv/src"], - "@tsed/platform-cache": ["../platform/platform-cache/src"], - "@tsed/swagger": ["../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../platform/platform-express/src"], - "@tsed/platform-koa": ["../platform/platform-koa/src"] + "@tsed/openspec": ["../specs/openspec/src/index.ts"], + "@tsed/schema": ["../specs/schema/src/index.ts"], + "@tsed/exceptions": ["../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../platform/common/src/index.ts"], + "@tsed/ajv": ["../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/di/webpack.config.js b/packages/di/webpack.config.cjs similarity index 100% rename from packages/di/webpack.config.js rename to packages/di/webpack.config.cjs diff --git a/packages/engines/.nycrc b/packages/engines/.nycrc deleted file mode 100644 index 05605266113..00000000000 --- a/packages/engines/.nycrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "include": [ - "src/**/*.ts" - ], - "exclude": [ - "**/*.d.ts", - "node_modules", - "**/interfaces/**", - "**/index.ts" - ], - "extension": [ - ".ts" - ], - "require": [], - "reporter": [ - "text-summary", - "html", - "lcov", - "json" - ], - "check-coverage": true, - "statements": 96.38, - "branches": 72.9, - "functions": 96.26, - "lines": 96.32 -} diff --git a/packages/engines/package.json b/packages/engines/package.json index 9e6a15a23f2..fa7dc561538 100644 --- a/packages/engines/package.json +++ b/packages/engines/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/engines", "description": "Template engines library. Provide an API to adding custom engines from decorators.", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -23,13 +22,13 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { - "@babel/core": "7.24.3", - "@babel/plugin-transform-runtime": "7.24.3", - "@babel/preset-env": "7.24.3", - "@babel/preset-react": "7.24.1", + "@babel/core": "7.25.7", + "@babel/plugin-transform-runtime": "7.25.7", + "@babel/preset-env": "7.25.7", + "@babel/preset-react": "7.25.7", "@tsed/barrels": "workspace:*", "@tsed/typescript": "workspace:*", "@types/semver": "^7.5.8", @@ -43,8 +42,8 @@ "dustjs-linkedin": "^3.0.1", "eco": "^1.1.0-rc-3", "ect": "^0.5.9", - "ejs": "^3.1.9", - "eslint": "^8.57.0", + "ejs": "^3.1.10", + "eslint": "9.12.0", "haml": "^0.4.3", "haml-coffee": "^1.14.1", "hamlet": "^0.3.3", @@ -61,14 +60,13 @@ "mote": "^0.2.0", "mustache": "^4.2.0", "nunjucks": "^3.2.4", - "nyc": "15.1.0", "plates": "^0.4.11", - "pug": "^3.0.2", - "ractive": "^1.4.3", + "pug": "^3.0.3", + "ractive": "^1.4.4", "razor-tmpl": "^1.3.1", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "semver": "^7.6.0", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "semver": "^7.6.3", "slm": "^2.0.0", "squirrelly": "^5.1.0", "swig-templates": "^2.0.3", @@ -76,13 +74,13 @@ "templayed": ">=0.2.3", "tinyliquid": "^0.2.34", "ts-node": "10.9.2", - "twig": "^1.15.2", - "twing": "^5.0.2", - "typescript": "4.9.5", - "underscore": "^1.11.0", + "twig": "^1.17.1", + "twing": "^5.2.2", + "typescript": "5.4.5", + "underscore": "^1.13.7", "vash": "^0.13.0", - "velocityjs": "^2.0.1", - "vitest": "2.0.4", + "velocityjs": "^2.0.6", + "vitest": "2.1.2", "walrus": "^0.10.1", "whiskers": "^0.4.0" }, diff --git a/packages/engines/src/components/DustEngine.ts b/packages/engines/src/components/DustEngine.ts index fa53416caa5..8a878cfcc58 100644 --- a/packages/engines/src/components/DustEngine.ts +++ b/packages/engines/src/components/DustEngine.ts @@ -1,8 +1,9 @@ -import {read} from "../utils/cache.js"; import {extname} from "path"; +import {promisify} from "util"; + import {ViewEngine} from "../decorators/viewEngine.js"; +import {read} from "../utils/cache.js"; import {Engine} from "./Engine.js"; -import {promisify} from "util"; @ViewEngine("dust", { requires: ["dustjs-helpers", "dustjs-linkedin"] diff --git a/packages/engines/src/components/EctEngine.ts b/packages/engines/src/components/EctEngine.ts index 025a5b74a45..c7284cd811b 100644 --- a/packages/engines/src/components/EctEngine.ts +++ b/packages/engines/src/components/EctEngine.ts @@ -1,4 +1,5 @@ import {promisify} from "util"; + import {ViewEngine} from "../decorators/viewEngine.js"; import {Engine} from "./Engine.js"; diff --git a/packages/engines/src/components/HoganEngine.spec.ts b/packages/engines/src/components/HoganEngine.spec.ts index 5dc4537b15a..98349d1be0a 100644 --- a/packages/engines/src/components/HoganEngine.spec.ts +++ b/packages/engines/src/components/HoganEngine.spec.ts @@ -1,4 +1,5 @@ import {join} from "path"; + import {getEngineFixture} from "../../test/getEngineFixture.js"; import {HoganEngine} from "./HoganEngine.js"; diff --git a/packages/engines/src/components/JustEngine.ts b/packages/engines/src/components/JustEngine.ts index 6fd9193d882..4fd060f0838 100644 --- a/packages/engines/src/components/JustEngine.ts +++ b/packages/engines/src/components/JustEngine.ts @@ -1,4 +1,5 @@ import {promisify} from "util"; + import {ViewEngine} from "../decorators/viewEngine.js"; import {Engine} from "./Engine.js"; diff --git a/packages/engines/src/components/NunjucksEngine.ts b/packages/engines/src/components/NunjucksEngine.ts index 834ca7c0b0b..18f87ab9b89 100644 --- a/packages/engines/src/components/NunjucksEngine.ts +++ b/packages/engines/src/components/NunjucksEngine.ts @@ -1,4 +1,5 @@ import {promisify} from "util"; + import {ViewEngine} from "../decorators/viewEngine.js"; import {Engine} from "./Engine.js"; @@ -14,7 +15,6 @@ export class NunjucksEngine extends Engine { if (options.settings && options.settings.views) { env = engine.configure(options.settings.views); } else if (options.nunjucks && options.nunjucks.configure) { - // eslint-disable-next-line prefer-spread env = engine.configure.apply(engine, options.nunjucks.configure); } diff --git a/packages/engines/src/components/ReactEngine.ts b/packages/engines/src/components/ReactEngine.ts index 955dee912b8..32a554b928c 100644 --- a/packages/engines/src/components/ReactEngine.ts +++ b/packages/engines/src/components/ReactEngine.ts @@ -1,8 +1,9 @@ -import {resolve} from "path"; import {readFileSync} from "fs"; +import {resolve} from "path"; + import {ViewEngine} from "../decorators/viewEngine.js"; -import {Engine, EngineOptions, ViewEngineOptions} from "./Engine.js"; import {getCachedEngine, getFromCache, importEngine, setToCache} from "../utils/cache.js"; +import {Engine, EngineOptions, ViewEngineOptions} from "./Engine.js"; @ViewEngine("react", { requires: ["react"] diff --git a/packages/engines/src/components/SquirrellyEngine.spec.ts b/packages/engines/src/components/SquirrellyEngine.spec.ts index e4a8714f262..7cc48da5f2a 100644 --- a/packages/engines/src/components/SquirrellyEngine.spec.ts +++ b/packages/engines/src/components/SquirrellyEngine.spec.ts @@ -1,4 +1,5 @@ import {join} from "path"; + import {getEngineFixture} from "../../test/getEngineFixture.js"; import {requires} from "../utils/cache.js"; import {SquirrellyEngine} from "./SquirrellyEngine.js"; diff --git a/packages/engines/src/components/TwingEngine.ts b/packages/engines/src/components/TwingEngine.ts index 71baa43c367..be96cf5d7fa 100644 --- a/packages/engines/src/components/TwingEngine.ts +++ b/packages/engines/src/components/TwingEngine.ts @@ -1,6 +1,7 @@ +import {existsSync} from "fs"; + import {ViewEngine} from "../decorators/viewEngine.js"; import {Engine} from "./Engine.js"; -import {existsSync} from "fs"; @ViewEngine("twing") export class TwingEngine extends Engine { diff --git a/packages/engines/src/components/VashEngine.ts b/packages/engines/src/components/VashEngine.ts index eb017e93051..1b65cac677c 100644 --- a/packages/engines/src/components/VashEngine.ts +++ b/packages/engines/src/components/VashEngine.ts @@ -1,4 +1,5 @@ import {promisify} from "util"; + import {ViewEngine} from "../decorators/viewEngine.js"; import {Engine} from "./Engine.js"; diff --git a/packages/engines/src/utils/cache.ts b/packages/engines/src/utils/cache.ts index 5e85fea61e0..8689fa8e819 100644 --- a/packages/engines/src/utils/cache.ts +++ b/packages/engines/src/utils/cache.ts @@ -1,6 +1,7 @@ -import fs from "fs"; -import {dirname, extname, isAbsolute, join} from "node:path"; import {readFile} from "node:fs/promises"; +import {dirname, extname, isAbsolute, join} from "node:path"; + +import fs from "fs"; const readCache: Map = new Map(); const cacheStore: Map = new Map(); diff --git a/packages/engines/src/utils/getEngines.spec.ts b/packages/engines/src/utils/getEngines.spec.ts index 327d7df0c11..baaa756b942 100644 --- a/packages/engines/src/utils/getEngines.spec.ts +++ b/packages/engines/src/utils/getEngines.spec.ts @@ -1,8 +1,10 @@ +import "../index.js"; + import {join} from "path"; + import {getEngine, getEngines} from "./getEngines.js"; -import "../index.js"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build describe("getEngines", () => { describe("getEngine()", () => { diff --git a/packages/engines/test/getEngineFixture.ts b/packages/engines/test/getEngineFixture.ts index c81fe76528d..381d99443f4 100644 --- a/packages/engines/test/getEngineFixture.ts +++ b/packages/engines/test/getEngineFixture.ts @@ -1,8 +1,9 @@ import fs from "fs"; + import {Engine} from "../src/components/Engine.js"; import {engines} from "../src/index.js"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build interface EngineFixtureOptions { token: string | typeof Engine; diff --git a/packages/engines/test/integration.spec.ts b/packages/engines/test/integration.spec.ts index f23b2f552b7..33cf52f4531 100644 --- a/packages/engines/test/integration.spec.ts +++ b/packages/engines/test/integration.spec.ts @@ -1,9 +1,10 @@ import "../src/index.js"; -import * as sharedTest from "./shared/index.js"; + import * as sharedFiltersTest from "./shared/filters.js"; +import * as sharedHelpersTest from "./shared/helpers.js"; import * as sharedIncludesTest from "./shared/includes.js"; +import * as sharedTest from "./shared/index.js"; import * as sharedPartialsTest from "./shared/partials.js"; -import * as sharedHelpersTest from "./shared/helpers.js"; describe("integration", () => { sharedTest.test("pug"); diff --git a/packages/engines/test/shared/dust.ts b/packages/engines/test/shared/dust.ts index 9a89f0cfe7a..3b750056b74 100644 --- a/packages/engines/test/shared/dust.ts +++ b/packages/engines/test/shared/dust.ts @@ -1,8 +1,9 @@ -import {engines, requires} from "../../src/index.js"; import fs from "fs"; import {join} from "path"; -const rootDir = join(__dirname, ".."); +import {engines, requires} from "../../src/index.js"; + +const rootDir = join(import.meta.dirname, ".."); export function test(name: string) { const user = {name: "Tobi"}; diff --git a/packages/engines/test/shared/filters.ts b/packages/engines/test/shared/filters.ts index 678049ac587..09dbb21c01c 100644 --- a/packages/engines/test/shared/filters.ts +++ b/packages/engines/test/shared/filters.ts @@ -1,8 +1,9 @@ -import {engines} from "../../src/index.js"; import fs from "fs"; import {join} from "path"; -const rootDir = join(__dirname, ".."); +import {engines} from "../../src/index.js"; + +const rootDir = join(import.meta.dirname, ".."); export function test(name: string) { const engine = engines.get(name)!; diff --git a/packages/engines/test/shared/helpers.ts b/packages/engines/test/shared/helpers.ts index b91e02aa4a8..cf1adacef25 100644 --- a/packages/engines/test/shared/helpers.ts +++ b/packages/engines/test/shared/helpers.ts @@ -1,11 +1,12 @@ -import {engines} from "../../src/index.js"; -import handlebars from "handlebars"; import fs from "fs"; +import handlebars from "handlebars"; import {join} from "path"; +import {engines} from "../../src/index.js"; + const Sqrl = require("squirrelly"); -const rootDir = join(__dirname, ".."); +const rootDir = join(import.meta.dirname, ".."); const readFile = fs.readFile; const readFileSync = fs.readFileSync; diff --git a/packages/engines/test/shared/includes.ts b/packages/engines/test/shared/includes.ts index 1510976c1b7..44c38f9669e 100644 --- a/packages/engines/test/shared/includes.ts +++ b/packages/engines/test/shared/includes.ts @@ -1,8 +1,9 @@ import fs from "fs"; import {join} from "path"; + import {engines} from "../../src/index.js"; -const rootDir = join(__dirname, ".."); +const rootDir = join(import.meta.dirname, ".."); export function test(name: string) { const engine = engines.get(name)!; diff --git a/packages/engines/test/shared/index.ts b/packages/engines/test/shared/index.ts index 722cb7857f0..2a8999171ce 100644 --- a/packages/engines/test/shared/index.ts +++ b/packages/engines/test/shared/index.ts @@ -1,8 +1,9 @@ import fs from "fs"; import {join} from "path"; + import {engines, requires} from "../../src/index.js"; -const rootDir = join(__dirname, ".."); +const rootDir = join(import.meta.dirname, ".."); const readFile = fs.readFile; const readFileSync = fs.readFileSync; diff --git a/packages/engines/test/shared/partials.ts b/packages/engines/test/shared/partials.ts index 83709e0101f..4faf7708a1b 100644 --- a/packages/engines/test/shared/partials.ts +++ b/packages/engines/test/shared/partials.ts @@ -1,8 +1,9 @@ -import {engines} from "../../src/index.js"; -import {join} from "path"; import fs from "fs"; +import {join} from "path"; + +import {engines} from "../../src/index.js"; -const rootDir = join(__dirname, ".."); +const rootDir = join(import.meta.dirname, ".."); const readFile = fs.readFile; const readFileSync = fs.readFileSync; @@ -37,7 +38,7 @@ export function test(name: string) { }); it("should support absolute path partial", async () => { const path = `${rootDir}/fixtures/${name}/partials.${name}`; - const locals = {user: user, partials: {partial: join(__dirname, "/../../test/fixtures/", name, "/user")}}; + const locals = {user: user, partials: {partial: join(import.meta.dirname, "/../../test/fixtures/", name, "/user")}}; const html = await engine.renderFile(path, locals); expect(html).toEqual("

Tobi

"); }); diff --git a/packages/engines/test/shared/react.ts b/packages/engines/test/shared/react.ts index eb943e00e0e..4a30583e4c6 100644 --- a/packages/engines/test/shared/react.ts +++ b/packages/engines/test/shared/react.ts @@ -1,8 +1,9 @@ import fs from "fs"; import {join} from "path"; + import {engines} from "../../src/index.js"; -const rootDir = join(__dirname, ".."); +const rootDir = join(import.meta.dirname, ".."); const readFile = fs.readFile; const readFileSync = fs.readFileSync; diff --git a/packages/engines/tsconfig.esm.json b/packages/engines/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/engines/tsconfig.esm.json +++ b/packages/engines/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/engines/tsconfig.json b/packages/engines/tsconfig.json index d2f0c1fcdbd..ffa3a8cd7e1 100644 --- a/packages/engines/tsconfig.json +++ b/packages/engines/tsconfig.json @@ -6,9 +6,6 @@ }, "include": [], "references": [ - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/engines/tsconfig.spec.json b/packages/engines/tsconfig.spec.json index 36d8cd76b16..18c0d7624a9 100644 --- a/packages/engines/tsconfig.spec.json +++ b/packages/engines/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../specs/openspec/src"], - "@tsed/schema": ["../specs/schema/src"], - "@tsed/di": ["../di/src"], - "@tsed/exceptions": ["../specs/exceptions/src"], - "@tsed/json-mapper": ["../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../platform/platform-router/src"], - "@tsed/platform-views": ["../platform/platform-views/src"], - "@tsed/components-scan": ["../third-parties/components-scan/src"], - "@tsed/common": ["../platform/common/src"], - "@tsed/ajv": ["../specs/ajv/src"], - "@tsed/platform-cache": ["../platform/platform-cache/src"], - "@tsed/swagger": ["../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../platform/platform-express/src"], - "@tsed/platform-koa": ["../platform/platform-koa/src"] + "@tsed/openspec": ["../specs/openspec/src/index.ts"], + "@tsed/schema": ["../specs/schema/src/index.ts"], + "@tsed/di": ["../di/src/index.ts"], + "@tsed/exceptions": ["../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../platform/common/src/index.ts"], + "@tsed/ajv": ["../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/graphql/apollo/.nycrc b/packages/graphql/apollo/.nycrc deleted file mode 100644 index e048e0b21d3..00000000000 --- a/packages/graphql/apollo/.nycrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "include": [ - "src/**/*.ts" - ], - "exclude": [ - "**/*.d.ts", - "node_modules", - "**/interfaces/**", - "**/index.ts" - ], - "extension": [ - ".ts" - ], - "require": [], - "reporter": [ - "text-summary", - "html", - "lcov", - "json" - ], - "check-coverage": true, - "statements": 100, - "branches": 76.74, - "functions": 100, - "lines": 100 -} diff --git a/packages/graphql/apollo/package.json b/packages/graphql/apollo/package.json index a13ebd6f5dc..d62cefc6fcd 100644 --- a/packages/graphql/apollo/package.json +++ b/packages/graphql/apollo/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/apollo", "description": "Apollo package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -23,35 +22,31 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { + "@apollo/datasource-rest": "6.3.0", + "@apollo/server": "^4.11.0", + "@as-integrations/koa": "1.1.1", "@tsed/barrels": "workspace:*", "@tsed/common": "workspace:*", "@tsed/core": "workspace:*", "@tsed/di": "workspace:*", - "@tsed/logger": ">=6.7.5", + "@tsed/logger": "^6.7.8", "@tsed/typescript": "workspace:*", - "@types/graphql": "14.5.0", - "apollo-datasource": "^3.3.2", - "apollo-datasource-rest": "^3.7.0", - "apollo-server-core": "^3.13.0", - "apollo-server-express": "^3.13.0", - "apollo-server-koa": "^3.13.0", - "apollo-server-testing": "^2.26.2", - "eslint": "^8.57.0", - "graphql": "15.8.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "apollo-datasource-http": "0.21.0", + "apollo-server-testing": "2.26.2", + "eslint": "9.12.0", + "graphql": "16.9.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/common": "7.83.3", - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", + "@apollo/server": ">=4.10.4", + "@tsed/common": "8.0.0-alpha.10", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", "@tsed/logger": ">=6.7.5", - "apollo-datasource": ">=3.0.0", - "apollo-datasource-rest": ">=3.0.0", - "apollo-server-core": ">=3.0.0", - "graphql": ">15.0.0" + "graphql": ">16.0.0" } } diff --git a/packages/graphql/apollo/readme.md b/packages/graphql/apollo/readme.md index d867cac85f1..845de6f1808 100644 --- a/packages/graphql/apollo/readme.md +++ b/packages/graphql/apollo/readme.md @@ -45,8 +45,7 @@ If you're looking for integration with TypeGraphQL see the [`@tsed/typegraphql`] To begin, install the Apollo module for TS.ED: ```bash -npm install --save @tsed/apollo graphql@15 -npm install --save apollo-datasource apollo-datasource-rest apollo-server-express +npm install --save @tsed/apollo graphql@15 @apollo/server apollo/datasource-rest npm install --save-dev apollo-server-testing ``` @@ -68,28 +67,6 @@ import "@tsed/apollo"; export class Server {} ``` -## ApolloService - -ApolloService let you to retrieve an instance of ApolloServer. - -```typescript -import {Injectable, AfterRoutesInit} from "@tsed/common"; -import {graphQLService} from "@tsed/apollo"; -import {ApolloServer} from "apollo-server-express"; - -@Injectable() -export class UsersService implements AfterRoutesInit { - @Injec() - apolloService: ApolloService; - - private server: ApolloServer; - - $afterRoutesInit() { - this.server = this.apolloService.get("server1"); - } -} -``` - For more information about ApolloServer look his documentation [here](https://www.apollographql.com/docs/apollo-server/api/apollo-server.html); ## Contributors diff --git a/packages/graphql/apollo/src/ApolloModule.ts b/packages/graphql/apollo/src/ApolloModule.ts index 7ddfd68e432..e913a797e26 100644 --- a/packages/graphql/apollo/src/ApolloModule.ts +++ b/packages/graphql/apollo/src/ApolloModule.ts @@ -1,5 +1,6 @@ import {AfterListen, Logger, OnRoutesInit} from "@tsed/common"; -import {Configuration, Inject, Module} from "@tsed/di"; +import {Configuration, Inject, InjectorService, Module} from "@tsed/di"; + import {ApolloSettings} from "./interfaces/ApolloSettings.js"; import {ApolloService} from "./services/ApolloService.js"; @@ -14,19 +15,24 @@ export class ApolloModule implements OnRoutesInit, AfterListen { @Configuration() protected configuration: Configuration; + @Inject(InjectorService) + protected injector: InjectorService; + get settings(): {[key: string]: ApolloSettings} | undefined { - return this.configuration.get("apollo"); + return this.configuration.get("apollo", this.configuration.get("graphql", this.configuration.get("typegraphql"))); } - $onRoutesInit(): Promise | void { - const {settings} = this; + async $onRoutesInit(): Promise { + const {settings, injector} = this; if (settings) { - const promises = Object.entries(settings).map(([key, options]) => { - return this.service.createServer(key, options); + const promises = Object.entries(settings).map(async ([id, options]) => { + options = await injector.alterAsync("$alterApolloSettings", {id, ...options}); + + return this.service.createServer(id, options); }); - return Promise.all(promises); + await Promise.all(promises); } } @@ -36,7 +42,7 @@ export class ApolloModule implements OnRoutesInit, AfterListen { const displayLog = (key: string, path: string) => { const url = typeof host.port === "number" ? `${host.protocol}://${host.address}:${host.port}` : ""; - this.logger.info(`[${key}] Apollo server is available on ${url}${path.replace(/^\//, "")}`); + this.logger.info(`[${key}] Apollo server is available on ${url}/${path.replace(/^\//, "")}`); }; const {settings} = this; diff --git a/packages/graphql/apollo/src/constants/constants.ts b/packages/graphql/apollo/src/constants/constants.ts index 17eabc9f29f..0e8413ab8f6 100644 --- a/packages/graphql/apollo/src/constants/constants.ts +++ b/packages/graphql/apollo/src/constants/constants.ts @@ -1 +1,2 @@ export const DATASOURCES_PROVIDERS = "graphql:datasources"; +export const APOLLO_CONTEXT = Symbol.for("APOLLO_CONTEXT"); diff --git a/packages/graphql/apollo/src/decorators/dataSource.ts b/packages/graphql/apollo/src/decorators/dataSource.ts index 55f2f9ea883..db2a7ee04d8 100644 --- a/packages/graphql/apollo/src/decorators/dataSource.ts +++ b/packages/graphql/apollo/src/decorators/dataSource.ts @@ -1,5 +1,6 @@ import {StoreSet, useDecorators} from "@tsed/core"; import {Injectable, ProviderScope} from "@tsed/di"; + import {DATASOURCES_PROVIDERS} from "../constants/constants.js"; /** @@ -7,7 +8,7 @@ import {DATASOURCES_PROVIDERS} from "../constants/constants.js"; * * ```typescript * import { DataSourceService } from "@tsed/graphql"; - * import { RESTDataSource } from 'apollo-datasource-rest'; + * import { RESTDataSource } from '@apollo/datasource-rest'; * * @DataSource() * export class MyDataSource extends RESTDataSource { @@ -44,7 +45,7 @@ export function DataSource(name?: string): ClassDecorator { * * ```typescript * import { DataSourceService } from "@tsed/graphql"; - * import { RESTDataSource } from 'apollo-datasource-rest'; + * import { RESTDataSource } from '@apollo/datasource-rest'; * * @DataSource() * export class MyDataSource extends RESTDataSource { diff --git a/packages/graphql/apollo/src/decorators/injectApolloContext.ts b/packages/graphql/apollo/src/decorators/injectApolloContext.ts new file mode 100644 index 00000000000..002bef98275 --- /dev/null +++ b/packages/graphql/apollo/src/decorators/injectApolloContext.ts @@ -0,0 +1,21 @@ +import {DecoratorParameters, decoratorTypeOf, DecoratorTypes} from "@tsed/core"; +import {Inject, InjectContext} from "@tsed/di"; + +import {APOLLO_CONTEXT} from "../constants/constants.js"; + +/** + * Inject the Apollo context in the decorated property. + * @decorator + */ +export function InjectApolloContext(): any { + return (...args: DecoratorParameters) => { + switch (decoratorTypeOf(args)) { + case DecoratorTypes.PARAM_CTOR: + Inject(APOLLO_CONTEXT)(...args); + break; + + case DecoratorTypes.PROP: + return InjectContext(($ctx) => $ctx.get(APOLLO_CONTEXT))(args[0], args[1]); + } + }; +} diff --git a/packages/graphql/apollo/src/index.ts b/packages/graphql/apollo/src/index.ts index 375d1d1c4b7..c7b416e7a29 100644 --- a/packages/graphql/apollo/src/index.ts +++ b/packages/graphql/apollo/src/index.ts @@ -4,5 +4,10 @@ export * from "./ApolloModule.js"; export * from "./constants/constants.js"; export * from "./decorators/dataSource.js"; +export * from "./decorators/injectApolloContext.js"; +export * from "./interfaces/AlterApolloContext.js"; +export * from "./interfaces/AlterApolloServerPlugins.js"; +export * from "./interfaces/AlterApolloSettings.js"; +export * from "./interfaces/ApolloContext.js"; export * from "./interfaces/ApolloSettings.js"; export * from "./services/ApolloService.js"; diff --git a/packages/graphql/apollo/src/interfaces/AlterApolloContext.ts b/packages/graphql/apollo/src/interfaces/AlterApolloContext.ts new file mode 100644 index 00000000000..a448a868484 --- /dev/null +++ b/packages/graphql/apollo/src/interfaces/AlterApolloContext.ts @@ -0,0 +1,7 @@ +import type {PlatformContext} from "@tsed/common"; + +import type {ApolloContext} from "./ApolloContext.js"; + +export interface AlterApolloContext { + $alterApolloContext(context: Context, $ctx: PlatformContext): Context | Promise; +} diff --git a/packages/graphql/apollo/src/interfaces/AlterApolloServerPlugins.ts b/packages/graphql/apollo/src/interfaces/AlterApolloServerPlugins.ts new file mode 100644 index 00000000000..8245e90288d --- /dev/null +++ b/packages/graphql/apollo/src/interfaces/AlterApolloServerPlugins.ts @@ -0,0 +1,10 @@ +import type {ApolloServerPlugin} from "@apollo/server"; + +import type {ApolloSettings} from "./ApolloSettings.js"; + +export interface AlterApolloServerPlugins { + $alterApolloServerPlugins( + plugins: ApolloServerPlugin[], + serverSettings: ApolloSettings + ): ApolloServerPlugin[] | Promise; +} diff --git a/packages/graphql/apollo/src/interfaces/AlterApolloSettings.ts b/packages/graphql/apollo/src/interfaces/AlterApolloSettings.ts new file mode 100644 index 00000000000..0e7bc5ab001 --- /dev/null +++ b/packages/graphql/apollo/src/interfaces/AlterApolloSettings.ts @@ -0,0 +1,10 @@ +import type {ApolloContext} from "./ApolloContext.js"; +import type {ApolloSettingsWithID} from "./ApolloSettings.js"; + +export interface AlterApolloSettings { + $alterApolloSettings(settings: ApolloSettingsWithID): + | (ApolloSettingsWithID & { + id: string; + }) + | Promise>; +} diff --git a/packages/graphql/apollo/src/interfaces/ApolloContext.ts b/packages/graphql/apollo/src/interfaces/ApolloContext.ts new file mode 100644 index 00000000000..36466aa5018 --- /dev/null +++ b/packages/graphql/apollo/src/interfaces/ApolloContext.ts @@ -0,0 +1,5 @@ +import type {BaseContext} from "@apollo/server"; + +export interface ApolloContext extends BaseContext { + dataSources: Record; +} diff --git a/packages/graphql/apollo/src/interfaces/ApolloSettings.ts b/packages/graphql/apollo/src/interfaces/ApolloSettings.ts index 6918b9f6420..c5fd8576a42 100644 --- a/packages/graphql/apollo/src/interfaces/ApolloSettings.ts +++ b/packages/graphql/apollo/src/interfaces/ApolloSettings.ts @@ -1,9 +1,12 @@ -import type {ApolloServerBase, ApolloServerPluginLandingPageGraphQLPlaygroundOptions, Config} from "apollo-server-core"; +import type {ApolloServer, ApolloServerOptions, ApolloServerOptionsWithSchema} from "@apollo/server"; +import type {GatewayInterface} from "@apollo/server-gateway-interface"; +import type {IExecutableSchemaDefinition} from "@graphql-tools/schema"; +import type {GraphQLSchema} from "graphql/index.js"; + +import type {ApolloContext} from "./ApolloContext.js"; export type ApolloMiddlewareOptions = Record; -export type ApolloServer = ApolloServerBase & {getMiddleware(settings: ApolloMiddlewareOptions): any}; -export type ApolloCustomServerCB = (config: ApolloConfig) => ApolloServer; -export type ApolloConfig = Config; +export type ApolloCustomServerCB = (config: ApolloServerOptions) => ApolloServer; declare global { namespace TsED { @@ -11,13 +14,31 @@ declare global { } } -export interface ApolloSettings extends ApolloConfig, TsED.ApolloSettings { - // Basic options - path: string; - server?: ApolloCustomServerCB; - playground?: boolean | ApolloServerPluginLandingPageGraphQLPlaygroundOptions; - // ApplyMiddleware Options - // See options descriptions on https://www.apollographql.com/docs/apollo-server/api/apollo-server.html - serverRegistration?: ApolloMiddlewareOptions; - middlewareOptions?: ApolloMiddlewareOptions; -} +export type ApolloServerOptionsBase = Omit< + ApolloServerOptionsWithSchema, + "schema" | "typeDefs" | "resolvers" | "gateway" +>; + +export type ApolloSettings = ApolloServerOptionsBase & + TsED.ApolloSettings & { + // Basic options + path: string; + server?: ApolloCustomServerCB; + playground?: boolean; + // ApplyMiddleware Options + // See options descriptions on https://www.apollographql.com/docs/apollo-server/api/apollo-server.html + serverRegistration?: ApolloMiddlewareOptions; + middlewareOptions?: ApolloMiddlewareOptions; + schema?: GraphQLSchema; + typeDefs?: IExecutableSchemaDefinition["typeDefs"]; + resolvers?: IExecutableSchemaDefinition["resolvers"]; + gateway?: GatewayInterface; + /** + * @deprecated use $alterApolloContext instead + */ + dataSources?: () => Record; + }; + +export type ApolloSettingsWithID = ApolloSettings & { + id: string; +}; diff --git a/packages/graphql/apollo/src/services/ApolloService.spec.ts b/packages/graphql/apollo/src/services/ApolloService.spec.ts index 16a8f23d846..e1b81386257 100644 --- a/packages/graphql/apollo/src/services/ApolloService.spec.ts +++ b/packages/graphql/apollo/src/services/ApolloService.spec.ts @@ -1,38 +1,75 @@ -import {PlatformApplication, PlatformTest} from "@tsed/common"; -import {RESTDataSource} from "apollo-datasource-rest"; +import {RESTDataSource} from "@apollo/datasource-rest"; +import {ApolloServer, ApolloServerPlugin} from "@apollo/server"; +import {InjectContext, Logger, Opts, PlatformApplication, PlatformContext, PlatformTest} from "@tsed/common"; +import {catchAsyncError} from "@tsed/core"; +import {Configuration, Constant, Module, runInContext} from "@tsed/di"; +import {HTTPDataSource} from "apollo-datasource-http"; + +import {APOLLO_CONTEXT} from "../constants/constants.js"; import {DataSource} from "../decorators/dataSource.js"; +import {InjectApolloContext} from "../decorators/injectApolloContext.js"; +import type {AlterApolloContext} from "../interfaces/AlterApolloContext.js"; +import type {AlterApolloServerPlugins} from "../interfaces/AlterApolloServerPlugins.js"; +import type {ApolloContext} from "../interfaces/ApolloContext.js"; +import type {ApolloSettings} from "../interfaces/ApolloSettings.js"; import {ApolloService} from "./ApolloService.js"; -vi.mock("apollo-server-express", () => { +vi.mock("@apollo/server/express4", () => { return { - ApolloServer: class { - start = vi.fn(); - getMiddleware = vi.fn(); - - constructor(public opts: any) {} - } + __esModule: true, + expressMiddleware: vi.fn().mockReturnValue("expressMiddleware") }; }); -vi.mock("apollo-server-koa", () => { +vi.mock("@as-integrations/koa", () => { return { - ApolloServer: class { - start = vi.fn(); - getMiddleware = vi.fn(); - - constructor(public opts: any) {} - } + __esModule: true, + koaMiddleware: vi.fn().mockReturnValue("koaMiddleware") }; }); +export interface CustomApolloContext extends ApolloContext { + token: string | undefined; +} + +@Module() +class MyModule implements AlterApolloContext, AlterApolloServerPlugins { + $alterApolloServerPlugins( + plugins: ApolloServerPlugin[], + serverSettings: ApolloSettings + ): ApolloServerPlugin[] | Promise { + return plugins.concat("extraPlugin" as never); + } + + $alterApolloContext(context: ApolloContext, $ctx: PlatformContext): CustomApolloContext | Promise { + const header = $ctx.request.get("authorization"); + + return { + ...context, + token: header + } as CustomApolloContext; + } +} + @DataSource() export class MyDataSource extends RESTDataSource { - constructor() { - super(); - this.baseURL = "http://localhost:8001"; + @InjectContext() + $ctx: PlatformContext; + + @Constant("envs.MY_BACK_URL", "http://localhost:8001") + declare baseURL: string; + + @InjectApolloContext() + protected context: CustomApolloContext; + + constructor(server: ApolloServer, logger: Logger) { + super({ + logger, + cache: server.cache + }); } - willSendRequest(request: any) { - request.headers.set("Authorization", this.context.token); + willSendRequest(path: string, request: any) { + request.headers["authorization"] = this.context.token; } getMyData(id: string) { @@ -42,25 +79,71 @@ export class MyDataSource extends RESTDataSource { @DataSource("myName") export class MyDataSource2 extends RESTDataSource { + @InjectContext() + $ctx: PlatformContext; + constructor() { super(); this.baseURL = "http://localhost:8001"; } - willSendRequest(request: any) { - request.headers.set("Authorization", this.context.token); - } - getMyData(id: string) { return this.get(`/rest/calendars/${id}`); } } +@DataSource() +class MoviesAPI extends HTTPDataSource { + constructor( + @InjectApolloContext() {token}: CustomApolloContext, + server: ApolloServer, + logger: Logger, + @Configuration() configuration: Configuration + ) { + // the necessary arguments for HTTPDataSource + super(configuration.get("envs.MOVIES_API_URL"), { + logger + }); + + // We need to call the initialize method in our data source's + // constructor, passing in our cache and contextValue. + this.initialize({cache: server.cache, context: token}); + } + + getMovie(id: string) { + return this.get(`movies/${encodeURIComponent(id)}`); + } +} + +function getFixture() { + const service = PlatformTest.get(ApolloService); + const logger = PlatformTest.get(Logger); + const app = PlatformTest.get(PlatformApplication); + + const serverMockInstance = { + start: vi.fn() + }; + const serverMock = vi.fn().mockReturnValue(serverMockInstance); + + vi.spyOn(app, "use").mockReturnThis(); + + return { + service, + logger, + app, + serverMock, + serverMockInstance + }; +} + describe("ApolloService", () => { describe("when platform is express", () => { beforeEach(() => PlatformTest.create({ - PLATFORM_NAME: "express" + PLATFORM_NAME: "express", + envs: { + MOVIES_API_URL: "http://localhost:8001" + } }) ); afterEach(() => { @@ -68,73 +151,102 @@ describe("ApolloService", () => { }); describe("createServer()", () => { - describe("when server options isn't given", () => { - it("should create a server", async () => { - // GIVEN - const service = PlatformTest.get(ApolloService); - const app = PlatformTest.get(PlatformApplication); + it("should create a server", async () => { + // GIVEN + const {serverMock, service, app} = getFixture(); + + const opts = { + path: "/path", + server: serverMock, + schema: "schema", + typeDefs: "typeDefs", + resolvers: "resolvers" + } as never; + + // WHEN + const result1 = await service.createServer("key", opts); + const result2 = await service.createServer("key", opts); + + expect(service.getSchema("key")).toEqual("schema"); + expect(service.getSchema()).toEqual(undefined); + expect(service.getResolvers("key")).toEqual("resolvers"); + expect(service.getResolvers()).toEqual(undefined); + expect(service.getTypeDefs("key")).toEqual("typeDefs"); + expect(service.getTypeDefs()).toEqual(undefined); + expect(service.has("key")).toEqual(true); + expect(service.has()).toEqual(false); + expect(result2).toEqual(result1); + expect(app.use).toHaveBeenCalledWith("/path", "expressMiddleware"); + expect(serverMock).toHaveBeenCalledWith({ + plugins: expect.any(Array), + schema: "schema", + typeDefs: "typeDefs", + resolvers: "resolvers" + }); + expect(serverMock.mock.calls[0][0].plugins).toContain("extraPlugin"); + }); + it("should log server error", async () => { + // GIVEN + const {serverMock, logger, serverMockInstance, service, app} = getFixture(); - vi.spyOn(app, "use").mockReturnThis(); + const opts = { + path: "/path", + server: serverMock + } as never; - // WHEN - const result1 = await service.createServer("key", { - path: "/path" - } as any); + vi.spyOn(logger, "error"); - const result2 = await service.createServer("key", {path: "/path"} as any); + serverMockInstance.start.mockRejectedValue(new Error("test")); - expect(service.getSchema("key")).toEqual(undefined); - expect(service.getSchema()).toEqual(undefined); - expect(result2).toEqual(result1); - expect(result1.getMiddleware).toHaveBeenCalledWith({ - path: "/path" - }); + // WHEN + const result = await catchAsyncError(() => service.createServer("key", opts)); - expect(typeof (result1 as any).opts.dataSources).toEqual("function"); + expect(result).toEqual(new Error("test")); + expect(logger.error).toHaveBeenCalledWith({ + error_name: "Error", + event: "APOLLO_BOOTSTRAP_ERROR", + message: "test", + stack: expect.any(String) }); }); }); - }); - describe("when platform is koa", () => { - beforeEach(() => - PlatformTest.create({ - PLATFORM_NAME: "koa" - }) - ); - afterEach(() => { - return PlatformTest.reset(); - }); - describe("createServer()", () => { - describe("when server options isn't given", () => { - it("should create a server", async () => { - // GIVEN - const service = PlatformTest.get(ApolloService); - const app = PlatformTest.get(PlatformApplication); - - vi.spyOn(app, "use").mockReturnThis(); - - // WHEN - const result1 = await service.createServer("key", { - path: "/path" - } as any); - - const result2 = await service.createServer("key", {path: "/path"} as any); - - expect(service.getSchema("key")).toEqual(undefined); - expect(service.getSchema()).toEqual(undefined); - expect(result2).toEqual(result1); - expect(result1.getMiddleware).toHaveBeenCalledWith({ - path: "/path" - }); - }); + describe("createContextHandler()", () => { + it("should create a context handler", async () => { + // GIVEN + const {service, serverMock} = getFixture(); + const $ctx = PlatformTest.createRequestContext(); + + const opts = { + path: "/path", + server: serverMock + } as never; + + // WHEN + const server = await service.createServer("key", opts); + + // WHEN + const result = service.createContextHandler(server, { + dataSources: () => ({ + myDataSource: MyDataSource + }) + } as never); + + $ctx.request.headers["authorization"] = "token"; + + const contextResult: CustomApolloContext = await runInContext($ctx, () => result()); + + expect(contextResult.token).toEqual("token"); + expect(Object.keys(contextResult.dataSources)).toEqual(["myDataSource", "myName", "moviesAPI"]); + + expect($ctx.get(APOLLO_CONTEXT)).toEqual(contextResult); }); }); }); - describe("when platform is unknown", () => { + describe("when platform is koa", () => { beforeEach(() => PlatformTest.create({ - PLATFORM_NAME: "unkown" + PLATFORM_NAME: "koa" }) ); afterEach(() => { @@ -142,35 +254,33 @@ describe("ApolloService", () => { }); describe("createServer()", () => { - describe("when server options isn't given", () => { - it("should create a server", async () => { - // GIVEN - const service = PlatformTest.get(ApolloService); - const app = PlatformTest.get(PlatformApplication); - - vi.spyOn(app, "use").mockReturnThis(); - - // WHEN - const result1 = await service.createServer("key", { - path: "/path" - } as any); - - const result2 = await service.createServer("key", {path: "/path"} as any); - - expect(service.getSchema("key")).toEqual(undefined); - expect(service.getSchema()).toEqual(undefined); - expect(result2).toEqual(result1); - expect(result1.getMiddleware).toHaveBeenCalledWith({ - path: "/path" - }); + it("should create a server", async () => { + // GIVEN + const {serverMock, app, service} = getFixture(); + + // WHEN + const opts = { + path: "/path", + server: serverMock + } as never; + + const result1 = await service.createServer("key", opts); + const result2 = await service.createServer("key", {path: "/path"} as any); + + expect(service.getSchema("key")).toEqual(undefined); + expect(service.getSchema()).toEqual(undefined); + expect(result2).toEqual(result1); + expect(app.use).toHaveBeenCalledWith("/path", "koaMiddleware"); + expect(serverMock).toHaveBeenCalledWith({ + plugins: expect.any(Array) }); }); }); }); - describe("when platform is given", () => { + describe("when platform is unknown", () => { beforeEach(() => PlatformTest.create({ - PLATFORM_NAME: "express" + PLATFORM_NAME: "unknown" }) ); afterEach(() => { @@ -178,32 +288,28 @@ describe("ApolloService", () => { }); describe("createServer()", () => { - describe("when server options isn't given", () => { - it("should create a server", async () => { - // GIVEN - const service = PlatformTest.get(ApolloService); - const app = PlatformTest.get(PlatformApplication); - - vi.spyOn(app, "use").mockReturnThis(); - - class ApolloServer { - start = vi.fn(); - getMiddleware = vi.fn(); - - constructor(opts: any) {} - } - - // WHEN - const result1 = await service.createServer("key", { - path: "/path", - server: (options: any) => new ApolloServer(options) - } as any); - - expect(service.getSchema("key")).toEqual(undefined); - expect(service.getSchema()).toEqual(undefined); - expect(result1.getMiddleware).toHaveBeenCalledWith({ - path: "/path" - }); + it("should not create a server", async () => { + // GIVEN + const {serverMock, logger, service} = getFixture(); + + vi.spyOn(logger, "warn"); + // WHEN + const opts = { + path: "/path", + server: serverMock + } as never; + + // WHEN + const result1 = await service.createServer("key", opts); + const result2 = await service.createServer("key", opts); + + expect(service.getSchema("key")).toEqual(undefined); + expect(service.getSchema("key")).toEqual(undefined); + expect(service.getSchema()).toEqual(undefined); + expect(result2).toEqual(result1); + expect(logger.warn).toHaveBeenCalledWith({ + event: "APOLLO_UNKNOWN_PLATFORM", + message: "Platform not supported. Please use Ts.ED platform (express, koa)" }); }); }); diff --git a/packages/graphql/apollo/src/services/ApolloService.ts b/packages/graphql/apollo/src/services/ApolloService.ts index a6b281c68c1..6787f9026e7 100644 --- a/packages/graphql/apollo/src/services/ApolloService.ts +++ b/packages/graphql/apollo/src/services/ApolloService.ts @@ -1,21 +1,18 @@ -import {InjectorService, PlatformApplication} from "@tsed/common"; -import {classOf, nameOf, Store} from "@tsed/core"; +import {ApolloServer, ApolloServerOptions, ApolloServerPlugin} from "@apollo/server"; +import {ApolloServerPluginLandingPageDisabled} from "@apollo/server/plugin/disabled"; +import {ApolloServerPluginDrainHttpServer} from "@apollo/server/plugin/drainHttpServer"; +import {ApolloServerPluginLandingPageLocalDefault} from "@apollo/server/plugin/landingPage/default"; +import type {IExecutableSchemaDefinition} from "@graphql-tools/schema"; +import {InjectorService, LocalsContainer, PlatformApplication, PlatformContext, Provider, useContext} from "@tsed/common"; import {Constant, Inject, Service} from "@tsed/di"; import {Logger} from "@tsed/logger"; -import type {Config} from "apollo-server-core"; -import { - ApolloServerBase, - ApolloServerPluginDrainHttpServer, - ApolloServerPluginLandingPageDisabled, - ApolloServerPluginLandingPageLocalDefault -} from "apollo-server-core"; -import {PluginDefinition} from "apollo-server-core/src/types"; import type {GraphQLSchema} from "graphql"; import Http from "http"; import Https from "https"; -import {DATASOURCES_PROVIDERS} from "../constants/constants.js"; -import type {ApolloServer, ApolloSettings} from "../interfaces/ApolloSettings.js"; -import {ApolloCustomServerCB} from "../interfaces/ApolloSettings.js"; + +import {APOLLO_CONTEXT, DATASOURCES_PROVIDERS} from "../constants/constants.js"; +import {ApolloContext} from "../interfaces/ApolloContext.js"; +import type {ApolloCustomServerCB, ApolloSettings} from "../interfaces/ApolloSettings.js"; @Service() export class ApolloService { @@ -33,8 +30,10 @@ export class ApolloService { protected servers: Map< string, { - instance: ApolloServerBase; - schema: GraphQLSchema | undefined; + instance: ApolloServer; + schema?: GraphQLSchema; + typeDefs?: IExecutableSchemaDefinition["typeDefs"]; + resolvers?: IExecutableSchemaDefinition["resolvers"]; } > = new Map(); @@ -50,9 +49,7 @@ export class ApolloService { @Inject() private injector: InjectorService; - constructor(@Inject(DATASOURCES_PROVIDERS) protected dataSources: any[]) {} - - async createServer(id: string, settings: ApolloSettings): Promise { + async createServer(id: string, settings: ApolloSettings) { if (!this.has(id)) { try { const {dataSources, path, middlewareOptions = {}, server: customServer, ...config} = settings; @@ -62,29 +59,56 @@ export class ApolloService { const plugins = await this.getPlugins(settings); - const server = await this.createInstance( + const server = this.createInstance( { ...config, - plugins, - dataSources: this.createDataSources(dataSources) - }, + plugins + } as never, customServer ); if (server) { this.servers.set(id || "default", { instance: server, - schema: settings.schema + schema: settings.schema, + typeDefs: settings.typeDefs, + resolvers: settings.resolvers }); await server.start(); - const middleware = server.getMiddleware({ - path: settings.path, - ...middlewareOptions - }); - - this.app.use(middleware); + const contextHandler = this.createContextHandler(server, settings); + + switch (this.platformName) { + case "express": + const {expressMiddleware} = await import("@apollo/server/express4"); + + this.app.use( + path, + expressMiddleware(server as any, { + ...middlewareOptions, + context: contextHandler + }) + ); + break; + + case "koa": + const {koaMiddleware} = await import("@as-integrations/koa"); + + this.app.use( + path, + koaMiddleware(server as any, { + ...middlewareOptions, + context: contextHandler + }) + ); + break; + default: + this.logger.warn({ + event: "APOLLO_UNKNOWN_PLATFORM", + message: "Platform not supported. Please use Ts.ED platform (express, koa)" + }); + } } } catch (er) { this.logger.error({ @@ -93,30 +117,40 @@ export class ApolloService { message: er.message, stack: er.stack }); - /* istanbul ignore next */ - process.exit(-1); + throw er; } } - return this.get(id) as ApolloServer; + return this.get(id)!; } /** * Get an instance of ApolloServer from his id * @returns ApolloServer */ - get(id: string = "default"): ApolloServerBase | undefined { + get(id: string = "default"): ApolloServer | undefined { return this.servers.get(id)?.instance; } /** - * Get an instance of GraphQL schema from his id + * Get schema of the ApolloServer from his id * @returns GraphQLSchema */ - getSchema(id: string = "default"): GraphQLSchema | undefined { + getSchema(id: string = "default") { return this.servers.get(id)?.schema; } + /** + * Get TypeDefs of the ApolloServer from his id + */ + getTypeDefs(id: string = "default") { + return this.servers.get(id)?.typeDefs; + } + + getResolvers(id: string = "default") { + return this.servers.get(id)?.resolvers; + } + /** * * @param {string} id @@ -126,57 +160,54 @@ export class ApolloService { return this.servers.has(id); } - protected async createInstance(options: Config, server?: ApolloCustomServerCB): Promise { - if (server) { - return server(options); - } - - const importServer = async () => { - switch (this.platformName) { - default: - this.logger.error(`Platform "${this.platformName}" not supported by @tsed/apollo`); - case "express": - return (await import("apollo-server-express")).ApolloServer; - case "koa": - return (await import("apollo-server-koa")).ApolloServer; - } - }; - - const Server = await importServer(); - - return new Server(options); - } - /** * create a new dataSources function to use with apollo server config - * @param dataSources */ - protected createDataSources(dataSources: Function | undefined) { - const dataSourcesHash = this.dataSources.reduce((map, instance) => { - const klass = classOf(instance); - const store = Store.from(klass); - let {name} = store.get(DATASOURCES_PROVIDERS); + createContextHandler(server: ApolloServer, settings: ApolloSettings) { + const {injector} = this; + const dataSourcesContainer = injector.getProviders(DATASOURCES_PROVIDERS).reduce((map, provider) => { + let {name} = provider.store.get(DATASOURCES_PROVIDERS); - name = name || nameOf(klass); + name = name || provider.className; const sourceName = `${name[0].toLowerCase()}${name.slice(1)}`; - map[sourceName] = instance; + map.set(sourceName, provider); return map; - }, {}); + }, new Map()); - return () => { - return { - ...dataSourcesHash, - ...(dataSources ? dataSources() : {}) + return async () => { + const $ctx = useContext(); + const context: ApolloContext = { + dataSources: { + ...(settings.dataSources?.() || {}) + } }; + + const alteredContext = await this.injector.alterAsync("$alterApolloContext", context, $ctx); + + $ctx!.set(APOLLO_CONTEXT, alteredContext); + + const locals = new LocalsContainer(); + locals.set(APOLLO_CONTEXT, alteredContext); + locals.set(ApolloServer, server); + + dataSourcesContainer.forEach((provider, key) => { + alteredContext.dataSources[key] = injector.invoke(provider.token, locals); + }); + + return alteredContext; }; } - private async getPlugins(serverSettings: ApolloSettings): Promise { + protected createInstance(options: ApolloServerOptions, server?: ApolloCustomServerCB) { + return server ? server(options) : new ApolloServer(options); + } + + private async getPlugins(serverSettings: ApolloSettings): Promise { const playground = serverSettings.playground || (serverSettings.playground === undefined && process.env.NODE_ENV !== "production"); - const result = await this.injector.alter( + const result = await this.injector.alterAsync( "$alterApolloServerPlugins", [ this.httpServer && diff --git a/packages/graphql/apollo/tsconfig.cjs.json b/packages/graphql/apollo/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/graphql/apollo/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/graphql/apollo/tsconfig.esm.json b/packages/graphql/apollo/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/graphql/apollo/tsconfig.esm.json +++ b/packages/graphql/apollo/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/graphql/apollo/tsconfig.json b/packages/graphql/apollo/tsconfig.json index 2dbe3ec968d..4540f314a24 100644 --- a/packages/graphql/apollo/tsconfig.json +++ b/packages/graphql/apollo/tsconfig.json @@ -15,9 +15,6 @@ { "path": "../../di/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/graphql/apollo/tsconfig.spec.json b/packages/graphql/apollo/tsconfig.spec.json index 21485bab96d..5a6e5c12b13 100644 --- a/packages/graphql/apollo/tsconfig.spec.json +++ b/packages/graphql/apollo/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/graphql/apollo/vitest.config.mts b/packages/graphql/apollo/vitest.config.mts index d759e817941..bd61c885886 100644 --- a/packages/graphql/apollo/vitest.config.mts +++ b/packages/graphql/apollo/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 83.48, + branches: 87.17, + functions: 94.11, + lines: 83.48 } } } } -); +); \ No newline at end of file diff --git a/packages/graphql/graphql-ws/package.json b/packages/graphql/graphql-ws/package.json index a46baf236c4..557d1255acf 100644 --- a/packages/graphql/graphql-ws/package.json +++ b/packages/graphql/graphql-ws/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/graphql-ws", - "version": "7.83.3", "description": "An extension to allow GraphQL over WebSockets using graphql-ws protocol", - "type": "commonjs", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -21,23 +20,23 @@ "build:ts": "tsc --build tsconfig.json" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", "@tsed/common": "workspace:*", "@tsed/core": "workspace:*", "@tsed/di": "workspace:*", - "@tsed/logger": ">=6.7.5", + "@tsed/logger": "^6.7.8", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "graphql-ws": "^5.15.0", - "typescript": "4.9.5" + "eslint": "9.12.0", + "graphql-ws": "5.16.0", + "typescript": "5.4.5" }, "peerDependencies": { - "@tsed/common": "7.83.3", - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", + "@tsed/common": "8.0.0-alpha.10", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", "@tsed/logger": ">=6.7.5", "graphql-ws": ">=5.14.2" } diff --git a/packages/graphql/graphql-ws/readme.md b/packages/graphql/graphql-ws/readme.md index bb1fb9b47d1..b5e0d2f8f70 100644 --- a/packages/graphql/graphql-ws/readme.md +++ b/packages/graphql/graphql-ws/readme.md @@ -60,12 +60,12 @@ export class Server {} ## ApolloService -ApolloService let you to retrieve an instance of ApolloServer. +ApolloService let you retrieve an instance of ApolloServer. ```typescript import {Injectable, AfterRoutesInit} from "@tsed/common"; import {graphQLService} from "@tsed/apollo"; -import {ApolloServer} from "apollo-server-express"; +import {ApolloServer} from "@apollo/server"; @Injectable() export class UsersService implements AfterRoutesInit { diff --git a/packages/graphql/graphql-ws/tsconfig.cjs.json b/packages/graphql/graphql-ws/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/graphql/graphql-ws/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/graphql/graphql-ws/tsconfig.esm.json b/packages/graphql/graphql-ws/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/graphql/graphql-ws/tsconfig.esm.json +++ b/packages/graphql/graphql-ws/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/graphql/graphql-ws/tsconfig.json b/packages/graphql/graphql-ws/tsconfig.json index 250467edb65..a518f91af34 100644 --- a/packages/graphql/graphql-ws/tsconfig.json +++ b/packages/graphql/graphql-ws/tsconfig.json @@ -15,9 +15,6 @@ { "path": "../../di/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" } diff --git a/packages/graphql/typegraphql/.nycrc b/packages/graphql/typegraphql/.nycrc deleted file mode 100644 index a8c67d6620e..00000000000 --- a/packages/graphql/typegraphql/.nycrc +++ /dev/null @@ -1,27 +0,0 @@ -{ - "include": [ - "src/**/*.ts" - ], - "exclude": [ - "**/*.d.ts", - "**/*.spec.ts", - "node_modules", - "**/interfaces/**", - "**/index.ts" - ], - "extension": [ - ".ts" - ], - "require": [], - "reporter": [ - "text-summary", - "html", - "lcov", - "json" - ], - "check-coverage": true, - "statements": 99.14, - "branches": 70.45, - "functions": 100, - "lines": 100 -} diff --git a/packages/graphql/typegraphql/package.json b/packages/graphql/typegraphql/package.json index 0d89113c95c..03121d4741e 100644 --- a/packages/graphql/typegraphql/package.json +++ b/packages/graphql/typegraphql/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/typegraphql", "description": "TypeGraphQL package for Ts.ED framework, based on Apollo-server-core and Type-graphql", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -26,27 +25,32 @@ }, "dependencies": { "@tsed/apollo": "workspace:*", - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { + "@graphql-yoga/subscription": "5.0.1", "@tsed/barrels": "workspace:*", "@tsed/common": "workspace:*", "@tsed/core": "workspace:*", + "@tsed/platform-express": "workspace:*", "@tsed/typescript": "workspace:*", "@types/graphql": "^14.5.0", "class-validator": "~0.14.1", "cross-env": "^7.0.3", - "eslint": "^8.57.0", - "graphql-passport": "0.6.8", - "type-graphql": "^1.1.1", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "graphql": "16.9.0", + "graphql-passport": "^0.6.8", + "graphql-scalars": "1.23.0", + "ts-node": "10.9.2", + "type-graphql": ">=2.0.0-rc.2", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "apollo-datasource": ">=3.0.0", - "apollo-datasource-rest": ">=3.0.0", + "@apollo/datasource-rest": ">=6.2.2", "class-validator": ">=0.13.1", - "graphql": ">=15.0.0", - "type-graphql": ">=1.0.0" + "graphql": ">=16.0.0", + "graphql-scalars": ">=1.23.0", + "type-graphql": ">=2.0.0-rc.2" } } diff --git a/packages/graphql/typegraphql/readme.md b/packages/graphql/typegraphql/readme.md index 7a79840a869..8267deba6c9 100644 --- a/packages/graphql/typegraphql/readme.md +++ b/packages/graphql/typegraphql/readme.md @@ -33,59 +33,59 @@ GraphQL is a query language for APIs and a runtime for fulfilling those queries ## Feature Currently, `@tsed/typegraphql` allows you to configure a graphql server in your project. -This package use [`apollo-server-express`](https://www.apollographql.com/docs/apollo-server/api/apollo-server.html) to create GraphQL server and [`type-graphql`](https://19majkel94.github.io/type-graphql/) +This package use [`@apollo/server`](https://www.apollographql.com/) to create GraphQL server and [`type-graphql`](https://19majkel94.github.io/type-graphql/) for the decorators. ## Installation To begin, install the TypeGraphQL module for TS.ED: +Express.js: + +```bash +npm install --save @tsed/apollo graphql type-graphql @apollo/server @apollo/datasource-rest graphql-scalars +npm install --save-dev apollo-server-testing +``` + +Koa.js + ```bash -npm install --save @tsed/typegraphql type-graphql graphql@15 -npm install --save apollo-datasource apollo-datasource-rest apollo-server-express -npm install --save-dev apollo-server-testing +npm install --save @tsed/apollo graphql type-graphql @apollo/server @as-integration/koa @apollo/datasource-rest graphql-scalars +npm install --save-dev apollo-server-testing ``` Now, we can configure the Ts.ED server by importing `@tsed/typegraphql` in your Server: ```typescript -import {Configuration} from "@tsed/common"; +import {Configuration} from "@tsed/di"; +import "@tsed/platform-express"; import "@tsed/typegraphql"; +import "./resolvers/index"; // barrel file with all resolvers @Configuration({ - graphql: { + apollo: { server1: { - resolvers: [] - } - } -}) -export class Server {} -``` + // GraphQL server configuration + // See options descriptions on https://www.apollographql.com/docs/apollo-server/api/apollo-server.html + path: "/", + playground: true // enable playground GraphQL IDE. Set false to use Apollo Studio -## TypeGraphQlService + // resolvers?: (Function | string)[]; + // dataSources?: Function; + // server?: (config: Config) => ApolloServer; -TypeGraphQlService let you to retrieve an instance of ApolloServer. + // plugins: [] + // middlewareOptions?: ServerRegistration; -```typescript -import {Service, AfterRoutesInit} from "@tsed/common"; -import {TypeGraphQLService} from "@tsed/typegraphql"; -import {ApolloServer} from "apollo-server-express"; - -@Service() -export class UsersService implements AfterRoutesInit { - private server: ApolloServer; - - @Inject() - typeGraphQLService: TypeGraphQLService; - - $afterRoutesInit() { - this.server = this.typeGraphQLService.get("server1"); + // type-graphql + // See options descriptions on https://19majkel94.github.io/type-graphql/ + // buildSchemaOptions?: Partial; + } } -} +}) +export class Server {} ``` -For more information about ApolloServer look his documentation [here](https://www.apollographql.com/docs/apollo-server/api/apollo-server.html); - ## Type-graphql ### Types diff --git a/packages/graphql/typegraphql/src/TypeGraphQLModule.ts b/packages/graphql/typegraphql/src/TypeGraphQLModule.ts index 118e670932c..8b82dbbaae2 100644 --- a/packages/graphql/typegraphql/src/TypeGraphQLModule.ts +++ b/packages/graphql/typegraphql/src/TypeGraphQLModule.ts @@ -1,53 +1,63 @@ +import "./interfaces/interfaces.js"; + +import {AlterApolloSettings, ApolloSettingsWithID} from "@tsed/apollo"; +import {isClass, Type} from "@tsed/core"; import {Configuration, Inject, InjectorService, Module} from "@tsed/di"; -import {TypeGraphQLSettings} from "./interfaces/interfaces.js"; -import {TypeGraphQLService} from "./services/TypeGraphQLService.js"; +import {buildSchema} from "type-graphql"; + +import {RESOLVERS_PROVIDERS} from "./constants/constants.js"; +import {ContextMiddleware} from "./middlewares/ContextMiddleware.js"; /** * @ignore */ @Module() -export class TypeGraphQLModule { - @Inject() - protected service: TypeGraphQLService; - +export class TypeGraphQLModule implements AlterApolloSettings { @Inject() protected injector: InjectorService; @Configuration() protected configuration: Configuration; - get settings(): {[key: string]: TypeGraphQLSettings} | undefined { - return this.configuration.get("graphql") || this.configuration.get("typegraphql"); - } - - $onRoutesInit(): Promise | void { - const {settings} = this; - if (settings) { - const promises = Object.entries(settings).map(([key, options]) => { - return this.service.createServer(key, options); - }); - - return Promise.all(promises); - } - } + async $alterApolloSettings(settings: ApolloSettingsWithID): Promise { + const {resolvers: initialResolvers = [], buildSchemaOptions = {}, ...serverOptions} = settings; - $afterListen(): Promise | void { - const host = this.configuration.getBestHost(); + const resolvers: any = this.getResolvers(settings.id, [...(initialResolvers as any[]), ...(buildSchemaOptions.resolvers || [])]); - const displayLog = (key: string, path: string) => { - const url = typeof host.port === "number" ? `${host.protocol}://${host.address}:${host.port}` : ""; + serverOptions.schema = await buildSchema({ + container: this.injector as never, + ...buildSchemaOptions, + resolvers, + globalMiddlewares: [ContextMiddleware, ...(buildSchemaOptions.globalMiddlewares || [])] + }); - this.injector.logger.info(`[${key}] GraphQL server is available on ${url}/${path.replace(/^\//, "")}`); - }; - - const {settings} = this; + return serverOptions; + } - if (settings) { - Object.entries(settings).map(([key, options]) => { - const {path} = options; + protected getResolvers(id: string, resolvers: Type[]): Type[] { + const globalResolvers = this.injector + .getProviders(RESOLVERS_PROVIDERS) + .filter((provider) => { + const opts = provider.store.get("graphql"); - displayLog(key, path); + return !opts?.id || opts?.id === id; + }) + .map((provider) => { + return provider.useClass; }); - } + + return resolvers + .map((resolver) => { + if (!(this.injector.has(resolver) || !isClass(resolver))) { + this.injector + .addProvider(resolver, { + useClass: resolver + }) + .invoke(resolver); + } + + return resolver; + }) + .concat(globalResolvers); } } diff --git a/packages/graphql/typegraphql/src/decorators/resolver.ts b/packages/graphql/typegraphql/src/decorators/resolver.ts index 15e70a1be6b..2a0cef36da8 100644 --- a/packages/graphql/typegraphql/src/decorators/resolver.ts +++ b/packages/graphql/typegraphql/src/decorators/resolver.ts @@ -1,16 +1,16 @@ import {StoreSet, useDecorators} from "@tsed/core"; import {Injectable} from "@tsed/di"; import {ClassType, Resolver} from "type-graphql"; -import {AbstractClassOptions, ClassTypeResolver} from "type-graphql/dist/decorators/types"; + import {RESOLVERS_PROVIDERS} from "../constants/constants.js"; -export interface ResolverControllerOptions extends AbstractClassOptions { +export interface ResolverControllerOptions { id?: string; } -export function ResolverController(path?: string): ClassDecorator; -export function ResolverController(options: ResolverControllerOptions): ClassDecorator; -export function ResolverController(typeFunc: ClassTypeResolver, options?: ResolverControllerOptions): ClassDecorator; +export function ResolverController(): ClassDecorator; +export function ResolverController(path: string): ClassDecorator; +export function ResolverController(typeFunc: (of?: void) => ClassType | Function, options?: ResolverControllerOptions): ClassDecorator; export function ResolverController(objectType: ClassType, options?: ResolverControllerOptions): ClassDecorator; export function ResolverController(...args: any[]): ClassDecorator { let id = undefined; @@ -38,17 +38,3 @@ export function ResolverController(...args: any[]): ClassDecorator { }) ); } - -/** - * @deprecated Use ResolverController instead - */ -export function ResolverService(): ClassDecorator; -export function ResolverService(options: AbstractClassOptions): ClassDecorator; -export function ResolverService(typeFunc: ClassTypeResolver, options?: AbstractClassOptions): ClassDecorator; -export function ResolverService(objectType: ClassType, options?: AbstractClassOptions): ClassDecorator; -/** - * @deprecated Use ResolverController instead - */ -export function ResolverService(...args: any[]): ClassDecorator { - return (ResolverController as any)(...args); -} diff --git a/packages/graphql/typegraphql/src/index.ts b/packages/graphql/typegraphql/src/index.ts index f513e382f61..2ae96f9615a 100644 --- a/packages/graphql/typegraphql/src/index.ts +++ b/packages/graphql/typegraphql/src/index.ts @@ -7,5 +7,4 @@ export * from "./exports.js"; export * from "./interfaces/interfaces.js"; export * from "./interfaces/TypeGraphQLSettings.js"; export * from "./middlewares/ContextMiddleware.js"; -export * from "./services/TypeGraphQLService.js"; export * from "./TypeGraphQLModule.js"; diff --git a/packages/graphql/typegraphql/src/interfaces/TypeGraphQLSettings.ts b/packages/graphql/typegraphql/src/interfaces/TypeGraphQLSettings.ts index 8c490bcd99b..7a3ebc55707 100644 --- a/packages/graphql/typegraphql/src/interfaces/TypeGraphQLSettings.ts +++ b/packages/graphql/typegraphql/src/interfaces/TypeGraphQLSettings.ts @@ -1,10 +1 @@ -import {ApolloConfig, ApolloSettings} from "@tsed/apollo"; import {BuildSchemaOptions} from "type-graphql"; - -export interface TypeGraphQLSettings extends ApolloSettings { - // TypeGraphQL options - buildSchemaOptions?: Partial; - // apollo-server-express options - // See options descriptions on https://www.apollographql.com/docs/apollo-server/api/apollo-server.html - serverConfig?: ApolloConfig; -} diff --git a/packages/graphql/typegraphql/src/interfaces/interfaces.ts b/packages/graphql/typegraphql/src/interfaces/interfaces.ts index c79f764ccfa..9e44c071abb 100644 --- a/packages/graphql/typegraphql/src/interfaces/interfaces.ts +++ b/packages/graphql/typegraphql/src/interfaces/interfaces.ts @@ -1,12 +1,21 @@ -import {TypeGraphQLSettings} from "./TypeGraphQLSettings.js"; +import type {ApolloSettings as AS} from "@tsed/apollo"; +import {BuildSchemaOptions} from "type-graphql"; declare global { namespace TsED { + interface ApolloSettings { + buildSchemaOptions?: Partial; + } + interface Configuration { - graphql: {[key: string]: TypeGraphQLSettings}; - typegraphql: {[key: string]: TypeGraphQLSettings}; + /** + * @deprecated Use apollo instead + */ + graphql: {[key: string]: AS}; + /** + * @deprecated Use apollo instead + */ + typegraphql: {[key: string]: AS}; } } } - -export * from "./TypeGraphQLSettings.js"; diff --git a/packages/graphql/typegraphql/src/middlewares/ContextMiddleware.ts b/packages/graphql/typegraphql/src/middlewares/ContextMiddleware.ts index dd3ec469360..2de5635e25b 100644 --- a/packages/graphql/typegraphql/src/middlewares/ContextMiddleware.ts +++ b/packages/graphql/typegraphql/src/middlewares/ContextMiddleware.ts @@ -1,6 +1,7 @@ -import {getContext, PlatformContext, runInContext} from "@tsed/common"; +import {type DIContext, runInContext, useContext} from "@tsed/di"; import {MiddlewareFn} from "type-graphql"; -export const ContextMiddleware: MiddlewareFn<{req: {$ctx: PlatformContext}}> = (_, next) => { - return runInContext(getContext(), next); +export const ContextMiddleware: MiddlewareFn<{req: {$ctx: DIContext}}> = (action, next) => { + const $ctx = useContext(action.context?.req?.$ctx); + return runInContext($ctx, next); }; diff --git a/packages/graphql/typegraphql/src/services/TypeGraphQLService.spec.ts b/packages/graphql/typegraphql/src/services/TypeGraphQLService.spec.ts deleted file mode 100644 index 56f7009f823..00000000000 --- a/packages/graphql/typegraphql/src/services/TypeGraphQLService.spec.ts +++ /dev/null @@ -1,77 +0,0 @@ -import {ApolloService} from "@tsed/apollo"; -import {PlatformTest} from "@tsed/common"; -import {AuthResolver, RecipeResolver} from "../../test/app/graphql/index.js"; -import {TypeGraphQLService} from "./TypeGraphQLService.js"; - -async function createApolloServiceFixture() { - const server = { - server: "server" - }; - - const map = new Map(); - - const apolloService = { - createServer: vi.fn((key: string, options: any) => { - map.set(key, { - instance: server, - options - }); - return Promise.resolve(server); - }), - get: (key: string) => map.get(key)?.instance, - getSchema: (key: string) => "schema", - has: (key: string) => map.has(key) - }; - - const service = await PlatformTest.invoke(TypeGraphQLService, [ - { - token: ApolloService, - use: apolloService - } - ]); - - return {apolloService, server, service}; -} - -describe("TypeGraphQLService", () => { - beforeEach(() => - PlatformTest.create({ - PLATFORM_NAME: "express" - }) - ); - afterEach(() => { - PlatformTest.reset(); - }); - - describe("createServer()", () => { - describe("when server options isn't given", () => { - it("should create a server", async () => { - const {service, apolloService} = await createApolloServiceFixture(); - - vi.spyOn(service as any, "createSchema").mockReturnValue({schema: "schema"}); - - const result1 = await service.createServer("key", { - path: "/path", - resolvers: [AuthResolver] - } as any); - const result2 = await service.createServer("key", {path: "/path", resolvers: [AuthResolver]} as any); - - expect(apolloService.createServer).toHaveBeenCalledWith("typegraphql-key", { - dataSources: expect.any(Function), - path: "/path", - resolvers: [AuthResolver, RecipeResolver], - schema: {schema: "schema"} - }); - - expect(result2).toEqual(result1); - expect(result1).toEqual({server: "server"}); - expect(service.getSchema("key")).toEqual("schema"); - expect(service.createSchema).toHaveBeenCalledWith({ - resolvers: [AuthResolver, RecipeResolver], - container: PlatformTest.injector, - globalMiddlewares: expect.any(Array) - }); - }); - }); - }); -}); diff --git a/packages/graphql/typegraphql/src/services/TypeGraphQLService.ts b/packages/graphql/typegraphql/src/services/TypeGraphQLService.ts deleted file mode 100644 index 75d26a3bb71..00000000000 --- a/packages/graphql/typegraphql/src/services/TypeGraphQLService.ts +++ /dev/null @@ -1,126 +0,0 @@ -import {ApolloService} from "@tsed/apollo"; -import {isClass, Type} from "@tsed/core"; -import {Inject, Injectable, InjectorService} from "@tsed/di"; -import {Logger} from "@tsed/logger"; -import {ApolloServerBase} from "apollo-server-core"; -import {GraphQLSchema} from "graphql"; -import {buildSchema, BuildSchemaOptions} from "type-graphql"; -import {RESOLVERS_PROVIDERS} from "../constants/constants.js"; -import {TypeGraphQLSettings} from "../interfaces/interfaces.js"; -import {ContextMiddleware} from "../middlewares/ContextMiddleware.js"; - -const getKey = (id: string) => `typegraphql-${id}`; - -@Injectable() -export class TypeGraphQLService { - @Inject() - protected injector: InjectorService; - - @Inject() - protected apolloService: ApolloService; - - @Inject() - protected logger: Logger; - - /** - * Get an instance of ApolloServer from his id - * @returns ApolloServer - */ - get(id: string = "default"): ApolloServerBase | undefined { - return this.apolloService.get(getKey(id)); - } - - /** - * - * @param {string} id - * @returns {boolean} - */ - has(id: string = "default"): boolean { - return this.apolloService.has(getKey(id)); - } - - async createServer(id: string, settings: TypeGraphQLSettings) { - if (!this.has(id)) { - try { - const {dataSources, resolvers: initialResolvers = [], buildSchemaOptions = {}, serverConfig = {}, ...serverOptions} = settings; - - const resolvers: any = this.getResolvers(id, [...(initialResolvers as any[]), ...(buildSchemaOptions.resolvers || [])]); - - const schema = await this.createSchema({ - container: this.injector, - ...buildSchemaOptions, - resolvers, - globalMiddlewares: [ContextMiddleware, ...(buildSchemaOptions.globalMiddlewares || [])] - }); - - return await this.apolloService.createServer(getKey(id), { - ...serverOptions, - ...serverConfig, - resolvers, - dataSources: () => { - return { - ...(dataSources ? dataSources() : {}), - ...(serverConfig.dataSources ? serverConfig.dataSources() : {}) - }; - }, - schema - }); - } catch (er) { - /* istanbul ignore next */ - this.logger.error({ - event: "TYPEGRAPHQL_BOOTSTRAP_ERROR", - error_name: er.name, - message: er.message, - stack: er.stack - }); - /* istanbul ignore next */ - process.exit(-1); - } - } - - return this.get(id)!; - } - - /** - * Create a new type-graphql Schema and bind it with Ts.ED injector. - * @param buildSchemaOptions - */ - createSchema(buildSchemaOptions: BuildSchemaOptions) { - return buildSchema(buildSchemaOptions); - } - - /** - * Get an instance of GraphQL schema from his id - * @returns GraphQLSchema - */ - getSchema(id: string = "default"): GraphQLSchema | undefined { - return this.apolloService.getSchema(getKey(id)); - } - - protected getResolvers(id: string, resolvers: Type[]): Type[] { - const globalResolvers = this.injector - .getProviders(RESOLVERS_PROVIDERS) - .filter((provider) => { - const opts = provider.store.get("graphql"); - - return !opts?.id || opts?.id === id; - }) - .map((provider) => { - return provider.useClass; - }); - - return resolvers - .map((resolver) => { - if (!(this.injector.has(resolver) || !isClass(resolver))) { - this.injector - .addProvider(resolver, { - useClass: resolver - }) - .invoke(resolver); - } - - return resolver; - }) - .concat(globalResolvers); - } -} diff --git a/packages/graphql/typegraphql/test/app/Server.ts b/packages/graphql/typegraphql/test/app/Server.ts index 2c7bbbaee2d..a9ca6b17bd4 100644 --- a/packages/graphql/typegraphql/test/app/Server.ts +++ b/packages/graphql/typegraphql/test/app/Server.ts @@ -1,22 +1,29 @@ import "@tsed/ajv"; -import {Configuration, Constant, Inject, PlatformApplication} from "@tsed/common"; import "@tsed/graphql-ws"; import "@tsed/passport"; -import "@tsed/typegraphql"; +import "../../src/index.js"; +import "./graphql/index.js"; +import "./protocols/GraphQLProtocol.js"; +import "./services/RecipeService.js"; +import "./services/UsersRepository.js"; +import "@tsed/platform-log-request"; + import * as fs from "node:fs"; import {join} from "node:path"; + +import {ApolloContext} from "@tsed/apollo"; +import {Configuration, Constant, Inject, PlatformApplication, PlatformContext} from "@tsed/common"; import {buildContext} from "graphql-passport"; import {resolve} from "path"; + import {HelloController} from "./controllers/HelloController.js"; import {User} from "./graphql/auth/User.js"; -import "./graphql/index"; import {AuthResolver} from "./graphql/index.js"; -import "./protocols/GraphQLProtocol"; -import "./services/RecipeService"; -import "./services/UsersRepository"; +import {pubSub} from "./graphql/pubsub/pubsub.js"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build const rootCert = join(rootDir, "../.."); + @Configuration({ rootDir, port: 8001, @@ -26,25 +33,18 @@ const rootCert = join(rootDir, "../.."); cert: fs.readFileSync(join(rootCert, "selfsigned.crt")) }, logger: { - level: "info", - logRequest: true + level: "info" }, mount: { "/rest": [HelloController] }, - graphql: { + apollo: { default: { path: "/api/graphql", resolvers: [AuthResolver], buildSchemaOptions: { - emitSchemaFile: resolve(rootDir, "../resources/schema.gql") - }, - serverConfig: { - csrfPrevention: true, - cache: "bounded", - context({req, res}: any) { - return buildContext({req, res, User}); - } + emitSchemaFile: resolve(rootDir, "../resources/schema.gql"), + pubSub } } }, @@ -59,11 +59,21 @@ export class Server { @Constant("PLATFORM_NAME") platformName: string; + $alterApolloContext(context: ApolloContext, $ctx: PlatformContext) { + return buildContext({ + ...context, + req: $ctx.getRequest(), + res: $ctx.getResponse(), + User + }); + } + /** * This method let you configure the middleware required by your application to works. * @returns {Server} */ public async $beforeRoutesInit() { + // @ts-ignore if (this.platformName === "express") { const {default: bodyParser} = await import("body-parser"); const {default: session} = await import("express-session"); @@ -100,6 +110,7 @@ export class Server { const {default: bodyParser} = await import("koa-bodyparser"); const {default: compress} = await import("koa-compress"); const {default: session} = await import("koa-session"); + // @ts-ignore const {default: cors} = await import("@koa/cors"); // @ts-ignore const {default: methodOverride} = await import("koa-override"); diff --git a/packages/graphql/typegraphql/test/app/controllers/HelloController.ts b/packages/graphql/typegraphql/test/app/controllers/HelloController.ts index dabd6a66a2d..b42068fd556 100644 --- a/packages/graphql/typegraphql/test/app/controllers/HelloController.ts +++ b/packages/graphql/typegraphql/test/app/controllers/HelloController.ts @@ -1,4 +1,5 @@ -import {Controller, Get} from "@tsed/common"; +import {Controller} from "@tsed/di"; +import {Get} from "@tsed/schema"; @Controller("/") export class HelloController { diff --git a/packages/graphql/typegraphql/test/app/graphql/auth/AuthResolver.ts b/packages/graphql/typegraphql/test/app/graphql/auth/AuthResolver.ts index 87ab722772a..dc5750161ce 100644 --- a/packages/graphql/typegraphql/test/app/graphql/auth/AuthResolver.ts +++ b/packages/graphql/typegraphql/test/app/graphql/auth/AuthResolver.ts @@ -1,5 +1,6 @@ import {PassportContext} from "graphql-passport"; import {Arg, Ctx, Mutation, Query, Resolver} from "type-graphql"; + import {User} from "./User.js"; export interface GQLContext extends PassportContext {} @@ -21,6 +22,6 @@ export class AuthResolver { // only required if express-session is used await context.login(user!); - return user; + return user!; } } diff --git a/packages/graphql/typegraphql/test/app/graphql/datasources/MyDataSource.ts b/packages/graphql/typegraphql/test/app/graphql/datasources/MyDataSource.ts index 19880a3f486..7ccdf3e9233 100644 --- a/packages/graphql/typegraphql/test/app/graphql/datasources/MyDataSource.ts +++ b/packages/graphql/typegraphql/test/app/graphql/datasources/MyDataSource.ts @@ -1,8 +1,14 @@ -import {DataSource} from "@tsed/typegraphql"; -import {RESTDataSource} from "apollo-datasource-rest"; +import {RESTDataSource} from "@apollo/datasource-rest"; +import {ApolloContext} from "@tsed/apollo"; +import {InjectContext} from "@tsed/common"; + +import {DataSource} from "../../../../src/index.js"; @DataSource() export class MyDataSource extends RESTDataSource { + @InjectContext() + context: ApolloContext & {token: string}; + constructor() { super(); this.baseURL = "http://localhost:8001"; diff --git a/packages/graphql/typegraphql/test/app/graphql/index.ts b/packages/graphql/typegraphql/test/app/graphql/index.ts index 1a2efbd3e1e..74379f25557 100644 --- a/packages/graphql/typegraphql/test/app/graphql/index.ts +++ b/packages/graphql/typegraphql/test/app/graphql/index.ts @@ -2,5 +2,5 @@ export * from "./auth/AuthResolver.js"; export * from "./auth/User.js"; export * from "./datasources/MyDataSource.js"; export * from "./recipes/Recipe.js"; -export * from "./recipes/RecipeResolver.js"; export * from "./recipes/RecipeNotFoundError.js"; +export * from "./recipes/RecipeResolver.js"; diff --git a/packages/graphql/typegraphql/test/app/graphql/pubsub/pubsub.ts b/packages/graphql/typegraphql/test/app/graphql/pubsub/pubsub.ts new file mode 100644 index 00000000000..3f732bfd81b --- /dev/null +++ b/packages/graphql/typegraphql/test/app/graphql/pubsub/pubsub.ts @@ -0,0 +1,16 @@ +import {createPubSub} from "@graphql-yoga/subscription"; +import {registerProvider} from "@tsed/common"; + +import {RecipeNotification} from "../recipes/Recipe.js"; + +export const pubSub = createPubSub<{ + NOTIFICATIONS: [RecipeNotification]; +}>(); + +export const PubSubProvider = Symbol.for("PubSubProvider"); +export type PubSubProvider = typeof pubSub; + +registerProvider({ + provide: PubSubProvider, + useValue: pubSub +}); diff --git a/packages/graphql/typegraphql/test/app/graphql/recipes/RecipeResolver.ts b/packages/graphql/typegraphql/test/app/graphql/recipes/RecipeResolver.ts index 8e532034ac1..2f290f0a45c 100644 --- a/packages/graphql/typegraphql/test/app/graphql/recipes/RecipeResolver.ts +++ b/packages/graphql/typegraphql/test/app/graphql/recipes/RecipeResolver.ts @@ -1,12 +1,14 @@ import {InjectContext, PlatformContext} from "@tsed/common"; import {Inject} from "@tsed/di"; -import {ResolverService} from "@tsed/typegraphql"; -import {Arg, Mutation, Publisher, PubSub, Query, Root, Subscription} from "type-graphql"; +import {Arg, Mutation, Query, Root, Subscription} from "type-graphql"; + +import {ResolverController} from "../../../../src/index.js"; import {RecipeService} from "../../services/RecipeService.js"; +import {PubSubProvider} from "../pubsub/pubsub.js"; import {Recipe, RecipeNotification} from "./Recipe.js"; import {RecipeNotFoundError} from "./RecipeNotFoundError.js"; -@ResolverService((_of) => Recipe) +@ResolverController((_of) => Recipe) export class RecipeResolver { @InjectContext() private $ctx: PlatformContext; @@ -14,6 +16,9 @@ export class RecipeResolver { @Inject() private recipeService: RecipeService; + @Inject(PubSubProvider) + private pubSub: PubSubProvider; + @Query((returns) => Recipe) async recipe(@Arg("id") id: string) { const recipe = await this.recipeService.findById(id); @@ -32,13 +37,11 @@ export class RecipeResolver { } @Mutation((returns) => Recipe) - async addRecipe( - @Arg("title") title: string, - @Arg("description") description: string, - @PubSub("NOTIFICATIONS") publish: Publisher - ) { + async addRecipe(@Arg("title") title: string, @Arg("description") description: string) { const payload = await this.recipeService.create({title, description}); - await publish(payload); + const notification = new RecipeNotification(payload); + + this.pubSub.publish("NOTIFICATIONS", notification); return payload; } diff --git a/packages/graphql/typegraphql/test/app/index.express.ts b/packages/graphql/typegraphql/test/app/index.express.ts index b10c5bdd06d..fdd368deaf2 100644 --- a/packages/graphql/typegraphql/test/app/index.express.ts +++ b/packages/graphql/typegraphql/test/app/index.express.ts @@ -1,5 +1,6 @@ import {$log} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; + import {Server} from "./Server.js"; if (process.env.NODE_ENV !== "test") { diff --git a/packages/graphql/typegraphql/test/app/index.koa.ts b/packages/graphql/typegraphql/test/app/index.koa.ts index 28c1b0226a3..d852a9230a3 100644 --- a/packages/graphql/typegraphql/test/app/index.koa.ts +++ b/packages/graphql/typegraphql/test/app/index.koa.ts @@ -1,5 +1,6 @@ import {$log} from "@tsed/common"; import {PlatformKoa} from "@tsed/platform-koa"; + import {Server} from "./Server.js"; if (process.env.NODE_ENV !== "test") { diff --git a/packages/graphql/typegraphql/test/app/protocols/GraphQLProtocol.ts b/packages/graphql/typegraphql/test/app/protocols/GraphQLProtocol.ts index 0f0a5264d26..eb58d7ba0f7 100644 --- a/packages/graphql/typegraphql/test/app/protocols/GraphQLProtocol.ts +++ b/packages/graphql/typegraphql/test/app/protocols/GraphQLProtocol.ts @@ -2,6 +2,7 @@ import {Inject, Req} from "@tsed/common"; import {Unauthorized} from "@tsed/exceptions"; import {Arg, OnVerify, Protocol} from "@tsed/passport"; import {GraphQLLocalStrategy} from "graphql-passport"; + import {UsersRepository} from "../services/UsersRepository.js"; @Protocol({ diff --git a/packages/graphql/typegraphql/test/app/services/RecipeService.ts b/packages/graphql/typegraphql/test/app/services/RecipeService.ts index 956232b995a..8fd9d04e70a 100644 --- a/packages/graphql/typegraphql/test/app/services/RecipeService.ts +++ b/packages/graphql/typegraphql/test/app/services/RecipeService.ts @@ -1,4 +1,5 @@ import {Service} from "@tsed/common"; + import {Recipe} from "../graphql/recipes/Recipe.js"; @Service() diff --git a/packages/graphql/typegraphql/test/app/services/UsersRepository.ts b/packages/graphql/typegraphql/test/app/services/UsersRepository.ts index 3e8f0ecfbd2..0828dc72a88 100644 --- a/packages/graphql/typegraphql/test/app/services/UsersRepository.ts +++ b/packages/graphql/typegraphql/test/app/services/UsersRepository.ts @@ -1,6 +1,7 @@ import {Adapter, InjectAdapter} from "@tsed/adapters"; import {Injectable} from "@tsed/di"; import {deserialize} from "@tsed/json-mapper"; + import {User} from "../graphql/auth/User.js"; @Injectable() diff --git a/packages/graphql/typegraphql/test/poc/koa.js b/packages/graphql/typegraphql/test/poc/koa.js index 65940a538c7..167e404ccd9 100644 --- a/packages/graphql/typegraphql/test/poc/koa.js +++ b/packages/graphql/typegraphql/test/poc/koa.js @@ -1,8 +1,8 @@ -import {ApolloServer, gql} from "apollo-server-koa"; -import {ApolloServerPluginDrainHttpServer} from "apollo-server-core"; -import Koa from "koa"; import KoaRouter from "@koa/router"; +import {ApolloServerPluginDrainHttpServer} from "apollo-server-core"; +import {ApolloServer, gql} from "apollo-server-koa"; import http from "http"; +import Koa from "koa"; const app = new Koa(); const mainRouter = new KoaRouter(); diff --git a/packages/graphql/typegraphql/test/resources/schema.gql b/packages/graphql/typegraphql/test/resources/schema.gql index f195019f5df..eb1a2683b53 100644 --- a/packages/graphql/typegraphql/test/resources/schema.gql +++ b/packages/graphql/typegraphql/test/resources/schema.gql @@ -4,9 +4,9 @@ # ----------------------------------------------- """ -The javascript `Date` as string. Type represents date and time as the ISO Date string. +A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.This scalar is serialized to a string in ISO 8601 format and parsed from a string in ISO 8601 format. """ -scalar DateTime +scalar DateTimeISO type Mutation { addRecipe(description: String!, title: String!): Recipe! @@ -23,7 +23,7 @@ type Query { """Object representing cooking recipe""" type Recipe { - creationDate: DateTime! + creationDate: DateTimeISO! description: String id: ID! ingredients: [String!]! @@ -31,8 +31,8 @@ type Recipe { } type RecipeNotification { - creationDate: DateTime! - date: DateTime! + creationDate: DateTimeISO! + date: DateTimeISO! description: String id: ID! ingredients: [String!]! @@ -49,4 +49,4 @@ type User { emailVerified: Boolean! id: ID! password: String! -} +} \ No newline at end of file diff --git a/packages/graphql/typegraphql/test/graphql-passport.spec.ts b/packages/graphql/typegraphql/test/typegraphql-passport.spec.ts similarity index 84% rename from packages/graphql/typegraphql/test/graphql-passport.spec.ts rename to packages/graphql/typegraphql/test/typegraphql-passport.spec.ts index a49f1bbe50a..14cea133821 100644 --- a/packages/graphql/typegraphql/test/graphql-passport.spec.ts +++ b/packages/graphql/typegraphql/test/typegraphql-passport.spec.ts @@ -1,10 +1,12 @@ +import "@tsed/platform-express"; + import {PlatformTest} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; -import "@tsed/platform-express"; import SuperTest from "supertest"; + import {Server} from "./app/Server.js"; -describe("GraphQL", () => { +describe("TypeGraphQL", () => { let request: SuperTest.Agent; beforeAll( PlatformTest.bootstrap(Server, { @@ -51,14 +53,7 @@ describe("GraphQL", () => { errors: [ { extensions: { - code: "INTERNAL_SERVER_ERROR", - exception: { - headers: {}, - // message: "Wrong credentials", - name: "UNAUTHORIZED", - status: 401, - type: "HTTP_EXCEPTION" - } + code: "INTERNAL_SERVER_ERROR" }, locations: [ { diff --git a/packages/graphql/typegraphql/test/graphql.spec.ts b/packages/graphql/typegraphql/test/typegraphql.spec.ts similarity index 59% rename from packages/graphql/typegraphql/test/graphql.spec.ts rename to packages/graphql/typegraphql/test/typegraphql.spec.ts index 4bbfea4886a..2a7b9c9d7e3 100644 --- a/packages/graphql/typegraphql/test/graphql.spec.ts +++ b/packages/graphql/typegraphql/test/typegraphql.spec.ts @@ -1,10 +1,11 @@ -import {PlatformTest, runInContext} from "@tsed/common"; import "@tsed/platform-express"; -import {PlatformExpress} from "@tsed/platform-express"; -import {ApolloServerTestClient, createTestClient} from "apollo-server-testing"; -import gql from "graphql-tag"; import "@tsed/graphql-ws"; -import {TypeGraphQLService} from "../src/index.js"; + +import {ApolloService} from "@tsed/apollo"; +import {PlatformTest, runInContext} from "@tsed/common"; +import {PlatformExpress} from "@tsed/platform-express"; +import {gql} from "graphql-tag"; + import {Server} from "./app/Server.js"; const GET_RECIPES = gql` @@ -27,46 +28,48 @@ const ADD_RECIPE = gql` } `; -describe("GraphQL", () => { - let request: ApolloServerTestClient; +describe("TypeGraphQL", () => { beforeAll( PlatformTest.bootstrap(Server, { platform: PlatformExpress }) ); - beforeAll(() => { - const server = PlatformTest.get(TypeGraphQLService).get("default")!; - request = createTestClient(server as any); - }); afterAll(PlatformTest.reset); it("should get recipes", async () => { const $ctx = PlatformTest.createRequestContext(); + const server = PlatformTest.get(ApolloService); const response = await runInContext($ctx, () => { - return request.query({ + return server.get()!.executeOperation({ query: GET_RECIPES, variables: {} }); }); expect($ctx.get("test")).toEqual("test"); - expect(response.data).toEqual({ - recipes: [ - { - creationDate: "2020-08-20T00:00:00.000Z", - description: "Description", - title: "title" + expect(response.body).toEqual({ + kind: "single", + singleResult: { + data: { + recipes: [ + { + creationDate: expect.any(String), + description: "Description", + title: "title" + } + ] } - ] + } }); }); it("should add recipe", async () => { const $ctx = PlatformTest.createRequestContext(); + const server = PlatformTest.get(ApolloService); const response = await runInContext($ctx, () => { - return request.query({ + return server.get()!.executeOperation({ query: ADD_RECIPE, variables: { title: "title", @@ -75,11 +78,16 @@ describe("GraphQL", () => { }); }); - expect(response.data).toEqual({ - addRecipe: { - creationDate: expect.any(String), - description: "description", - title: "title" + expect(response.body).toEqual({ + kind: "single", + singleResult: { + data: { + addRecipe: { + creationDate: expect.any(String), + description: "description", + title: "title" + } + } } }); }); diff --git a/packages/graphql/typegraphql/tsconfig.cjs.json b/packages/graphql/typegraphql/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/graphql/typegraphql/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/graphql/typegraphql/tsconfig.esm.json b/packages/graphql/typegraphql/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/graphql/typegraphql/tsconfig.esm.json +++ b/packages/graphql/typegraphql/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/graphql/typegraphql/tsconfig.json b/packages/graphql/typegraphql/tsconfig.json index d670d6d9a3d..bb6118d59c4 100644 --- a/packages/graphql/typegraphql/tsconfig.json +++ b/packages/graphql/typegraphql/tsconfig.json @@ -13,10 +13,10 @@ "path": "../../core/tsconfig.json" }, { - "path": "../apollo/tsconfig.json" + "path": "../../platform/platform-express/tsconfig.json" }, { - "path": "./tsconfig.cjs.json" + "path": "../apollo/tsconfig.json" }, { "path": "./tsconfig.esm.json" diff --git a/packages/graphql/typegraphql/tsconfig.spec.json b/packages/graphql/typegraphql/tsconfig.spec.json index 21485bab96d..1b2f6faac4b 100644 --- a/packages/graphql/typegraphql/tsconfig.spec.json +++ b/packages/graphql/typegraphql/tsconfig.spec.json @@ -3,35 +3,36 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"], + "@tsed/adapters": ["../../orm/adapters/src/index.ts"], + "@tsed/passport": ["../../security/passport/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/graphql/typegraphql/vitest.config.mts b/packages/graphql/typegraphql/vitest.config.mts index d759e817941..9e8cdd6a287 100644 --- a/packages/graphql/typegraphql/vitest.config.mts +++ b/packages/graphql/typegraphql/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 95, + branches: 72.72, + functions: 100, + lines: 95 } } } } -); +); \ No newline at end of file diff --git a/packages/orm/adapters-redis/.nycrc b/packages/orm/adapters-redis/.nycrc deleted file mode 100644 index 078595b9b5c..00000000000 --- a/packages/orm/adapters-redis/.nycrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "include": [ - "src/**/*.ts" - ], - "exclude": [ - "**/*.d.ts", - "node_modules", - "**/interfaces/**", - "**/index.ts" - ], - "extension": [ - ".ts" - ], - "require": [], - "reporter": [ - "text-summary", - "html", - "lcov", - "json" - ], - "check-coverage": true, - "statements": 100, - "branches": 78.22, - "functions": 100, - "lines": 100 -} diff --git a/packages/orm/adapters-redis/package.json b/packages/orm/adapters-redis/package.json index 06a7c68d1e9..6f5a184a3eb 100644 --- a/packages/orm/adapters-redis/package.json +++ b/packages/orm/adapters-redis/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/adapters-redis", "description": "Redis adapter for Ts.ED", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -25,23 +24,23 @@ "dependencies": { "@tsed/adapters": "workspace:*", "@tsed/ioredis": "workspace:*", - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", "@tsed/core": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/adapters": "7.83.3", - "@tsed/common": "7.83.3", - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", + "@tsed/adapters": "8.0.0-alpha.10", + "@tsed/common": "8.0.0-alpha.10", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", "ioredis": ">=5.2.3", "ioredis-mock": ">=8.2.2", - "uuid": "^9.0.1" + "uuid": "^10.0.0" } } diff --git a/packages/orm/adapters-redis/src/adapters/OIDCRedisAdapter.spec.ts b/packages/orm/adapters-redis/src/adapters/OIDCRedisAdapter.spec.ts index 661e0821051..99f870c8b27 100644 --- a/packages/orm/adapters-redis/src/adapters/OIDCRedisAdapter.spec.ts +++ b/packages/orm/adapters-redis/src/adapters/OIDCRedisAdapter.spec.ts @@ -1,6 +1,6 @@ import {Adapters} from "@tsed/adapters"; import {IORedisTest, registerConnectionProvider} from "@tsed/ioredis"; -import Redis from "ioredis"; +import {Redis} from "ioredis"; // @ts-ignore import IORedisMock from "ioredis-mock"; import moment from "moment"; diff --git a/packages/orm/adapters-redis/src/adapters/OIDCRedisAdapter.ts b/packages/orm/adapters-redis/src/adapters/OIDCRedisAdapter.ts index 1912a4acea7..73436c20eed 100644 --- a/packages/orm/adapters-redis/src/adapters/OIDCRedisAdapter.ts +++ b/packages/orm/adapters-redis/src/adapters/OIDCRedisAdapter.ts @@ -1,7 +1,7 @@ import {AdapterModel} from "@tsed/adapters"; import {Configuration, Inject, Opts} from "@tsed/di"; +import {IORedis, IOREDIS_CONNECTIONS} from "@tsed/ioredis"; import {ChainableCommander} from "ioredis"; -import {IOREDIS_CONNECTIONS, IORedis} from "@tsed/ioredis"; import {RedisAdapter, RedisAdapterConstructorOptions} from "./RedisAdapter.js"; @@ -87,7 +87,6 @@ export class OIDCRedisAdapter extends RedisAdapter { } async revokeByGrantId(grantId: string) { - // eslint-disable-line class-methods-use-this const multi = this.db.multi(); const key = grantKeyFor(grantId); const tokens = await this.db.lrange(key, 0, -1); diff --git a/packages/orm/adapters-redis/src/adapters/RedisAdapter.spec.ts b/packages/orm/adapters-redis/src/adapters/RedisAdapter.spec.ts index e2413fbe914..d7ecf2b550f 100644 --- a/packages/orm/adapters-redis/src/adapters/RedisAdapter.spec.ts +++ b/packages/orm/adapters-redis/src/adapters/RedisAdapter.spec.ts @@ -2,6 +2,7 @@ import {AdapterModel, Adapters, Indexed} from "@tsed/adapters"; import {IORedisTest, registerConnectionProvider} from "@tsed/ioredis"; import {deserialize} from "@tsed/json-mapper"; import {Property, Required} from "@tsed/schema"; + import {RedisAdapter} from "./RedisAdapter.js"; const REDIS_CONNECTION = Symbol.for("redis_connection"); diff --git a/packages/orm/adapters-redis/tsconfig.cjs.json b/packages/orm/adapters-redis/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/orm/adapters-redis/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/orm/adapters-redis/tsconfig.esm.json b/packages/orm/adapters-redis/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/orm/adapters-redis/tsconfig.esm.json +++ b/packages/orm/adapters-redis/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/orm/adapters-redis/tsconfig.json b/packages/orm/adapters-redis/tsconfig.json index 74d041ac7dc..d3d9f5fbdd5 100644 --- a/packages/orm/adapters-redis/tsconfig.json +++ b/packages/orm/adapters-redis/tsconfig.json @@ -21,9 +21,6 @@ { "path": "../ioredis/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/orm/adapters-redis/tsconfig.spec.json b/packages/orm/adapters-redis/tsconfig.spec.json index 21485bab96d..5a6e5c12b13 100644 --- a/packages/orm/adapters-redis/tsconfig.spec.json +++ b/packages/orm/adapters-redis/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/orm/adapters/package.json b/packages/orm/adapters/package.json index 4613b3ae9d6..4304be72ed8 100644 --- a/packages/orm/adapters/package.json +++ b/packages/orm/adapters/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/adapters", "description": "Database adapters for Ts.ED", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -24,13 +23,13 @@ }, "dependencies": { "@types/lowdb": "1.0.15", - "@types/uuid": "9.0.8", - "change-case": "^4.1.2", + "@types/uuid": "^10.0.0", + "change-case": "^5.4.4", "fs-extra": "11.2.0", "lodash": "^4.17.21", - "lowdb": "1.0.0", - "tslib": "2.6.1", - "uuid": "9.0.1" + "lowdb": "7.0.1", + "tslib": "2.7.0", + "uuid": "^10.0.0" }, "devDependencies": { "@tsed/ajv": "workspace:*", @@ -42,17 +41,17 @@ "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", "@types/fs-extra": "11.0.4", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/ajv": "7.83.3", - "@tsed/common": "7.83.3", - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/json-mapper": "7.83.3", - "@tsed/schema": "7.83.3" + "@tsed/ajv": "8.0.0-alpha.10", + "@tsed/common": "8.0.0-alpha.10", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/json-mapper": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10" }, "peerDependenciesMeta": { "@tsed/ajv": { diff --git a/packages/orm/adapters/src/adapters/FileSyncAdapter.spec.ts b/packages/orm/adapters/src/adapters/FileSyncAdapter.spec.ts index de3908468b0..09d692e9266 100644 --- a/packages/orm/adapters/src/adapters/FileSyncAdapter.spec.ts +++ b/packages/orm/adapters/src/adapters/FileSyncAdapter.spec.ts @@ -1,6 +1,7 @@ +import {faker} from "@faker-js/faker"; import {PlatformTest} from "@tsed/common"; import {Property} from "@tsed/schema"; -import faker from "@faker-js/faker"; + import {Adapter} from "../domain/Adapter.js"; import {Adapters} from "../services/Adapters.js"; import {FileSyncAdapter} from "./FileSyncAdapter.js"; @@ -33,7 +34,7 @@ describe("FileSyncAdapter", () => { describe("create()", () => { it("should create a new instance", async () => { const base = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; const client = await adapter.create(base); @@ -47,7 +48,7 @@ describe("FileSyncAdapter", () => { describe("findById()", () => { it("should create a new instance", async () => { const base = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; const client = await adapter.create(base); @@ -62,7 +63,7 @@ describe("FileSyncAdapter", () => { describe("findOne()", () => { it("should create a new instance", async () => { const base = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; const client = await adapter.create(base); @@ -79,7 +80,7 @@ describe("FileSyncAdapter", () => { describe("deleteOne()", () => { it("should delete instance", async () => { const base = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; const client = await adapter.create(base); @@ -119,7 +120,7 @@ describe("FileSyncAdapter", () => { describe("create()", () => { it("should create a new instance", async () => { const base = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; const client = await adapter.create(base); @@ -133,7 +134,7 @@ describe("FileSyncAdapter", () => { describe("findById()", () => { it("should create a new instance", async () => { const base = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; const client = await adapter.create(base); @@ -148,7 +149,7 @@ describe("FileSyncAdapter", () => { describe("findOne()", () => { it("should create a new instance", async () => { const base = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; const client = await adapter.create(base); diff --git a/packages/orm/adapters/src/adapters/FileSyncAdapter.ts b/packages/orm/adapters/src/adapters/FileSyncAdapter.ts index 6bab65c03ff..8764e1c6cbc 100644 --- a/packages/orm/adapters/src/adapters/FileSyncAdapter.ts +++ b/packages/orm/adapters/src/adapters/FileSyncAdapter.ts @@ -1,11 +1,12 @@ import {nameOf} from "@tsed/core"; import {Configuration, Injectable, Opts, ProviderScope, Scope} from "@tsed/di"; import fs from "fs-extra"; -import low from "lowdb"; -import FileSync from "lowdb/adapters/FileSync.js"; +import {LowSync} from "lowdb"; +import {JSONFileSync} from "lowdb/node"; import {dirname} from "path"; + import {AdapterConstructorOptions} from "../domain/Adapter.js"; -import {AdapterModel, LowDbAdapter} from "./LowDbAdapter.js"; +import {AdapterModel, LowDbAdapter, type LowModel} from "./LowDbAdapter.js"; export interface FileSyncAdapterConstructorOptions extends AdapterConstructorOptions { readOnly: true; @@ -19,19 +20,17 @@ export class FileSyncAdapter extends LowDbAdapter { fs.ensureDirSync(dirname(this.dbFilePath)); - const file = new FileSync<{collection: T[]}>(this.dbFilePath); + const file = new JSONFileSync>(this.dbFilePath); - this.db = low(file); - this.db - .defaults({ - collectionName: this.collectionName, - modelName: nameOf(this.model), - collection: [] - }) - .write(); + this.db = new LowSync>(file, { + collectionName: this.collectionName, + modelName: nameOf(this.model), + collection: [] + }); + this.db.write(); if (options.readOnly) { - file.write = () => {}; + file.write = (() => {}) as any; } } } diff --git a/packages/orm/adapters/src/adapters/LowDbAdapter.spec.ts b/packages/orm/adapters/src/adapters/LowDbAdapter.spec.ts new file mode 100644 index 00000000000..d96e54c575d --- /dev/null +++ b/packages/orm/adapters/src/adapters/LowDbAdapter.spec.ts @@ -0,0 +1,205 @@ +import {faker} from "@faker-js/faker"; +import {PlatformTest} from "@tsed/common"; +import {deserialize} from "@tsed/json-mapper"; +import {Format, Name, Property} from "@tsed/schema"; + +import {Adapter, Adapters, MemoryAdapter} from "../../src/index.js"; + +class BaseClient { + @Format("date-time") + createdAt: Date; +} + +class Client extends BaseClient { + @Name("id") + _id: string; + + @Property() + name: string; +} + +describe("MemoryAdapter", () => { + let adapter: Adapter; + beforeEach(() => PlatformTest.create()); + afterEach(() => PlatformTest.reset()); + beforeEach(() => { + adapter = PlatformTest.get(Adapters).invokeAdapter({ + collectionName: "clients", + model: Client, + adapter: MemoryAdapter + }); + }); + + describe("create()", () => { + it("should create a new instance", async () => { + const base = deserialize( + { + name: faker.person.firstName(), + createdAt: faker.date.past() + }, + {type: Client} + ); + + const client = await adapter.create(base); + + expect(client).toBeInstanceOf(Client); + expect(typeof client._id).toBe("string"); + expect(client.name).toBe(base.name); + expect(client.createdAt).toEqual(base.createdAt); + }); + + it("should create a new instance with expireAt", async () => { + const base = { + name: faker.person.firstName() + }; + + const client = await adapter.create(base, new Date()); + + expect(client).toBeInstanceOf(Client); + expect(typeof client._id).toBe("string"); + expect(client.name).toBe(base.name); + }); + }); + + describe("upsert()", () => { + it("should create a new instance if not exists", async () => { + const base: any = { + name: faker.person.firstName() + }; + + const client = await adapter.upsert(base._id, base); + + expect(client).toBeInstanceOf(Client); + expect(typeof client._id).toBe("string"); + expect(client.name).toBe(base.name); + }); + + it("should update instance if exists", async () => { + const base: any = { + name: faker.person.firstName() + }; + + const client = await adapter.upsert(base._id, base); + const client2 = await adapter.upsert(client._id, client); + + expect(client2).toBeInstanceOf(Client); + expect(typeof client2._id).toBe("string"); + expect(client2.name).toBe(base.name); + }); + }); + + describe("updateOne()", () => { + it("should update an instance", async () => { + const base = { + name: faker.person.firstName() + }; + + const client = await adapter.create(base); + + const update = { + _id: client._id, + name: faker.person.firstName() + }; + + const client2 = await adapter.updateOne({_id: client._id}, update); + + expect(client2).toBeInstanceOf(Client); + expect(typeof client2?._id).toBe("string"); + expect(client2?.name).not.toBe(base.name); + expect(client2?.name).toBe(update.name); + }); + it("should return undefined", async () => { + const base = { + name: faker.person.firstName() + }; + + const client = await adapter.updateOne({_id: faker.string.uuid()}, base); + + expect(client).toBeUndefined(); + }); + }); + + describe("findById()", () => { + it("should find by ID", async () => { + const base = { + name: faker.person.firstName() + }; + + const client = await adapter.create(base); + const result = await adapter.findById(client._id); + + expect(result).toBeInstanceOf(Client); + expect(result?._id).toBe(client._id); + expect(result?.name).toBe(base.name); + }); + }); + + describe("findOne()", () => { + it("should find one item", async () => { + const base = { + name: faker.person.firstName() + }; + + const client = await adapter.create(base); + + const result = await adapter.findOne({ + name: base.name + }); + + expect(result).toBeInstanceOf(Client); + expect(result?._id).toBe(client._id); + expect(result?.name).toBe(base.name); + }); + }); + describe("findAll()", () => { + it("should find all items", async () => { + const base = { + name: faker.person.firstName() + }; + + await adapter.create(base); + + const result = await adapter.findAll({ + name: base.name + }); + + expect(result[0]).toBeInstanceOf(Client); + expect(result[0].name).toBe(base.name); + }); + }); + describe("deleteById()", () => { + it("should delete an item by id", async () => { + const base = { + name: faker.person.firstName() + }; + + const client = await adapter.create(base); + + const result = await adapter.deleteById(client._id); + + expect(result).toBeInstanceOf(Client); + expect(result?.name).toBe(base.name); + }); + }); + describe("deleteMany()", () => { + it("should delete many", async () => { + const base = { + name: faker.person.firstName() + }; + + const client = await adapter.create(base); + + await adapter.create({ + name: faker.person.firstName() + }); + await adapter.create({ + name: faker.person.firstName() + }); + + const result = await adapter.deleteMany(client); + + expect(result[0]).toBeInstanceOf(Client); + expect(result[0]?.name).toBe(base.name); + }); + }); +}); diff --git a/packages/orm/adapters/src/adapters/LowDbAdapter.ts b/packages/orm/adapters/src/adapters/LowDbAdapter.ts index f3037b3119e..cc02a7237fe 100644 --- a/packages/orm/adapters/src/adapters/LowDbAdapter.ts +++ b/packages/orm/adapters/src/adapters/LowDbAdapter.ts @@ -1,7 +1,9 @@ import {cleanObject} from "@tsed/core"; +import _ from "lodash"; import isMatch from "lodash/isMatch.js"; -import low from "lowdb"; +import type {Low, LowSync} from "lowdb"; import {v4 as uuid} from "uuid"; + import {Adapter} from "../domain/Adapter.js"; export interface AdapterModel { @@ -11,11 +13,17 @@ export interface AdapterModel { [key: string]: any; } +export interface LowModel { + collection: T[]; + collectionName?: string; + modelName?: string; +} + export class LowDbAdapter extends Adapter { - protected db: low.LowdbSync<{collection: T[]}>; + protected db: LowSync> | Low>; get collection() { - return this.db.get("collection"); + return this.db.data!.collection!; } protected get dbFilePath() { @@ -32,7 +40,7 @@ export class LowDbAdapter extends Adapter { await this.validate(payload as T); - await this.collection.push(this.serialize(payload) as T).write(); + await this.db.update(({collection}) => collection.push(this.serialize(payload))); return this.deserialize(payload); } @@ -48,9 +56,9 @@ export class LowDbAdapter extends Adapter { const item = this.serialize(payload); item.expires_at = expiresAt; - await this.collection.push(item).write(); + await this.db.update(({collection}) => collection.push(item)); - return this.deserialize(payload); + return this.deserialize(item); } return (await this.update(id, payload, expiresAt)) as T; @@ -61,27 +69,26 @@ export class LowDbAdapter extends Adapter { } public async updateOne(predicate: Partial, payload: T, expiresAt?: Date): Promise { - let index = this.collection.findIndex(cleanObject(predicate)).value(); + let index = _.findIndex(this.collection, cleanObject(predicate)); if (index === -1) { return; } - let item = this.deserialize(this.collection.get(index).value()); + let item = this.deserialize(this.collection[index]); Object.assign(item, payload, {_id: item._id}); await this.validate(item as T); item.expires_at = expiresAt || item.expires_at; - - await this.collection.set(index, item).write(); + this.db.update(({collection}) => (collection[index] = item)); return this.deserialize(item); } findOne(predicate: Partial): Promise { - const item = this.collection.find(cleanObject(predicate)).value(); + const item = _.find(this.collection, cleanObject(predicate)); return this.deserialize(item); } @@ -90,20 +97,15 @@ export class LowDbAdapter extends Adapter { return this.findOne({_id}); } - public findAll(predicate: Partial = {}): Promise { - return Promise.resolve( - this.collection - .filter(cleanObject(predicate)) - .value() - .map((item) => this.deserialize(item)) - ); + public async findAll(predicate: Partial = {}): Promise { + return _.filter(this.collection, cleanObject(predicate)).map((item) => this.deserialize(item)); } public deleteOne(predicate: Partial): Promise { - const item = this.collection.find(cleanObject(predicate)).value(); + const item = _.find(this.collection, cleanObject(predicate)); if (item) { - this.collection.remove(({_id}) => _id === item._id).write(); + _.remove(this.collection, ({_id}) => _id === item._id); return Promise.resolve(this.deserialize(item)); } @@ -118,15 +120,15 @@ export class LowDbAdapter extends Adapter { public async deleteMany(predicate: Partial): Promise { let removedItems: T[] = []; - await this.collection - .remove((item) => { + this.db.update((data) => { + _.remove(data.collection, (item) => { if (isMatch(item, cleanObject(predicate))) { removedItems.push(this.deserialize(item)); return true; } return false; - }) - .write(); + }); + }); return removedItems; } diff --git a/packages/orm/adapters/src/adapters/MemoryAdapter.spec.ts b/packages/orm/adapters/src/adapters/MemoryAdapter.spec.ts index 9b6f97faff7..a2a592f0a80 100644 --- a/packages/orm/adapters/src/adapters/MemoryAdapter.spec.ts +++ b/packages/orm/adapters/src/adapters/MemoryAdapter.spec.ts @@ -1,7 +1,8 @@ -import faker from "@faker-js/faker"; +import {faker} from "@faker-js/faker"; import {PlatformTest} from "@tsed/common"; import {deserialize} from "@tsed/json-mapper"; import {Format, getJsonSchema, Name, Property} from "@tsed/schema"; + import {Adapter} from "../domain/Adapter.js"; import {Adapters} from "../services/Adapters.js"; import {MemoryAdapter} from "./MemoryAdapter.js"; @@ -54,7 +55,7 @@ describe("MemoryAdapter", () => { it("should create a new instance", async () => { const base = deserialize( { - name: faker.name.jobTitle(), + name: faker.person.jobTitle(), createdAt: faker.date.past() }, {type: Client} @@ -70,7 +71,7 @@ describe("MemoryAdapter", () => { it("should create a new instance with expireAt", async () => { const base = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; const client = await adapter.create(base, new Date()); @@ -84,7 +85,7 @@ describe("MemoryAdapter", () => { describe("upsert()", () => { it("should create a new instance if not exists", async () => { const base: any = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; const client = await adapter.upsert(base._id, base); @@ -96,7 +97,7 @@ describe("MemoryAdapter", () => { it("should update instance if exists", async () => { const base: any = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; const client = await adapter.upsert(base._id, base); @@ -111,14 +112,14 @@ describe("MemoryAdapter", () => { describe("updateOne()", () => { it("should update an instance", async () => { const base = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; const client = await adapter.create(base); const update = { _id: client._id, - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; const client2 = await adapter.updateOne({_id: client._id}, update); @@ -130,10 +131,10 @@ describe("MemoryAdapter", () => { }); it("should return undefined", async () => { const base = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; - const client = await adapter.updateOne({_id: faker.datatype.uuid()}, base); + const client = await adapter.updateOne({_id: faker.string.uuid()}, base); expect(client).toBeUndefined(); }); @@ -142,7 +143,7 @@ describe("MemoryAdapter", () => { describe("findById()", () => { it("should find by ID", async () => { const base = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; const client = await adapter.create(base); @@ -157,7 +158,7 @@ describe("MemoryAdapter", () => { describe("findOne()", () => { it("should find one item", async () => { const base = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; const client = await adapter.create(base); @@ -174,7 +175,7 @@ describe("MemoryAdapter", () => { describe("findAll()", () => { it("should find all items", async () => { const base = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; await adapter.create(base); @@ -190,7 +191,7 @@ describe("MemoryAdapter", () => { describe("deleteById()", () => { it("should delete an item by id", async () => { const base = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; const client = await adapter.create(base); @@ -204,16 +205,16 @@ describe("MemoryAdapter", () => { describe("deleteMany()", () => { it("should delete many", async () => { const base = { - name: faker.name.jobTitle() + name: faker.person.jobTitle() }; const client = await adapter.create(base); await adapter.create({ - name: faker.name.jobTitle() + name: faker.person.jobTitle() }); await adapter.create({ - name: faker.name.jobTitle() + name: faker.person.jobTitle() }); const result = await adapter.deleteMany(client); diff --git a/packages/orm/adapters/src/adapters/MemoryAdapter.ts b/packages/orm/adapters/src/adapters/MemoryAdapter.ts index edcf795bacc..f549227b278 100644 --- a/packages/orm/adapters/src/adapters/MemoryAdapter.ts +++ b/packages/orm/adapters/src/adapters/MemoryAdapter.ts @@ -1,6 +1,6 @@ import {Configuration, Injectable, Opts, ProviderScope, Scope} from "@tsed/di"; -import low from "lowdb"; -import Memory from "lowdb/adapters/Memory.js"; +import {Low, Memory} from "lowdb"; + import {AdapterModel, LowDbAdapter} from "./LowDbAdapter.js"; @Injectable() @@ -9,11 +9,12 @@ export class MemoryAdapter extends LowDbAdapter { constructor(@Opts options: any, @Configuration() configuration: Configuration) { super(options, configuration); - this.db = low(new Memory<{collection: T[]}>(this.dbFilePath)); - this.db - .defaults({ - collection: [] - }) - .write(); + this.db = new Low(new Memory(), { + collection: [] + }); + } + + $onInit() { + return this.db.write(); } } diff --git a/packages/orm/adapters/src/decorators/indexed.spec.ts b/packages/orm/adapters/src/decorators/indexed.spec.ts index 0e35b7ec527..4877721f822 100644 --- a/packages/orm/adapters/src/decorators/indexed.spec.ts +++ b/packages/orm/adapters/src/decorators/indexed.spec.ts @@ -1,6 +1,7 @@ import {PlatformTest} from "@tsed/common"; import {Injectable} from "@tsed/di"; import {Property} from "@tsed/schema"; + import {MemoryAdapter} from "../adapters/MemoryAdapter.js"; import {Adapter} from "../domain/Adapter.js"; import {Indexed} from "./indexed.js"; diff --git a/packages/orm/adapters/src/decorators/injectAdapter.spec.ts b/packages/orm/adapters/src/decorators/injectAdapter.spec.ts index e36094f19a3..98417bac4da 100644 --- a/packages/orm/adapters/src/decorators/injectAdapter.spec.ts +++ b/packages/orm/adapters/src/decorators/injectAdapter.spec.ts @@ -1,152 +1,292 @@ import {PlatformTest} from "@tsed/common"; import {Injectable} from "@tsed/di"; import {Name, Property} from "@tsed/schema"; + import {MemoryAdapter} from "../adapters/MemoryAdapter.js"; import {Adapter} from "../domain/Adapter.js"; -import {InjectAdapter} from "./injectAdapter.js"; +import {adapter, InjectAdapter} from "./injectAdapter.js"; describe("InjectAdapter", () => { beforeEach(() => PlatformTest.create()); afterEach(() => PlatformTest.create()); - it("should inject adapter (model and collectionName)", async () => { - class Client { - @Property() - _id: string; + describe("using decorator @InjectAdapter()", () => { + it("should inject adapter (model and collectionName)", async () => { + class Client { + @Property() + _id: string; - @Name("client_id") - clientId: string; - } + @Name("client_id") + clientId: string; + } - const stub = vi.fn(); + const stub = vi.fn(); - @Injectable() - class Clients { - @InjectAdapter("client", Client) - adapter: Adapter; + @Injectable() + class Clients { + @InjectAdapter("client", Client) + adapter: Adapter; - $onInit() { - stub(); + $onInit() { + stub(); + } } - } - const clients = await PlatformTest.invoke(Clients); + const clients = await PlatformTest.invoke(Clients); + + expect(clients.adapter).toBeInstanceOf(MemoryAdapter); + expect(stub).toHaveBeenCalledWith(); + expect(clients.adapter.collectionName).toBe("client"); + expect(clients.adapter.model).toBe(Client); - expect(clients.adapter).toBeInstanceOf(MemoryAdapter); - expect(stub).toHaveBeenCalledWith(); - expect(clients.adapter.collectionName).toBe("client"); - expect(clients.adapter.model).toBe(Client); + const client = new Client(); + client.clientId = "test"; - const client = new Client(); - client.clientId = "test"; + await clients.adapter.create(client); - await clients.adapter.create(client); + const items = (clients.adapter as MemoryAdapter).collection; + expect(items).toEqual([ + { + _id: expect.any(String), + clientId: "test" + } + ]); + }); + it("should inject adapter (model, collectionName and useAlias true)", async () => { + class Client { + @Property() + _id: string; - const items = (clients.adapter as MemoryAdapter).collection.value(); - expect(items).toEqual([ - { - _id: expect.any(String), - clientId: "test" + @Name("client_id") + clientId: string; } - ]); - }); - it("should inject adapter (model, collectionName and useAlias true)", async () => { - class Client { - @Property() - _id: string; - @Name("client_id") - clientId: string; - } + const stub = vi.fn(); + + @Injectable() + class Clients { + @InjectAdapter("client", Client, {useAlias: true}) + adapter: Adapter; + + $onInit() { + stub(); + } + } + + const clients = await PlatformTest.invoke(Clients); + + expect(clients.adapter).toBeInstanceOf(MemoryAdapter); + expect(stub).toHaveBeenCalledWith(); + expect(clients.adapter.collectionName).toBe("client"); + expect(clients.adapter.model).toBe(Client); + expect(clients.adapter.useAlias).toEqual(true); + + const client = new Client(); + client.clientId = "test"; + + await clients.adapter.create(client); + + const items = (clients.adapter as MemoryAdapter).collection; + expect(items).toEqual([ + { + _id: expect.any(String), + client_id: "test" + } + ]); + }); + it("should inject adapter (model only)", async () => { + class Client {} - const stub = vi.fn(); + @Injectable() + class Clients { + @InjectAdapter(Client) + adapter: Adapter; + } + + const clients = await PlatformTest.invoke(Clients); - @Injectable() - class Clients { - @InjectAdapter("client", Client, {useAlias: true}) - adapter: Adapter; + expect(clients.adapter).toBeInstanceOf(MemoryAdapter); + expect(clients.adapter.collectionName).toBe("Clients"); + expect(clients.adapter.model).toBe(Client); + }); + it("should inject adapter (model only 2)", async () => { + class Entity {} - $onInit() { - stub(); + @Injectable() + class Clients { + @InjectAdapter(Entity) + adapter: Adapter; } - } - const clients = await PlatformTest.invoke(Clients); + const clients = await PlatformTest.invoke(Clients); + + expect(clients.adapter).toBeInstanceOf(MemoryAdapter); + expect(clients.adapter.collectionName).toBe("Entities"); + expect(clients.adapter.model).toBe(Entity); + }); + it("should inject adapter (object)", async () => { + class Client {} - expect(clients.adapter).toBeInstanceOf(MemoryAdapter); - expect(stub).toHaveBeenCalledWith(); - expect(clients.adapter.collectionName).toBe("client"); - expect(clients.adapter.model).toBe(Client); - expect(clients.adapter.useAlias).toEqual(true); + @Injectable() + class Clients { + @InjectAdapter({model: Client, indexes: {}}) + adapter: Adapter; + } - const client = new Client(); - client.clientId = "test"; + const clients = await PlatformTest.invoke(Clients); - await clients.adapter.create(client); + expect(clients.adapter).toBeInstanceOf(MemoryAdapter); + expect(clients.adapter.collectionName).toBe("Clients"); + expect(clients.adapter.model).toBe(Client); + }); + it("should inject adapter (without $onInit)", async () => { + class Client {} - const items = (clients.adapter as MemoryAdapter).collection.value(); - expect(items).toEqual([ - { - _id: expect.any(String), - client_id: "test" + @Injectable() + class Clients { + @InjectAdapter("client", Client) + adapter: Adapter; } - ]); + + const clients = await PlatformTest.invoke(Clients); + + expect(clients.adapter).toBeInstanceOf(MemoryAdapter); + }); }); - it("should inject adapter (model only)", async () => { - class Client {} + describe("using function adapter()", () => { + it("should inject adapter (model and collectionName)", async () => { + class Client { + @Property() + _id: string; - @Injectable() - class Clients { - @InjectAdapter(Client) - adapter: Adapter; - } + @Name("client_id") + clientId: string; + } - const clients = await PlatformTest.invoke(Clients); + const stub = vi.fn(); - expect(clients.adapter).toBeInstanceOf(MemoryAdapter); - expect(clients.adapter.collectionName).toBe("Clients"); - expect(clients.adapter.model).toBe(Client); - }); - it("should inject adapter (model only 2)", async () => { - class Entity {} + @Injectable() + class Clients { + adapter = adapter("client", Client); - @Injectable() - class Clients { - @InjectAdapter(Entity) - adapter: Adapter; - } + $onInit() { + stub(); + } + } - const clients = await PlatformTest.invoke(Clients); + const clients = await PlatformTest.invoke(Clients); - expect(clients.adapter).toBeInstanceOf(MemoryAdapter); - expect(clients.adapter.collectionName).toBe("Entities"); - expect(clients.adapter.model).toBe(Entity); - }); - it("should inject adapter (object)", async () => { - class Client {} + expect(clients.adapter).toBeInstanceOf(MemoryAdapter); + expect(stub).toHaveBeenCalledWith(); + expect(clients.adapter.collectionName).toBe("client"); + expect(clients.adapter.model).toBe(Client); - @Injectable() - class Clients { - @InjectAdapter({model: Client, indexes: {}}) - adapter: Adapter; - } + const client = new Client(); + client.clientId = "test"; - const clients = await PlatformTest.invoke(Clients); + await clients.adapter.create(client); - expect(clients.adapter).toBeInstanceOf(MemoryAdapter); - expect(clients.adapter.collectionName).toBe("Clients"); - expect(clients.adapter.model).toBe(Client); - }); - it("should inject adapter (without $onInit)", async () => { - class Client {} + const items = (clients.adapter as MemoryAdapter).collection; + expect(items).toEqual([ + { + _id: expect.any(String), + clientId: "test" + } + ]); + }); + it("should inject adapter (model, collectionName and useAlias true)", async () => { + class Client { + @Property() + _id: string; - @Injectable() - class Clients { - @InjectAdapter("client", Client) - adapter: Adapter; - } + @Name("client_id") + clientId: string; + } + + const stub = vi.fn(); + + @Injectable() + class Clients { + adapter = adapter("client", Client, {useAlias: true}); + + $onInit() { + stub(); + } + } + + const clients = await PlatformTest.invoke(Clients); + + expect(clients.adapter).toBeInstanceOf(MemoryAdapter); + expect(stub).toHaveBeenCalledWith(); + expect(clients.adapter.collectionName).toBe("client"); + expect(clients.adapter.model).toBe(Client); + expect(clients.adapter.useAlias).toEqual(true); + + const client = new Client(); + client.clientId = "test"; + + await clients.adapter.create(client); + + const items = (clients.adapter as MemoryAdapter).collection; + expect(items).toEqual([ + { + _id: expect.any(String), + client_id: "test" + } + ]); + }); + it("should inject adapter (model only)", async () => { + class Client {} + + @Injectable() + class Clients { + adapter = adapter(Client); + } + + const clients = await PlatformTest.invoke(Clients); + + expect(clients.adapter).toBeInstanceOf(MemoryAdapter); + expect(clients.adapter.collectionName).toBe("Clients"); + expect(clients.adapter.model).toBe(Client); + }); + it("should inject adapter (model only 2)", async () => { + class Entity {} + + @Injectable() + class Clients { + adapter: Adapter = adapter(Entity); + } + + const clients = await PlatformTest.invoke(Clients); + + expect(clients.adapter).toBeInstanceOf(MemoryAdapter); + expect(clients.adapter.collectionName).toBe("Entities"); + expect(clients.adapter.model).toBe(Entity); + }); + it("should inject adapter (object)", async () => { + class Client {} + + @Injectable() + class Clients { + adapter = adapter({model: Client, indexes: {}}); + } + + const clients = await PlatformTest.invoke(Clients); + + expect(clients.adapter).toBeInstanceOf(MemoryAdapter); + expect(clients.adapter.collectionName).toBe("Clients"); + expect(clients.adapter.model).toBe(Client); + }); + it("should inject adapter (without $onInit)", async () => { + class Client {} + + @Injectable() + class Clients { + adapter = adapter("client", Client); + } - const clients = await PlatformTest.invoke(Clients); + const clients = await PlatformTest.invoke(Clients); - expect(clients.adapter).toBeInstanceOf(MemoryAdapter); + expect(clients.adapter).toBeInstanceOf(MemoryAdapter); + }); }); }); diff --git a/packages/orm/adapters/src/decorators/injectAdapter.ts b/packages/orm/adapters/src/decorators/injectAdapter.ts index ad97528a963..d9d18593055 100644 --- a/packages/orm/adapters/src/decorators/injectAdapter.ts +++ b/packages/orm/adapters/src/decorators/injectAdapter.ts @@ -1,5 +1,7 @@ -import {classOf, descriptorOf, isClass, isString, Type} from "@tsed/core"; -import {Inject} from "@tsed/di"; +import {classOf, isClass, isString, Type} from "@tsed/core"; +import {Inject, inject} from "@tsed/di"; + +import type {Adapter} from "../domain/Adapter.js"; import {AdapterInvokeOptions, Adapters} from "../services/Adapters.js"; function mapOptions(args: any[]): AdapterInvokeOptions { @@ -22,6 +24,25 @@ function mapOptions(args: any[]): AdapterInvokeOptions { }, {}); } +export function adapter(options: AdapterInvokeOptions): Adapter; +export function adapter(model: Type, options?: Partial>): Adapter; +export function adapter( + collectionName: string, + model: Type, + options?: Partial> +): Adapter; +export function adapter(...args: any[]) { + const options: AdapterInvokeOptions = mapOptions(args); + const adapters = inject(Adapters); + + return adapters.invokeAdapter(options); +} + +/** + * Inject the adapter in the property. + * @param options + * @constructor + */ export function InjectAdapter(options: AdapterInvokeOptions): PropertyDecorator; export function InjectAdapter(model: Type, options?: Partial>): PropertyDecorator; export function InjectAdapter( @@ -31,17 +52,11 @@ export function InjectAdapter( ): PropertyDecorator; export function InjectAdapter(...args: any[]): PropertyDecorator { const options: AdapterInvokeOptions = mapOptions(args); + const symbol = Symbol(); - return (target) => { - Inject(Adapters)(target, "$adapters"); - const descriptor = descriptorOf(target, "$onInit"); - - Reflect.defineProperty(target, "$onInit", { - value() { - this.adapter = (this.$adapters as Adapters).invokeAdapter(options); - - return descriptor && descriptor.value && descriptor.value.call(this); - } - }); - }; + return Inject(Adapters, { + transform: (adapters: Adapters, {self}) => { + return (self[symbol] = self[symbol] || adapters.invokeAdapter(options)); + } + }); } diff --git a/packages/orm/adapters/src/domain/Adapter.ts b/packages/orm/adapters/src/domain/Adapter.ts index ebaeaa392c8..ef93ff15820 100644 --- a/packages/orm/adapters/src/domain/Adapter.ts +++ b/packages/orm/adapters/src/domain/Adapter.ts @@ -2,7 +2,7 @@ import {AjvService} from "@tsed/ajv"; import {classOf, isArray, isPlainObject, nameOf, Type} from "@tsed/core"; import {Configuration, Inject, Opts} from "@tsed/di"; import {deserialize, JsonDeserializerOptions, JsonSerializerOptions, serialize} from "@tsed/json-mapper"; -import {getPropertiesStores, JsonEntityStore} from "@tsed/schema"; +import {getPropertiesStores} from "@tsed/schema"; export interface AdapterConstructorOptions extends Record { model: Type | Object; @@ -46,7 +46,10 @@ export abstract class Adapter { @Inject() protected ajvService: AjvService; - constructor(@Opts options: AdapterConstructorOptions, @Configuration() protected configuration: Configuration) { + constructor( + @Opts options: AdapterConstructorOptions, + @Configuration() protected configuration: Configuration + ) { this.model = options.model; this.collectionName = options.collectionName || pluralize(nameOf(options.model)); diff --git a/packages/orm/adapters/src/domain/AdaptersSettings.ts b/packages/orm/adapters/src/domain/AdaptersSettings.ts index 87b4786a30e..d9daf64aa06 100644 --- a/packages/orm/adapters/src/domain/AdaptersSettings.ts +++ b/packages/orm/adapters/src/domain/AdaptersSettings.ts @@ -1,4 +1,5 @@ import {Type} from "@tsed/core"; + import {Adapter} from "./Adapter.js"; export interface AdaptersSettings { @@ -21,6 +22,7 @@ export interface AdaptersSettings { declare global { namespace TsED { interface Configuration { + // @ts-ignore adapters: AdaptersSettings; } } diff --git a/packages/orm/adapters/src/services/Adapters.ts b/packages/orm/adapters/src/services/Adapters.ts index ed4561a0822..1daf605ac65 100644 --- a/packages/orm/adapters/src/services/Adapters.ts +++ b/packages/orm/adapters/src/services/Adapters.ts @@ -1,10 +1,11 @@ import {Type} from "@tsed/core"; -import {Constant, DI_PARAM_OPTIONS, Inject, Injectable, InjectorService} from "@tsed/di"; +import {Inject, Injectable, InjectorService} from "@tsed/di"; + import {MemoryAdapter} from "../adapters/MemoryAdapter.js"; import {Adapter, AdapterConstructorOptions} from "../domain/Adapter.js"; -export interface AdapterInvokeOptions extends AdapterConstructorOptions { - adapter?: Type>; +export interface AdapterInvokeOptions extends AdapterConstructorOptions { + adapter?: Type>; } @Injectable() @@ -12,14 +13,11 @@ export class Adapters { @Inject() injector: InjectorService; - @Constant("adapters.Adapter", MemoryAdapter) - protected adapter: Type; - invokeAdapter(options: AdapterInvokeOptions): Adapter { - const {adapter = this.adapter, ...props} = options; - const locals = options.locals || new Map(); - locals.set(DI_PARAM_OPTIONS, props); + const {adapter = this.injector.settings.get("adapters.Adapter", MemoryAdapter), ...props} = options; - return this.injector.invoke>(adapter, locals); + return this.injector.invoke>(adapter, options.locals, { + useOpts: props + }); } } diff --git a/packages/orm/adapters/test/discrinimator.integration.spec.ts b/packages/orm/adapters/test/discrinimator.integration.spec.ts index f1587d5383d..4dc7c9ebd2d 100644 --- a/packages/orm/adapters/test/discrinimator.integration.spec.ts +++ b/packages/orm/adapters/test/discrinimator.integration.spec.ts @@ -1,5 +1,6 @@ import {PlatformTest} from "@tsed/common"; import {DiscriminatorKey, DiscriminatorValue, Property, Required} from "@tsed/schema"; + import {Adapter, Adapters, FileSyncAdapter} from "../src/index.js"; class Event { diff --git a/packages/orm/adapters/tsconfig.cjs.json b/packages/orm/adapters/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/orm/adapters/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/orm/adapters/tsconfig.esm.json b/packages/orm/adapters/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/orm/adapters/tsconfig.esm.json +++ b/packages/orm/adapters/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/orm/adapters/tsconfig.json b/packages/orm/adapters/tsconfig.json index 46ac27e6773..192a26f1c12 100644 --- a/packages/orm/adapters/tsconfig.json +++ b/packages/orm/adapters/tsconfig.json @@ -24,9 +24,6 @@ { "path": "../../specs/schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/orm/adapters/tsconfig.spec.json b/packages/orm/adapters/tsconfig.spec.json index 21485bab96d..5a6e5c12b13 100644 --- a/packages/orm/adapters/tsconfig.spec.json +++ b/packages/orm/adapters/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/orm/ioredis/.nycrc b/packages/orm/ioredis/.nycrc deleted file mode 100644 index 078595b9b5c..00000000000 --- a/packages/orm/ioredis/.nycrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "include": [ - "src/**/*.ts" - ], - "exclude": [ - "**/*.d.ts", - "node_modules", - "**/interfaces/**", - "**/index.ts" - ], - "extension": [ - ".ts" - ], - "require": [], - "reporter": [ - "text-summary", - "html", - "lcov", - "json" - ], - "check-coverage": true, - "statements": 100, - "branches": 78.22, - "functions": 100, - "lines": 100 -} diff --git a/packages/orm/ioredis/package.json b/packages/orm/ioredis/package.json index a2e0ffa6c09..57c103ed1d7 100644 --- a/packages/orm/ioredis/package.json +++ b/packages/orm/ioredis/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/ioredis", "description": "IO Redis connection for Ts.ED", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -23,23 +22,23 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", "@tsed/core": "workspace:*", "@tsed/di": "workspace:*", "@tsed/typescript": "workspace:*", - "@types/ioredis-mock": "^5.6.0", - "eslint": "^8.57.0", - "ioredis": "5.3.2", + "@types/ioredis-mock": "^8.2.5", + "eslint": "9.12.0", + "ioredis": "5.4.1", "ioredis-mock": "8.9.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", "ioredis": ">=5.2.3", "ioredis-mock": ">=8.2.2" } diff --git a/packages/orm/ioredis/src/domain/IORedisConfiguration.ts b/packages/orm/ioredis/src/domain/IORedisConfiguration.ts index 296a6636ddb..5b9ecc49451 100644 --- a/packages/orm/ioredis/src/domain/IORedisConfiguration.ts +++ b/packages/orm/ioredis/src/domain/IORedisConfiguration.ts @@ -1,5 +1,5 @@ import {TokenProvider} from "@tsed/di"; -import Redis, {Cluster, ClusterOptions, RedisOptions} from "ioredis"; +import {Cluster, ClusterOptions, Redis, RedisOptions} from "ioredis"; export type ClusterConfiguration = {nodes: string[]} & ClusterOptions; @@ -12,7 +12,6 @@ export type IORedisConfiguration = BaseIORedisConfiguration & (RedisOptions | ClusterConfiguration) & {redisInstance?: Redis | Cluster; sentinelName?: string}; declare global { - // eslint-disable-next-line @typescript-eslint/no-namespace namespace TsED { interface Configuration { ioredis?: IORedisConfiguration[]; diff --git a/packages/orm/ioredis/src/domain/IORedisStore.spec.ts b/packages/orm/ioredis/src/domain/IORedisStore.spec.ts index 65d7b37494c..63f5a109460 100644 --- a/packages/orm/ioredis/src/domain/IORedisStore.spec.ts +++ b/packages/orm/ioredis/src/domain/IORedisStore.spec.ts @@ -1,6 +1,6 @@ import {catchAsyncError, Hooks} from "@tsed/core"; -import {Cache, caching} from "cache-manager"; -import Redis from "ioredis"; +import {type Cache, caching} from "cache-manager"; +import {Redis} from "ioredis"; import {IORedisStore, ioRedisStore} from "./IORedisStore.js"; @@ -117,7 +117,7 @@ vi.mock("ioredis", () => { } return { - default: Redis + Redis }; }); @@ -234,11 +234,6 @@ describe("RedisStore", () => { const result = await redisCache.store.mset([["foo", "bar"]], 300); expect(result).toEqual(undefined); }); - - it("should set multiple value with ttl", async () => { - const result = await redisCache.store.mset([["foo", "bar"]], 300); - expect(result).toEqual(undefined); - }); }); describe("set", () => { diff --git a/packages/orm/ioredis/src/domain/IORedisStore.ts b/packages/orm/ioredis/src/domain/IORedisStore.ts index 3ddf066f691..0929255e504 100644 --- a/packages/orm/ioredis/src/domain/IORedisStore.ts +++ b/packages/orm/ioredis/src/domain/IORedisStore.ts @@ -1,5 +1,5 @@ import type {Config, FactoryConfig, Store} from "cache-manager"; -import Redis, {Cluster, ClusterNode, ClusterOptions, RedisOptions} from "ioredis"; +import {Cluster, ClusterNode, ClusterOptions, Redis, RedisOptions} from "ioredis"; export interface RedisClusterConfig { nodes: ClusterNode[]; diff --git a/packages/orm/ioredis/src/domain/IORedisTest.spec.ts b/packages/orm/ioredis/src/domain/IORedisTest.spec.ts index f49f43608bd..b242fcbe7eb 100644 --- a/packages/orm/ioredis/src/domain/IORedisTest.spec.ts +++ b/packages/orm/ioredis/src/domain/IORedisTest.spec.ts @@ -1,9 +1,10 @@ import {Inject, Injectable} from "@tsed/di"; -import {registerConnectionProvider} from "../utils/registerConnectionProvider.js"; -import {IORedisTest} from "./IORedisTest.js"; import type {Redis} from "ioredis"; import RedisMock from "ioredis-mock"; +import {registerConnectionProvider} from "../utils/registerConnectionProvider.js"; +import {IORedisTest} from "./IORedisTest.js"; + const MY_CONNECTION = Symbol("MY_CONNECTION"); type MY_CONNECTION = Redis; diff --git a/packages/orm/ioredis/src/domain/IORedisTest.ts b/packages/orm/ioredis/src/domain/IORedisTest.ts index e6c7ffa7ba2..e0998aa15f9 100644 --- a/packages/orm/ioredis/src/domain/IORedisTest.ts +++ b/packages/orm/ioredis/src/domain/IORedisTest.ts @@ -1,4 +1,5 @@ import {DITest} from "@tsed/di"; + import {mockConnections} from "../utils/mockConnections.js"; export class IORedisTest extends DITest { diff --git a/packages/orm/ioredis/src/utils/mockConnections.ts b/packages/orm/ioredis/src/utils/mockConnections.ts index ed93b991385..a4bb768a62b 100644 --- a/packages/orm/ioredis/src/utils/mockConnections.ts +++ b/packages/orm/ioredis/src/utils/mockConnections.ts @@ -1,5 +1,5 @@ import {GlobalProviders, TokenProvider} from "@tsed/di"; -import Redis from "ioredis"; +import type {Redis} from "ioredis"; import {IOREDIS_CONNECTIONS} from "./registerConnectionProvider.js"; diff --git a/packages/orm/ioredis/src/utils/registerConnectionProvider.spec.ts b/packages/orm/ioredis/src/utils/registerConnectionProvider.spec.ts index e5e14a3a273..2d3f471129b 100644 --- a/packages/orm/ioredis/src/utils/registerConnectionProvider.spec.ts +++ b/packages/orm/ioredis/src/utils/registerConnectionProvider.spec.ts @@ -1,5 +1,6 @@ import {DITest} from "@tsed/di"; -import Redis from "ioredis"; +import {Redis} from "ioredis"; + import {registerConnectionProvider} from "./registerConnectionProvider.js"; vi.mock("ioredis", () => { @@ -37,7 +38,7 @@ vi.mock("ioredis", () => { } } - return {default: MockRedis}; + return {Redis: MockRedis}; }); const REDIS_CONNECTION = Symbol.for("REDIS_CONNECTION"); diff --git a/packages/orm/ioredis/src/utils/registerConnectionProvider.ts b/packages/orm/ioredis/src/utils/registerConnectionProvider.ts index a1aaa388a17..01a6c6c5700 100644 --- a/packages/orm/ioredis/src/utils/registerConnectionProvider.ts +++ b/packages/orm/ioredis/src/utils/registerConnectionProvider.ts @@ -1,7 +1,8 @@ import {setValue} from "@tsed/core"; import {Configuration, registerProvider, TokenProvider} from "@tsed/di"; import {Logger} from "@tsed/logger"; -import Redis, {Cluster, RedisOptions} from "ioredis"; +import {Cluster, Redis, RedisOptions} from "ioredis"; + import {IORedisConfiguration} from "../domain/IORedisConfiguration.js"; import {ioRedisStore} from "../domain/IORedisStore.js"; @@ -56,7 +57,7 @@ export function registerConnectionProvider({provide, name = "default"}: CreateCo setValue(sentinelsOptions, "redisOptions.reconnectOnError", reconnectOnError); connection = new Redis({ - name: sentinelName, + name: String(sentinelName), sentinels, ...sentinelsOptions, lazyConnect: true diff --git a/packages/orm/ioredis/tsconfig.cjs.json b/packages/orm/ioredis/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/orm/ioredis/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/orm/ioredis/tsconfig.esm.json b/packages/orm/ioredis/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/orm/ioredis/tsconfig.esm.json +++ b/packages/orm/ioredis/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/orm/ioredis/tsconfig.json b/packages/orm/ioredis/tsconfig.json index 99f2ccc1a3c..9031f5208ce 100644 --- a/packages/orm/ioredis/tsconfig.json +++ b/packages/orm/ioredis/tsconfig.json @@ -12,9 +12,6 @@ { "path": "../../di/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/orm/ioredis/tsconfig.spec.json b/packages/orm/ioredis/tsconfig.spec.json index 21485bab96d..5a6e5c12b13 100644 --- a/packages/orm/ioredis/tsconfig.spec.json +++ b/packages/orm/ioredis/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/orm/mikro-orm/package.json b/packages/orm/mikro-orm/package.json index a5357c56da3..0c4b962429a 100644 --- a/packages/orm/mikro-orm/package.json +++ b/packages/orm/mikro-orm/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/mikro-orm", "description": "MikroORM package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -23,31 +22,31 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { - "@mikro-orm/core": "6.2.2", - "@mikro-orm/mongodb": "6.2.2", + "@mikro-orm/core": "6.3.12", + "@mikro-orm/mongodb": "6.3.12", "@tsed/barrels": "workspace:*", "@tsed/common": "workspace:*", "@tsed/core": "workspace:*", "@tsed/di": "workspace:*", "@tsed/json-mapper": "workspace:*", - "@tsed/logger": ">=6.7.5", + "@tsed/logger": "^6.7.8", "@tsed/schema": "workspace:*", "@tsed/testcontainers-mongo": "workspace:*", "@tsed/typescript": "workspace:*", "cross-env": "7.0.3", - "eslint": "^8.57.0", + "eslint": "9.12.0", "ts-mockito": "^2.6.1", - "typescript": "4.9.5", - "vitest": "2.0.4" + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { "@mikro-orm/core": ">=4.5.9", - "@tsed/common": "7.83.3", - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", + "@tsed/common": "8.0.0-alpha.10", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", "@tsed/logger": ">=6.7.5" } } diff --git a/packages/orm/mikro-orm/src/MikroOrmModule.spec.ts b/packages/orm/mikro-orm/src/MikroOrmModule.spec.ts index 573164be925..2b5a4eb1bcd 100644 --- a/packages/orm/mikro-orm/src/MikroOrmModule.spec.ts +++ b/packages/orm/mikro-orm/src/MikroOrmModule.spec.ts @@ -1,10 +1,11 @@ import {EntityManager, EventSubscriber, MikroORM, Options} from "@mikro-orm/core"; import {PlatformTest} from "@tsed/common"; import {anyOfClass, anything, deepEqual, instance, mock, reset, verify, when} from "ts-mockito"; + +import {Subscriber} from "./decorators/subscriber.js"; import {MikroOrmModule} from "./MikroOrmModule.js"; import {MikroOrmContext} from "./services/MikroOrmContext.js"; import {MikroOrmRegistry} from "./services/MikroOrmRegistry.js"; -import {Subscriber} from "./decorators/subscriber.js"; class Subscriber1 implements EventSubscriber {} diff --git a/packages/orm/mikro-orm/src/MikroOrmModule.ts b/packages/orm/mikro-orm/src/MikroOrmModule.ts index 5ec1aeed109..4e4b62c64af 100644 --- a/packages/orm/mikro-orm/src/MikroOrmModule.ts +++ b/packages/orm/mikro-orm/src/MikroOrmModule.ts @@ -1,4 +1,7 @@ import "./services/MikroOrmFactory"; + +import {EventSubscriber, Options} from "@mikro-orm/core"; +import {classOf, isFunction, Store} from "@tsed/core"; import { AlterRunInContext, Constant, @@ -11,16 +14,14 @@ import { ProviderScope, registerProvider } from "@tsed/di"; -import {EventSubscriber, Options} from "@mikro-orm/core"; -import {MikroOrmRegistry} from "./services/MikroOrmRegistry.js"; -import {RetryStrategy} from "./interfaces/RetryStrategy.js"; + +import {DEFAULT_CONTEXT_NAME, SUBSCRIBER_INJECTION_TYPE} from "./constants.js"; import {OptimisticLockErrorFilter} from "./filters/OptimisticLockErrorFilter.js"; +import {RetryStrategy} from "./interfaces/RetryStrategy.js"; import {MikroOrmContext} from "./services/MikroOrmContext.js"; -import {classOf, isFunction, Store} from "@tsed/core"; -import {DEFAULT_CONTEXT_NAME, SUBSCRIBER_INJECTION_TYPE} from "./constants.js"; +import {MikroOrmRegistry} from "./services/MikroOrmRegistry.js"; declare global { - // eslint-disable-next-line @typescript-eslint/no-namespace namespace TsED { interface Configuration { /** @@ -78,8 +79,6 @@ export class MikroOrmModule implements OnDestroy, OnInit, AlterRunInContext { return this.injector.invoke(subscriber, container, diOpts); } - this.injector.bindInjectableProperties(subscriber, container, diOpts); - return subscriber; }); } diff --git a/packages/orm/mikro-orm/src/decorators/entityManager.spec.ts b/packages/orm/mikro-orm/src/decorators/entityManager.spec.ts index d3d636dcc0e..ad70ee7fdf5 100644 --- a/packages/orm/mikro-orm/src/decorators/entityManager.spec.ts +++ b/packages/orm/mikro-orm/src/decorators/entityManager.spec.ts @@ -1,22 +1,98 @@ -import {DecoratorTypes, Store} from "@tsed/core"; -import {Controller, INJECTABLE_PROP} from "@tsed/di"; +import {MikroORM} from "@mikro-orm/core"; import {MongoEntityManager} from "@mikro-orm/mongodb"; -import {EntityManager} from "./entityManager.js"; - -@Controller("/users") -export class UsersCtrl { - @EntityManager() - public readonly em!: MongoEntityManager; -} - -describe("@Orm", () => { - it("should decorate property", () => { - expect(Store.from(UsersCtrl).get(INJECTABLE_PROP)).toEqual({ - em: { - propertyKey: "em", - bindingType: DecoratorTypes.PROP, - resolver: expect.any(Function) +import {DITest, Injectable} from "@tsed/di"; +import {afterEach, beforeEach} from "vitest"; + +import {MikroOrmRegistry} from "../services/MikroOrmRegistry.js"; +import {Em, EntityManager, entityManager} from "./entityManager.js"; + +describe("@EntityManager()", () => { + beforeEach(() => DITest.create()); + afterEach(() => DITest.reset()); + + describe("decorator", () => { + it("should decorate property (without context)", async () => { + @Injectable() + class UsersService { + @Em() + public readonly em!: MongoEntityManager; } + + const ormRegistry = { + get: vi.fn().mockReturnValue({em: {id: "id"}} as never) + }; + + const usersService = await DITest.invoke(UsersService, [ + { + token: MikroOrmRegistry, + use: ormRegistry + } + ]); + expect(ormRegistry.get).toHaveBeenCalledWith(undefined); + expect(usersService.em).toEqual({id: "id"}); + }); + it("should decorate property (with context)", async () => { + @Injectable() + class UsersService { + @EntityManager("context") + public readonly orm!: MikroORM; + } + + const ormRegistry = { + get: vi.fn().mockReturnValue({em: {id: "id"}} as never) + }; + + const usersService = await DITest.invoke(UsersService, [ + { + token: MikroOrmRegistry, + use: ormRegistry + } + ]); + + expect(ormRegistry.get).toHaveBeenCalledWith("context"); + expect(usersService.orm).toEqual({id: "id"}); + }); + }); + + describe("prop function", () => { + it("should inject property (without context)", async () => { + @Injectable() + class UsersService { + public readonly em = entityManager(); + } + + const ormRegistry = { + get: vi.fn().mockReturnValue({em: {id: "id"}} as never) + }; + + const usersService = await DITest.invoke(UsersService, [ + { + token: MikroOrmRegistry, + use: ormRegistry + } + ]); + expect(ormRegistry.get).toHaveBeenCalledWith(undefined); + expect(usersService.em).toEqual({id: "id"}); + }); + it("should inject property (with context)", async () => { + @Injectable() + class UsersService { + public readonly em = entityManager("context"); + } + + const ormRegistry = { + get: vi.fn().mockReturnValue({em: {id: "id"}} as never) + }; + + const usersService = await DITest.invoke(UsersService, [ + { + token: MikroOrmRegistry, + use: ormRegistry + } + ]); + + expect(ormRegistry.get).toHaveBeenCalledWith("context"); + expect(usersService.em).toEqual({id: "id"}); }); }); }); diff --git a/packages/orm/mikro-orm/src/decorators/entityManager.ts b/packages/orm/mikro-orm/src/decorators/entityManager.ts index 2899d6d498f..7a62d9189bd 100644 --- a/packages/orm/mikro-orm/src/decorators/entityManager.ts +++ b/packages/orm/mikro-orm/src/decorators/entityManager.ts @@ -1,5 +1,11 @@ import {Inject} from "@tsed/di"; + import {MikroOrmRegistry} from "../services/MikroOrmRegistry.js"; +import {orm} from "./orm.js"; + +export function entityManager(contextName?: string) { + return orm(contextName)?.em; +} /** * Get the entity manager for the given context name. @@ -8,7 +14,7 @@ import {MikroOrmRegistry} from "../services/MikroOrmRegistry.js"; * @mikroOrm */ export const EntityManager = (contextName?: string): PropertyDecorator => - Inject(MikroOrmRegistry, (registry: MikroOrmRegistry) => registry.get(contextName)?.em) as PropertyDecorator; + Inject(MikroOrmRegistry, {transform: (registry: MikroOrmRegistry) => registry.get(contextName)?.em}) as PropertyDecorator; /** * Get the entity manager for the given context name. diff --git a/packages/orm/mikro-orm/src/decorators/orm.spec.ts b/packages/orm/mikro-orm/src/decorators/orm.spec.ts index e9c0a3b6f89..30186a6b182 100644 --- a/packages/orm/mikro-orm/src/decorators/orm.spec.ts +++ b/packages/orm/mikro-orm/src/decorators/orm.spec.ts @@ -1,22 +1,97 @@ -import {DecoratorTypes, Store} from "@tsed/core"; -import {Controller, INJECTABLE_PROP} from "@tsed/di"; -import {Orm} from "./orm.js"; import {MikroORM} from "@mikro-orm/core"; +import {DITest, Injectable} from "@tsed/di"; +import {afterEach, beforeEach} from "vitest"; -@Controller("/users") -export class UsersCtrl { - @Orm() - public readonly orm!: MikroORM; -} - -describe("@Orm", () => { - it("should decorate property", () => { - expect(Store.from(UsersCtrl).get(INJECTABLE_PROP)).toEqual({ - orm: { - propertyKey: "orm", - bindingType: DecoratorTypes.PROP, - resolver: expect.any(Function) +import {MikroOrmRegistry} from "../services/MikroOrmRegistry.js"; +import {Orm, orm} from "./orm.js"; + +describe("@Orm()", () => { + beforeEach(() => DITest.create()); + afterEach(() => DITest.reset()); + + describe("decorator", () => { + it("should decorate property (without context)", async () => { + @Injectable() + class UsersService { + @Orm() + public readonly orm!: MikroORM; + } + + const ormRegistry = { + get: vi.fn().mockReturnValue({id: "id"} as never) + }; + + const usersService = await DITest.invoke(UsersService, [ + { + token: MikroOrmRegistry, + use: ormRegistry + } + ]); + expect(ormRegistry.get).toHaveBeenCalledWith(undefined); + expect(usersService.orm).toEqual({id: "id"}); + }); + it("should decorate property (with context)", async () => { + @Injectable() + class UsersService { + @Orm("context") + public readonly orm!: MikroORM; + } + + const ormRegistry = { + get: vi.fn().mockReturnValue({id: "id"} as never) + }; + + const usersService = await DITest.invoke(UsersService, [ + { + token: MikroOrmRegistry, + use: ormRegistry + } + ]); + + expect(ormRegistry.get).toHaveBeenCalledWith("context"); + expect(usersService.orm).toEqual({id: "id"}); + }); + }); + + describe("prop function", () => { + it("should inject property (without context)", async () => { + @Injectable() + class UsersService { + public readonly orm = orm(); + } + + const ormRegistry = { + get: vi.fn().mockReturnValue({id: "id"} as never) + }; + + const usersService = await DITest.invoke(UsersService, [ + { + token: MikroOrmRegistry, + use: ormRegistry + } + ]); + expect(ormRegistry.get).toHaveBeenCalledWith(undefined); + expect(usersService.orm).toEqual({id: "id"}); + }); + it("should inject property (with context)", async () => { + @Injectable() + class UsersService { + public readonly orm = orm("context"); } + + const ormRegistry = { + get: vi.fn().mockReturnValue({id: "id"} as never) + }; + + const usersService = await DITest.invoke(UsersService, [ + { + token: MikroOrmRegistry, + use: ormRegistry + } + ]); + + expect(ormRegistry.get).toHaveBeenCalledWith("context"); + expect(usersService.orm).toEqual({id: "id"}); }); }); }); diff --git a/packages/orm/mikro-orm/src/decorators/orm.ts b/packages/orm/mikro-orm/src/decorators/orm.ts index 320829be58f..b1a0c7dae7e 100644 --- a/packages/orm/mikro-orm/src/decorators/orm.ts +++ b/packages/orm/mikro-orm/src/decorators/orm.ts @@ -1,9 +1,19 @@ +import {MikroORM} from "@mikro-orm/core"; +import {Inject, inject} from "@tsed/di"; + import {MikroOrmRegistry} from "../services/MikroOrmRegistry.js"; -import {Inject} from "@tsed/di"; + +/** + * Get the ORM for the given context name using new inject() function. + * @param contextName + */ +export function orm(contextName?: string): MikroORM | undefined { + return inject(MikroOrmRegistry).get(contextName); +} /** * Get the ORM for the given context name. * @param {String} contextName */ export const Orm = (contextName?: string): PropertyDecorator => - Inject(MikroOrmRegistry, (registry: MikroOrmRegistry) => registry.get(contextName)) as PropertyDecorator; + Inject(MikroOrmRegistry, {transform: (registry: MikroOrmRegistry) => registry.get(contextName)}) as PropertyDecorator; diff --git a/packages/orm/mikro-orm/src/decorators/subscriber.spec.ts b/packages/orm/mikro-orm/src/decorators/subscriber.spec.ts index 495a0eddaf1..52c82a88c00 100644 --- a/packages/orm/mikro-orm/src/decorators/subscriber.spec.ts +++ b/packages/orm/mikro-orm/src/decorators/subscriber.spec.ts @@ -1,7 +1,8 @@ -import {Store} from "@tsed/core"; import {EventSubscriber} from "@mikro-orm/core"; -import {Subscriber} from "./subscriber.js"; +import {Store} from "@tsed/core"; + import {DEFAULT_CONTEXT_NAME, SUBSCRIBER_INJECTION_TYPE} from "../constants.js"; +import {Subscriber} from "./subscriber.js"; @Subscriber() export class Subscriber1 implements EventSubscriber {} diff --git a/packages/orm/mikro-orm/src/decorators/subscriber.ts b/packages/orm/mikro-orm/src/decorators/subscriber.ts index c6536db357f..df2f0191a61 100644 --- a/packages/orm/mikro-orm/src/decorators/subscriber.ts +++ b/packages/orm/mikro-orm/src/decorators/subscriber.ts @@ -1,5 +1,6 @@ import {StoreSet, useDecorators} from "@tsed/core"; import {Injectable} from "@tsed/di"; + import {DEFAULT_CONTEXT_NAME, SUBSCRIBER_INJECTION_TYPE} from "../constants.js"; /** diff --git a/packages/orm/mikro-orm/src/decorators/transactional.spec.ts b/packages/orm/mikro-orm/src/decorators/transactional.spec.ts index 5c5c1061845..a0543a65930 100644 --- a/packages/orm/mikro-orm/src/decorators/transactional.spec.ts +++ b/packages/orm/mikro-orm/src/decorators/transactional.spec.ts @@ -1,6 +1,7 @@ -import {Post} from "@tsed/common"; -import {Store} from "@tsed/core"; -import {Controller, INJECTABLE_PROP} from "@tsed/di"; +import {Controller, DITest} from "@tsed/di"; +import {Post} from "@tsed/schema"; +import {afterEach, beforeEach} from "vitest"; + import {TransactionalInterceptor} from "../interceptors/TransactionalInterceptor.js"; import {Transactional} from "./transactional.js"; @@ -8,17 +9,26 @@ import {Transactional} from "./transactional.js"; export class UsersCtrl { @Post("/") @Transactional() - create() {} + create(): any {} } describe("@Transactional", () => { - it("should decorate method", () => { - expect(Store.from(UsersCtrl).get(INJECTABLE_PROP)).toEqual({ - create: { - bindingType: "interceptor", - propertyKey: "create", - useType: TransactionalInterceptor + beforeEach(() => DITest.create()); + afterEach(() => DITest.reset()); + it("should decorate method", async () => { + const interceptor = { + intercept: vi.fn().mockResolvedValue({}) + }; + + const usersService = await DITest.invoke(UsersCtrl, [ + { + token: TransactionalInterceptor, + use: interceptor } - }); + ]); + + const result = await usersService.create(); + + expect(result).toEqual({}); }); }); diff --git a/packages/orm/mikro-orm/src/decorators/transactional.ts b/packages/orm/mikro-orm/src/decorators/transactional.ts index 3320601bcd8..18caea7f49d 100644 --- a/packages/orm/mikro-orm/src/decorators/transactional.ts +++ b/packages/orm/mikro-orm/src/decorators/transactional.ts @@ -1,4 +1,5 @@ import {Intercept} from "@tsed/di"; + import {TransactionalInterceptor, TransactionOptions} from "../interceptors/TransactionalInterceptor.js"; /** diff --git a/packages/orm/mikro-orm/src/filters/OptimisticLockErrorFilter.spec.ts b/packages/orm/mikro-orm/src/filters/OptimisticLockErrorFilter.spec.ts index c5111da5e93..6bfd33598b6 100644 --- a/packages/orm/mikro-orm/src/filters/OptimisticLockErrorFilter.spec.ts +++ b/packages/orm/mikro-orm/src/filters/OptimisticLockErrorFilter.spec.ts @@ -1,7 +1,8 @@ -import {instance, mock, objectContaining, reset, spy, verify} from "ts-mockito"; -import {OptimisticLockErrorFilter} from "./OptimisticLockErrorFilter.js"; import {OptimisticLockError} from "@mikro-orm/core"; import {Logger, PlatformContext, PlatformTest} from "@tsed/common"; +import {instance, mock, objectContaining, reset, spy, verify} from "ts-mockito"; + +import {OptimisticLockErrorFilter} from "./OptimisticLockErrorFilter.js"; describe("OptimisticLockErrorFilter", () => { const mockedLogger: Logger = mock(); diff --git a/packages/orm/mikro-orm/src/filters/OptimisticLockErrorFilter.ts b/packages/orm/mikro-orm/src/filters/OptimisticLockErrorFilter.ts index 11e0c87454a..3e16f4c0663 100644 --- a/packages/orm/mikro-orm/src/filters/OptimisticLockErrorFilter.ts +++ b/packages/orm/mikro-orm/src/filters/OptimisticLockErrorFilter.ts @@ -1,5 +1,5 @@ -import {Catch, ExceptionFilterMethods, PlatformContext} from "@tsed/common"; import {OptimisticLockError} from "@mikro-orm/core"; +import {Catch, ExceptionFilterMethods, PlatformContext} from "@tsed/common"; @Catch(OptimisticLockError) export class OptimisticLockErrorFilter implements ExceptionFilterMethods { diff --git a/packages/orm/mikro-orm/src/interceptors/TransactionalInterceptor.spec.ts b/packages/orm/mikro-orm/src/interceptors/TransactionalInterceptor.spec.ts index 6c49d2516ac..678f3987705 100644 --- a/packages/orm/mikro-orm/src/interceptors/TransactionalInterceptor.spec.ts +++ b/packages/orm/mikro-orm/src/interceptors/TransactionalInterceptor.spec.ts @@ -1,11 +1,12 @@ -import {TransactionalInterceptor} from "./TransactionalInterceptor.js"; -import {anyFunction, anything, deepEqual, instance, mock, objectContaining, reset, verify, when} from "ts-mockito"; +import {EntityManager, IsolationLevel, MikroORM, OptimisticLockError} from "@mikro-orm/core"; import {InjectorService, InterceptorContext} from "@tsed/di"; import {Logger} from "@tsed/logger"; -import {EntityManager, IsolationLevel, MikroORM, OptimisticLockError} from "@mikro-orm/core"; -import {MikroOrmRegistry} from "../services/MikroOrmRegistry.js"; +import {anyFunction, anything, deepEqual, instance, mock, objectContaining, reset, verify, when} from "ts-mockito"; + import {RetryStrategy} from "../interfaces/RetryStrategy.js"; import {MikroOrmContext} from "../services/MikroOrmContext.js"; +import {MikroOrmRegistry} from "../services/MikroOrmRegistry.js"; +import {TransactionalInterceptor} from "./TransactionalInterceptor.js"; // AHDOC: https://github.com/NagRock/ts-mockito/issues/191 // TODO: avoid using ts-mockito @@ -203,7 +204,7 @@ describe("TransactionalInterceptor", () => { const result = transactionalInterceptor.intercept(context, next); // assert - await expect(result).rejects.toThrowError("Lock"); + await expect(result).rejects.toThrow("Lock"); verify(mockedEntityManager.transactional(anyFunction(), objectContaining({}))).times(1); }); diff --git a/packages/orm/mikro-orm/src/interceptors/TransactionalInterceptor.ts b/packages/orm/mikro-orm/src/interceptors/TransactionalInterceptor.ts index 8a545491407..eafb87d1db3 100644 --- a/packages/orm/mikro-orm/src/interceptors/TransactionalInterceptor.ts +++ b/packages/orm/mikro-orm/src/interceptors/TransactionalInterceptor.ts @@ -1,10 +1,11 @@ +import {EntityManager, FlushMode, IsolationLevel} from "@mikro-orm/core"; import {Inject, InjectorService, Interceptor, InterceptorContext, InterceptorMethods, InterceptorNext} from "@tsed/di"; import {Logger} from "@tsed/logger"; + +import {DEFAULT_CONTEXT_NAME} from "../constants.js"; import {RetryStrategy} from "../interfaces/RetryStrategy.js"; import {MikroOrmContext} from "../services/MikroOrmContext.js"; import {MikroOrmRegistry} from "../services/MikroOrmRegistry.js"; -import {EntityManager, FlushMode, IsolationLevel} from "@mikro-orm/core"; -import {DEFAULT_CONTEXT_NAME} from "../constants.js"; export interface TransactionOptions { retry?: boolean; diff --git a/packages/orm/mikro-orm/src/services/MikroOrmContext.spec.ts b/packages/orm/mikro-orm/src/services/MikroOrmContext.spec.ts index daebf9866aa..4f37ec2b274 100644 --- a/packages/orm/mikro-orm/src/services/MikroOrmContext.spec.ts +++ b/packages/orm/mikro-orm/src/services/MikroOrmContext.spec.ts @@ -1,5 +1,6 @@ import {EntityManager, RequestContext} from "@mikro-orm/core"; import {deepEqual, instance as originalInstance, mock, reset, spy, verify, when} from "ts-mockito"; + import {MikroOrmContext} from "./MikroOrmContext.js"; const instance = (m: T): T => diff --git a/packages/orm/mikro-orm/src/services/MikroOrmContext.ts b/packages/orm/mikro-orm/src/services/MikroOrmContext.ts index 43fa8faf847..44f90bff278 100644 --- a/packages/orm/mikro-orm/src/services/MikroOrmContext.ts +++ b/packages/orm/mikro-orm/src/services/MikroOrmContext.ts @@ -1,6 +1,6 @@ -import {Injectable} from "@tsed/di"; import {EntityManager, RequestContext} from "@mikro-orm/core"; import {isFunction} from "@tsed/core"; +import {Injectable} from "@tsed/di"; /** * @internal Since 2022-06-20. diff --git a/packages/orm/mikro-orm/src/services/MikroOrmFactory.ts b/packages/orm/mikro-orm/src/services/MikroOrmFactory.ts index 974ab23f0e7..cbe1e7c2910 100644 --- a/packages/orm/mikro-orm/src/services/MikroOrmFactory.ts +++ b/packages/orm/mikro-orm/src/services/MikroOrmFactory.ts @@ -1,5 +1,6 @@ import {MikroORM, Options} from "@mikro-orm/core"; import {Inject, Injectable} from "@tsed/di"; + import {MikroOrmContext} from "./MikroOrmContext.js"; @Injectable() diff --git a/packages/orm/mikro-orm/src/services/MikroOrmRegistry.spec.ts b/packages/orm/mikro-orm/src/services/MikroOrmRegistry.spec.ts index 465a8483c9b..f11e3015da1 100644 --- a/packages/orm/mikro-orm/src/services/MikroOrmRegistry.spec.ts +++ b/packages/orm/mikro-orm/src/services/MikroOrmRegistry.spec.ts @@ -1,6 +1,7 @@ -import {anything, instance, mock, reset, verify, when} from "ts-mockito"; -import {Logger} from "@tsed/logger"; import {MikroORM, Options} from "@mikro-orm/core"; +import {Logger} from "@tsed/logger"; +import {anything, instance, mock, reset, verify, when} from "ts-mockito"; + import {MikroOrmFactory} from "./MikroOrmFactory.js"; import {MikroOrmRegistry} from "./MikroOrmRegistry.js"; diff --git a/packages/orm/mikro-orm/src/services/MikroOrmRegistry.ts b/packages/orm/mikro-orm/src/services/MikroOrmRegistry.ts index 2d836e438fb..404dd299ab5 100644 --- a/packages/orm/mikro-orm/src/services/MikroOrmRegistry.ts +++ b/packages/orm/mikro-orm/src/services/MikroOrmRegistry.ts @@ -1,9 +1,10 @@ -import {MikroOrmFactory} from "./MikroOrmFactory.js"; -import {Inject, Injectable} from "@tsed/di"; import {IDatabaseDriver as DatabaseDriver, MikroORM, Options} from "@mikro-orm/core"; import {catchAsyncError, getValue} from "@tsed/core"; +import {Inject, Injectable} from "@tsed/di"; import {Logger} from "@tsed/logger"; +import {MikroOrmFactory} from "./MikroOrmFactory.js"; + @Injectable() export class MikroOrmRegistry { private readonly DEFAULT_CONTEXT_NAME = "default"; diff --git a/packages/orm/mikro-orm/test/helpers/Server.ts b/packages/orm/mikro-orm/test/helpers/Server.ts index d70cfb189cd..8e36597f413 100644 --- a/packages/orm/mikro-orm/test/helpers/Server.ts +++ b/packages/orm/mikro-orm/test/helpers/Server.ts @@ -1,13 +1,15 @@ +import "@tsed/platform-express"; +import "@tsed/platform-log-request"; +import "./services/ManagedEventSubscriber.js"; + import {PlatformApplication} from "@tsed/common"; import {Configuration, Inject} from "@tsed/di"; -import "@tsed/platform-express"; import bodyParser from "body-parser"; import compress from "compression"; import cookieParser from "cookie-parser"; import methodOverride from "method-override"; -import "./services/ManagedEventSubscriber"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build @Configuration({ rootDir, @@ -15,8 +17,7 @@ const rootDir = __dirname; // automatically replaced by import.meta.dirname on b httpsPort: false, disableComponentScan: true, logger: { - level: "info", - logRequest: true + level: "info" } }) export class Server { diff --git a/packages/orm/mikro-orm/test/helpers/entity/User.ts b/packages/orm/mikro-orm/test/helpers/entity/User.ts index aaccf7a74a1..df62604ce0a 100644 --- a/packages/orm/mikro-orm/test/helpers/entity/User.ts +++ b/packages/orm/mikro-orm/test/helpers/entity/User.ts @@ -1,6 +1,6 @@ -import {Property} from "@tsed/schema"; import {Entity, PrimaryKey} from "@mikro-orm/core"; import {ObjectId} from "@mikro-orm/mongodb"; +import {Property} from "@tsed/schema"; @Entity() export class User { diff --git a/packages/orm/mikro-orm/test/helpers/services/Hooks.ts b/packages/orm/mikro-orm/test/helpers/services/Hooks.ts index d03f0e2c523..6c09084303b 100644 --- a/packages/orm/mikro-orm/test/helpers/services/Hooks.ts +++ b/packages/orm/mikro-orm/test/helpers/services/Hooks.ts @@ -1,7 +1,8 @@ -import {AfterTransactionCommit, BeforeTransactionCommit} from "../../../src/index.js"; import {EntityManager} from "@mikro-orm/core"; import {Injectable} from "@tsed/di"; +import {AfterTransactionCommit, BeforeTransactionCommit} from "../../../src/index.js"; + @Injectable() export class Hooks implements AfterTransactionCommit, BeforeTransactionCommit { $afterTransactionCommit(em: EntityManager): Promise | unknown { diff --git a/packages/orm/mikro-orm/test/helpers/services/ManagedEventSubscriber.ts b/packages/orm/mikro-orm/test/helpers/services/ManagedEventSubscriber.ts index 9139a80e538..412437e16f3 100644 --- a/packages/orm/mikro-orm/test/helpers/services/ManagedEventSubscriber.ts +++ b/packages/orm/mikro-orm/test/helpers/services/ManagedEventSubscriber.ts @@ -1,6 +1,7 @@ import {EventSubscriber, TransactionEventArgs} from "@mikro-orm/core"; import {Inject} from "@tsed/di"; import {Logger} from "@tsed/logger"; + import {Subscriber} from "../../../src/index.js"; @Subscriber() diff --git a/packages/orm/mikro-orm/test/helpers/services/UnmanagedEventSubscriber1.ts b/packages/orm/mikro-orm/test/helpers/services/UnmanagedEventSubscriber1.ts index 9ccaa5bd8c5..526d540c900 100644 --- a/packages/orm/mikro-orm/test/helpers/services/UnmanagedEventSubscriber1.ts +++ b/packages/orm/mikro-orm/test/helpers/services/UnmanagedEventSubscriber1.ts @@ -1,6 +1,6 @@ import {EventSubscriber, TransactionEventArgs} from "@mikro-orm/core"; -import {$log, Logger} from "@tsed/logger"; import {Inject} from "@tsed/di"; +import {$log, Logger} from "@tsed/logger"; export class UnmanagedEventSubscriber1 implements EventSubscriber { constructor(@Inject() private readonly logger: Logger) {} diff --git a/packages/orm/mikro-orm/test/helpers/services/UnmanagedEventSubscriber2.ts b/packages/orm/mikro-orm/test/helpers/services/UnmanagedEventSubscriber2.ts index 690b0085181..e5a5cb44223 100644 --- a/packages/orm/mikro-orm/test/helpers/services/UnmanagedEventSubscriber2.ts +++ b/packages/orm/mikro-orm/test/helpers/services/UnmanagedEventSubscriber2.ts @@ -1,6 +1,6 @@ import {EventSubscriber, TransactionEventArgs} from "@mikro-orm/core"; -import {$log, Logger} from "@tsed/logger"; import {Inject} from "@tsed/di"; +import {$log, Logger} from "@tsed/logger"; export class UnmanagedEventSubscriber2 implements EventSubscriber { @Inject() diff --git a/packages/orm/mikro-orm/test/helpers/services/UserService.ts b/packages/orm/mikro-orm/test/helpers/services/UserService.ts index 49ccf81b5d8..525f11674d4 100644 --- a/packages/orm/mikro-orm/test/helpers/services/UserService.ts +++ b/packages/orm/mikro-orm/test/helpers/services/UserService.ts @@ -1,5 +1,6 @@ import {EntityManager, MikroORM} from "@mikro-orm/core"; import {Injectable} from "@tsed/di"; + import {Em, Orm, Transactional} from "../../../src/index.js"; import {User} from "../entity/User.js"; diff --git a/packages/orm/mikro-orm/test/integration.spec.ts b/packages/orm/mikro-orm/test/integration.spec.ts index 0945cbf5d80..004e208bb0e 100644 --- a/packages/orm/mikro-orm/test/integration.spec.ts +++ b/packages/orm/mikro-orm/test/integration.spec.ts @@ -2,7 +2,9 @@ import {EntityManager, MikroORM} from "@mikro-orm/core"; import {defineConfig} from "@mikro-orm/mongodb"; import {PlatformTest} from "@tsed/common"; import {Logger} from "@tsed/logger"; +import {TestContainersMongo} from "@tsed/testcontainers-mongo"; import {anyOfClass, anything, reset, spy, verify} from "ts-mockito"; + import {MikroOrmModule, TransactionalInterceptor} from "../src/index.js"; import {User} from "./helpers/entity/User.js"; import {Server} from "./helpers/Server.js"; @@ -10,7 +12,6 @@ import {Hooks} from "./helpers/services/Hooks.js"; import {UnmanagedEventSubscriber1} from "./helpers/services/UnmanagedEventSubscriber1.js"; import {UnmanagedEventSubscriber2} from "./helpers/services/UnmanagedEventSubscriber2.js"; import {UserService} from "./helpers/services/UserService.js"; -import {TestContainersMongo} from "@tsed/testcontainers-mongo"; describe("MikroOrm integration", () => { let spiedLogger!: Logger; diff --git a/packages/orm/mikro-orm/tsconfig.cjs.json b/packages/orm/mikro-orm/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/orm/mikro-orm/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/orm/mikro-orm/tsconfig.esm.json b/packages/orm/mikro-orm/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/orm/mikro-orm/tsconfig.esm.json +++ b/packages/orm/mikro-orm/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/orm/mikro-orm/tsconfig.json b/packages/orm/mikro-orm/tsconfig.json index 3ec1c68049e..0a2598dd586 100644 --- a/packages/orm/mikro-orm/tsconfig.json +++ b/packages/orm/mikro-orm/tsconfig.json @@ -24,9 +24,6 @@ { "path": "../testcontainers-mongo/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/orm/mikro-orm/tsconfig.spec.json b/packages/orm/mikro-orm/tsconfig.spec.json index 21485bab96d..5a6e5c12b13 100644 --- a/packages/orm/mikro-orm/tsconfig.spec.json +++ b/packages/orm/mikro-orm/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/orm/mongoose/package.json b/packages/orm/mongoose/package.json index 5d85fe2af48..a49e2e36f04 100644 --- a/packages/orm/mongoose/package.json +++ b/packages/orm/mongoose/package.json @@ -1,8 +1,8 @@ { "name": "@tsed/mongoose", "description": "Mongoose package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "keywords": [ "tsed", "mongoose", @@ -11,15 +11,14 @@ "orm" ], "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -30,8 +29,8 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "change-case": "4.1.2", - "tslib": "2.6.1" + "change-case": "5.4.4", + "tslib": "2.7.0" }, "devDependencies": { "@tsed/ajv": "workspace:*", @@ -39,22 +38,22 @@ "@tsed/core": "workspace:*", "@tsed/di": "workspace:*", "@tsed/json-mapper": "workspace:*", - "@tsed/logger": ">=6.7.5", + "@tsed/logger": "^6.7.8", "@tsed/schema": "workspace:*", "@tsed/testcontainers-mongo": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "mongoose": "6.12.7", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "mongoose": "8.7.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/ajv": "7.83.3", - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/json-mapper": "7.83.3", + "@tsed/ajv": "8.0.0-alpha.10", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/json-mapper": "8.0.0-alpha.10", "@tsed/logger": ">=6.7.5", - "@tsed/schema": "7.83.3", + "@tsed/schema": "8.0.0-alpha.10", "mongoose": ">=6.0.0" } } diff --git a/packages/orm/mongoose/src/MongooseModule.ts b/packages/orm/mongoose/src/MongooseModule.ts index 5694ca5e26e..1b24e648c8a 100644 --- a/packages/orm/mongoose/src/MongooseModule.ts +++ b/packages/orm/mongoose/src/MongooseModule.ts @@ -1,5 +1,6 @@ import {Configuration, OnInit} from "@tsed/di"; import {Module, OnDestroy} from "@tsed/di"; + import {MONGOOSE_CONNECTIONS} from "./services/MongooseConnections.js"; import {MongooseService} from "./services/MongooseService.js"; diff --git a/packages/orm/mongoose/src/decorators/auto.spec.ts b/packages/orm/mongoose/src/decorators/auto.spec.ts index c18e555e696..0ee527dd454 100644 --- a/packages/orm/mongoose/src/decorators/auto.spec.ts +++ b/packages/orm/mongoose/src/decorators/auto.spec.ts @@ -1,4 +1,5 @@ import {descriptorOf, Store} from "@tsed/core"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; import {Auto} from "./auto.js"; diff --git a/packages/orm/mongoose/src/decorators/dynamicRef.spec.ts b/packages/orm/mongoose/src/decorators/dynamicRef.spec.ts index b2f1abc41b7..948acd1ab9b 100644 --- a/packages/orm/mongoose/src/decorators/dynamicRef.spec.ts +++ b/packages/orm/mongoose/src/decorators/dynamicRef.spec.ts @@ -1,8 +1,9 @@ import {descriptorOf, Store} from "@tsed/core"; import {getJsonSchema} from "@tsed/schema"; import {Schema} from "mongoose"; -import {MONGOOSE_MODEL_NAME, MONGOOSE_SCHEMA} from "../constants/constants.js"; + import {DynamicRef} from "../../src/index.js"; +import {MONGOOSE_MODEL_NAME, MONGOOSE_SCHEMA} from "../constants/constants.js"; describe("@DynamicRef()", () => { it("should set metadata", () => { diff --git a/packages/orm/mongoose/src/decorators/dynamicRef.ts b/packages/orm/mongoose/src/decorators/dynamicRef.ts index f76e01bb382..d17ef72da45 100644 --- a/packages/orm/mongoose/src/decorators/dynamicRef.ts +++ b/packages/orm/mongoose/src/decorators/dynamicRef.ts @@ -1,8 +1,9 @@ import {classOf, isArrowFn, isString, StoreMerge, Type, useDecorators} from "@tsed/core"; +import {deserialize, OnDeserialize, OnSerialize, serialize} from "@tsed/json-mapper"; import {Description, Example, JsonHookContext, OneOf, Property, string} from "@tsed/schema"; import {Schema as MongooseSchema} from "mongoose"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; -import {deserialize, OnDeserialize, OnSerialize, serialize} from "@tsed/json-mapper"; import {MongooseModels} from "../registries/MongooseModels.js"; function isRef(value: undefined | string | any) { diff --git a/packages/orm/mongoose/src/decorators/excludeIndexes.spec.ts b/packages/orm/mongoose/src/decorators/excludeIndexes.spec.ts index f5c0ed10c71..9ded6e2da00 100644 --- a/packages/orm/mongoose/src/decorators/excludeIndexes.spec.ts +++ b/packages/orm/mongoose/src/decorators/excludeIndexes.spec.ts @@ -1,4 +1,5 @@ import {descriptorOf, Store} from "@tsed/core"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; import {ExcludeIndexes} from "./excludeIndexes.js"; diff --git a/packages/orm/mongoose/src/decorators/expires.spec.ts b/packages/orm/mongoose/src/decorators/expires.spec.ts index 37215905cf3..848060f108a 100644 --- a/packages/orm/mongoose/src/decorators/expires.spec.ts +++ b/packages/orm/mongoose/src/decorators/expires.spec.ts @@ -1,4 +1,5 @@ import {descriptorOf, Store} from "@tsed/core"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; import {Expires} from "./expires.js"; diff --git a/packages/orm/mongoose/src/decorators/immutable.spec.ts b/packages/orm/mongoose/src/decorators/immutable.spec.ts index 89b65293c3f..866c795fc37 100644 --- a/packages/orm/mongoose/src/decorators/immutable.spec.ts +++ b/packages/orm/mongoose/src/decorators/immutable.spec.ts @@ -1,4 +1,5 @@ import {descriptorOf, Store} from "@tsed/core"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; import {Immutable} from "./immutable.js"; diff --git a/packages/orm/mongoose/src/decorators/indexed.spec.ts b/packages/orm/mongoose/src/decorators/indexed.spec.ts index c8d59679478..913cea07bce 100644 --- a/packages/orm/mongoose/src/decorators/indexed.spec.ts +++ b/packages/orm/mongoose/src/decorators/indexed.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; import {Indexed} from "./indexed.js"; diff --git a/packages/orm/mongoose/src/decorators/indexed.ts b/packages/orm/mongoose/src/decorators/indexed.ts index dcc12b6f531..997d0d38e97 100644 --- a/packages/orm/mongoose/src/decorators/indexed.ts +++ b/packages/orm/mongoose/src/decorators/indexed.ts @@ -1,4 +1,5 @@ import {IndexOptions} from "mongoose"; + import {MongooseSchema} from "./schema.js"; /** diff --git a/packages/orm/mongoose/src/decorators/lowercase.spec.ts b/packages/orm/mongoose/src/decorators/lowercase.spec.ts index 5345c491c09..553b66f76b0 100644 --- a/packages/orm/mongoose/src/decorators/lowercase.spec.ts +++ b/packages/orm/mongoose/src/decorators/lowercase.spec.ts @@ -1,4 +1,5 @@ import {descriptorOf, Store} from "@tsed/core"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; import {Lowercase} from "./lowercase.js"; diff --git a/packages/orm/mongoose/src/decorators/model.ts b/packages/orm/mongoose/src/decorators/model.ts index 1a43f41beb0..b000d76e40a 100644 --- a/packages/orm/mongoose/src/decorators/model.ts +++ b/packages/orm/mongoose/src/decorators/model.ts @@ -2,6 +2,7 @@ import {nameOf, useDecorators} from "@tsed/core"; import {registerProvider} from "@tsed/di"; import {DiscriminatorValue} from "@tsed/schema"; import {Schema} from "mongoose"; + import {MongooseModelOptions} from "../interfaces/MongooseModelOptions.js"; import {MONGOOSE_CONNECTIONS} from "../services/MongooseConnections.js"; import {createModel, getModelToken} from "../utils/createModel.js"; @@ -49,8 +50,6 @@ export function Model(options: MongooseModelOptions = {}) { return useDecorators((target: any) => { const {token, collectionName} = getModelToken(target, options); - options.discriminatorValue && DiscriminatorValue(options.discriminatorValue)(target); - registerProvider({ provide: token, deps: [], diff --git a/packages/orm/mongoose/src/decorators/mongooseIndexes.spec.ts b/packages/orm/mongoose/src/decorators/mongooseIndexes.spec.ts index a9bed12d26a..2301712ec9d 100644 --- a/packages/orm/mongoose/src/decorators/mongooseIndexes.spec.ts +++ b/packages/orm/mongoose/src/decorators/mongooseIndexes.spec.ts @@ -1,5 +1,5 @@ -import {MongooseIndexes} from "./mongooseIndexes.js"; import {schemaOptions} from "../utils/schemaOptions.js"; +import {MongooseIndexes} from "./mongooseIndexes.js"; describe("@MongooseIndexes()", () => { class Test {} diff --git a/packages/orm/mongoose/src/decorators/mongoosePlugin.ts b/packages/orm/mongoose/src/decorators/mongoosePlugin.ts index d8b74b903fa..849d69a6cc1 100644 --- a/packages/orm/mongoose/src/decorators/mongoosePlugin.ts +++ b/packages/orm/mongoose/src/decorators/mongoosePlugin.ts @@ -1,4 +1,5 @@ import mongoose from "mongoose"; + import {schemaOptions} from "../utils/schemaOptions.js"; /** diff --git a/packages/orm/mongoose/src/decorators/numberDecimal.spec.ts b/packages/orm/mongoose/src/decorators/numberDecimal.spec.ts index 2e1ef3a8af8..dd558e8755f 100644 --- a/packages/orm/mongoose/src/decorators/numberDecimal.spec.ts +++ b/packages/orm/mongoose/src/decorators/numberDecimal.spec.ts @@ -1,9 +1,10 @@ import {Store} from "@tsed/core"; import {deserialize, serialize} from "@tsed/json-mapper"; import {getJsonSchema} from "@tsed/schema"; -import {Types, Schema} from "mongoose"; +import {Schema, Types} from "mongoose"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; -import {NumberDecimal, Decimal128, DecimalFormat} from "./numberDecimal.js"; +import {Decimal128, DecimalFormat, NumberDecimal} from "./numberDecimal.js"; describe("@NumberDecimal()", () => { it("should declare a Decimal128 field", () => { diff --git a/packages/orm/mongoose/src/decorators/numberDecimal.ts b/packages/orm/mongoose/src/decorators/numberDecimal.ts index a4b049f30a2..908d21daa7a 100644 --- a/packages/orm/mongoose/src/decorators/numberDecimal.ts +++ b/packages/orm/mongoose/src/decorators/numberDecimal.ts @@ -2,7 +2,8 @@ import {Formats, FormatsMethods} from "@tsed/ajv"; import {isNumber, isString, StoreMerge, useDecorators} from "@tsed/core"; import {OnDeserialize, OnSerialize} from "@tsed/json-mapper"; import {Example, Format, Property} from "@tsed/schema"; -import {Types, Schema as MongooseSchema, SchemaTypeOptions} from "mongoose"; +import {Schema as MongooseSchema, SchemaTypeOptions, Types} from "mongoose"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; @Formats("decimal", {type: "number"}) diff --git a/packages/orm/mongoose/src/decorators/objectID.spec.ts b/packages/orm/mongoose/src/decorators/objectID.spec.ts index 368782707cb..68af397e446 100644 --- a/packages/orm/mongoose/src/decorators/objectID.spec.ts +++ b/packages/orm/mongoose/src/decorators/objectID.spec.ts @@ -1,4 +1,5 @@ import {getJsonSchema} from "@tsed/schema"; + import {ObjectID} from "./objectID.js"; describe("ObjectID", () => { diff --git a/packages/orm/mongoose/src/decorators/objectID.ts b/packages/orm/mongoose/src/decorators/objectID.ts index 1585e3174e3..15e6d0bf488 100644 --- a/packages/orm/mongoose/src/decorators/objectID.ts +++ b/packages/orm/mongoose/src/decorators/objectID.ts @@ -2,6 +2,7 @@ import {useDecorators} from "@tsed/core"; import {OnDeserialize} from "@tsed/json-mapper"; import {Description, Example, Name, Pattern} from "@tsed/schema"; import {Types} from "mongoose"; + import {Auto} from "./auto.js"; import {Schema} from "./schema.js"; diff --git a/packages/orm/mongoose/src/decorators/postHook.ts b/packages/orm/mongoose/src/decorators/postHook.ts index 3c9d1d905c2..1e496b97e31 100644 --- a/packages/orm/mongoose/src/decorators/postHook.ts +++ b/packages/orm/mongoose/src/decorators/postHook.ts @@ -1,4 +1,5 @@ import {decoratorTypeOf, DecoratorTypes, StaticMethodDecorator} from "@tsed/core"; + import {MongooseHookOptions, MongoosePostHookCB} from "../interfaces/MongooseSchemaOptions.js"; import {schemaOptions} from "../utils/schemaOptions.js"; diff --git a/packages/orm/mongoose/src/decorators/preHook.ts b/packages/orm/mongoose/src/decorators/preHook.ts index ae3970368d4..f27323c2648 100644 --- a/packages/orm/mongoose/src/decorators/preHook.ts +++ b/packages/orm/mongoose/src/decorators/preHook.ts @@ -1,4 +1,5 @@ import {decoratorTypeOf, DecoratorTypes} from "@tsed/core"; + import {MongooseHookOptions, MongoosePreHookCB} from "../interfaces/MongooseSchemaOptions.js"; import {schemaOptions} from "../utils/schemaOptions.js"; diff --git a/packages/orm/mongoose/src/decorators/ref.spec.ts b/packages/orm/mongoose/src/decorators/ref.spec.ts index 3a4014b320d..9a0e88b507e 100644 --- a/packages/orm/mongoose/src/decorators/ref.spec.ts +++ b/packages/orm/mongoose/src/decorators/ref.spec.ts @@ -1,13 +1,14 @@ import {catchError, Store} from "@tsed/core"; import {getJsonSchema, Property} from "@tsed/schema"; import {Schema} from "mongoose"; + import {MONGOOSE_MODEL_NAME, MONGOOSE_SCHEMA} from "../constants/constants.js"; import {MongooseModels} from "../registries/MongooseModels.js"; import {Ref} from "./ref.js"; describe("@Ref()", () => { describe("type is a class", () => { - it("should set metadata", () => { + it("should set metadata and catch error", () => { const error = catchError(() => { class Model { @Ref(undefined) @@ -19,8 +20,7 @@ describe("@Ref()", () => { "A model is required on `@Ref(model)` decorator. Please give a model or wrap it inside an arrow function if you have a circular reference." ); }); - }); - describe("type is a class", () => { + it("should set metadata", () => { class RefTest { @Property() diff --git a/packages/orm/mongoose/src/decorators/ref.ts b/packages/orm/mongoose/src/decorators/ref.ts index a2fe112e9ad..c47a4395de7 100644 --- a/packages/orm/mongoose/src/decorators/ref.ts +++ b/packages/orm/mongoose/src/decorators/ref.ts @@ -2,6 +2,7 @@ import {isArrowFn, isCollection, isObject, isObjectID, isString, StoreMerge, Typ import {deserialize, OnDeserialize, OnSerialize, serialize} from "@tsed/json-mapper"; import {ForwardGroups, JsonEntityFn, lazyRef, matchGroups, OneOf, Property, string} from "@tsed/schema"; import {Schema as MongooseSchema} from "mongoose"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; import {MongooseSchemaTypes} from "../interfaces/MongooseSchemaTypes.js"; import {MongooseModels} from "../registries/MongooseModels.js"; diff --git a/packages/orm/mongoose/src/decorators/schema.ts b/packages/orm/mongoose/src/decorators/schema.ts index 7a144ecc591..a405c1c596a 100644 --- a/packages/orm/mongoose/src/decorators/schema.ts +++ b/packages/orm/mongoose/src/decorators/schema.ts @@ -2,6 +2,7 @@ import {decoratorTypeOf, StoreMerge, useDecorators} from "@tsed/core"; import {registerProvider} from "@tsed/di"; import {Property} from "@tsed/schema"; import {SchemaTypeOptions} from "mongoose"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; import {MongooseSchemaOptions} from "../interfaces/MongooseSchemaOptions.js"; import {getSchema, getSchemaToken} from "../utils/createSchema.js"; diff --git a/packages/orm/mongoose/src/decorators/schemaIgnore.spec.ts b/packages/orm/mongoose/src/decorators/schemaIgnore.spec.ts index 283c490293a..c8056fe0b7d 100644 --- a/packages/orm/mongoose/src/decorators/schemaIgnore.spec.ts +++ b/packages/orm/mongoose/src/decorators/schemaIgnore.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; import {SchemaIgnore} from "./schemaIgnore.js"; diff --git a/packages/orm/mongoose/src/decorators/select.spec.ts b/packages/orm/mongoose/src/decorators/select.spec.ts index fb2ba04a8da..f1c79652044 100644 --- a/packages/orm/mongoose/src/decorators/select.spec.ts +++ b/packages/orm/mongoose/src/decorators/select.spec.ts @@ -1,6 +1,7 @@ import {descriptorOf, Store} from "@tsed/core"; -import {MONGOOSE_SCHEMA} from "../constants/constants.js"; + import {Select} from "../../src/index.js"; +import {MONGOOSE_SCHEMA} from "../constants/constants.js"; describe("@Select()", () => { it("should set metadata", () => { diff --git a/packages/orm/mongoose/src/decorators/sparse.spec.ts b/packages/orm/mongoose/src/decorators/sparse.spec.ts index 0c3ba0c7f35..c0912058a98 100644 --- a/packages/orm/mongoose/src/decorators/sparse.spec.ts +++ b/packages/orm/mongoose/src/decorators/sparse.spec.ts @@ -1,4 +1,5 @@ import {descriptorOf, Store} from "@tsed/core"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; import {Sparse} from "./sparse.js"; diff --git a/packages/orm/mongoose/src/decorators/text.spec.ts b/packages/orm/mongoose/src/decorators/text.spec.ts index 5b0334b3492..7cb557f3aab 100644 --- a/packages/orm/mongoose/src/decorators/text.spec.ts +++ b/packages/orm/mongoose/src/decorators/text.spec.ts @@ -1,4 +1,5 @@ import {descriptorOf, Store} from "@tsed/core"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; import {Text} from "./text.js"; diff --git a/packages/orm/mongoose/src/decorators/trim.spec.ts b/packages/orm/mongoose/src/decorators/trim.spec.ts index d8d39ff5adf..20464566a57 100644 --- a/packages/orm/mongoose/src/decorators/trim.spec.ts +++ b/packages/orm/mongoose/src/decorators/trim.spec.ts @@ -1,4 +1,5 @@ import {descriptorOf, Store} from "@tsed/core"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; import {Trim} from "./trim.js"; diff --git a/packages/orm/mongoose/src/decorators/unique.spec.ts b/packages/orm/mongoose/src/decorators/unique.spec.ts index 250bdd9ab84..e5fe6e550b9 100644 --- a/packages/orm/mongoose/src/decorators/unique.spec.ts +++ b/packages/orm/mongoose/src/decorators/unique.spec.ts @@ -1,6 +1,7 @@ import {Store} from "@tsed/core"; -import {MONGOOSE_SCHEMA} from "../constants/constants.js"; + import {Unique} from "../../src/index.js"; +import {MONGOOSE_SCHEMA} from "../constants/constants.js"; describe("@Unique()", () => { it("should set metadata", () => { diff --git a/packages/orm/mongoose/src/decorators/uppercase.spec.ts b/packages/orm/mongoose/src/decorators/uppercase.spec.ts index 1e81649822d..6c4dac4199f 100644 --- a/packages/orm/mongoose/src/decorators/uppercase.spec.ts +++ b/packages/orm/mongoose/src/decorators/uppercase.spec.ts @@ -1,4 +1,5 @@ import {descriptorOf, Store} from "@tsed/core"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; import {Uppercase} from "./uppercase.js"; diff --git a/packages/orm/mongoose/src/decorators/versionKey.spec.ts b/packages/orm/mongoose/src/decorators/versionKey.spec.ts index 00d5090e919..65a6401b83e 100644 --- a/packages/orm/mongoose/src/decorators/versionKey.spec.ts +++ b/packages/orm/mongoose/src/decorators/versionKey.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {MONGOOSE_SCHEMA_OPTIONS} from "../constants/constants.js"; import {Model} from "./model.js"; import {VersionKey} from "./versionKey.js"; diff --git a/packages/orm/mongoose/src/decorators/versionKey.ts b/packages/orm/mongoose/src/decorators/versionKey.ts index c6b17002a3c..216e2b18a2e 100644 --- a/packages/orm/mongoose/src/decorators/versionKey.ts +++ b/packages/orm/mongoose/src/decorators/versionKey.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {MONGOOSE_SCHEMA_OPTIONS} from "../constants/constants.js"; export function VersionKey(): PropertyDecorator { diff --git a/packages/orm/mongoose/src/decorators/virtualRef.spec.ts b/packages/orm/mongoose/src/decorators/virtualRef.spec.ts index ebe167ac8fa..14d9f7118d1 100644 --- a/packages/orm/mongoose/src/decorators/virtualRef.spec.ts +++ b/packages/orm/mongoose/src/decorators/virtualRef.spec.ts @@ -2,6 +2,7 @@ import {Store} from "@tsed/core"; import {Controller} from "@tsed/di"; import {BodyParams} from "@tsed/platform-params"; import {Format, getJsonSchema, getSpec, Post, Property, ReadOnly, Returns, SpecTypes} from "@tsed/schema"; + import {MONGOOSE_SCHEMA} from "../constants/constants.js"; import {Model} from "./model.js"; import {VirtualRef, VirtualRefs} from "./virtualRef.js"; diff --git a/packages/orm/mongoose/src/decorators/virtualRef.ts b/packages/orm/mongoose/src/decorators/virtualRef.ts index 924c0527fe2..f41246b7c51 100644 --- a/packages/orm/mongoose/src/decorators/virtualRef.ts +++ b/packages/orm/mongoose/src/decorators/virtualRef.ts @@ -1,5 +1,6 @@ import {isPlainObject, isString, Store, StoreMerge, useDecorators} from "@tsed/core"; import {CollectionOf, Property} from "@tsed/schema"; + import {MONGOOSE_MODEL_NAME, MONGOOSE_SCHEMA} from "../constants/constants.js"; import {MongooseVirtualRefOptions} from "../interfaces/MongooseVirtualRefOptions.js"; import {MongooseModels} from "../registries/MongooseModels.js"; diff --git a/packages/orm/mongoose/src/interfaces/MongooseModelOptions.ts b/packages/orm/mongoose/src/interfaces/MongooseModelOptions.ts index 6cd209ca300..c5a6e1cb59f 100644 --- a/packages/orm/mongoose/src/interfaces/MongooseModelOptions.ts +++ b/packages/orm/mongoose/src/interfaces/MongooseModelOptions.ts @@ -1,13 +1,8 @@ import {MongooseSchemaOptions} from "./MongooseSchemaOptions.js"; -import {CompileModelOptions} from "mongoose"; export interface MongooseModelOptions extends MongooseSchemaOptions { name?: string; connection?: string; collection?: string; overwriteModels?: boolean; - /** - * @deprecated Since 2022-11-30. Use @DiscriminatorValue instead - */ - discriminatorValue?: string; } diff --git a/packages/orm/mongoose/src/interfaces/MongooseSchemaOptions.ts b/packages/orm/mongoose/src/interfaces/MongooseSchemaOptions.ts index 2ccf5b53257..4da84387e44 100644 --- a/packages/orm/mongoose/src/interfaces/MongooseSchemaOptions.ts +++ b/packages/orm/mongoose/src/interfaces/MongooseSchemaOptions.ts @@ -1,4 +1,5 @@ import {type IndexOptions, Schema, SchemaOptions} from "mongoose"; + import {MongooseDocument} from "./MongooseDocument.js"; export type MongooseNextCB = (err?: Error) => void; diff --git a/packages/orm/mongoose/src/services/MongooseConnection.spec.ts b/packages/orm/mongoose/src/services/MongooseConnection.spec.ts index a3dd696f418..096df1f033c 100644 --- a/packages/orm/mongoose/src/services/MongooseConnection.spec.ts +++ b/packages/orm/mongoose/src/services/MongooseConnection.spec.ts @@ -1,5 +1,6 @@ import {PlatformTest} from "@tsed/common"; import {Configuration} from "@tsed/di"; + import {MongooseService} from "../../src/index.js"; import {MONGOOSE_CONNECTIONS} from "../../src/services/MongooseConnections.js"; diff --git a/packages/orm/mongoose/src/services/MongooseConnections.ts b/packages/orm/mongoose/src/services/MongooseConnections.ts index c9befe4804f..6db32f9e5e2 100644 --- a/packages/orm/mongoose/src/services/MongooseConnections.ts +++ b/packages/orm/mongoose/src/services/MongooseConnections.ts @@ -1,5 +1,6 @@ -import {Configuration, registerProvider} from "@tsed/di"; import {isArray} from "@tsed/core"; +import {Configuration, registerProvider} from "@tsed/di"; + import {MongooseConnectionOptions} from "../interfaces/MongooseConnectionOptions.js"; import {MongooseService} from "../services/MongooseService.js"; diff --git a/packages/orm/mongoose/src/services/MongooseService.spec.ts b/packages/orm/mongoose/src/services/MongooseService.spec.ts index 0f93b32b505..e8cbd45b576 100644 --- a/packages/orm/mongoose/src/services/MongooseService.spec.ts +++ b/packages/orm/mongoose/src/services/MongooseService.spec.ts @@ -1,5 +1,6 @@ import {PlatformTest} from "@tsed/common"; import Mongoose from "mongoose"; + import {MongooseService} from "../../src/index.js"; describe("Mongoose", () => { diff --git a/packages/orm/mongoose/src/utils/buildMongooseSchema.spec.ts b/packages/orm/mongoose/src/utils/buildMongooseSchema.spec.ts index 6b1bca4b537..0bc185f1f79 100644 --- a/packages/orm/mongoose/src/utils/buildMongooseSchema.spec.ts +++ b/packages/orm/mongoose/src/utils/buildMongooseSchema.spec.ts @@ -1,5 +1,6 @@ import {JsonEntityStore, Property} from "@tsed/schema"; import {Types} from "mongoose"; + import {buildMongooseSchema} from "../../src/utils/createSchema.js"; import {MONGOOSE_SCHEMA} from "../constants/constants.js"; diff --git a/packages/orm/mongoose/src/utils/createModel.spec.ts b/packages/orm/mongoose/src/utils/createModel.spec.ts index c16cb59e23d..e13ec1ab3ee 100644 --- a/packages/orm/mongoose/src/utils/createModel.spec.ts +++ b/packages/orm/mongoose/src/utils/createModel.spec.ts @@ -1,4 +1,5 @@ import mongoose from "mongoose"; + import {createModel} from "../../src/index.js"; describe("createModel()", () => { diff --git a/packages/orm/mongoose/src/utils/createModel.ts b/packages/orm/mongoose/src/utils/createModel.ts index ee812cb6594..4efc428365f 100644 --- a/packages/orm/mongoose/src/utils/createModel.ts +++ b/packages/orm/mongoose/src/utils/createModel.ts @@ -1,6 +1,7 @@ import {nameOf, Store, Type} from "@tsed/core"; import {JsonEntityStore} from "@tsed/schema"; import mongoose, {Connection} from "mongoose"; + import {MONGOOSE_MODEL, MONGOOSE_MODEL_NAME} from "../constants/constants.js"; import {MongooseModels} from "../registries/MongooseModels.js"; import {getSchemaToken} from "./createSchema.js"; diff --git a/packages/orm/mongoose/src/utils/createSchema.spec.ts b/packages/orm/mongoose/src/utils/createSchema.spec.ts index 047cbd88eb7..4d6cb0ccd4b 100644 --- a/packages/orm/mongoose/src/utils/createSchema.spec.ts +++ b/packages/orm/mongoose/src/utils/createSchema.spec.ts @@ -13,6 +13,8 @@ import { Required } from "@tsed/schema"; import {Schema as SchemaMongoose, Types} from "mongoose"; + +import {DiscriminatorKey} from "../decorators/discriminatorKey.js"; import {Model} from "../decorators/model.js"; import {ObjectID} from "../decorators/objectID.js"; import {Ref} from "../decorators/ref.js"; @@ -21,7 +23,6 @@ import {SchemaIgnore} from "../decorators/schemaIgnore.js"; import {VersionKey} from "../decorators/versionKey.js"; import {VirtualRef, VirtualRefs} from "../decorators/virtualRef.js"; import {getSchema} from "./createSchema.js"; -import {DiscriminatorKey} from "../decorators/discriminatorKey.js"; describe("createSchema", () => { it("should create schema", () => { diff --git a/packages/orm/mongoose/src/utils/createSchema.ts b/packages/orm/mongoose/src/utils/createSchema.ts index 869d8c864ab..fa73ed1dd9e 100644 --- a/packages/orm/mongoose/src/utils/createSchema.ts +++ b/packages/orm/mongoose/src/utils/createSchema.ts @@ -1,8 +1,9 @@ import {cleanObject, nameOf, Store, Type} from "@tsed/core"; import {deserialize, serialize} from "@tsed/json-mapper"; -import {getProperties, JsonEntityStore, JsonSchema} from "@tsed/schema"; +import {getProperties, JsonEntityStore} from "@tsed/schema"; import {pascalCase} from "change-case"; import mongoose, {Schema, SchemaDefinition, SchemaOptions, SchemaTypeOptions} from "mongoose"; + import {MONGOOSE_SCHEMA, MONGOOSE_SCHEMA_OPTIONS} from "../constants/constants.js"; import {MongooseSchemaOptions} from "../interfaces/MongooseSchemaOptions.js"; import {MongooseVirtualRefOptions} from "../interfaces/MongooseVirtualRefOptions.js"; @@ -18,7 +19,7 @@ export interface MongooseSchemaMetadata { * @ignore */ function setUpSchema({schema, virtuals}: MongooseSchemaMetadata, options?: SchemaOptions) { - const mongooseSchema = new mongoose.Schema(schema, options); + const mongooseSchema = new mongoose.Schema(schema, options as never); for (const [key, options] of virtuals.entries()) { mongooseSchema.virtual(key, options); diff --git a/packages/orm/mongoose/src/utils/resolveRefType.spec.ts b/packages/orm/mongoose/src/utils/resolveRefType.spec.ts index 0d3ea1ae980..59df5669338 100644 --- a/packages/orm/mongoose/src/utils/resolveRefType.spec.ts +++ b/packages/orm/mongoose/src/utils/resolveRefType.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {MONGOOSE_MODEL_NAME} from "../constants/constants.js"; import {resolveRefType} from "./resolveRefType.js"; @@ -14,14 +15,6 @@ describe("resolveRefType", () => { expect(resolveRefType(Test)).toBe("Test"); }); - it("should return type as string (from class)", () => { - class Test {} - - Store.from(Test).set(MONGOOSE_MODEL_NAME, "Test"); - - expect(resolveRefType(Test)).toBe("Test"); - }); - it("should return type as string (from class without store)", () => { class Test {} diff --git a/packages/orm/mongoose/src/utils/resolveRefType.ts b/packages/orm/mongoose/src/utils/resolveRefType.ts index d71537c74cb..4a789599949 100644 --- a/packages/orm/mongoose/src/utils/resolveRefType.ts +++ b/packages/orm/mongoose/src/utils/resolveRefType.ts @@ -1,4 +1,5 @@ import {isClass, isString, nameOf, Store, Type} from "@tsed/core"; + import {MONGOOSE_MODEL_NAME} from "../constants/constants.js"; /** diff --git a/packages/orm/mongoose/src/utils/schemaOptions.ts b/packages/orm/mongoose/src/utils/schemaOptions.ts index 91f97a508ca..ddf3c61b34c 100644 --- a/packages/orm/mongoose/src/utils/schemaOptions.ts +++ b/packages/orm/mongoose/src/utils/schemaOptions.ts @@ -1,5 +1,6 @@ import {deepMerge, Store} from "@tsed/core"; import {Schema} from "mongoose"; + import {MONGOOSE_SCHEMA_OPTIONS} from "../constants/constants.js"; import { MongooseHookPromised, diff --git a/packages/orm/mongoose/test/array.integration.spec.ts b/packages/orm/mongoose/test/array.integration.spec.ts index 578c7c3bb7e..5f4e3692a95 100644 --- a/packages/orm/mongoose/test/array.integration.spec.ts +++ b/packages/orm/mongoose/test/array.integration.spec.ts @@ -1,7 +1,8 @@ +import {DITest} from "@tsed/di"; import {serialize} from "@tsed/json-mapper"; -import {MyWorkspace, UserModel, UserWorkspace, Workspace, WorkspaceModel} from "./helpers/models/UserWorkspace.js"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; -import {DITest} from "@tsed/di"; + +import {MyWorkspace, UserModel, UserWorkspace, Workspace, WorkspaceModel} from "./helpers/models/UserWorkspace.js"; describe("Mongoose", () => { describe("Array models", () => { diff --git a/packages/orm/mongoose/test/buffer.integration.spec.ts b/packages/orm/mongoose/test/buffer.integration.spec.ts index 9d7ffe2c5bf..d094d981797 100644 --- a/packages/orm/mongoose/test/buffer.integration.spec.ts +++ b/packages/orm/mongoose/test/buffer.integration.spec.ts @@ -1,9 +1,10 @@ +import {faker} from "@faker-js/faker"; +import {PlatformTest} from "@tsed/common"; +import {TestContainersMongo} from "@tsed/testcontainers-mongo"; import axios from "axios"; -import faker from "@faker-js/faker"; + import {MongooseModel} from "../src/interfaces/MongooseModel.js"; import {TestAvatar} from "./helpers/models/Avatar.js"; -import {TestContainersMongo} from "@tsed/testcontainers-mongo"; -import {PlatformTest} from "@tsed/common"; describe("Mongoose", () => { describe("Models with Buffer", () => { @@ -14,7 +15,7 @@ describe("Mongoose", () => { "Should save and load buffer", PlatformTest.inject([TestAvatar], async (avatarModel: MongooseModel) => { const imageBuffer = await axios - .get(faker.image.people(256, 256), { + .get(faker.image.avatarGitHub(), { responseType: "arraybuffer" }) .then((response) => Buffer.from(response.data, "binary")); diff --git a/packages/orm/mongoose/test/circularRef.integration.spec.ts b/packages/orm/mongoose/test/circularRef.integration.spec.ts index aa633f6411e..44ce9eaad21 100644 --- a/packages/orm/mongoose/test/circularRef.integration.spec.ts +++ b/packages/orm/mongoose/test/circularRef.integration.spec.ts @@ -1,11 +1,12 @@ import {Injectable, PlatformTest} from "@tsed/common"; import {Inject} from "@tsed/di"; -import {MongooseModel} from "@tsed/mongoose"; import {getJsonSchema} from "@tsed/schema"; +import {TestContainersMongo} from "@tsed/testcontainers-mongo"; + +import {MongooseModel} from "../src/index.js"; import {TestContract} from "./helpers/models/Contract.js"; import {TestCustomer} from "./helpers/models/Customer.js"; import {SelfUser} from "./helpers/models/User.js"; -import {TestContainersMongo} from "@tsed/testcontainers-mongo"; @Injectable() class MyService { diff --git a/packages/orm/mongoose/test/discriminators.integration.spec.ts b/packages/orm/mongoose/test/discriminators.integration.spec.ts index 7489b2b96ec..de7bd2c7120 100644 --- a/packages/orm/mongoose/test/discriminators.integration.spec.ts +++ b/packages/orm/mongoose/test/discriminators.integration.spec.ts @@ -1,7 +1,8 @@ -import {Required} from "@tsed/schema"; import {PlatformTest} from "@tsed/common"; +import {DiscriminatorValue, Required} from "@tsed/schema"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; -import {DiscriminatorKey, Model, ObjectID, MongooseModel} from "../src/index.js"; + +import {DiscriminatorKey, Model, MongooseModel, ObjectID} from "../src/index.js"; describe("Mongoose", () => { describe("Discriminators", () => { @@ -17,13 +18,15 @@ describe("Mongoose", () => { type: string; } - @Model({discriminatorValue: "ClickedLinkEventModel"}) + @Model() + @DiscriminatorValue("ClickedLinkEventModel") class ClickedLinkEventModel extends EventModel { @Required() url: string; } - @Model({discriminatorValue: "signUpEvent"}) + @Model() + @DiscriminatorValue("signUpEvent") class SignedUpEventModel extends EventModel { @Required() user: string; diff --git a/packages/orm/mongoose/test/dynamicRef.integration.spec.ts b/packages/orm/mongoose/test/dynamicRef.integration.spec.ts index 8de6602a705..32cf193bf59 100644 --- a/packages/orm/mongoose/test/dynamicRef.integration.spec.ts +++ b/packages/orm/mongoose/test/dynamicRef.integration.spec.ts @@ -1,9 +1,10 @@ import {PlatformTest} from "@tsed/common"; import {deserialize, serialize} from "@tsed/json-mapper"; import {Enum, getJsonSchema, Required} from "@tsed/schema"; +import {TestContainersMongo} from "@tsed/testcontainers-mongo"; + import {Model} from "../src/decorators/model.js"; import {DynamicRef, MongooseModel, ObjectID} from "../src/index.js"; -import {TestContainersMongo} from "@tsed/testcontainers-mongo"; describe("DynamicRef Integration", () => { @Model() diff --git a/packages/orm/mongoose/test/enums.integration.spec.ts b/packages/orm/mongoose/test/enums.integration.spec.ts index b48ae1668ff..081ae164014 100644 --- a/packages/orm/mongoose/test/enums.integration.spec.ts +++ b/packages/orm/mongoose/test/enums.integration.spec.ts @@ -1,7 +1,8 @@ -import {Model} from "@tsed/mongoose"; import {CollectionOf, Default, Description, Enum, enums, getJsonSchema, MaxLength, MinLength, Required} from "@tsed/schema"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; +import {Model} from "../src/index.js"; + export enum ComponentStatuses { UNDER_MAINTENANCE = "UNDER_MAINTENANCE", DEGRADED_PERFORMANCE = "DEGRADED_PERFORMANCE", diff --git a/packages/orm/mongoose/test/helpers/Server.ts b/packages/orm/mongoose/test/helpers/Server.ts index 666a4dbcefc..682be45be0f 100644 --- a/packages/orm/mongoose/test/helpers/Server.ts +++ b/packages/orm/mongoose/test/helpers/Server.ts @@ -1,12 +1,14 @@ -import {Configuration, Inject, PlatformApplication} from "@tsed/common"; -import "@tsed/mongoose"; +import "../../src/index.js"; import "@tsed/platform-express"; +import "@tsed/platform-log-request"; + +import {Configuration, Inject, PlatformApplication} from "@tsed/common"; import bodyParser from "body-parser"; import compress from "compression"; import cookieParser from "cookie-parser"; import methodOverride from "method-override"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build @Configuration({ rootDir, @@ -14,8 +16,7 @@ const rootDir = __dirname; // automatically replaced by import.meta.dirname on b disableComponentScan: true, httpsPort: false, logger: { - level: "info", - logRequest: true + level: "info" } }) export class Server { diff --git a/packages/orm/mongoose/test/helpers/models/Avatar.ts b/packages/orm/mongoose/test/helpers/models/Avatar.ts index 6bfbe03fae9..f8b4d1e162f 100644 --- a/packages/orm/mongoose/test/helpers/models/Avatar.ts +++ b/packages/orm/mongoose/test/helpers/models/Avatar.ts @@ -1,4 +1,5 @@ import {Property} from "@tsed/schema"; + import {Model, ObjectID} from "../../../src/index.js"; @Model({schemaOptions: {timestamps: true}}) diff --git a/packages/orm/mongoose/test/helpers/models/Client.ts b/packages/orm/mongoose/test/helpers/models/Client.ts index c0938ab0484..6c652f2fa7f 100644 --- a/packages/orm/mongoose/test/helpers/models/Client.ts +++ b/packages/orm/mongoose/test/helpers/models/Client.ts @@ -1,4 +1,5 @@ import {CollectionOf} from "@tsed/schema"; + import {Model, ObjectID, Ref} from "../../../src/index.js"; import {SelfUser} from "./User.js"; diff --git a/packages/orm/mongoose/test/helpers/models/Customer.ts b/packages/orm/mongoose/test/helpers/models/Customer.ts index 8cf9f0e66c3..550808a9f7f 100644 --- a/packages/orm/mongoose/test/helpers/models/Customer.ts +++ b/packages/orm/mongoose/test/helpers/models/Customer.ts @@ -1,5 +1,6 @@ -import {Model, ObjectID, Ref} from "@tsed/mongoose"; import {CollectionOf} from "@tsed/schema"; + +import {Model, ObjectID, Ref} from "../../../src/index.js"; import {TestClient} from "./Client.js"; import {TestContract} from "./Contract.js"; diff --git a/packages/orm/mongoose/test/helpers/models/User.ts b/packages/orm/mongoose/test/helpers/models/User.ts index 910d6fe7e59..6a4a4d3bc4e 100644 --- a/packages/orm/mongoose/test/helpers/models/User.ts +++ b/packages/orm/mongoose/test/helpers/models/User.ts @@ -1,7 +1,6 @@ -import {Model, MongooseNextCB, ObjectID, PostHook, PreHook, Ref, Schema, Unique} from "@tsed/mongoose"; import {CollectionOf, Groups, Ignore, MinLength, Property, Required} from "@tsed/schema"; -import next from "ajv/dist/vocabularies/next"; -import {options} from "superagent"; + +import {Model, MongooseNextCB, ObjectID, PostHook, PreHook, Ref, Schema, Unique} from "../../../src/index.js"; export class BaseModel { @ObjectID("id") @@ -19,7 +18,7 @@ export class BaseModel { schemaOptions: {_id: false} }) export class UserModuleData { - @CollectionOf(Number).MinItems(1) + @(CollectionOf(Number).MinItems(1)) roles: number[]; } diff --git a/packages/orm/mongoose/test/helpers/models/UserWorkspace.ts b/packages/orm/mongoose/test/helpers/models/UserWorkspace.ts index de48923fb3b..a7c179879e4 100644 --- a/packages/orm/mongoose/test/helpers/models/UserWorkspace.ts +++ b/packages/orm/mongoose/test/helpers/models/UserWorkspace.ts @@ -1,7 +1,8 @@ import {CollectionOf, Property} from "@tsed/schema"; -import {Model, MongooseModel, ObjectID, Ref, Schema} from "@tsed/mongoose"; import {Types} from "mongoose"; +import {Model, MongooseModel, ObjectID, Ref, Schema} from "../../../src/index.js"; + @Model() export class Workspace { @ObjectID("id") diff --git a/packages/orm/mongoose/test/multipleConnection.integration.spec.ts b/packages/orm/mongoose/test/multipleConnection.integration.spec.ts index b1eee133573..b27e983e424 100644 --- a/packages/orm/mongoose/test/multipleConnection.integration.spec.ts +++ b/packages/orm/mongoose/test/multipleConnection.integration.spec.ts @@ -1,7 +1,9 @@ import {PlatformTest} from "@tsed/common"; import {Property} from "@tsed/schema"; -import {Model, MongooseModel, MongooseService, ObjectID} from "@tsed/mongoose"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; +import {afterEach, beforeEach, describe, expect, it} from "vitest"; + +import {Model, MongooseModel, MongooseService, ObjectID} from "../src/index.js"; import {Server} from "./helpers/Server.js"; @Model({ diff --git a/packages/orm/mongoose/test/readonly.integration.spec.ts b/packages/orm/mongoose/test/readonly.integration.spec.ts index 3c096116e21..cbfa7a27152 100644 --- a/packages/orm/mongoose/test/readonly.integration.spec.ts +++ b/packages/orm/mongoose/test/readonly.integration.spec.ts @@ -1,8 +1,9 @@ import {Inject, Injectable, PlatformTest} from "@tsed/common"; import {getJsonSchema, Groups, Name, Property, ReadOnly, Required} from "@tsed/schema"; -import {Immutable, Model, MongooseModel, ObjectID, SchemaIgnore} from "../src/index.js"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; +import {Immutable, Model, MongooseModel, ObjectID, SchemaIgnore} from "../src/index.js"; + class BaseModel { @ObjectID("id") @Required() diff --git a/packages/orm/mongoose/test/ref-array.integration.spec.ts b/packages/orm/mongoose/test/ref-array.integration.spec.ts index d76967adaea..50e1217255d 100644 --- a/packages/orm/mongoose/test/ref-array.integration.spec.ts +++ b/packages/orm/mongoose/test/ref-array.integration.spec.ts @@ -1,10 +1,13 @@ -import faker from "@faker-js/faker"; -import {BodyParams, Controller, Get, Inject, PlatformTest, Post, QueryParams} from "@tsed/common"; +import {faker} from "@faker-js/faker"; +import {BodyParams, PlatformTest, QueryParams} from "@tsed/common"; +import {Controller, Inject} from "@tsed/di"; import {deserialize, serialize} from "@tsed/json-mapper"; -import {MongooseModel} from "@tsed/mongoose"; import {PlatformExpress} from "@tsed/platform-express"; +import {Get, Post} from "@tsed/schema"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; import SuperTest from "supertest"; + +import {MongooseModel} from "../src/index.js"; import {TestProfile2, TestUser} from "./helpers/models/User.js"; import {Server} from "./helpers/Server.js"; @@ -35,12 +38,12 @@ class ProfilesCtrl { async function getServiceFixture() { const baseUser = { email: faker.internet.email(), - password: faker.internet.password(12) + password: faker.internet.password({length: 12}) }; const baseProfile = { image: faker.image.avatar(), - age: faker.datatype.number(2) + age: faker.number.int(2) }; const repository = PlatformTest.get(ProfilesCtrl)!; @@ -113,12 +116,12 @@ describe("Mongoose", () => { expect(result).toBeInstanceOf(TestUser); expect(typeof result._id).toBe("string"); expect(result.alwaysIgnored).toBe("hello ignore"); - expect(Date.parse(result.created)).not.toBeNaN(); + expect(Date.parse(result.created as unknown as string)).not.toBeNaN(); expect(result.email).toBe(currentUser.email); expect(result.password).toBe(currentUser.password); expect(result.post).toBe("hello post"); expect(result.pre).toBe("hello pre"); - expect(Date.parse(result.updated)).not.toBeNaN(); + expect(Date.parse(result.updated as unknown as string)).not.toBeNaN(); }); it("should transform mongoose instance to object", async () => { diff --git a/packages/orm/mongoose/test/ref.integration.spec.ts b/packages/orm/mongoose/test/ref.integration.spec.ts index d5844c31007..f30bc6226a1 100644 --- a/packages/orm/mongoose/test/ref.integration.spec.ts +++ b/packages/orm/mongoose/test/ref.integration.spec.ts @@ -1,10 +1,13 @@ -import faker from "@faker-js/faker"; -import {BodyParams, Controller, Get, Inject, PlatformTest, Post, QueryParams} from "@tsed/common"; +import {faker} from "@faker-js/faker"; +import {BodyParams, PlatformTest, QueryParams} from "@tsed/common"; +import {Controller, Inject} from "@tsed/di"; import {deserialize, serialize} from "@tsed/json-mapper"; -import {MongooseModel} from "@tsed/mongoose"; import {PlatformExpress} from "@tsed/platform-express"; +import {Get, Post} from "@tsed/schema"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; import SuperTest from "supertest"; + +import {MongooseModel} from "../src/index.js"; import {TestProfile, TestUser} from "./helpers/models/User.js"; import {Server} from "./helpers/Server.js"; @@ -34,12 +37,12 @@ class ProfilesCtrl { const baseUser = { email: faker.internet.email(), - password: faker.internet.password(12) + password: faker.internet.password({length: 12}) }; const baseProfile = { image: faker.image.avatar(), - age: faker.datatype.number(2) + age: faker.number.int(2) }; async function getServiceFixture() { @@ -113,12 +116,12 @@ describe("Mongoose", () => { expect(result).toBeInstanceOf(TestUser); expect(typeof result._id).toBe("string"); expect(result.alwaysIgnored).toBe("hello ignore"); - expect(Date.parse(result.created as string)).not.toBeNaN(); + expect(Date.parse(result.created as unknown as string)).not.toBeNaN(); expect(result.email).toBe(currentUser.email); expect(result.password).toBe(currentUser.password); expect(result.post).toBe("hello post"); expect(result.pre).toBe("hello pre"); - expect(Date.parse(result.updated as string)).not.toBeNaN(); + expect(Date.parse(result.updated as unknown as string)).not.toBeNaN(); }); it("should transform mongoose instance to object", async () => { diff --git a/packages/orm/mongoose/test/resources.integration.spec.ts b/packages/orm/mongoose/test/resources.integration.spec.ts index 83e05c71b97..d68eb00ca12 100644 --- a/packages/orm/mongoose/test/resources.integration.spec.ts +++ b/packages/orm/mongoose/test/resources.integration.spec.ts @@ -1,12 +1,14 @@ -import faker from "@faker-js/faker"; -import {BodyParams, Controller, Get, Inject, Injectable, PathParams, PlatformTest, Post} from "@tsed/common"; +import {faker} from "@faker-js/faker"; +import {BodyParams, PathParams, PlatformTest} from "@tsed/common"; import {isArray} from "@tsed/core"; +import {Controller, Inject, Injectable} from "@tsed/di"; import {deserialize} from "@tsed/json-mapper"; -import {MongooseModel} from "@tsed/mongoose"; import {PlatformExpress} from "@tsed/platform-express"; -import {Groups, Returns} from "@tsed/schema"; +import {Get, Groups, Post, Returns} from "@tsed/schema"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; import SuperTest from "supertest"; + +import {MongooseModel} from "../src/index.js"; import {TestRole, TestUser, TestUserNew} from "./helpers/models/User.js"; import {Server} from "./helpers/Server.js"; @@ -42,25 +44,25 @@ class ResourcesCtrl { TestRole: MongooseModel; @Get("/without/:id") - @Returns(200, TestUser).Groups("!creation") + @(Returns(200, TestUser).Groups("!creation")) getWithoutType(@PathParams("id") id: string) { return this.repository.findById(id); } @Get("/:id") - @Returns(200, TestUser).Groups("!creation") + @(Returns(200, TestUser).Groups("!creation")) get(@PathParams("id") id: string) { return this.repository.findById(id); } @Get("/") - @Returns(200, Array).Of(TestUser).Groups("!creation") + @(Returns(200, Array).Of(TestUser).Groups("!creation")) getAll() { return this.repository.findAll(); } @Post("/") - @Returns(201, TestUser).Groups("!creation") + @(Returns(201, TestUser).Groups("!creation")) create(@BodyParams() @Groups("creation") user: TestUser) { return this.repository.create(user); } @@ -74,7 +76,7 @@ class ResourcesCtrl { await role.save(); - user.name = faker.name.firstName(); + user.name = faker.person.firstName(); user.roles = [role._id]; @@ -92,12 +94,12 @@ async function getServiceFixture() { const baseUser = { email: faker.internet.email(), - password: faker.internet.password(12) + password: faker.internet.password({length: 12}) }; const baseUser2 = { email: faker.internet.email(), - password: faker.internet.password(12) + password: faker.internet.password({length: 12}) }; const currentUser2 = await repository.create(baseUser2); diff --git a/packages/orm/mongoose/test/subdocument.integration.spec.ts b/packages/orm/mongoose/test/subdocument.integration.spec.ts index 5a61a712142..0f3264eaade 100644 --- a/packages/orm/mongoose/test/subdocument.integration.spec.ts +++ b/packages/orm/mongoose/test/subdocument.integration.spec.ts @@ -1,7 +1,8 @@ import {Property} from "@tsed/schema"; -import {getSchema, Model, MongooseSchema, ObjectID} from "../src/index.js"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; +import {getSchema, Model, MongooseSchema, ObjectID} from "../src/index.js"; + @MongooseSchema() export class TestSubDocument { @Property() diff --git a/packages/orm/mongoose/test/user.integration.spec.ts b/packages/orm/mongoose/test/user.integration.spec.ts index 51c5182e3a1..b60465ec13d 100644 --- a/packages/orm/mongoose/test/user.integration.spec.ts +++ b/packages/orm/mongoose/test/user.integration.spec.ts @@ -1,8 +1,9 @@ -import faker from "@faker-js/faker"; +import {faker} from "@faker-js/faker"; import {PlatformTest} from "@tsed/common"; +import {TestContainersMongo} from "@tsed/testcontainers-mongo"; + import {MongooseModel} from "../src/interfaces/MongooseModel.js"; import {TestUser} from "./helpers/models/User.js"; -import {TestContainersMongo} from "@tsed/testcontainers-mongo"; describe("Mongoose", () => { describe("UserModel (di)", () => { @@ -15,7 +16,7 @@ describe("Mongoose", () => { // GIVEN const user = new userModel({ email: "test@test.fr", - password: faker.internet.password(12) + password: faker.internet.password({length: 12}) }); // WHEN @@ -41,7 +42,7 @@ describe("Mongoose", () => { // GIVEN const user = new userModel({ email: "test@test.fr", - password: faker.internet.password(12) + password: faker.internet.password({length: 12}) }); // WHEN diff --git a/packages/orm/mongoose/test/versioning.integration.spec.ts b/packages/orm/mongoose/test/versioning.integration.spec.ts index 86c7cba6d09..d5c0d02a939 100644 --- a/packages/orm/mongoose/test/versioning.integration.spec.ts +++ b/packages/orm/mongoose/test/versioning.integration.spec.ts @@ -1,9 +1,10 @@ +import {PlatformTest} from "@tsed/common"; import {serialize} from "@tsed/json-mapper"; -import {MongooseModel} from "../src/interfaces/MongooseModel.js"; import {Integer, Required} from "@tsed/schema"; -import {Model, ObjectID, VersionKey} from "../src/index.js"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; -import {PlatformTest} from "@tsed/common"; + +import {Model, ObjectID, VersionKey} from "../src/index.js"; +import {MongooseModel} from "../src/interfaces/MongooseModel.js"; describe("Mongoose", () => { describe("Versioning", () => { diff --git a/packages/orm/mongoose/test/virtualRef.integration.spec.ts b/packages/orm/mongoose/test/virtualRef.integration.spec.ts index eef4b7bcd08..2a0145c23a8 100644 --- a/packages/orm/mongoose/test/virtualRef.integration.spec.ts +++ b/packages/orm/mongoose/test/virtualRef.integration.spec.ts @@ -1,11 +1,13 @@ -import {Controller, Get, Inject, PlatformTest} from "@tsed/common"; +import {PlatformTest} from "@tsed/common"; import {getValue} from "@tsed/core"; +import {Controller, Inject} from "@tsed/di"; import {serialize} from "@tsed/json-mapper"; -import {Model, MongooseModel, ObjectID, VirtualRef} from "@tsed/mongoose"; import {PlatformExpress} from "@tsed/platform-express"; -import {CollectionOf, getJsonSchema, Groups, Integer, Required} from "@tsed/schema"; +import {CollectionOf, Get, getJsonSchema, Groups, Integer, Required} from "@tsed/schema"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; import SuperTest from "supertest"; + +import {Model, MongooseModel, ObjectID, VirtualRef} from "../src/index.js"; import {Server} from "./helpers/Server.js"; @Model() diff --git a/packages/orm/mongoose/tsconfig.cjs.json b/packages/orm/mongoose/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/orm/mongoose/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/orm/mongoose/tsconfig.esm.json b/packages/orm/mongoose/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/orm/mongoose/tsconfig.esm.json +++ b/packages/orm/mongoose/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/orm/mongoose/tsconfig.json b/packages/orm/mongoose/tsconfig.json index 7c0154121de..34650b39c8c 100644 --- a/packages/orm/mongoose/tsconfig.json +++ b/packages/orm/mongoose/tsconfig.json @@ -24,9 +24,6 @@ { "path": "../testcontainers-mongo/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/orm/mongoose/tsconfig.spec.json b/packages/orm/mongoose/tsconfig.spec.json index 21485bab96d..5a6e5c12b13 100644 --- a/packages/orm/mongoose/tsconfig.spec.json +++ b/packages/orm/mongoose/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/orm/objection/package.json b/packages/orm/objection/package.json index ddba8c1753d..4e1214f0965 100644 --- a/packages/orm/objection/package.json +++ b/packages/orm/objection/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/objection", "description": "Objection.js package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -23,7 +22,7 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/ajv": "workspace:*", @@ -33,19 +32,19 @@ "@tsed/json-mapper": "workspace:*", "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", + "eslint": "9.12.0", "knex": "^3.1.0", "objection": "^2.2.18", "sqlite3": "^5.1.7", - "typescript": "4.9.5", - "vitest": "2.0.4" + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/ajv": "7.83.3", - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/json-mapper": "7.83.3", - "@tsed/schema": "7.83.3", + "@tsed/ajv": "8.0.0-alpha.10", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/json-mapper": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10", "knex": ">=0.94.0", "objection": ">=2.0.0" }, diff --git a/packages/orm/objection/src/components/createBooleanColumn.spec.ts b/packages/orm/objection/src/components/createBooleanColumn.spec.ts index 7ba1dd79d5b..677daefac59 100644 --- a/packages/orm/objection/src/components/createBooleanColumn.spec.ts +++ b/packages/orm/objection/src/components/createBooleanColumn.spec.ts @@ -1,4 +1,5 @@ import {Property} from "@tsed/schema"; + import {createTableStub} from "../../test/helpers/knex/table.js"; import {Entity} from "../decorators/entity.js"; import {createColumns} from "../utils/createColumns.js"; diff --git a/packages/orm/objection/src/components/createBooleanColumn.ts b/packages/orm/objection/src/components/createBooleanColumn.ts index a24ceafb784..c0c413fb61d 100644 --- a/packages/orm/objection/src/components/createBooleanColumn.ts +++ b/packages/orm/objection/src/components/createBooleanColumn.ts @@ -1,4 +1,5 @@ import type {Knex} from "knex"; + import {ColumnTypesContainer} from "../services/ColumnTypesContainer.js"; import {ColumnCtx} from "../utils/getColumnCtx.js"; /** diff --git a/packages/orm/objection/src/components/createIdColumn.spec.ts b/packages/orm/objection/src/components/createIdColumn.spec.ts index 1c2d62100f0..d058cb2a08d 100644 --- a/packages/orm/objection/src/components/createIdColumn.spec.ts +++ b/packages/orm/objection/src/components/createIdColumn.spec.ts @@ -1,7 +1,7 @@ +import {createTableStub} from "../../test/helpers/knex/table.js"; import {Entity} from "../decorators/entity.js"; import {IdColumn} from "../decorators/idColumn.js"; import {createColumns} from "../utils/createColumns.js"; -import {createTableStub} from "../../test/helpers/knex/table.js"; describe("createIdColumn", () => { it("should create table from a given class (bigIncrements)", () => { diff --git a/packages/orm/objection/src/components/createIdColumn.ts b/packages/orm/objection/src/components/createIdColumn.ts index b6d91f37b4f..58a14c0956d 100644 --- a/packages/orm/objection/src/components/createIdColumn.ts +++ b/packages/orm/objection/src/components/createIdColumn.ts @@ -1,7 +1,8 @@ -import {ColumnCtx} from "../utils/getColumnCtx.js"; -import {ColumnTypesContainer} from "../services/ColumnTypesContainer.js"; -import type {Knex} from "knex"; import {randomUUID} from "crypto"; +import type {Knex} from "knex"; + +import {ColumnTypesContainer} from "../services/ColumnTypesContainer.js"; +import {ColumnCtx} from "../utils/getColumnCtx.js"; /** * @ignore diff --git a/packages/orm/objection/src/components/createNumberColumn.spec.ts b/packages/orm/objection/src/components/createNumberColumn.spec.ts index 9d555a0b614..991a6735de8 100644 --- a/packages/orm/objection/src/components/createNumberColumn.spec.ts +++ b/packages/orm/objection/src/components/createNumberColumn.spec.ts @@ -1,4 +1,5 @@ import {Property} from "@tsed/schema"; + import {createTableStub} from "../../test/helpers/knex/table.js"; import {Decimal} from "../decorators/decimal.js"; import {Entity} from "../decorators/entity.js"; diff --git a/packages/orm/objection/src/components/createNumberColumn.ts b/packages/orm/objection/src/components/createNumberColumn.ts index 2e61294dda0..1d6b535b046 100644 --- a/packages/orm/objection/src/components/createNumberColumn.ts +++ b/packages/orm/objection/src/components/createNumberColumn.ts @@ -1,4 +1,5 @@ import type {Knex} from "knex"; + import {ColumnTypesContainer} from "../services/ColumnTypesContainer.js"; import {ColumnCtx} from "../utils/getColumnCtx.js"; diff --git a/packages/orm/objection/src/components/createStringColumn.spec.ts b/packages/orm/objection/src/components/createStringColumn.spec.ts index a3e9d974c7a..90b0540ee9b 100644 --- a/packages/orm/objection/src/components/createStringColumn.spec.ts +++ b/packages/orm/objection/src/components/createStringColumn.spec.ts @@ -1,4 +1,5 @@ import {MaxLength, Property} from "@tsed/schema"; + import {createTableStub} from "../../test/helpers/knex/table.js"; import {Entity} from "../decorators/entity.js"; import {createColumns} from "../utils/createColumns.js"; diff --git a/packages/orm/objection/src/components/createStringColumn.ts b/packages/orm/objection/src/components/createStringColumn.ts index a160b1a8738..19726bc4135 100644 --- a/packages/orm/objection/src/components/createStringColumn.ts +++ b/packages/orm/objection/src/components/createStringColumn.ts @@ -1,4 +1,5 @@ import type {Knex} from "knex"; + import {ColumnTypesContainer} from "../services/ColumnTypesContainer.js"; import {ColumnCtx} from "../utils/getColumnCtx.js"; diff --git a/packages/orm/objection/src/decorators/belongsToOne.spec.ts b/packages/orm/objection/src/decorators/belongsToOne.spec.ts index 93cf4f47be0..95f539a7561 100644 --- a/packages/orm/objection/src/decorators/belongsToOne.spec.ts +++ b/packages/orm/objection/src/decorators/belongsToOne.spec.ts @@ -1,4 +1,5 @@ import {Model} from "objection"; + import {BelongsToOne} from "./belongsToOne.js"; import {Entity} from "./entity.js"; import {IdColumn} from "./idColumn.js"; diff --git a/packages/orm/objection/src/decorators/belongsToOne.ts b/packages/orm/objection/src/decorators/belongsToOne.ts index c7ebe822aa9..6bad782bc87 100644 --- a/packages/orm/objection/src/decorators/belongsToOne.ts +++ b/packages/orm/objection/src/decorators/belongsToOne.ts @@ -1,6 +1,7 @@ import {Model} from "objection"; -import {RelatesTo} from "./relatesTo.js"; + import {RelationshipOptsWithoutThrough} from "../domain/RelationshipOpts.js"; +import {RelatesTo} from "./relatesTo.js"; /** * diff --git a/packages/orm/objection/src/decorators/columnOptions.ts b/packages/orm/objection/src/decorators/columnOptions.ts index 0f8c67bab2b..1105e77fbda 100644 --- a/packages/orm/objection/src/decorators/columnOptions.ts +++ b/packages/orm/objection/src/decorators/columnOptions.ts @@ -1,4 +1,5 @@ import {StoreSet} from "@tsed/core"; + import type {ColumnOpts} from "../domain/ColumnOpts.js"; /** diff --git a/packages/orm/objection/src/decorators/decimal.spec.ts b/packages/orm/objection/src/decorators/decimal.spec.ts index 5b05828b35c..7559385be47 100644 --- a/packages/orm/objection/src/decorators/decimal.spec.ts +++ b/packages/orm/objection/src/decorators/decimal.spec.ts @@ -1,5 +1,6 @@ import {Store} from "@tsed/core"; import {getJsonSchema} from "@tsed/schema"; + import {Decimal} from "./decimal.js"; describe("@Decimal", () => { diff --git a/packages/orm/objection/src/decorators/decimal.ts b/packages/orm/objection/src/decorators/decimal.ts index c9c35f29519..ef56635d591 100644 --- a/packages/orm/objection/src/decorators/decimal.ts +++ b/packages/orm/objection/src/decorators/decimal.ts @@ -1,5 +1,6 @@ import {StoreSet, useDecorators} from "@tsed/core"; import {Property} from "@tsed/schema"; + import {ColumnOptions} from "./columnOptions.js"; export interface DecimalOptions { diff --git a/packages/orm/objection/src/decorators/entity.ts b/packages/orm/objection/src/decorators/entity.ts index de0a0515e51..42627bdf358 100644 --- a/packages/orm/objection/src/decorators/entity.ts +++ b/packages/orm/objection/src/decorators/entity.ts @@ -1,7 +1,8 @@ import {Type} from "@tsed/core"; +import {getJsonSchema} from "@tsed/schema"; + import {defineStaticGetter} from "../utils/defineStaticGetter.js"; import {getJsonEntityRelationships} from "../utils/getJsonEntityRelationships.js"; -import {getJsonSchema} from "@tsed/schema"; /** * diff --git a/packages/orm/objection/src/decorators/hasMany.spec.ts b/packages/orm/objection/src/decorators/hasMany.spec.ts index 4ef0129cb03..640d44f3871 100644 --- a/packages/orm/objection/src/decorators/hasMany.spec.ts +++ b/packages/orm/objection/src/decorators/hasMany.spec.ts @@ -1,4 +1,5 @@ import {Model} from "objection"; + import {Entity} from "./entity.js"; import {HasMany} from "./hasMany.js"; import {IdColumn} from "./idColumn.js"; diff --git a/packages/orm/objection/src/decorators/hasMany.ts b/packages/orm/objection/src/decorators/hasMany.ts index 4f6e6dd1a7e..6425b56eabf 100644 --- a/packages/orm/objection/src/decorators/hasMany.ts +++ b/packages/orm/objection/src/decorators/hasMany.ts @@ -1,7 +1,7 @@ import {Model, ModelClassSpecifier} from "objection"; -import {RelatesTo} from "./relatesTo.js"; import {RelationshipOptsWithThrough} from "../domain/RelationshipOpts.js"; +import {RelatesTo} from "./relatesTo.js"; /** * diff --git a/packages/orm/objection/src/decorators/hasOne.spec.ts b/packages/orm/objection/src/decorators/hasOne.spec.ts index 3200eeb0e3c..be1f25899cf 100644 --- a/packages/orm/objection/src/decorators/hasOne.spec.ts +++ b/packages/orm/objection/src/decorators/hasOne.spec.ts @@ -1,4 +1,5 @@ import {Model} from "objection"; + import {Entity} from "./entity.js"; import {HasOne} from "./hasOne.js"; import {IdColumn} from "./idColumn.js"; diff --git a/packages/orm/objection/src/decorators/hasOne.ts b/packages/orm/objection/src/decorators/hasOne.ts index 0a47c768ef0..1c7283f720c 100644 --- a/packages/orm/objection/src/decorators/hasOne.ts +++ b/packages/orm/objection/src/decorators/hasOne.ts @@ -1,6 +1,7 @@ import {Model} from "objection"; -import {RelatesTo} from "./relatesTo.js"; + import {RelationshipOptsWithoutThrough} from "../domain/RelationshipOpts.js"; +import {RelatesTo} from "./relatesTo.js"; /** * diff --git a/packages/orm/objection/src/decorators/hasOneThroughRelation.spec.ts b/packages/orm/objection/src/decorators/hasOneThroughRelation.spec.ts index 5d741114a64..60d1136e37f 100644 --- a/packages/orm/objection/src/decorators/hasOneThroughRelation.spec.ts +++ b/packages/orm/objection/src/decorators/hasOneThroughRelation.spec.ts @@ -1,4 +1,5 @@ import {Model} from "objection"; + import {Entity} from "./entity.js"; import {HasOneThroughRelation} from "./hasOneThroughRelation.js"; import {IdColumn} from "./idColumn.js"; diff --git a/packages/orm/objection/src/decorators/hasOneThroughRelation.ts b/packages/orm/objection/src/decorators/hasOneThroughRelation.ts index 6f111e9ff26..399464f987b 100644 --- a/packages/orm/objection/src/decorators/hasOneThroughRelation.ts +++ b/packages/orm/objection/src/decorators/hasOneThroughRelation.ts @@ -1,6 +1,6 @@ -import {RelationshipOptsWithThrough, RelationshipOptsWithoutThrough} from "../domain/RelationshipOpts.js"; - import {Model} from "objection"; + +import {RelationshipOptsWithoutThrough, RelationshipOptsWithThrough} from "../domain/RelationshipOpts.js"; import {RelatesTo} from "./relatesTo.js"; /** diff --git a/packages/orm/objection/src/decorators/idColumn.spec.ts b/packages/orm/objection/src/decorators/idColumn.spec.ts index 84991a45daf..cb2ead9de32 100644 --- a/packages/orm/objection/src/decorators/idColumn.spec.ts +++ b/packages/orm/objection/src/decorators/idColumn.spec.ts @@ -1,6 +1,7 @@ import {Store} from "@tsed/core"; import {getJsonSchema} from "@tsed/schema"; import {Model} from "objection"; + import {IdColumn} from "./idColumn.js"; describe("@IdColumn", () => { diff --git a/packages/orm/objection/src/decorators/idColumn.ts b/packages/orm/objection/src/decorators/idColumn.ts index 045dca0ceac..6d4663bf9e0 100644 --- a/packages/orm/objection/src/decorators/idColumn.ts +++ b/packages/orm/objection/src/decorators/idColumn.ts @@ -1,7 +1,8 @@ -import {ColumnOptions} from "./columnOptions.js"; +import {useDecorators} from "@tsed/core"; import {Property} from "@tsed/schema"; + import {defineStaticGetter} from "../utils/defineStaticGetter.js"; -import {useDecorators} from "@tsed/core"; +import {ColumnOptions} from "./columnOptions.js"; /** * diff --git a/packages/orm/objection/src/decorators/manyToMany.spec.ts b/packages/orm/objection/src/decorators/manyToMany.spec.ts index 3cc6ed4ad6e..bc448759882 100644 --- a/packages/orm/objection/src/decorators/manyToMany.spec.ts +++ b/packages/orm/objection/src/decorators/manyToMany.spec.ts @@ -1,4 +1,5 @@ import {Model} from "objection"; + import {Entity} from "./entity.js"; import {IdColumn} from "./idColumn.js"; import {ManyToMany} from "./manyToMany.js"; diff --git a/packages/orm/objection/src/decorators/manyToMany.ts b/packages/orm/objection/src/decorators/manyToMany.ts index 964bffb0432..ad8dc62011f 100644 --- a/packages/orm/objection/src/decorators/manyToMany.ts +++ b/packages/orm/objection/src/decorators/manyToMany.ts @@ -1,7 +1,7 @@ import {Model, ModelClassSpecifier} from "objection"; -import {RelatesTo} from "./relatesTo.js"; import {RelationshipOptsWithThrough} from "../domain/RelationshipOpts.js"; +import {RelatesTo} from "./relatesTo.js"; /** * diff --git a/packages/orm/objection/src/decorators/relatesTo.spec.ts b/packages/orm/objection/src/decorators/relatesTo.spec.ts index 33d65caa6e0..9c9d8646769 100644 --- a/packages/orm/objection/src/decorators/relatesTo.spec.ts +++ b/packages/orm/objection/src/decorators/relatesTo.spec.ts @@ -1,4 +1,5 @@ import {Model} from "objection"; + import {Entity} from "./entity.js"; import {IdColumn} from "./idColumn.js"; import {RelatesTo} from "./relatesTo.js"; diff --git a/packages/orm/objection/src/decorators/relatesTo.ts b/packages/orm/objection/src/decorators/relatesTo.ts index 20237c0ae23..677beebd83b 100644 --- a/packages/orm/objection/src/decorators/relatesTo.ts +++ b/packages/orm/objection/src/decorators/relatesTo.ts @@ -1,10 +1,10 @@ -import {CollectionOf, Property} from "@tsed/schema"; -import {RelationshipOpts, isModelClassFactory} from "../domain/RelationshipOpts.js"; import {StoreFn, useDecorators} from "@tsed/core"; - -import {OBJECTION_RELATIONSHIP_KEY} from "../utils/getJsonEntityRelationships.js"; +import {CollectionOf, Property} from "@tsed/schema"; import {RelationType} from "objection"; + +import {isModelClassFactory, RelationshipOpts} from "../domain/RelationshipOpts.js"; import {createRelationshipMapping} from "../utils/createRelationshipMapping.js"; +import {OBJECTION_RELATIONSHIP_KEY} from "../utils/getJsonEntityRelationships.js"; /** * diff --git a/packages/orm/objection/src/services/ColumnTypesContainer.ts b/packages/orm/objection/src/services/ColumnTypesContainer.ts index 971fe987803..93c05d44a98 100644 --- a/packages/orm/objection/src/services/ColumnTypesContainer.ts +++ b/packages/orm/objection/src/services/ColumnTypesContainer.ts @@ -1,4 +1,5 @@ import type {Knex} from "knex"; + import {ColumnCtx} from "../utils/getColumnCtx.js"; /** diff --git a/packages/orm/objection/src/services/ObjectionConnection.ts b/packages/orm/objection/src/services/ObjectionConnection.ts index 1f69b7946b4..53328d005cc 100644 --- a/packages/orm/objection/src/services/ObjectionConnection.ts +++ b/packages/orm/objection/src/services/ObjectionConnection.ts @@ -1,5 +1,6 @@ import {Configuration, registerProvider} from "@tsed/di"; import type {Knex} from "knex"; + import {createConnection} from "../utils/connect.js"; export const OBJECTION_CONNECTION = Symbol.for("DEFAULT_CONNECTION"); diff --git a/packages/orm/objection/src/utils/createColumns.spec.ts b/packages/orm/objection/src/utils/createColumns.spec.ts index df2078aef78..449b7eb83a0 100644 --- a/packages/orm/objection/src/utils/createColumns.spec.ts +++ b/packages/orm/objection/src/utils/createColumns.spec.ts @@ -1,5 +1,6 @@ import {catchError} from "@tsed/core"; import {MaxLength, Property} from "@tsed/schema"; + import {createTableStub} from "../../test/helpers/knex/table.js"; import {Decimal} from "../decorators/decimal.js"; import {Entity} from "../decorators/entity.js"; diff --git a/packages/orm/objection/src/utils/createColumns.ts b/packages/orm/objection/src/utils/createColumns.ts index 5e64be85d09..1a51990f5ca 100644 --- a/packages/orm/objection/src/utils/createColumns.ts +++ b/packages/orm/objection/src/utils/createColumns.ts @@ -1,9 +1,11 @@ +import "../components/createBooleanColumn.js"; +import "../components/createIdColumn.js"; +import "../components/createNumberColumn.js"; +import "../components/createStringColumn.js"; + import {getProperties, JsonEntityStore} from "@tsed/schema"; import {Knex} from "knex"; -import "../components/createBooleanColumn"; -import "../components/createIdColumn"; -import "../components/createNumberColumn"; -import "../components/createStringColumn"; + import {ColumnTypesContainer} from "../services/ColumnTypesContainer.js"; import {getColumnCtx} from "./getColumnCtx.js"; diff --git a/packages/orm/objection/src/utils/createJoinKeys.ts b/packages/orm/objection/src/utils/createJoinKeys.ts index 204c150a5ba..04a4c2b0d97 100644 --- a/packages/orm/objection/src/utils/createJoinKeys.ts +++ b/packages/orm/objection/src/utils/createJoinKeys.ts @@ -1,7 +1,7 @@ +import {Metadata} from "@tsed/core"; import {Model, RelationType} from "objection"; -import {RelationshipOpts, isRelationshipOptsWithThrough} from "../domain/RelationshipOpts.js"; -import {Metadata} from "@tsed/core"; +import {isRelationshipOptsWithThrough, RelationshipOpts} from "../domain/RelationshipOpts.js"; /** * @ignore diff --git a/packages/orm/objection/src/utils/createRelationshipMapping.ts b/packages/orm/objection/src/utils/createRelationshipMapping.ts index 74fe1c395ee..09e0d9da3c5 100644 --- a/packages/orm/objection/src/utils/createRelationshipMapping.ts +++ b/packages/orm/objection/src/utils/createRelationshipMapping.ts @@ -1,6 +1,6 @@ -import {DecoratorParameters, Metadata, getClass} from "@tsed/core"; - +import {DecoratorParameters, getClass, Metadata} from "@tsed/core"; import {RelationType} from "objection"; + import {RelationshipOpts} from "../domain/RelationshipOpts.js"; import {createJoinKeys} from "./createJoinKeys.js"; diff --git a/packages/orm/objection/src/utils/getColumnCtx.ts b/packages/orm/objection/src/utils/getColumnCtx.ts index a3cdadc604c..186fa266eac 100644 --- a/packages/orm/objection/src/utils/getColumnCtx.ts +++ b/packages/orm/objection/src/utils/getColumnCtx.ts @@ -1,4 +1,5 @@ import {JsonEntityStore} from "@tsed/schema"; + import {ColumnOpts} from "../domain/ColumnOpts.js"; /** diff --git a/packages/orm/objection/test/helpers/Server.ts b/packages/orm/objection/test/helpers/Server.ts index 1234c5b544f..c53f344d47e 100644 --- a/packages/orm/objection/test/helpers/Server.ts +++ b/packages/orm/objection/test/helpers/Server.ts @@ -1,13 +1,13 @@ -import {Configuration, Inject, PlatformApplication} from "@tsed/common"; -import "@tsed/objection"; +import "../../src/index.js"; import "@tsed/platform-express"; + +import {Configuration, Inject, PlatformApplication} from "@tsed/common"; import bodyParser from "body-parser"; import compress from "compression"; - import cookieParser from "cookie-parser"; import methodOverride from "method-override"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build @Configuration({ rootDir, diff --git a/packages/orm/objection/test/helpers/migrations/01_users.ts b/packages/orm/objection/test/helpers/migrations/01_users.ts index 5640a426885..ea0538c6d52 100644 --- a/packages/orm/objection/test/helpers/migrations/01_users.ts +++ b/packages/orm/objection/test/helpers/migrations/01_users.ts @@ -1,4 +1,5 @@ import type {Knex} from "knex"; + import {createColumns} from "../../../src/index.js"; import {User} from "../models/User.js"; diff --git a/packages/orm/objection/test/helpers/models/User.ts b/packages/orm/objection/test/helpers/models/User.ts index 496f542c9e1..c8005a2b9a0 100644 --- a/packages/orm/objection/test/helpers/models/User.ts +++ b/packages/orm/objection/test/helpers/models/User.ts @@ -1,7 +1,7 @@ -import {Entity} from "@tsed/objection"; import {Groups, MaxLength, MinLength, Required} from "@tsed/schema"; import {Model} from "objection"; -import {IdColumn} from "../../../src/index.js"; + +import {Entity, IdColumn} from "../../../src/index.js"; @Entity("users") export class User extends Model { diff --git a/packages/orm/objection/test/integration.spec.ts b/packages/orm/objection/test/integration.spec.ts index eec149a2948..9fe37916bd4 100644 --- a/packages/orm/objection/test/integration.spec.ts +++ b/packages/orm/objection/test/integration.spec.ts @@ -1,11 +1,12 @@ import {PlatformTest} from "@tsed/common"; import {serialize} from "@tsed/json-mapper"; -import {OBJECTION_CONNECTION} from "@tsed/objection"; import {Knex} from "knex"; +import {afterAll, beforeAll, beforeEach, describe, expect, it} from "vitest"; + +import {OBJECTION_CONNECTION} from "../src/index.js"; import {User} from "./helpers/models/User.js"; -import {describe, beforeAll, beforeEach, it, afterAll, expect} from "vitest"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build describe.skip("Objection integrations", () => { beforeAll(() => { diff --git a/packages/orm/objection/tsconfig.cjs.json b/packages/orm/objection/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/orm/objection/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/orm/objection/tsconfig.esm.json b/packages/orm/objection/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/orm/objection/tsconfig.esm.json +++ b/packages/orm/objection/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/orm/objection/tsconfig.json b/packages/orm/objection/tsconfig.json index 89178569535..3e021e18ff8 100644 --- a/packages/orm/objection/tsconfig.json +++ b/packages/orm/objection/tsconfig.json @@ -21,9 +21,6 @@ { "path": "../../specs/schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/orm/objection/tsconfig.spec.json b/packages/orm/objection/tsconfig.spec.json index 21485bab96d..5a6e5c12b13 100644 --- a/packages/orm/objection/tsconfig.spec.json +++ b/packages/orm/objection/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/orm/prisma/package.json b/packages/orm/prisma/package.json index a963ca88b42..92b71ba5d59 100644 --- a/packages/orm/prisma/package.json +++ b/packages/orm/prisma/package.json @@ -1,22 +1,21 @@ { "name": "@tsed/prisma", "description": "Generate Ts.ED JsonSchema based on Prisma models", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "bin": { - "tsed-prisma": "lib/cjs/generator.js", + "tsed-prisma": "lib/esm/generator.js", "tsed-prisma-esm": "lib/esm/generator.js" }, "scripts": { @@ -24,23 +23,21 @@ "build": "rm -rf lib && yarn build:ts && monorepo build-hybrid", "build:ts": "tsc --build tsconfig.json", "test": "vitest run", - "generate:postgres": "yarn build && cd test/postgres && prisma -v && prisma generate", "generate:postgres:esm": "yarn build && cd test/postgres-esm && prisma -v && prisma generate", - "generate:mongo": "yarn build && cd test/mongo && prisma -v && prisma generate", "generate:mongo:esm": "yarn build && cd test/mongo-esm && prisma -v && prisma generate", "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "@prisma/generator-helper": "^4.16.2", - "@prisma/internals": "^4.16.2", - "change-case": "^4.1.2", + "@prisma/generator-helper": "^5.20.0", + "@prisma/internals": "^5.20.0", + "change-case": "^5.4.4", "fs-extra": "^11.2.0", "pluralize": "^8.0.0", - "ts-morph": "^12.0.0", - "tslib": "2.6.1" + "ts-morph": "^12.2.0", + "tslib": "2.7.0" }, "devDependencies": { - "@prisma/client": "^4.16.2", + "@prisma/client": "^5.20.0", "@tsed/barrels": "workspace:*", "@tsed/core": "workspace:*", "@tsed/di": "workspace:*", @@ -50,17 +47,17 @@ "@tsed/typescript": "workspace:*", "@types/change-case": "^2.3.1", "@types/pluralize": "0.0.33", - "eslint": "^8.57.0", + "eslint": "9.12.0", "prisma": "^4.16.2", - "typescript": "4.9.5", - "vitest": "2.0.4" + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@prisma/client": ">=4.0.0", - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/json-mapper": "7.83.3", - "@tsed/schema": "7.83.3" + "@prisma/client": ">=5.0.0", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/json-mapper": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10" }, "keywords": [ "TypeScript", diff --git a/packages/orm/prisma/scripts/backup-index.cjs.js b/packages/orm/prisma/scripts/backup-index.cjs.js deleted file mode 100644 index 5b25a20da5c..00000000000 --- a/packages/orm/prisma/scripts/backup-index.cjs.js +++ /dev/null @@ -1,9 +0,0 @@ -const tsed = require("../.schema"); -const path = require("path"); - -module.exports = tsed; - -/** - * Annotation for ncc/zeit - */ -path.join(__dirname, "../.schema"); diff --git a/packages/orm/prisma/scripts/backup-index.d.cts b/packages/orm/prisma/scripts/backup-index.d.cts deleted file mode 100644 index b9a510b0d9e..00000000000 --- a/packages/orm/prisma/scripts/backup-index.d.cts +++ /dev/null @@ -1 +0,0 @@ -export * from "../.schema.js"; diff --git a/packages/orm/prisma/src/__mock__/createProjectFixture.ts b/packages/orm/prisma/src/__mock__/createProjectFixture.ts index e08da15e68f..41940dcd9b8 100644 --- a/packages/orm/prisma/src/__mock__/createProjectFixture.ts +++ b/packages/orm/prisma/src/__mock__/createProjectFixture.ts @@ -1,7 +1,7 @@ import {join} from "path"; import {ModuleKind, Project, ScriptTarget} from "ts-morph"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build const SNAPSHOT_DIR = `${rootDir}/../../test/snapshots`; diff --git a/packages/orm/prisma/src/cli/prismaGenerator.ts b/packages/orm/prisma/src/cli/prismaGenerator.ts index 6db53643f77..bac73c7a0fd 100644 --- a/packages/orm/prisma/src/cli/prismaGenerator.ts +++ b/packages/orm/prisma/src/cli/prismaGenerator.ts @@ -2,11 +2,11 @@ import {GeneratorOptions} from "@prisma/generator-helper"; import {parseEnvValue} from "@prisma/internals"; import fs from "fs-extra"; import path, {join} from "path"; + import {generateCode} from "../generator/generateCode.js"; import removeDir from "../generator/utils/removeDir.js"; -import {isCommonjs} from "../generator/utils/sourceType"; -function parseStringBoolean(stringBoolean: string | undefined) { +function parseStringBoolean(stringBoolean: string | string[] | undefined) { return Boolean(stringBoolean ? stringBoolean === "true" : undefined); } @@ -38,17 +38,11 @@ export function generate({defaultOutput, packageDir}: GenerateOptions) { }); if (outputDir === defaultOutput) { - await fs.copy(join(packageDir, "scripts", "backup-index.cjs.js"), join(packageDir, "lib", "cjs", "index.js")); await fs.copy(join(packageDir, "scripts", "backup-index.esm.js"), join(packageDir, "lib", "esm", "index.js")); - - if (isCommonjs()) { - await fs.copy(join(packageDir, "scripts", "backup-index.d.cts"), join(packageDir, "lib", "types", "index.d.ts")); - } else { - await fs.copy(join(packageDir, "scripts", "backup-index.d.mts"), join(packageDir, "lib", "types", "index.d.ts")); - await fs.writeJson(`${outputDir}/package.json`, { - type: "module" - }); - } + await fs.copy(join(packageDir, "scripts", "backup-index.d.mts"), join(packageDir, "lib", "types", "index.d.ts")); + await fs.writeJson(`${outputDir}/package.json`, { + type: "module" + }); } return ""; diff --git a/packages/orm/prisma/src/generator.ts b/packages/orm/prisma/src/generator.ts index 2ccb3a72b71..831a850fe7f 100644 --- a/packages/orm/prisma/src/generator.ts +++ b/packages/orm/prisma/src/generator.ts @@ -1,9 +1,10 @@ #!/usr/bin/env ts-node import {generatorHandler} from "@prisma/generator-helper"; import {join} from "path"; -import {generate} from "./cli/prismaGenerator"; -const rootDir = __dirname; // automatically replaced by tsed tools on build +import {generate} from "./cli/prismaGenerator.js"; + +const rootDir = import.meta.dirname; // automatically replaced by tsed tools on build export const defaultOutput = join(rootDir, "..", ".schema"); export const packageDir = join(rootDir, "..", ".."); diff --git a/packages/orm/prisma/src/generator/domain/DmmfField.ts b/packages/orm/prisma/src/generator/domain/DmmfField.ts index 9f4084ae9e1..570064c87f9 100644 --- a/packages/orm/prisma/src/generator/domain/DmmfField.ts +++ b/packages/orm/prisma/src/generator/domain/DmmfField.ts @@ -1,4 +1,5 @@ import {DMMF} from "@prisma/generator-helper"; + import {parseDocumentationAttributes} from "../utils/parseDocumentationAttributes.js"; import type {DmmfModel} from "./DmmfModel.js"; diff --git a/packages/orm/prisma/src/generator/domain/DmmfModel.ts b/packages/orm/prisma/src/generator/domain/DmmfModel.ts index caac7e2ca75..7c133789336 100644 --- a/packages/orm/prisma/src/generator/domain/DmmfModel.ts +++ b/packages/orm/prisma/src/generator/domain/DmmfModel.ts @@ -2,6 +2,7 @@ import {DMMF} from "@prisma/generator-helper"; import {toMap} from "@tsed/core"; import {pascalCase} from "change-case"; import {ImportDeclarationStructure, StructureKind} from "ts-morph"; + import {resolveExtension} from "../utils/resolveExtension.js"; import {DmmfField} from "./DmmfField.js"; diff --git a/packages/orm/prisma/src/generator/generateCode.spec.ts b/packages/orm/prisma/src/generator/generateCode.spec.ts index 526195dc19b..ed2f1f74541 100644 --- a/packages/orm/prisma/src/generator/generateCode.spec.ts +++ b/packages/orm/prisma/src/generator/generateCode.spec.ts @@ -1,6 +1,6 @@ -import {generateCode} from "./generateCode.js"; -import {createProjectFixture} from "../__mock__/createProjectFixture.js"; import {createDmmfFixture} from "../__mock__/createDmmfFixture.js"; +import {createProjectFixture} from "../__mock__/createProjectFixture.js"; +import {generateCode} from "./generateCode.js"; describe("generateCode", () => { it("should generate all codes", async () => { diff --git a/packages/orm/prisma/src/generator/generateCode.ts b/packages/orm/prisma/src/generator/generateCode.ts index 32720f4df41..b6d68571afe 100644 --- a/packages/orm/prisma/src/generator/generateCode.ts +++ b/packages/orm/prisma/src/generator/generateCode.ts @@ -1,5 +1,6 @@ import {DMMF} from "@prisma/generator-helper"; import {CompilerOptions, ModuleKind, Project, ScriptTarget} from "ts-morph"; + import {generateClientIndex} from "./utils/generateClientIndex.js"; import {generateEnums} from "./utils/generateEnums.js"; import {generateIndex} from "./utils/generateIndex.js"; @@ -8,11 +9,10 @@ import {generateModels} from "./utils/generateModels.js"; import {generatePrismaService} from "./utils/generatePrismaService.js"; import {generateRepositories} from "./utils/generateRepositories.js"; import {saveProject} from "./utils/saveProject.js"; -import {isCommonjs} from "./utils/sourceType.js"; const baseCompilerOptions: CompilerOptions = { - target: isCommonjs() ? ScriptTarget.ES2020 : ScriptTarget.ESNext, - module: isCommonjs() ? ModuleKind.CommonJS : ModuleKind.ESNext, + target: ScriptTarget.ESNext, + module: ModuleKind.ESNext, emitDecoratorMetadata: true, experimentalDecorators: true, esModuleInterop: true diff --git a/packages/orm/prisma/src/generator/transform/transformEnumsToEnums.spec.ts b/packages/orm/prisma/src/generator/transform/transformEnumsToEnums.spec.ts index b012e2cb99b..70e936e780d 100644 --- a/packages/orm/prisma/src/generator/transform/transformEnumsToEnums.spec.ts +++ b/packages/orm/prisma/src/generator/transform/transformEnumsToEnums.spec.ts @@ -1,5 +1,5 @@ -import {transformEnumsToEnums} from "./transformEnumsToEnums.js"; import {DmmfEnum} from "../domain/DmmfEnum.js"; +import {transformEnumsToEnums} from "./transformEnumsToEnums.js"; describe("transformEnumsToEnums()", () => { it("should transform Prisma Enum to a TS Enum", () => { diff --git a/packages/orm/prisma/src/generator/transform/transformEnumsToEnums.ts b/packages/orm/prisma/src/generator/transform/transformEnumsToEnums.ts index e23eae40bb4..4ff82ff2130 100644 --- a/packages/orm/prisma/src/generator/transform/transformEnumsToEnums.ts +++ b/packages/orm/prisma/src/generator/transform/transformEnumsToEnums.ts @@ -1,4 +1,5 @@ import {EnumMemberStructure, OptionalKind, StatementStructures, StructureKind} from "ts-morph"; + import {DmmfEnum} from "../domain/DmmfEnum.js"; export function transformEnumsToEnums(enumModel: DmmfEnum): StatementStructures { diff --git a/packages/orm/prisma/src/generator/transform/transformFieldToDecorators.spec.ts b/packages/orm/prisma/src/generator/transform/transformFieldToDecorators.spec.ts index ee59a4ad720..377d9909946 100644 --- a/packages/orm/prisma/src/generator/transform/transformFieldToDecorators.spec.ts +++ b/packages/orm/prisma/src/generator/transform/transformFieldToDecorators.spec.ts @@ -1,6 +1,6 @@ +import {createContextFixture} from "../../__mock__/createContextFixture.js"; import {createDmmfFieldFixture} from "../../__mock__/createDmmfFieldFixture.js"; import {PrismaScalars} from "../domain/ScalarTsTypes.js"; -import {createContextFixture} from "../../__mock__/createContextFixture.js"; import {transformFieldToDecorators} from "./transformFieldToDecorators.js"; describe("transformFieldToDecorators()", () => { diff --git a/packages/orm/prisma/src/generator/transform/transformFieldToDecorators.ts b/packages/orm/prisma/src/generator/transform/transformFieldToDecorators.ts index f4ddf16c146..77007a9c4c7 100644 --- a/packages/orm/prisma/src/generator/transform/transformFieldToDecorators.ts +++ b/packages/orm/prisma/src/generator/transform/transformFieldToDecorators.ts @@ -1,10 +1,10 @@ import {DecoratorStructure, StructureKind} from "ts-morph"; + import {DmmfField} from "../domain/DmmfField.js"; import {DmmfModel} from "../domain/DmmfModel.js"; import {ScalarDecorators, ScalarJsClasses} from "../domain/ScalarTsTypes.js"; import {TransformContext} from "../domain/TransformContext.js"; import {isCircularRef} from "../utils/isCircularRef.js"; -import {isEsm} from "../utils/sourceType.js"; function createDecorator(name: string, args: string[]): DecoratorStructure { return { diff --git a/packages/orm/prisma/src/generator/transform/transformFieldToProperty.ts b/packages/orm/prisma/src/generator/transform/transformFieldToProperty.ts index c8716638082..4de75faac9f 100644 --- a/packages/orm/prisma/src/generator/transform/transformFieldToProperty.ts +++ b/packages/orm/prisma/src/generator/transform/transformFieldToProperty.ts @@ -1,4 +1,5 @@ import {PropertyDeclarationStructure, StructureKind} from "ts-morph"; + import {DmmfField} from "../domain/DmmfField.js"; import {TransformContext} from "../domain/TransformContext.js"; import {transformFieldToDecorators} from "./transformFieldToDecorators.js"; diff --git a/packages/orm/prisma/src/generator/transform/transformModelToClass.spec.ts b/packages/orm/prisma/src/generator/transform/transformModelToClass.spec.ts index 92f1f0f270d..e3955283119 100644 --- a/packages/orm/prisma/src/generator/transform/transformModelToClass.spec.ts +++ b/packages/orm/prisma/src/generator/transform/transformModelToClass.spec.ts @@ -1,7 +1,7 @@ -import {transformModelToClass} from "./transformModelToClass.js"; -import {DmmfModel} from "../domain/DmmfModel.js"; import {createContextFixture} from "../../__mock__/createContextFixture.js"; import {createDmmfModelFixture} from "../../__mock__/createDmmfModelFixture.js"; +import {DmmfModel} from "../domain/DmmfModel.js"; +import {transformModelToClass} from "./transformModelToClass.js"; describe("transformModelToClass()", () => { it("should transform Prisma model to a TS Model (InputType)", () => { diff --git a/packages/orm/prisma/src/generator/transform/transformModelToClass.ts b/packages/orm/prisma/src/generator/transform/transformModelToClass.ts index dc74f00eab1..d17ba2f008d 100644 --- a/packages/orm/prisma/src/generator/transform/transformModelToClass.ts +++ b/packages/orm/prisma/src/generator/transform/transformModelToClass.ts @@ -1,4 +1,5 @@ import {StatementStructures, StructureKind} from "ts-morph"; + import {DmmfModel} from "../domain/DmmfModel.js"; import {TransformContext} from "../domain/TransformContext.js"; import {transformFieldToProperty} from "./transformFieldToProperty.js"; diff --git a/packages/orm/prisma/src/generator/transform/transformScalarToType.spec.ts b/packages/orm/prisma/src/generator/transform/transformScalarToType.spec.ts index 46339b8b77c..860e5533743 100644 --- a/packages/orm/prisma/src/generator/transform/transformScalarToType.spec.ts +++ b/packages/orm/prisma/src/generator/transform/transformScalarToType.spec.ts @@ -1,7 +1,7 @@ import {createContextFixture} from "../../__mock__/createContextFixture.js"; -import {transformScalarToType} from "./transformScalarToType.js"; import {createDmmfFieldFixture} from "../../__mock__/createDmmfFieldFixture.js"; import {PrismaScalars} from "../domain/ScalarTsTypes.js"; +import {transformScalarToType} from "./transformScalarToType.js"; describe("transformScalarToType()", () => { it("should transform User to User (not null + circular ref)", () => { diff --git a/packages/orm/prisma/src/generator/transform/transformScalarToType.ts b/packages/orm/prisma/src/generator/transform/transformScalarToType.ts index 5bbfbf1a4d1..72ff6568cdd 100644 --- a/packages/orm/prisma/src/generator/transform/transformScalarToType.ts +++ b/packages/orm/prisma/src/generator/transform/transformScalarToType.ts @@ -1,7 +1,7 @@ +import {DmmfEnum} from "../domain/DmmfEnum.js"; import {DmmfField} from "../domain/DmmfField.js"; import {DmmfModel} from "../domain/DmmfModel.js"; import {ScalarTsTypes} from "../domain/ScalarTsTypes.js"; -import {DmmfEnum} from "../domain/DmmfEnum.js"; import type {TransformContext} from "../domain/TransformContext.js"; import {isCircularRef} from "../utils/isCircularRef.js"; diff --git a/packages/orm/prisma/src/generator/utils/__snapshots__/generateEnums.spec.ts.snap b/packages/orm/prisma/src/generator/utils/__snapshots__/generateEnums.spec.ts.snap index 68e7f18a370..9b34d7ff71c 100644 --- a/packages/orm/prisma/src/generator/utils/__snapshots__/generateEnums.spec.ts.snap +++ b/packages/orm/prisma/src/generator/utils/__snapshots__/generateEnums.spec.ts.snap @@ -8,12 +8,3 @@ export enum Role { } " `; - -exports[`generateEnums should generate filese 1`] = ` -" -export enum Role { - USER = \\"USER\\", - ADMIN = \\"ADMIN\\" -} -" -`; diff --git a/packages/orm/prisma/src/generator/utils/__snapshots__/generateModels.spec.ts.snap b/packages/orm/prisma/src/generator/utils/__snapshots__/generateModels.spec.ts.snap index d10497cc36c..ed135951e28 100644 --- a/packages/orm/prisma/src/generator/utils/__snapshots__/generateModels.spec.ts.snap +++ b/packages/orm/prisma/src/generator/utils/__snapshots__/generateModels.spec.ts.snap @@ -1,7 +1,7 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html exports[`generateModels > should generate models (info) 1`] = ` -"import { Info } from "../client/index"; +"import { Info } from "../client/index.js"; import { Required, Property } from "@tsed/schema"; export class InfoModel implements Info { @@ -18,9 +18,9 @@ export class InfoModel implements Info { `; exports[`generateModels > should generate models (post) 1`] = ` -"import { Post } from "../client/index"; +"import { Post } from "../client/index.js"; import { Integer, Required, Property, Allow } from "@tsed/schema"; -import { UserModel } from "./UserModel"; +import { UserModel } from "./UserModel.js"; export class PostModel implements Post { @Property(Number) @@ -42,10 +42,10 @@ export class PostModel implements Post { `; exports[`generateModels > should generate models (user) 1`] = ` -"import { User } from "../client/index"; +"import { User } from "../client/index.js"; import { Integer, Required, Property, Groups, Format, Email, Description, Allow, Enum, CollectionOf } from "@tsed/schema"; -import { Role } from "../enums/index"; -import { PostModel } from "./PostModel"; +import { Role } from "../enums/index.js"; +import { PostModel } from "./PostModel.js"; export class UserModel implements User { @Property(Number) @@ -109,113 +109,3 @@ export class UserModel implements User { " `; - -exports[`generateModels should generate models (info) 1`] = ` -"import { Info } from \\"../client/index\\"; -import { Required, Property } from \\"@tsed/schema\\"; - -export class InfoModel implements Info { - @Property(String) - @Required() - firstName: string; - - @Property(String) - @Required() - lastName: string; -} - -" -`; - -exports[`generateModels should generate models (post) 1`] = ` -"import { Post } from \\"../client/index\\"; -import { Integer, Required, Property, Allow } from \\"@tsed/schema\\"; -import { UserModel } from \\"./UserModel\\"; - -export class PostModel implements Post { - @Property(Number) - @Integer() - @Required() - id: number; - - @Property(() => UserModel) - @Allow(null) - user: UserModel | null; - - @Property(Number) - @Integer() - @Allow(null) - userId: number | null; -} - -" -`; - -exports[`generateModels should generate models (user) 1`] = ` -"import { User } from \\"../client/index\\"; -import { Integer, Required, Property, Groups, Format, Email, Description, Allow, Enum, CollectionOf } from \\"@tsed/schema\\"; -import { Role } from \\"../enums/index\\"; -import { PostModel } from \\"./PostModel\\"; - -export class UserModel implements User { - @Property(Number) - @Integer() - @Required() - @Groups(\\"!creation\\") - id: number; - - @Property(Date) - @Format(\\"date-time\\") - @Required() - createdAt: Date; - - @Property(String) - @Required() - @Email() - @Description(\\"User email. This email must be unique!\\") - email: string; - - @Property(Number) - @Allow(null) - weight: number | null; - - @Property(Boolean) - @Allow(null) - is18: boolean | null; - - @Property(String) - @Allow(null) - name: string | null; - - @Property(Number) - @Integer() - @Allow(null) - successorId: number | null; - - @Property(() => UserModel) - @Allow(null) - successor: UserModel | null; - - @Property(() => UserModel) - @Allow(null) - predecessor: UserModel | null; - - @Required() - @Enum(Role) - role: Role; - - @CollectionOf(() => PostModel) - @Required() - posts: PostModel[]; - - @CollectionOf(String) - @Required() - keywords: string[]; - - @Property(Object) - @Required() - biography: any; -} - -" -`; diff --git a/packages/orm/prisma/src/generator/utils/__snapshots__/generatePrismaService.spec.ts.snap b/packages/orm/prisma/src/generator/utils/__snapshots__/generatePrismaService.spec.ts.snap index 74d0446da65..d90e729b5c1 100644 --- a/packages/orm/prisma/src/generator/utils/__snapshots__/generatePrismaService.spec.ts.snap +++ b/packages/orm/prisma/src/generator/utils/__snapshots__/generatePrismaService.spec.ts.snap @@ -3,7 +3,7 @@ exports[`generatePrismaService > should generate prisma service 1`] = ` "import { Inject, Injectable, Configuration, OnInit, OnDestroy } from "@tsed/di"; import { Logger } from "@tsed/logger"; -import { PrismaClient } from "../client/index"; +import { PrismaClient } from "../client/index.js"; @Injectable() export class PrismaService extends PrismaClient implements OnInit, OnDestroy { @@ -26,30 +26,3 @@ export class PrismaService extends PrismaClient implements OnInit, OnDestroy { } " `; - -exports[`generatePrismaService should generate prisma service 1`] = ` -"import { Inject, Injectable, Configuration, OnInit, OnDestroy } from \\"@tsed/di\\"; -import { Logger } from \\"@tsed/logger\\"; -import { PrismaClient } from \\"../client/index\\"; - -@Injectable() -export class PrismaService extends PrismaClient implements OnInit, OnDestroy { - @Inject() - protected logger: Logger; - - constructor(@Configuration() settings: Configuration) { - super(settings.get('prisma')); - } - - async $onInit(): Promise { - this.logger.info(\\"Connection to prisma database\\"); - await this.$connect(); - } - - async $onDestroy(): Promise { - this.logger.info(\\"Disconnection from prisma database\\"); - await this.$disconnect(); - } -} -" -`; diff --git a/packages/orm/prisma/src/generator/utils/__snapshots__/generateRespositories.spec.ts.snap b/packages/orm/prisma/src/generator/utils/__snapshots__/generateRespositories.spec.ts.snap index c8b47c3d8e9..9acc63703ac 100644 --- a/packages/orm/prisma/src/generator/utils/__snapshots__/generateRespositories.spec.ts.snap +++ b/packages/orm/prisma/src/generator/utils/__snapshots__/generateRespositories.spec.ts.snap @@ -4,9 +4,9 @@ exports[`generateRepositories > should generate repositories (posts) 1`] = ` "import { isArray } from "@tsed/core"; import { deserialize } from "@tsed/json-mapper"; import { Injectable, Inject } from "@tsed/di"; -import { PrismaService } from "../services/PrismaService"; -import { Prisma, Post } from "../client/index"; -import { PostModel } from "../models/index"; +import { PrismaService } from "../services/PrismaService.js"; +import { Prisma, Post } from "../client/index.js"; +import { PostModel } from "../models/index.js"; @Injectable() export class PostsRepository { @@ -79,159 +79,9 @@ exports[`generateRepositories > should generate repositories (user) 1`] = ` "import { isArray } from "@tsed/core"; import { deserialize } from "@tsed/json-mapper"; import { Injectable, Inject } from "@tsed/di"; -import { PrismaService } from "../services/PrismaService"; -import { Prisma, User } from "../client/index"; -import { UserModel } from "../models/index"; - -@Injectable() -export class UsersRepository { - @Inject() - protected prisma: PrismaService; - - get collection() { - return this.prisma.user - } - - get groupBy() { - return this.collection.groupBy.bind(this.collection) - } - - protected deserialize(obj: null | User | User[]): T { - return deserialize(obj, { type: UserModel, collectionType: isArray(obj) ? Array : undefined }) - } - - async findUnique(args: Prisma.UserFindUniqueArgs): Promise { - const obj = await this.collection.findUnique(args); - return this.deserialize(obj); - } - - async findFirst(args: Prisma.UserFindFirstArgs): Promise { - const obj = await this.collection.findFirst(args); - return this.deserialize(obj); - } - - async findMany(args?: Prisma.UserFindManyArgs): Promise { - const obj = await this.collection.findMany(args); - return this.deserialize(obj); - } - - async create(args: Prisma.UserCreateArgs): Promise { - const obj = await this.collection.create(args); - return this.deserialize(obj); - } - - async update(args: Prisma.UserUpdateArgs): Promise { - const obj = await this.collection.update(args); - return this.deserialize(obj); - } - - async upsert(args: Prisma.UserUpsertArgs): Promise { - const obj = await this.collection.upsert(args); - return this.deserialize(obj); - } - - async delete(args: Prisma.UserDeleteArgs): Promise { - const obj = await this.collection.delete(args); - return this.deserialize(obj); - } - - deleteMany(args: Prisma.UserDeleteManyArgs) { - return this.collection.deleteMany(args) - } - - updateMany(args: Prisma.UserUpdateManyArgs) { - return this.collection.updateMany(args) - } - - aggregate(args: Prisma.UserAggregateArgs) { - return this.collection.aggregate(args) - } -} -" -`; - -exports[`generateRepositories should generate repositories (posts) 1`] = ` -"import { isArray } from \\"@tsed/core\\"; -import { deserialize } from \\"@tsed/json-mapper\\"; -import { Injectable, Inject } from \\"@tsed/di\\"; -import { PrismaService } from \\"../services/PrismaService\\"; -import { Prisma, Post } from \\"../client/index\\"; -import { PostModel } from \\"../models/index\\"; - -@Injectable() -export class PostsRepository { - @Inject() - protected prisma: PrismaService; - - get collection() { - return this.prisma.post - } - - get groupBy() { - return this.collection.groupBy.bind(this.collection) - } - - protected deserialize(obj: null | Post | Post[]): T { - return deserialize(obj, { type: PostModel, collectionType: isArray(obj) ? Array : undefined }) - } - - async findUnique(args: Prisma.PostFindUniqueArgs): Promise { - const obj = await this.collection.findUnique(args); - return this.deserialize(obj); - } - - async findFirst(args: Prisma.PostFindFirstArgs): Promise { - const obj = await this.collection.findFirst(args); - return this.deserialize(obj); - } - - async findMany(args?: Prisma.PostFindManyArgs): Promise { - const obj = await this.collection.findMany(args); - return this.deserialize(obj); - } - - async create(args: Prisma.PostCreateArgs): Promise { - const obj = await this.collection.create(args); - return this.deserialize(obj); - } - - async update(args: Prisma.PostUpdateArgs): Promise { - const obj = await this.collection.update(args); - return this.deserialize(obj); - } - - async upsert(args: Prisma.PostUpsertArgs): Promise { - const obj = await this.collection.upsert(args); - return this.deserialize(obj); - } - - async delete(args: Prisma.PostDeleteArgs): Promise { - const obj = await this.collection.delete(args); - return this.deserialize(obj); - } - - deleteMany(args: Prisma.PostDeleteManyArgs) { - return this.collection.deleteMany(args) - } - - updateMany(args: Prisma.PostUpdateManyArgs) { - return this.collection.updateMany(args) - } - - aggregate(args: Prisma.PostAggregateArgs) { - return this.collection.aggregate(args) - } -} -" -`; - -exports[`generateRepositories should generate repositories (user) 1`] = ` -"import { isArray } from \\"@tsed/core\\"; -import { deserialize } from \\"@tsed/json-mapper\\"; -import { Injectable, Inject } from \\"@tsed/di\\"; -import { PrismaService } from \\"../services/PrismaService\\"; -import { Prisma, User } from \\"../client/index\\"; -import { UserModel } from \\"../models/index\\"; +import { PrismaService } from "../services/PrismaService.js"; +import { Prisma, User } from "../client/index.js"; +import { UserModel } from "../models/index.js"; @Injectable() export class UsersRepository { diff --git a/packages/orm/prisma/src/generator/utils/generateClientIndex.ts b/packages/orm/prisma/src/generator/utils/generateClientIndex.ts index 6c4a9bb0a48..da32a21ca93 100644 --- a/packages/orm/prisma/src/generator/utils/generateClientIndex.ts +++ b/packages/orm/prisma/src/generator/utils/generateClientIndex.ts @@ -1,5 +1,6 @@ import path from "path"; import {Project} from "ts-morph"; + import {GenerateCodeOptions} from "../generateCode.js"; import {resolveExtension} from "./resolveExtension.js"; diff --git a/packages/orm/prisma/src/generator/utils/generateEnums.spec.ts b/packages/orm/prisma/src/generator/utils/generateEnums.spec.ts index 3445789fa0a..9b54c956d19 100644 --- a/packages/orm/prisma/src/generator/utils/generateEnums.spec.ts +++ b/packages/orm/prisma/src/generator/utils/generateEnums.spec.ts @@ -1,7 +1,7 @@ -import {createProjectFixture} from "../../__mock__/createProjectFixture.js"; -import {generateModels} from "./generateModels.js"; import {createDmmfFixture} from "../../__mock__/createDmmfFixture.js"; +import {createProjectFixture} from "../../__mock__/createProjectFixture.js"; import {generateEnums} from "./generateEnums.js"; +import {generateModels} from "./generateModels.js"; describe("generateEnums", () => { it("should generate filese", () => { diff --git a/packages/orm/prisma/src/generator/utils/generateEnums.ts b/packages/orm/prisma/src/generator/utils/generateEnums.ts index 85fb70e0790..79f54af17b0 100644 --- a/packages/orm/prisma/src/generator/utils/generateEnums.ts +++ b/packages/orm/prisma/src/generator/utils/generateEnums.ts @@ -1,14 +1,15 @@ import {DMMF} from "@prisma/generator-helper"; -import {Project} from "ts-morph"; import {toMap} from "@tsed/core"; -import {DmmfEnum} from "../domain/DmmfEnum.js"; import path from "path"; -import {generateDocuments} from "./generateDocuments.js"; +import {Project} from "ts-morph"; + +import {DmmfEnum} from "../domain/DmmfEnum.js"; import {transformEnumsToEnums} from "../transform/transformEnumsToEnums.js"; +import {generateDocuments} from "./generateDocuments.js"; import {generateOutputsBarrelFile} from "./generateOutputsBarrelFile.js"; export function generateEnums(dmmf: DMMF.Document, project: Project, baseDirPath: string): boolean { - const enumsMap = toMap(dmmf.datamodel.enums, "name"); + const enumsMap = toMap(dmmf.datamodel.enums as any, "name"); const enums = DmmfEnum.getEnums(dmmf, enumsMap); const enumsDirPath = path.resolve(baseDirPath, "enums"); const enumsDirectory = project.createDirectory(enumsDirPath); diff --git a/packages/orm/prisma/src/generator/utils/generateIndex.ts b/packages/orm/prisma/src/generator/utils/generateIndex.ts index 0408c82f939..8e360e849df 100644 --- a/packages/orm/prisma/src/generator/utils/generateIndex.ts +++ b/packages/orm/prisma/src/generator/utils/generateIndex.ts @@ -1,5 +1,6 @@ -import {Project} from "ts-morph"; import path from "path"; +import {Project} from "ts-morph"; + import {resolveExtension} from "./resolveExtension.js"; export function generateIndex(project: Project, baseDirPath: string, hasEnum: boolean) { diff --git a/packages/orm/prisma/src/generator/utils/generateInterfaces.ts b/packages/orm/prisma/src/generator/utils/generateInterfaces.ts index 0e7bc94c3ff..59eed0413bf 100644 --- a/packages/orm/prisma/src/generator/utils/generateInterfaces.ts +++ b/packages/orm/prisma/src/generator/utils/generateInterfaces.ts @@ -1,5 +1,6 @@ -import {ModuleDeclarationKind, Project, StructureKind} from "ts-morph"; import path from "path"; +import {ModuleDeclarationKind, Project, StructureKind} from "ts-morph"; + import {resolveExtension} from "./resolveExtension.js"; export function generateInterfaces(project: Project, baseDirPath: string) { diff --git a/packages/orm/prisma/src/generator/utils/generateModels.spec.ts b/packages/orm/prisma/src/generator/utils/generateModels.spec.ts index eab820d75be..f250eadfbad 100644 --- a/packages/orm/prisma/src/generator/utils/generateModels.spec.ts +++ b/packages/orm/prisma/src/generator/utils/generateModels.spec.ts @@ -1,6 +1,6 @@ +import {createDmmfFixture, createDmmfWithTypesFixture} from "../../__mock__/createDmmfFixture.js"; import {createProjectFixture} from "../../__mock__/createProjectFixture.js"; import {generateModels} from "./generateModels.js"; -import {createDmmfFixture, createDmmfWithTypesFixture} from "../../__mock__/createDmmfFixture.js"; describe("generateModels", () => { it("should generate models (post)", () => { diff --git a/packages/orm/prisma/src/generator/utils/generateModels.ts b/packages/orm/prisma/src/generator/utils/generateModels.ts index 6154cb50d2e..a9fae05c00e 100644 --- a/packages/orm/prisma/src/generator/utils/generateModels.ts +++ b/packages/orm/prisma/src/generator/utils/generateModels.ts @@ -2,6 +2,7 @@ import {DMMF} from "@prisma/generator-helper"; import {getValue, toMap} from "@tsed/core"; import path from "path"; import {Project} from "ts-morph"; + import {DmmfModel} from "../domain/DmmfModel.js"; import {transformModelToClass} from "../transform/transformModelToClass.js"; import {generateDocuments} from "./generateDocuments.js"; diff --git a/packages/orm/prisma/src/generator/utils/generateOutputsBarrelFile.ts b/packages/orm/prisma/src/generator/utils/generateOutputsBarrelFile.ts index 8fba33c1b2c..31ae5c0fe4e 100644 --- a/packages/orm/prisma/src/generator/utils/generateOutputsBarrelFile.ts +++ b/packages/orm/prisma/src/generator/utils/generateOutputsBarrelFile.ts @@ -1,4 +1,5 @@ import {ExportDeclarationStructure, OptionalKind, SourceFile} from "ts-morph"; + import {resolveExtension} from "./resolveExtension.js"; export function generateOutputsBarrelFile(sourceFile: SourceFile, outputTypeNames: string[]) { diff --git a/packages/orm/prisma/src/generator/utils/generatePrismaService.spec.ts b/packages/orm/prisma/src/generator/utils/generatePrismaService.spec.ts index f565944a5b9..de7e24b8a1d 100644 --- a/packages/orm/prisma/src/generator/utils/generatePrismaService.spec.ts +++ b/packages/orm/prisma/src/generator/utils/generatePrismaService.spec.ts @@ -1,5 +1,5 @@ -import {generatePrismaService} from "./generatePrismaService.js"; import {createProjectFixture} from "../../__mock__/createProjectFixture.js"; +import {generatePrismaService} from "./generatePrismaService.js"; describe("generatePrismaService", () => { it("should generate prisma service", () => { diff --git a/packages/orm/prisma/src/generator/utils/generatePrismaService.ts b/packages/orm/prisma/src/generator/utils/generatePrismaService.ts index 90a70fdee2e..90897a164b4 100644 --- a/packages/orm/prisma/src/generator/utils/generatePrismaService.ts +++ b/packages/orm/prisma/src/generator/utils/generatePrismaService.ts @@ -1,5 +1,6 @@ -import {Project, Scope} from "ts-morph"; import path from "path"; +import {Project, Scope} from "ts-morph"; + import {resolveExtension} from "./resolveExtension.js"; export function generatePrismaService(project: Project, baseDirPath: string) { diff --git a/packages/orm/prisma/src/generator/utils/generateRepositories.ts b/packages/orm/prisma/src/generator/utils/generateRepositories.ts index 9489be35c90..3d41cc4c113 100644 --- a/packages/orm/prisma/src/generator/utils/generateRepositories.ts +++ b/packages/orm/prisma/src/generator/utils/generateRepositories.ts @@ -4,6 +4,7 @@ import {camelCase, pascalCase} from "change-case"; import path from "path"; import pluralize from "pluralize"; import {ClassDeclaration, Project, Scope} from "ts-morph"; + import {DmmfModel} from "../domain/DmmfModel.js"; import {generateOutputsBarrelFile} from "./generateOutputsBarrelFile.js"; import {resolveExtension} from "./resolveExtension.js"; @@ -40,7 +41,7 @@ function addDelegatedMethod({name, hasQuestionToken, repository, model, returnTy } export function generateRepositories(dmmf: DMMF.Document, project: Project, baseDirPath: string) { - const modelsMap = toMap(dmmf.datamodel.models, "name"); + const modelsMap = toMap(dmmf.datamodel.models as any, "name"); const models = DmmfModel.getModels(dmmf, modelsMap); const repoDirPath = path.resolve(baseDirPath, "repositories"); const repoDirectory = project.createDirectory(repoDirPath); diff --git a/packages/orm/prisma/src/generator/utils/generateRespositories.spec.ts b/packages/orm/prisma/src/generator/utils/generateRespositories.spec.ts index 7a8262f35c1..08bcc0fd83a 100644 --- a/packages/orm/prisma/src/generator/utils/generateRespositories.spec.ts +++ b/packages/orm/prisma/src/generator/utils/generateRespositories.spec.ts @@ -1,5 +1,5 @@ -import {createProjectFixture} from "../../__mock__/createProjectFixture.js"; import {createDmmfFixture} from "../../__mock__/createDmmfFixture.js"; +import {createProjectFixture} from "../../__mock__/createProjectFixture.js"; import {generateRepositories} from "./generateRepositories.js"; describe("generateRepositories", () => { diff --git a/packages/orm/prisma/src/generator/utils/isCircularRef.spec.ts b/packages/orm/prisma/src/generator/utils/isCircularRef.spec.ts index 7b3b32136e5..7ccd0b4b8cf 100644 --- a/packages/orm/prisma/src/generator/utils/isCircularRef.spec.ts +++ b/packages/orm/prisma/src/generator/utils/isCircularRef.spec.ts @@ -1,5 +1,5 @@ -import {isCircularRef} from "./isCircularRef.js"; import {createContextFixture} from "../../__mock__/createContextFixture.js"; +import {isCircularRef} from "./isCircularRef.js"; const ctx = createContextFixture(); diff --git a/packages/orm/prisma/src/generator/utils/isCircularRef.ts b/packages/orm/prisma/src/generator/utils/isCircularRef.ts index 4723fcc4afa..46ed7096596 100644 --- a/packages/orm/prisma/src/generator/utils/isCircularRef.ts +++ b/packages/orm/prisma/src/generator/utils/isCircularRef.ts @@ -1,6 +1,7 @@ -import {TransformContext} from "../domain/TransformContext.js"; import {DMMF} from "@prisma/generator-helper"; +import {TransformContext} from "../domain/TransformContext.js"; + export function isCircularRef(modelName: string, fieldType: string, ctx: TransformContext): boolean { if (modelName === fieldType) { return true; diff --git a/packages/orm/prisma/src/generator/utils/resolveExtension.ts b/packages/orm/prisma/src/generator/utils/resolveExtension.ts index d59ef3afe34..f061f55bcaf 100644 --- a/packages/orm/prisma/src/generator/utils/resolveExtension.ts +++ b/packages/orm/prisma/src/generator/utils/resolveExtension.ts @@ -1,7 +1,5 @@ -import {isEsm} from "./sourceType.js"; - export function resolveExtension(moduleSpecifier: string) { - if (isEsm() && moduleSpecifier.match(/\.\/.*/) && !moduleSpecifier.endsWith(".js")) { + if (moduleSpecifier.match(/\.\/.*/) && !moduleSpecifier.endsWith(".js")) { return `${moduleSpecifier}.js`; } diff --git a/packages/orm/prisma/src/generator/utils/sourceType.ts b/packages/orm/prisma/src/generator/utils/sourceType.ts deleted file mode 100644 index eecb9beffdd..00000000000 --- a/packages/orm/prisma/src/generator/utils/sourceType.ts +++ /dev/null @@ -1,7 +0,0 @@ -export function isCommonjs() { - return typeof module !== "undefined" && typeof exports !== "undefined"; -} - -export function isEsm() { - return !isCommonjs(); -} diff --git a/packages/orm/prisma/test/mongo-esm/tsconfig.json b/packages/orm/prisma/test/mongo-esm/tsconfig.json new file mode 100644 index 00000000000..fa0a429c11d --- /dev/null +++ b/packages/orm/prisma/test/mongo-esm/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "@tsed/typescript/tsconfig.node.json", + "compilerOptions": { + "baseUrl": ".", + "noEmit": true + }, + "include": ["."] +} diff --git a/packages/orm/prisma/test/mongo/prisma/tsconfig.json b/packages/orm/prisma/test/mongo/prisma/tsconfig.json new file mode 100644 index 00000000000..fa0a429c11d --- /dev/null +++ b/packages/orm/prisma/test/mongo/prisma/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "@tsed/typescript/tsconfig.node.json", + "compilerOptions": { + "baseUrl": ".", + "noEmit": true + }, + "include": ["."] +} diff --git a/packages/orm/prisma/test/postgres-esm/tsconfig.json b/packages/orm/prisma/test/postgres-esm/tsconfig.json new file mode 100644 index 00000000000..fa0a429c11d --- /dev/null +++ b/packages/orm/prisma/test/postgres-esm/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "@tsed/typescript/tsconfig.node.json", + "compilerOptions": { + "baseUrl": ".", + "noEmit": true + }, + "include": ["."] +} diff --git a/packages/orm/prisma/test/postgres/tsconfig.json b/packages/orm/prisma/test/postgres/tsconfig.json new file mode 100644 index 00000000000..fa0a429c11d --- /dev/null +++ b/packages/orm/prisma/test/postgres/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "@tsed/typescript/tsconfig.node.json", + "compilerOptions": { + "baseUrl": ".", + "noEmit": true + }, + "include": ["."] +} diff --git a/packages/orm/prisma/test/snapshots/generate_code/enums/index.ts b/packages/orm/prisma/test/snapshots/generate_code/enums/index.ts index 148ee216f63..fbc953a8c0e 100644 --- a/packages/orm/prisma/test/snapshots/generate_code/enums/index.ts +++ b/packages/orm/prisma/test/snapshots/generate_code/enums/index.ts @@ -1 +1 @@ -export {Role} from "./Role"; +export { Role } from "./Role.js"; diff --git a/packages/orm/prisma/test/snapshots/generate_code/index.ts b/packages/orm/prisma/test/snapshots/generate_code/index.ts index 3b37c19dde2..f695efffdbe 100644 --- a/packages/orm/prisma/test/snapshots/generate_code/index.ts +++ b/packages/orm/prisma/test/snapshots/generate_code/index.ts @@ -1,5 +1,5 @@ -export * from "./interfaces/index"; -export * from "./enums/index"; -export * from "./models/index"; -export * from "./services/PrismaService"; -export * from "./repositories/index"; +export * from "./interfaces/index.js"; +export * from "./enums/index.js"; +export * from "./models/index.js"; +export * from "./services/PrismaService.js"; +export * from "./repositories/index.js"; diff --git a/packages/orm/prisma/test/snapshots/generate_code/interfaces/index.ts b/packages/orm/prisma/test/snapshots/generate_code/interfaces/index.ts index 55bea49090d..ffe37fc7d10 100644 --- a/packages/orm/prisma/test/snapshots/generate_code/interfaces/index.ts +++ b/packages/orm/prisma/test/snapshots/generate_code/interfaces/index.ts @@ -1,4 +1,4 @@ -import {Prisma} from "../client/index"; +import { Prisma } from "../client/index.js"; declare global { namespace TsED { diff --git a/packages/orm/prisma/test/snapshots/generate_code/models/PostModel.ts b/packages/orm/prisma/test/snapshots/generate_code/models/PostModel.ts index e7c83adc521..4117ea84a84 100644 --- a/packages/orm/prisma/test/snapshots/generate_code/models/PostModel.ts +++ b/packages/orm/prisma/test/snapshots/generate_code/models/PostModel.ts @@ -1,6 +1,6 @@ -import {Post} from "../client/index"; -import {Integer, Required, Property, Allow} from "@tsed/schema"; -import {UserModel} from "./UserModel"; +import { Post } from "../client/index.js"; +import { Integer, Required, Property, Allow } from "@tsed/schema"; +import { UserModel } from "./UserModel.js"; export class PostModel implements Post { @Property(Number) @@ -17,3 +17,4 @@ export class PostModel implements Post { @Allow(null) userId: number | null; } + diff --git a/packages/orm/prisma/test/snapshots/generate_code/models/UserModel.ts b/packages/orm/prisma/test/snapshots/generate_code/models/UserModel.ts index c77d5b92cf9..ffaad2770f8 100644 --- a/packages/orm/prisma/test/snapshots/generate_code/models/UserModel.ts +++ b/packages/orm/prisma/test/snapshots/generate_code/models/UserModel.ts @@ -1,7 +1,7 @@ -import {User} from "../client/index"; -import {Integer, Required, Property, Groups, Format, Email, Description, Allow, Enum, CollectionOf} from "@tsed/schema"; -import {Role} from "../enums/index"; -import {PostModel} from "./PostModel"; +import { User } from "../client/index.js"; +import { Integer, Required, Property, Groups, Format, Email, Description, Allow, Enum, CollectionOf } from "@tsed/schema"; +import { Role } from "../enums/index.js"; +import { PostModel } from "./PostModel.js"; export class UserModel implements User { @Property(Number) @@ -62,3 +62,4 @@ export class UserModel implements User { @Required() biography: any; } + diff --git a/packages/orm/prisma/test/snapshots/generate_code/models/index.ts b/packages/orm/prisma/test/snapshots/generate_code/models/index.ts index aa50c049b83..4795e357a39 100644 --- a/packages/orm/prisma/test/snapshots/generate_code/models/index.ts +++ b/packages/orm/prisma/test/snapshots/generate_code/models/index.ts @@ -1,2 +1,2 @@ -export {PostModel} from "./PostModel"; -export {UserModel} from "./UserModel"; +export { PostModel } from "./PostModel.js"; +export { UserModel } from "./UserModel.js"; diff --git a/packages/orm/prisma/test/snapshots/generate_code/repositories/PostsRepository.ts b/packages/orm/prisma/test/snapshots/generate_code/repositories/PostsRepository.ts index a42f797cf02..4cd3e796bf1 100644 --- a/packages/orm/prisma/test/snapshots/generate_code/repositories/PostsRepository.ts +++ b/packages/orm/prisma/test/snapshots/generate_code/repositories/PostsRepository.ts @@ -1,9 +1,9 @@ -import {isArray} from "@tsed/core"; -import {deserialize} from "@tsed/json-mapper"; -import {Injectable, Inject} from "@tsed/di"; -import {PrismaService} from "../services/PrismaService"; -import {Prisma, Post} from "../client/index"; -import {PostModel} from "../models/index"; +import { isArray } from "@tsed/core"; +import { deserialize } from "@tsed/json-mapper"; +import { Injectable, Inject } from "@tsed/di"; +import { PrismaService } from "../services/PrismaService.js"; +import { Prisma, Post } from "../client/index.js"; +import { PostModel } from "../models/index.js"; @Injectable() export class PostsRepository { @@ -11,15 +11,15 @@ export class PostsRepository { protected prisma: PrismaService; get collection() { - return this.prisma.post; + return this.prisma.post } get groupBy() { - return this.collection.groupBy.bind(this.collection); + return this.collection.groupBy.bind(this.collection) } protected deserialize(obj: null | Post | Post[]): T { - return deserialize(obj, {type: PostModel, collectionType: isArray(obj) ? Array : undefined}); + return deserialize(obj, { type: PostModel, collectionType: isArray(obj) ? Array : undefined }) } async findUnique(args: Prisma.PostFindUniqueArgs): Promise { @@ -58,14 +58,14 @@ export class PostsRepository { } deleteMany(args: Prisma.PostDeleteManyArgs) { - return this.collection.deleteMany(args); + return this.collection.deleteMany(args) } updateMany(args: Prisma.PostUpdateManyArgs) { - return this.collection.updateMany(args); + return this.collection.updateMany(args) } aggregate(args: Prisma.PostAggregateArgs) { - return this.collection.aggregate(args); + return this.collection.aggregate(args) } } diff --git a/packages/orm/prisma/test/snapshots/generate_code/repositories/UsersRepository.ts b/packages/orm/prisma/test/snapshots/generate_code/repositories/UsersRepository.ts index 7566942f840..2afb6919f7f 100644 --- a/packages/orm/prisma/test/snapshots/generate_code/repositories/UsersRepository.ts +++ b/packages/orm/prisma/test/snapshots/generate_code/repositories/UsersRepository.ts @@ -1,9 +1,9 @@ -import {isArray} from "@tsed/core"; -import {deserialize} from "@tsed/json-mapper"; -import {Injectable, Inject} from "@tsed/di"; -import {PrismaService} from "../services/PrismaService"; -import {Prisma, User} from "../client/index"; -import {UserModel} from "../models/index"; +import { isArray } from "@tsed/core"; +import { deserialize } from "@tsed/json-mapper"; +import { Injectable, Inject } from "@tsed/di"; +import { PrismaService } from "../services/PrismaService.js"; +import { Prisma, User } from "../client/index.js"; +import { UserModel } from "../models/index.js"; @Injectable() export class UsersRepository { @@ -11,15 +11,15 @@ export class UsersRepository { protected prisma: PrismaService; get collection() { - return this.prisma.user; + return this.prisma.user } get groupBy() { - return this.collection.groupBy.bind(this.collection); + return this.collection.groupBy.bind(this.collection) } protected deserialize(obj: null | User | User[]): T { - return deserialize(obj, {type: UserModel, collectionType: isArray(obj) ? Array : undefined}); + return deserialize(obj, { type: UserModel, collectionType: isArray(obj) ? Array : undefined }) } async findUnique(args: Prisma.UserFindUniqueArgs): Promise { @@ -58,14 +58,14 @@ export class UsersRepository { } deleteMany(args: Prisma.UserDeleteManyArgs) { - return this.collection.deleteMany(args); + return this.collection.deleteMany(args) } updateMany(args: Prisma.UserUpdateManyArgs) { - return this.collection.updateMany(args); + return this.collection.updateMany(args) } aggregate(args: Prisma.UserAggregateArgs) { - return this.collection.aggregate(args); + return this.collection.aggregate(args) } } diff --git a/packages/orm/prisma/test/snapshots/generate_code/repositories/index.ts b/packages/orm/prisma/test/snapshots/generate_code/repositories/index.ts index b5023f49f35..9f6909aec2d 100644 --- a/packages/orm/prisma/test/snapshots/generate_code/repositories/index.ts +++ b/packages/orm/prisma/test/snapshots/generate_code/repositories/index.ts @@ -1,2 +1,2 @@ -export {PostsRepository} from "./PostsRepository"; -export {UsersRepository} from "./UsersRepository"; +export { PostsRepository } from "./PostsRepository.js"; +export { UsersRepository } from "./UsersRepository.js"; diff --git a/packages/orm/prisma/test/snapshots/generate_code/services/PrismaService.ts b/packages/orm/prisma/test/snapshots/generate_code/services/PrismaService.ts index df371b86e60..6a3417ad081 100644 --- a/packages/orm/prisma/test/snapshots/generate_code/services/PrismaService.ts +++ b/packages/orm/prisma/test/snapshots/generate_code/services/PrismaService.ts @@ -1,6 +1,6 @@ -import {Inject, Injectable, Configuration, OnInit, OnDestroy} from "@tsed/di"; -import {Logger} from "@tsed/logger"; -import {PrismaClient} from "../client/index"; +import { Inject, Injectable, Configuration, OnInit, OnDestroy } from "@tsed/di"; +import { Logger } from "@tsed/logger"; +import { PrismaClient } from "../client/index.js"; @Injectable() export class PrismaService extends PrismaClient implements OnInit, OnDestroy { @@ -8,7 +8,7 @@ export class PrismaService extends PrismaClient implements OnInit, OnDestroy { protected logger: Logger; constructor(@Configuration() settings: Configuration) { - super(settings.get("prisma")); + super(settings.get('prisma')); } async $onInit(): Promise { diff --git a/packages/orm/prisma/test/snapshots/tsconfig.json b/packages/orm/prisma/test/snapshots/tsconfig.json new file mode 100644 index 00000000000..fa0a429c11d --- /dev/null +++ b/packages/orm/prisma/test/snapshots/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "@tsed/typescript/tsconfig.node.json", + "compilerOptions": { + "baseUrl": ".", + "noEmit": true + }, + "include": ["."] +} diff --git a/packages/orm/prisma/tsconfig.cjs.json b/packages/orm/prisma/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/orm/prisma/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/orm/prisma/tsconfig.esm.json b/packages/orm/prisma/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/orm/prisma/tsconfig.esm.json +++ b/packages/orm/prisma/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/orm/prisma/tsconfig.json b/packages/orm/prisma/tsconfig.json index 0e0b63ab8f9..b628b0fba04 100644 --- a/packages/orm/prisma/tsconfig.json +++ b/packages/orm/prisma/tsconfig.json @@ -18,9 +18,6 @@ { "path": "../../specs/schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/orm/prisma/tsconfig.spec.json b/packages/orm/prisma/tsconfig.spec.json index 21485bab96d..5a6e5c12b13 100644 --- a/packages/orm/prisma/tsconfig.spec.json +++ b/packages/orm/prisma/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/orm/testcontainers-mongo/package.json b/packages/orm/testcontainers-mongo/package.json index 4b42106fcc5..fbd26a12ccf 100644 --- a/packages/orm/testcontainers-mongo/package.json +++ b/packages/orm/testcontainers-mongo/package.json @@ -1,23 +1,22 @@ { "name": "@tsed/testcontainers-mongo", "description": "A module to test Ts.ED code that use MongoDB as database using Test Containers", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" }, "./vitest/setup": { "types": "./lib/types/setup/vi.setup.d.ts", "import": "./lib/esm/setup/vi.setup.js", - "default": "./lib/cjs/setup/vi.setup.js" + "default": "./lib/esm/setup/vi.setup.js" } }, "scripts": { @@ -25,26 +24,26 @@ "build:ts": "tsc --build tsconfig.json" }, "dependencies": { - "semver": "^7.6.0", - "tslib": "2.6.1" + "semver": "^7.6.3", + "tslib": "2.7.0" }, "devDependencies": { - "@testcontainers/mongodb": ">=10.11.0", + "@testcontainers/mongodb": "^10.13.2", "@tsed/barrels": "workspace:*", "@tsed/common": "workspace:*", "@tsed/core": "workspace:*", "@tsed/di": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "mongodb": "6.8.0", + "eslint": "9.12.0", + "mongodb": "6.9.0", "testcontainers": ">=10.11.0", - "typescript": "4.9.5" + "typescript": "5.4.5" }, "peerDependencies": { "@testcontainers/mongodb": ">=10.11.0", - "@tsed/common": "7.83.3", - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", + "@tsed/common": "8.0.0-alpha.10", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", "mongodb": ">=6", "testcontainers": ">=10.11.0" } diff --git a/packages/orm/testcontainers-mongo/src/services/ContainerUtils.ts b/packages/orm/testcontainers-mongo/src/services/ContainerUtils.ts index d9e8572240f..c8b75e8c90c 100644 --- a/packages/orm/testcontainers-mongo/src/services/ContainerUtils.ts +++ b/packages/orm/testcontainers-mongo/src/services/ContainerUtils.ts @@ -1,9 +1,9 @@ +import type {ConnectionOptions} from "node:tls"; + import {MongoDBContainer, StartedMongoDBContainer} from "@testcontainers/mongodb"; import type {ConnectOptions} from "mongoose"; -import type {ConnectionOptions} from "node:tls"; declare global { - // eslint-disable-next-line @typescript-eslint/no-namespace namespace NodeJS { interface Global { TEST_CONTAINER_MONGO: StartedMongoDBContainer | null; @@ -13,18 +13,15 @@ declare global { const KEY = "TEST_CONTAINER_MONGO"; -// eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore global[KEY] = null; function getEnvironment(key: string): T | null { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore return global[key]; } function setEnvironment(key: string, environment: unknown) { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore global[key] = environment; } @@ -61,7 +58,7 @@ export function getMongoUrl(): string { } export function getMongoConnectionOptions( - id: string, + id: string = "", opts: ConnectOptions = {} ): { id: string; diff --git a/packages/orm/testcontainers-mongo/src/services/TestContainersMongo.ts b/packages/orm/testcontainers-mongo/src/services/TestContainersMongo.ts index e7ea503225d..bfab3f39907 100644 --- a/packages/orm/testcontainers-mongo/src/services/TestContainersMongo.ts +++ b/packages/orm/testcontainers-mongo/src/services/TestContainersMongo.ts @@ -1,5 +1,6 @@ import {PlatformTest} from "@tsed/common"; import {MongoClient} from "mongodb"; + import {getMongoConnectionOptions, getMongoConnectionsOptions, startMongoServer, stopMongoServer} from "./ContainerUtils.js"; export class TestContainersMongo { diff --git a/packages/orm/testcontainers-mongo/tsconfig.cjs.json b/packages/orm/testcontainers-mongo/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/orm/testcontainers-mongo/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/orm/testcontainers-mongo/tsconfig.esm.json b/packages/orm/testcontainers-mongo/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/orm/testcontainers-mongo/tsconfig.esm.json +++ b/packages/orm/testcontainers-mongo/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/orm/testcontainers-mongo/tsconfig.json b/packages/orm/testcontainers-mongo/tsconfig.json index 250467edb65..a518f91af34 100644 --- a/packages/orm/testcontainers-mongo/tsconfig.json +++ b/packages/orm/testcontainers-mongo/tsconfig.json @@ -15,9 +15,6 @@ { "path": "../../di/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" } diff --git a/packages/orm/testing-mongoose/.gitignore b/packages/orm/testing-mongoose/.gitignore deleted file mode 100644 index eeeb351eacc..00000000000 --- a/packages/orm/testing-mongoose/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/mongodb-binaries diff --git a/packages/orm/testing-mongoose/package.json b/packages/orm/testing-mongoose/package.json deleted file mode 100644 index e45602f56eb..00000000000 --- a/packages/orm/testing-mongoose/package.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "name": "@tsed/testing-mongoose", - "description": "A module to test Ts.ED code that use MongoDB as database", - "type": "commonjs", - "version": "7.83.3", - "source": "./src/index.ts", - "main": "./lib/cjs/index.js", - "module": "./lib/esm/index.js", - "typings": "./lib/types/index.d.ts", - "exports": { - ".": { - "types": "./lib/types/index.d.ts", - "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" - } - }, - "scripts": { - "build": "yarn build:ts", - "build:ts": "tsc --build tsconfig.json" - }, - "dependencies": { - "mongodb-memory-server": "^8.16.0", - "semver": "^7.6.0", - "tslib": "2.6.1" - }, - "devDependencies": { - "@tsed/barrels": "workspace:*", - "@tsed/common": "workspace:*", - "@tsed/core": "workspace:*", - "@tsed/mongoose": "workspace:*", - "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5" - }, - "peerDependencies": { - "@tsed/common": "7.83.3", - "@tsed/core": "7.83.3", - "@tsed/mongoose": "7.83.3", - "mongoose": ">=6.0.0" - }, - "publishConfig": { - "distTag": "deprecated" - } -} diff --git a/packages/orm/testing-mongoose/src/TestMongooseContext.ts b/packages/orm/testing-mongoose/src/TestMongooseContext.ts deleted file mode 100644 index 495dc7fbe95..00000000000 --- a/packages/orm/testing-mongoose/src/TestMongooseContext.ts +++ /dev/null @@ -1,114 +0,0 @@ -import {PlatformTest} from "@tsed/common"; -import {MongooseService} from "@tsed/mongoose"; -import {MongoMemoryReplSet, MongoMemoryServer} from "mongodb-memory-server"; -import {resolve} from "path"; -import {version} from "mongoose"; -import semver from "semver"; -import {type MongoMemoryReplSetOpts} from "mongodb-memory-server-core/lib/MongoMemoryReplSet"; -import {type MongoMemoryServerOpts} from "mongodb-memory-server-core/lib/MongoMemoryServer"; - -const downloadDir = resolve(`${require.resolve("mongodb-memory-server")}/../../.cache/mongodb-memory-server/mongodb-binaries`); - -type ReplSetCreateOpts = { - replicaSet: true; -} & Partial; - -type MemoryServerCreateOpts = { - replicaSet?: false; -} & MongoMemoryServerOpts; - -type CreateOpts = ReplSetCreateOpts | MemoryServerCreateOpts; - -export class TestMongooseContext extends PlatformTest { - static getMongo(): MongoMemoryServer | MongoMemoryReplSet { - // @ts-ignore - return global.__MONGOD__; - } - - static async install({replicaSet, ...opts}: CreateOpts = {}) { - if (!TestMongooseContext.getMongo()) { - // @ts-ignore - global.__MONGOD__ = await (replicaSet ? MongoMemoryReplSet : MongoMemoryServer).create({ - ...opts, - binary: { - ...(opts.binary || {}), - downloadDir - } - }); - } - - return TestMongooseContext.getMongooseOptions(); - } - - /** - * Connect to the in-memory database. - */ - static bootstrap( - mod: any, - options: Partial & { - mongod?: CreateOpts; - } = {} - ): () => Promise { - return async function before(): Promise { - const config = await TestMongooseContext.install(options.mongod); - const before = PlatformTest.bootstrap(mod, { - ...options, - mongoose: config - }); - - await before(); - }; - } - - static async create( - options: Partial & { - mongod?: CreateOpts; - } = {} - ) { - options.mongoose = await TestMongooseContext.install(options.mongod); - - return PlatformTest.create(options); - } - - /** - * Resets the test injector of the test context, so it won't pollute your next test. Call this in your `tearDown` logic. - */ - static async reset() { - await PlatformTest.reset(); - await TestMongooseContext.getMongo().stop(); - } - - /** - * - */ - static async clearDatabase() { - const mongooseService = PlatformTest.get(MongooseService); - const promises: any[] = []; - - for (const connection of mongooseService.connections.values()) { - promises.push(...Object.values(connection.collections).map((collection) => collection.deleteMany({}))); - } - - await Promise.all(promises); - } - - static async getMongooseOptions(): Promise { - const mongo = TestMongooseContext.getMongo(); - try { - !["running", "starting"].includes(mongo.state) && (await mongo.start()); - } catch (er) {} - - const url = mongo.getUri(); - - return { - url, - connectionOptions: semver.lt(version, "6.0.0") - ? { - useCreateIndex: true, - useUnifiedTopology: true, - useNewUrlParser: true - } - : {} - }; - } -} diff --git a/packages/orm/testing-mongoose/src/index.ts b/packages/orm/testing-mongoose/src/index.ts deleted file mode 100644 index afa6af6414a..00000000000 --- a/packages/orm/testing-mongoose/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./TestMongooseContext.js"; diff --git a/packages/orm/testing-mongoose/tsconfig.cjs.json b/packages/orm/testing-mongoose/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/orm/testing-mongoose/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/orm/testing-mongoose/tsconfig.esm.json b/packages/orm/testing-mongoose/tsconfig.esm.json deleted file mode 100644 index ce32a9e0718..00000000000 --- a/packages/orm/testing-mongoose/tsconfig.esm.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", - "rootDir": "src", - "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", - "declaration": true, - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/orm/testing-mongoose/tsconfig.json b/packages/orm/testing-mongoose/tsconfig.json deleted file mode 100644 index 1661569de30..00000000000 --- a/packages/orm/testing-mongoose/tsconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "noEmit": true - }, - "include": [], - "references": [ - { - "path": "../../platform/common/tsconfig.json" - }, - { - "path": "../../core/tsconfig.json" - }, - { - "path": "../mongoose/tsconfig.json" - }, - { - "path": "./tsconfig.cjs.json" - }, - { - "path": "./tsconfig.esm.json" - } - ] -} diff --git a/packages/orm/typeorm/.npmignore b/packages/orm/typeorm/.npmignore deleted file mode 100644 index 672ed765244..00000000000 --- a/packages/orm/typeorm/.npmignore +++ /dev/null @@ -1,8 +0,0 @@ -src -test -coverage -tsconfig.json -tsconfig.*.json -__mock__ -*.spec.js -*.tsbuildinfo diff --git a/packages/orm/typeorm/package.json b/packages/orm/typeorm/package.json deleted file mode 100644 index 6b43a89d736..00000000000 --- a/packages/orm/typeorm/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "name": "@tsed/typeorm", - "description": "TypeORM package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", - "source": "./src/index.ts", - "main": "./lib/cjs/index.js", - "module": "./lib/esm/index.js", - "typings": "./lib/types/index.d.ts", - "exports": { - ".": { - "types": "./lib/types/index.d.ts", - "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" - } - }, - "scripts": { - "build": "yarn barrels && yarn build:ts", - "barrels": "barrels", - "test": "vitest run", - "build:ts": "tsc --build tsconfig.json", - "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" - }, - "dependencies": { - "tslib": "2.6.1" - }, - "devDependencies": { - "@tsed/barrels": "workspace:*", - "@tsed/core": "workspace:*", - "@tsed/di": "workspace:*", - "@tsed/json-mapper": "workspace:*", - "@tsed/schema": "workspace:*", - "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typeorm": "^0.2.45", - "typescript": "4.9.5", - "vitest": "2.0.4" - }, - "peerDependencies": { - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/json-mapper": "7.83.3", - "@tsed/schema": "7.83.3", - "typeorm": "^0.2.26" - }, - "publishConfig": { - "distTag": "deprecated" - } -} diff --git a/packages/orm/typeorm/readme.md b/packages/orm/typeorm/readme.md deleted file mode 100644 index c82fb5acd13..00000000000 --- a/packages/orm/typeorm/readme.md +++ /dev/null @@ -1,207 +0,0 @@ -

- Ts.ED logo -

- -
-

TypeORM

- -[![Build & Release](https://github.com/tsedio/tsed/workflows/Build%20&%20Release/badge.svg)](https://github.com/tsedio/tsed/actions?query=workflow%3A%22Build+%26+Release%22) -[![PR Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/tsedio/tsed/blob/master/CONTRIBUTING.md) -[![npm version](https://badge.fury.io/js/%40tsed%2Fcommon.svg)](https://badge.fury.io/js/%40tsed%2Fcommon) -[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) -[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) -[![github](https://img.shields.io/static/v1?label=Github%20sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/romakita) -[![opencollective](https://img.shields.io/static/v1?label=OpenCollective%20sponsor&message=%E2%9D%A4&logo=OpenCollective&color=%23fe8e86)](https://opencollective.com/tsed) - -
- -
- Website -   •   - Getting started -   •   - Slack -   •   - Twitter -
- -
- -A package of Ts.ED framework. See website: https://tsed.io/tutorials/typeorm - -## Feature - -Currently, `@tsed/typeorm` allows you: - -- Configure one or more TypeORM connections via the `@Configuration` decorator. All databases will be initialized when the server starts during the server's `OnInit` phase. -- Use the Entity TypeORM as Model for Controllers, AJV Validation and Swagger. - -## Installation - -To begin, install the TypeORM module for TS.ED: - -```bash -npm install --save @tsed/typeorm -npm install --save typeorm -``` - -Then import `@tsed/typeorm` in your Server: - -```typescript -import {Configuration} from "@tsed/common"; -import "@tsed/typeorm"; // import typeorm ts.ed module - -@Configuration({ - typeorm: [ - { - name: 'default', - type: 'postgres', - ..., - - entities: [ - `./entity/*{.ts,.js}` - ], - migrations: [ - `./migrations/*{.ts,.js}` - ], - subscribers: [ - `./subscriber/*{.ts,.js}` - ] - }, - { - name: 'mongo', - type: 'mongodb', - ... - } - ] -}) -export class Server { - -} -``` - -## TypeORMService - -TypeORMService let you to retrieve an instance of TypeORM Connection. - -```typescript -import {Service, AfterRoutesInit} from "@tsed/common"; -import {TypeORMService} from "@tsed/typeorm"; -import {Connection} from "typeorm"; - -@Service() -export class UsersService implements AfterRoutesInit { - private connection: Connection; - constructor(private typeORMService: TypeORMService) { - - } - - $afterRoutesInit() { - this.connection = this.typeORMService.get("db1"); - } - - async create(user: User): Promise { - - // do something - ... - // Then save - await this.connection.manager.save(user); - console.log("Saved a new user with id: " + user.id); - - return user; - } - - async find(): Promise { - const users = await this.connection.manager.find(User); - console.log("Loaded users: ", users); - - return users; - } - -} -``` - -For more information about TypeORM look his documentation [here](https://github.com/typeorm/typeorm); - -## Use Entity TypeORM with Controller - -To begin, we need to define an Entity TypeORM like this and use Ts.ED Decorator to define the JSON Schema. - -```typescript -import {Property, MaxLength, Required} from "@tsed/common"; -import {Entity, PrimaryGeneratedColumn, Column} from "typeorm"; - -@Entity() -export class User { - @PrimaryGeneratedColumn() - @Property() - id: number; - - @Column() - @MaxLength(100) - @Required() - firstName: string; - - @Column() - @MaxLength(100) - @Required() - lastName: string; - - @Column() - @Mininum(0) - @Maximum(100) - age: number; -} -``` - -Now, the model is correctly defined and can be used with a [Controller](https://tsed.io/docs/controllers.html), [AJV validation](tutorials/ajv.md), -[Swagger](tutorials/swagger.md) and [TypeORM](https://github.com/typeorm/typeorm). - -We can use this model with a Controller like that: - -```typescript -import {Controller, Post, BodyParams} from "@tsed/common"; - -@Controller("/users") -export class UsersCtrl { - constructor(private usersService: UsersService) {} - - @Post("/") - create(@BodyParams() user: User): Promise { - return this.usersService.create(user); - } - - @Get("/") - getList(): Promise { - return this.usersService.find(); - } -} -``` - -## Contributors - -Please read [contributing guidelines here](https://tsed.io/contributing.html) - - - -## Backers - -Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/tsed#backer)] - - - -## Sponsors - -Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/tsed#sponsor)] - -## License - -The MIT License (MIT) - -Copyright (c) 2016 - 2022 Romain Lenzotti - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/packages/orm/typeorm/src/TypeORMModule.ts b/packages/orm/typeorm/src/TypeORMModule.ts deleted file mode 100644 index 9b8815a9339..00000000000 --- a/packages/orm/typeorm/src/TypeORMModule.ts +++ /dev/null @@ -1,75 +0,0 @@ -import {ancestorsOf, isClass, Type} from "@tsed/core"; -import {Configuration, InjectorService, OnDestroy, registerProvider} from "@tsed/di"; -import {AbstractRepository, ConnectionOptions, ContainedType, getCustomRepository, Repository, useContainer} from "typeorm"; -import {TypeORMService} from "./services/TypeORMService.js"; - -const WHITELIST = [Repository, AbstractRepository]; - -export class TypeORMModule implements OnDestroy { - private settings: ConnectionOptions[]; - - constructor( - configuration: Configuration, - private typeORMService: TypeORMService - ) { - this.settings = configuration.get("typeorm", []); - } - - init(): Promise { - const promises = this.settings.map((opts) => this.typeORMService.createConnection(opts)); - - return Promise.all(promises); - } - - $onDestroy(): Promise | void { - return this.typeORMService.closeConnections(); - } -} - -function isRepository(type: Type) { - const ancestors = ancestorsOf(type); - - return ( - isClass(type) && - ancestors.find((ancestor) => { - return WHITELIST.includes(ancestor); - }) - ); -} - -registerProvider({ - provide: TypeORMModule, - deps: [Configuration, TypeORMService, InjectorService], - resolvers: [ - { - deps: [TypeORMModule], - get(type, options: any) { - if (isRepository(type)) { - try { - return getCustomRepository(type, options.connection || "default"); - } catch (er) { - if (process.env.NODE_ENV !== "test") { - throw er; - } - } - } - } - } - ], - injectable: false, - async useAsyncFactory(configuration: Configuration, typeORMService: TypeORMService, injector: InjectorService) { - useContainer( - { - get(type: ContainedType): T { - return injector.hasProvider(type) ? injector.get(type as any)! : undefined!; - } - }, - {fallback: true} - ); - - const typeORMModule = new TypeORMModule(configuration, typeORMService); - await typeORMModule.init(); - - return typeORMModule; - } -}); diff --git a/packages/orm/typeorm/src/decorators/useConnection.ts b/packages/orm/typeorm/src/decorators/useConnection.ts deleted file mode 100644 index e48282af0ae..00000000000 --- a/packages/orm/typeorm/src/decorators/useConnection.ts +++ /dev/null @@ -1,23 +0,0 @@ -import {UseOpts} from "@tsed/di"; - -/** - * Configure the connection used by injector repository. - * - * ```typescript - * import {Injectable} from "@tsed/di"; - * import {UseConnection} from "@tsed/typeorm"; - * - * @Injectable() - * export class MyService { - * constructor(UseConnection("db1") userRepositoryDb1: UserRepository, - * UseConnection("db2") userRepositoryDb2: UserRepository) - * - * } - * ``` - * - * @param connection The connection name of the database. - * @decorator - */ -export function UseConnection(connection: string) { - return UseOpts({connection}); -} diff --git a/packages/orm/typeorm/src/index.ts b/packages/orm/typeorm/src/index.ts deleted file mode 100644 index 2b76b5ab621..00000000000 --- a/packages/orm/typeorm/src/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * @file Automatically generated by @tsed/barrels. - */ -export * from "./decorators/useConnection.js"; -export * from "./interfaces/interfaces.js"; -export * from "./services/TypeORMService.js"; -export * from "./TypeORMModule.js"; -export * from "./utils/createConnection.js"; diff --git a/packages/orm/typeorm/src/interfaces/interfaces.ts b/packages/orm/typeorm/src/interfaces/interfaces.ts deleted file mode 100644 index edbef89b3f8..00000000000 --- a/packages/orm/typeorm/src/interfaces/interfaces.ts +++ /dev/null @@ -1,9 +0,0 @@ -import {ConnectionOptions} from "typeorm"; - -declare global { - namespace TsED { - interface Configuration { - typeorm: ConnectionOptions[]; - } - } -} diff --git a/packages/orm/typeorm/src/services/TypeORMService.spec.ts b/packages/orm/typeorm/src/services/TypeORMService.spec.ts deleted file mode 100644 index 42a1a9dfdee..00000000000 --- a/packages/orm/typeorm/src/services/TypeORMService.spec.ts +++ /dev/null @@ -1,66 +0,0 @@ -import {PlatformTest} from "@tsed/common"; -import {getConnectionManager} from "typeorm"; -import {TypeORMService} from "../index.js"; - -vi.mock("typeorm"); - -function getConnectionFixture() { - const service = PlatformTest.get(TypeORMService); - - return { - service - }; -} - -class FakeConnectionManager extends Map { - get connections() { - return [...this.values()]; - } - - create(connectionOptions: any) { - connectionOptions = { - ...connectionOptions, - connect: vi.fn().mockImplementation(() => { - connectionOptions.isConnected = true; - }), - close: vi.fn().mockImplementation(() => { - connectionOptions.isConnected = false; - }), - isConnected: false - }; - this.set(connectionOptions.name, connectionOptions); - } -} - -describe("TypeORMService", () => { - const connectionManager = new FakeConnectionManager(); - beforeEach(() => { - vi.mocked(getConnectionManager).mockReturnValue(connectionManager as never); - }); - beforeEach(() => PlatformTest.create()); - afterEach(() => PlatformTest.reset()); - - describe("createConnection()", () => { - it("should create connection and close connection", async () => { - const {service} = getConnectionFixture(); - // GIVEN - - // WHEN - const result1 = await service.createConnection({name: "mydb", config: "config"} as any); - const result2 = await service.createConnection({name: "mydb", config: "config"} as any); - const result3 = await service.createConnection({config: "config"} as any); - const result4 = await service.createConnection({config: "config"} as any); - - // THEN - expect(result1).toEqual(service.get("mydb")); - expect(result2).toEqual(service.get("mydb")); - expect(result3).toEqual(service.get("default")); - expect(result4).toEqual(service.get()); - expect(service.has("default")).toEqual(true); - expect(service.has("default1")).toEqual(false); - - // WHEN close - await service.closeConnections(); - }); - }); -}); diff --git a/packages/orm/typeorm/src/services/TypeORMService.ts b/packages/orm/typeorm/src/services/TypeORMService.ts deleted file mode 100644 index b685859201c..00000000000 --- a/packages/orm/typeorm/src/services/TypeORMService.ts +++ /dev/null @@ -1,36 +0,0 @@ -import {Inject, InjectorService, Service} from "@tsed/di"; -import {Connection, ConnectionManager, ConnectionOptions, getConnectionManager} from "typeorm"; -import {createConnection} from "../utils/createConnection.js"; - -@Service() -export class TypeORMService { - readonly connectionManager: ConnectionManager = getConnectionManager(); - - @Inject(InjectorService) - private injector: InjectorService; - - async createConnection(connectionOptions: ConnectionOptions): Promise { - const connection = await createConnection(connectionOptions); - this.injector.logger.info(`Connected with typeorm to database: ${connection.name}`); - - return connection; - } - - get(id: string = "default"): Connection { - return this.connectionManager.get(id); - } - - has(id: string = "default"): boolean { - return this.connectionManager.has(id); - } - - closeConnections(): Promise { - const promises = this.connectionManager.connections.map((instance) => { - if (instance.isConnected) { - return instance.close(); - } - }); - - return Promise.all(promises); - } -} diff --git a/packages/orm/typeorm/src/utils/createConnection.spec.ts b/packages/orm/typeorm/src/utils/createConnection.spec.ts deleted file mode 100644 index a5c09e34915..00000000000 --- a/packages/orm/typeorm/src/utils/createConnection.spec.ts +++ /dev/null @@ -1,67 +0,0 @@ -import {ConnectionManager, getConnectionManager} from "typeorm"; -import * as Connection from "typeorm/connection/Connection"; -import {createConnection} from "./createConnection.js"; - -vi.mock("typeorm", async (importOriginal) => { - const mod = await importOriginal(); - return { - ...mod, - getConnectionManager: vi.fn() - }; -}); - -function getConnectionFixture() { - const defaultConnection: any = { - name: "default", - isConnected: true, - connect: vi.fn().mockResolvedValue(undefined), - close: vi.fn() - }; - const customConnection: any = { - isConnected: true, - connect: vi.fn().mockResolvedValue(undefined), - close: vi.fn() - }; - - // create ConnectionManager - const connectionManager = new ConnectionManager(); - const connectionManagerCreateSpy = vi.spyOn(connectionManager, "create"); - - // replace - (getConnectionManager as any).mockReturnValue(connectionManager); - - // replace Connection constructor - const connectionStub = vi.spyOn(Connection, "Connection").mockImplementation((opts) => { - if (opts.name == null || opts.name === "default") { - return defaultConnection; - } else { - customConnection.name = opts.name; - return customConnection; - } - }); - - return { - connectionManager, - connectionManagerCreateSpy, - connectionStub, - defaultConnection, - customConnection - }; -} - -describe("createConnection", () => { - it("should create connection and return cache", async () => { - // GIVEN - const {customConnection, connectionManagerCreateSpy, defaultConnection} = getConnectionFixture(); - - // WHEN - const result1 = await createConnection({name: "mydb", type: "mysql"}); - const result2 = await createConnection({name: "mydb", type: "mysql"}); - - // THEN - expect(result1).toEqual(customConnection); - expect(result2).toEqual(customConnection); - expect(connectionManagerCreateSpy).toHaveBeenCalledWith({name: "mydb", type: "mysql"}); - expect(defaultConnection.connect).not.toHaveBeenCalled(); - }); -}); diff --git a/packages/orm/typeorm/src/utils/createConnection.ts b/packages/orm/typeorm/src/utils/createConnection.ts deleted file mode 100644 index 1e9c40a8dc0..00000000000 --- a/packages/orm/typeorm/src/utils/createConnection.ts +++ /dev/null @@ -1,20 +0,0 @@ -import {getValue} from "@tsed/core"; -import {Connection, ConnectionOptions, getConnectionManager} from "typeorm"; - -export async function createConnection(connectionOptions: ConnectionOptions): Promise { - const connectionManager = getConnectionManager(); - - const name = getValue(connectionOptions, "name", "default"); - - if (!connectionManager.has(name)) { - connectionManager.create({...connectionOptions, name}!); - } - - const connection = connectionManager.get(name); - - if (!connection.isConnected) { - await connection.connect(); - } - - return connection; -} diff --git a/packages/orm/typeorm/test/helpers/Server.ts b/packages/orm/typeorm/test/helpers/Server.ts deleted file mode 100644 index 15cb4f48817..00000000000 --- a/packages/orm/typeorm/test/helpers/Server.ts +++ /dev/null @@ -1,38 +0,0 @@ -import {Configuration, Inject, PlatformApplication} from "@tsed/common"; -import "@tsed/platform-express"; -import "@tsed/typeorm"; -import bodyParser from "body-parser"; -import compress from "compression"; -import cookieParser from "cookie-parser"; -import methodOverride from "method-override"; -import "./connections/ConnectionProvider"; - -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build - -@Configuration({ - rootDir, - port: 8001, - httpsPort: false, - disableComponentScan: true, - logger: { - level: "info", - logRequest: true - } -}) -export class Server { - @Inject() - app: PlatformApplication; - - public $beforeRoutesInit(): void { - this.app - .use(bodyParser.json()) - .use( - bodyParser.urlencoded({ - extended: true - }) - ) - .use(cookieParser()) - .use(compress({})) - .use(methodOverride()); - } -} diff --git a/packages/orm/typeorm/test/helpers/connections/ConnectionProvider.ts b/packages/orm/typeorm/test/helpers/connections/ConnectionProvider.ts deleted file mode 100644 index 46848b15758..00000000000 --- a/packages/orm/typeorm/test/helpers/connections/ConnectionProvider.ts +++ /dev/null @@ -1,23 +0,0 @@ -import {Configuration, registerProvider} from "@tsed/di"; -import {createConnection} from "@tsed/typeorm"; -import {Connection, ConnectionOptions} from "typeorm"; - -export const CONNECTION = Symbol.for("CONNECTION"); // declare your own symbol -export type CONNECTION = Connection; // Set alias types (optional) - -const CONNECTION_NAME = "default"; // change the name according to your server configuration - -registerProvider({ - provide: CONNECTION, - deps: [Configuration], - useAsyncFactory(configuration: Configuration) { - const settings = configuration.get("typeorm")! || []; - const connectionOptions = settings.find((o) => o.name === CONNECTION_NAME); - - if (connectionOptions) { - return createConnection(connectionOptions!); - } - - return Promise.resolve({}); - } -}); diff --git a/packages/orm/typeorm/test/helpers/entity/User.ts b/packages/orm/typeorm/test/helpers/entity/User.ts deleted file mode 100644 index 46c75d2226e..00000000000 --- a/packages/orm/typeorm/test/helpers/entity/User.ts +++ /dev/null @@ -1,9 +0,0 @@ -import {Property} from "@tsed/schema"; -import {Entity, PrimaryGeneratedColumn} from "typeorm"; - -@Entity() -export class User { - @PrimaryGeneratedColumn() - @Property() - id: number; -} diff --git a/packages/orm/typeorm/test/helpers/repository/UserRepository.ts b/packages/orm/typeorm/test/helpers/repository/UserRepository.ts deleted file mode 100644 index db279904aa7..00000000000 --- a/packages/orm/typeorm/test/helpers/repository/UserRepository.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {EntityRepository, Repository} from "typeorm"; -import {User} from "../entity/User.js"; - -@EntityRepository(User) -export class UserRepository extends Repository {} diff --git a/packages/orm/typeorm/test/helpers/services/UserService.ts b/packages/orm/typeorm/test/helpers/services/UserService.ts deleted file mode 100644 index ac188bf552e..00000000000 --- a/packages/orm/typeorm/test/helpers/services/UserService.ts +++ /dev/null @@ -1,18 +0,0 @@ -import {Inject, Injectable} from "@tsed/di"; -import {UseConnection} from "../../../src/index.js"; -import {UserRepository} from "../repository/UserRepository.js"; - -@Injectable() -export class UserService { - @Inject() - repo2: UserRepository; - - @Inject() - @UseConnection("db2") - repo3: UserRepository; - - constructor( - @UseConnection("db2") public repo4: UserRepository, - public repo1: UserRepository - ) {} -} diff --git a/packages/orm/typeorm/test/integration.spec.ts b/packages/orm/typeorm/test/integration.spec.ts deleted file mode 100644 index ab8e8e6d502..00000000000 --- a/packages/orm/typeorm/test/integration.spec.ts +++ /dev/null @@ -1,52 +0,0 @@ -import {PlatformTest} from "@tsed/common"; -import {TestMongooseContext} from "@tsed/testing-mongoose"; -import {User} from "./helpers/entity/User.js"; -import {UserRepository} from "./helpers/repository/UserRepository.js"; -import {Server} from "./helpers/Server.js"; -import {UserService} from "./helpers/services/UserService.js"; - -describe("TypeORM integration", () => { - beforeEach(async () => { - await TestMongooseContext.install(); - const {url} = await TestMongooseContext.getMongooseOptions(); - const bstrp = PlatformTest.bootstrap(Server, { - disableComponentScan: true, - typeorm: [ - { - type: "mongodb", - url, - entities: [User], - useUnifiedTopology: true - }, - { - name: "db2", - type: "mongodb", - url, - entities: [User], - useUnifiedTopology: true - } - ] - }); - - await bstrp(); - }); - afterEach(TestMongooseContext.reset); - - it("should return repository", () => { - const service = PlatformTest.injector.get(UserService)!; - const repository = PlatformTest.injector.get(UserRepository); - - expect(!!repository).toBe(true); - expect(service).toBeInstanceOf(UserService); - expect(service.repo1).toBeInstanceOf(UserRepository); - expect(service.repo1.manager.connection.name).toBe("default"); - - expect(service.repo3).toBeInstanceOf(UserRepository); - expect(service.repo3.manager.connection.name).toBe("db2"); - expect(service.repo4).toBeInstanceOf(UserRepository); - expect(service.repo4.manager.connection.name).toBe("db2"); - - expect(service.repo2).toBeInstanceOf(UserRepository); - expect(service.repo2.manager.connection.name).toBe("default"); - }); -}); diff --git a/packages/orm/typeorm/tsconfig.cjs.json b/packages/orm/typeorm/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/orm/typeorm/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/orm/typeorm/tsconfig.esm.json b/packages/orm/typeorm/tsconfig.esm.json deleted file mode 100644 index ce32a9e0718..00000000000 --- a/packages/orm/typeorm/tsconfig.esm.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", - "rootDir": "src", - "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", - "declaration": true, - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/orm/typeorm/tsconfig.spec.json b/packages/orm/typeorm/tsconfig.spec.json deleted file mode 100644 index 21485bab96d..00000000000 --- a/packages/orm/typeorm/tsconfig.spec.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", - "declaration": false, - "composite": false, - "noEmit": true, - "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] - }, - "types": ["vite/client", "vitest/globals"] - }, - "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] -} diff --git a/packages/perf/package.json b/packages/perf/package.json index d4f1882c130..73de5cfc4d9 100644 --- a/packages/perf/package.json +++ b/packages/perf/package.json @@ -1,19 +1,18 @@ { "name": "@tsed/perf", "description": "Perf module tool", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "private": true, "source": "./src/index.ts", - "main": "lib/esm/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -22,12 +21,12 @@ }, "dependencies": { "@tsed/core": "workspace:*", - "chalk": "^4.1.2", - "tslib": "2.6.1" + "chalk": "^5.3.0", + "tslib": "2.7.0" }, "devDependencies": { "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5" + "eslint": "9.12.0", + "typescript": "5.4.5" } } diff --git a/packages/perf/src/domain/Perf.ts b/packages/perf/src/domain/Perf.ts index 3d291162ab0..5f0f6a1c07e 100644 --- a/packages/perf/src/domain/Perf.ts +++ b/packages/perf/src/domain/Perf.ts @@ -1,4 +1,5 @@ import {isPromise} from "@tsed/core"; + import {fromNow, now} from "../utils/utils.js"; export type CallbackWrapper = (...args: any[]) => T; diff --git a/packages/perf/src/domain/PerfLogger.ts b/packages/perf/src/domain/PerfLogger.ts index 932ae6bd357..dd81b9444f1 100644 --- a/packages/perf/src/domain/PerfLogger.ts +++ b/packages/perf/src/domain/PerfLogger.ts @@ -1,5 +1,6 @@ import {classOf, descriptorOf, methodsOf, nameOf} from "@tsed/core"; import chalk from "chalk"; + import {CallbackWrapper, Perf} from "./Perf.js"; const loggers = new Map(); diff --git a/packages/perf/src/index.ts b/packages/perf/src/index.ts index 57961f2fca0..e16bc95c196 100644 --- a/packages/perf/src/index.ts +++ b/packages/perf/src/index.ts @@ -1,2 +1,2 @@ -export * from "./domain/PerfLogger.js"; export * from "./domain/Perf.js"; +export * from "./domain/PerfLogger.js"; diff --git a/packages/perf/tsconfig.cjs.json b/packages/perf/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/perf/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/perf/tsconfig.esm.json b/packages/perf/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/perf/tsconfig.esm.json +++ b/packages/perf/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/perf/tsconfig.json b/packages/perf/tsconfig.json index 6dc41ab1748..923f7beb46e 100644 --- a/packages/perf/tsconfig.json +++ b/packages/perf/tsconfig.json @@ -9,9 +9,6 @@ { "path": "../core/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" } diff --git a/packages/platform/common/package.json b/packages/platform/common/package.json index ed64b2d412e..31fd89c5fc3 100644 --- a/packages/platform/common/package.json +++ b/packages/platform/common/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/common", "description": "A TypeScript Framework on top of Express", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -73,8 +72,8 @@ "@tsed/di": "workspace:*", "@tsed/exceptions": "workspace:*", "@tsed/json-mapper": "workspace:*", - "@tsed/logger": ">=6.7.5", - "@tsed/logger-file": ">=6.7.5", + "@tsed/logger": "^6.7.8", + "@tsed/logger-file": "^6.7.8", "@tsed/platform-exceptions": "workspace:*", "@tsed/platform-log-middleware": "workspace:*", "@tsed/platform-middlewares": "workspace:*", @@ -85,8 +84,8 @@ "@tsed/schema": "workspace:*", "@types/json-schema": "7.0.15", "accepts": "^1.3.8", - "tslib": "2.6.1", - "uuid": "9.0.1" + "tslib": "2.7.0", + "uuid": "10.0.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -94,9 +93,9 @@ "@tsed/engines": "workspace:*", "@tsed/typescript": "workspace:*", "cross-env": "7.0.3", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { "@tsed/logger": ">=6.7.5", diff --git a/packages/platform/common/src/builder/PlatformBuilder.spec.ts b/packages/platform/common/src/builder/PlatformBuilder.spec.ts index e2c0cfcd617..cfa80f0489e 100644 --- a/packages/platform/common/src/builder/PlatformBuilder.spec.ts +++ b/packages/platform/common/src/builder/PlatformBuilder.spec.ts @@ -1,5 +1,6 @@ import {catchAsyncError, Type} from "@tsed/core"; import {Configuration, Controller, Injectable, InjectorService, Module} from "@tsed/di"; + import {AfterInit} from "../interfaces/AfterInit.js"; import {AfterListen} from "../interfaces/AfterListen.js"; import {AfterRoutesInit} from "../interfaces/AfterRoutesInit.js"; @@ -279,16 +280,16 @@ describe("PlatformBuilder", () => { // THEN // @ts-ignore - expect(server.listenServers).toBeCalledWith(); - expect(server.loadStatics).toBeCalledWith("$beforeRoutesInit"); - expect(server.loadStatics).toBeCalledWith("$afterRoutesInit"); - expect(server.injector.emit).toBeCalledWith("$afterInit"); - expect(server.injector.emit).toBeCalledWith("$beforeRoutesInit"); - expect(server.injector.emit).toBeCalledWith("$afterRoutesInit"); - expect(server.injector.emit).toBeCalledWith("$afterListen"); - expect(server.injector.emit).toBeCalledWith("$beforeListen"); - expect(server.injector.emit).toBeCalledWith("$onServerReady"); - expect(server.injector.emit).toBeCalledWith("$onReady"); + expect(server.listenServers).toHaveBeenCalledWith(); + expect(server.loadStatics).toHaveBeenCalledWith("$beforeRoutesInit"); + expect(server.loadStatics).toHaveBeenCalledWith("$afterRoutesInit"); + expect(server.injector.emit).toHaveBeenCalledWith("$afterInit"); + expect(server.injector.emit).toHaveBeenCalledWith("$beforeRoutesInit"); + expect(server.injector.emit).toHaveBeenCalledWith("$afterRoutesInit"); + expect(server.injector.emit).toHaveBeenCalledWith("$afterListen"); + expect(server.injector.emit).toHaveBeenCalledWith("$beforeListen"); + expect(server.injector.emit).toHaveBeenCalledWith("$onServerReady"); + expect(server.injector.emit).toHaveBeenCalledWith("$onReady"); // THEN expect(server.rootModule).toBeInstanceOf(ServerModule); @@ -296,7 +297,7 @@ describe("PlatformBuilder", () => { expect(server.name).toEqual("custom"); await server.stop(); - expect(server.injector.emit).toBeCalledWith("$onDestroy"); + expect(server.injector.emit).toHaveBeenCalledWith("$onDestroy"); }); }); describe("adapter()", () => { @@ -351,20 +352,6 @@ describe("PlatformBuilder", () => { expect(server.injector.get(Token)).toBeInstanceOf(Token); }); }); - describe("addComponents", () => { - it("should add components", async () => { - // GIVEN - const server = await PlatformCustom.bootstrap(ServerModule, {}); - - class MyClass {} - - // WHEN - server.addComponents(MyClass); - - // THEN - expect(server.injector.settings.get("imports")).toEqual([HealthModule, MyClass]); - }); - }); describe("addControllers", () => { it("should add controllers", async () => { // GIVEN diff --git a/packages/platform/common/src/builder/PlatformBuilder.ts b/packages/platform/common/src/builder/PlatformBuilder.ts index 1e917b1f7e1..cdecd7f83c6 100644 --- a/packages/platform/common/src/builder/PlatformBuilder.ts +++ b/packages/platform/common/src/builder/PlatformBuilder.ts @@ -6,6 +6,7 @@ import type {IncomingMessage, ServerResponse} from "http"; import Http from "http"; import Http2 from "http2"; import type Https from "https"; + import {PlatformStaticsSettings} from "../config/interfaces/PlatformStaticsSettings.js"; import {PlatformRouteDetails} from "../domain/PlatformRouteDetails.js"; import {Route} from "../interfaces/Route.js"; @@ -141,16 +142,6 @@ export class PlatformBuilder { return !this.disableBootstrapLog && this.logger.info(...data, this.diff()); } - /** - * Add classes to the components list - * @param classes - */ - public addComponents(classes: Type | Type[]) { - this.settings.set("imports", this.settings.get("imports", []).concat(classes)); - - return this; - } - /** * Add classes decorated by @@Controller@@ to components container. * @@ -172,7 +163,7 @@ export class PlatformBuilder { * @param {any[]} controllers */ public addControllers(endpoint: string, controllers: TokenProvider | TokenProvider[]) { - [].concat(controllers).forEach((token) => { + [].concat(controllers as never[]).forEach((token: TokenProvider) => { this.settings.routes.push({token, route: endpoint}); }); } @@ -196,12 +187,6 @@ export class PlatformBuilder { this.log("Load routes"); await this.#adapter.beforeLoadRoutes(); - // istanbul ignore next - if (this.settings.get("logger.level") !== "off") { - const {PlatformLogMiddleware} = await import("@tsed/platform-log-middleware"); - this.app.use(PlatformLogMiddleware); - } - if (this.rootModule.$beforeRoutesInit) { await this.rootModule.$beforeRoutesInit(); // remove method to avoid multiple call and preserve hook order diff --git a/packages/platform/common/src/config/interfaces/PlatformLoggerSettings.ts b/packages/platform/common/src/config/interfaces/PlatformLoggerSettings.ts deleted file mode 100644 index 6cc63e1c11e..00000000000 --- a/packages/platform/common/src/config/interfaces/PlatformLoggerSettings.ts +++ /dev/null @@ -1,6 +0,0 @@ -import {DILoggerOptions} from "@tsed/di"; - -/** - * @deprecated Use DILoggerOptions instead - */ -export type PlatformLoggerSettings = DILoggerOptions; diff --git a/packages/platform/common/src/config/interfaces/PlatformMulterSettings.ts b/packages/platform/common/src/config/interfaces/PlatformMulterSettings.ts index b1f55e53182..2cd9dc5ea47 100644 --- a/packages/platform/common/src/config/interfaces/PlatformMulterSettings.ts +++ b/packages/platform/common/src/config/interfaces/PlatformMulterSettings.ts @@ -2,10 +2,15 @@ import type multer from "multer"; declare global { namespace TsED { + // @ts-ignore export type MulterFile = Express.Multer.File; + // @ts-ignore export type MulterStorageEngine = multer.StorageEngine; + // @ts-ignore export type MulterOptions = multer.Options; + // @ts-ignore export type MulterField = multer.Field; + // @ts-ignore export type Multer = multer.Multer; } } diff --git a/packages/platform/common/src/config/interfaces/PlatformStaticsSettings.ts b/packages/platform/common/src/config/interfaces/PlatformStaticsSettings.ts index a63555764fd..106a954ebd4 100644 --- a/packages/platform/common/src/config/interfaces/PlatformStaticsSettings.ts +++ b/packages/platform/common/src/config/interfaces/PlatformStaticsSettings.ts @@ -4,7 +4,7 @@ declare global { export interface StaticsOptions { root: string; hook?: "$beforeRoutesInit" | "$afterRoutesInit"; - + // @ts-ignore [key: string]: any; } } diff --git a/packages/platform/common/src/config/services/PlatformConfiguration.spec.ts b/packages/platform/common/src/config/services/PlatformConfiguration.spec.ts index c2c7d2beccd..625c06fde25 100644 --- a/packages/platform/common/src/config/services/PlatformConfiguration.spec.ts +++ b/packages/platform/common/src/config/services/PlatformConfiguration.spec.ts @@ -1,5 +1,6 @@ import {Env} from "@tsed/core"; import {ProviderScope, ProviderType} from "@tsed/di"; + import {PlatformConfiguration} from "./PlatformConfiguration.js"; describe("PlatformConfiguration", () => { @@ -51,9 +52,6 @@ describe("PlatformConfiguration", () => { settings.setHttpsPort({address: "address", port: 8080}); }); - it("should return rootDir", () => { - expect(settings.rootDir).toEqual(process.cwd()); - }); it("should return rootDir", () => { expect(settings.rootDir).toEqual(process.cwd()); }); @@ -78,7 +76,7 @@ describe("PlatformConfiguration", () => { expect(settings.httpPort).toEqual("address:8081"); }); - it("should return httpsPort", () => { + it("should return the best host", () => { const info = settings.getHttpsPort(); expect(info).toEqual({ protocol: "https", @@ -89,7 +87,7 @@ describe("PlatformConfiguration", () => { expect(settings.getBestHost().toString()).toEqual("https://address:8080"); }); - it("should return httpPort", () => { + it("should return httpPort multiple usecase", () => { const info = settings.getHttpPort(); expect(info).toEqual({ protocol: "http", @@ -129,10 +127,6 @@ describe("PlatformConfiguration", () => { }); }); - it("should return env", () => { - expect(settings.env).toEqual("test"); - }); - it("should return additionalProperties", () => { expect(settings.additionalProperties).toEqual(false); }); diff --git a/packages/platform/common/src/config/services/PlatformConfiguration.ts b/packages/platform/common/src/config/services/PlatformConfiguration.ts index da995b917fc..cdf0001d1cc 100644 --- a/packages/platform/common/src/config/services/PlatformConfiguration.ts +++ b/packages/platform/common/src/config/services/PlatformConfiguration.ts @@ -2,6 +2,7 @@ import {getHostInfoFromPort, isBoolean} from "@tsed/core"; import {DIConfiguration, Injectable, ProviderScope, TokenProvider} from "@tsed/di"; import {JsonMapperSettings} from "@tsed/json-mapper"; import Https from "https"; + import {PlatformJsonMapperSettings} from "../interfaces/PlatformJsonMapperSettings.js"; const rootDir = process.cwd(); diff --git a/packages/platform/common/src/decorators/PlatformProvider.ts b/packages/platform/common/src/decorators/PlatformProvider.ts index bc7c6d40b85..5e1e53cf5c5 100644 --- a/packages/platform/common/src/decorators/PlatformProvider.ts +++ b/packages/platform/common/src/decorators/PlatformProvider.ts @@ -1,4 +1,5 @@ import {Type} from "@tsed/core"; + import {PlatformAdapter} from "../services/PlatformAdapter.js"; import {registerPlatformAdapter} from "../utils/registerPlatformAdapter.js"; diff --git a/packages/platform/common/src/decorators/multer/multerFileSize.spec.ts b/packages/platform/common/src/decorators/multer/multerFileSize.spec.ts index 605f7533078..f0a5017c96a 100644 --- a/packages/platform/common/src/decorators/multer/multerFileSize.spec.ts +++ b/packages/platform/common/src/decorators/multer/multerFileSize.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {PlatformMulterMiddleware} from "../../middlewares/PlatformMulterMiddleware.js"; import {MulterFileSize} from "./multerFileSize.js"; diff --git a/packages/platform/common/src/decorators/multer/multerFileSize.ts b/packages/platform/common/src/decorators/multer/multerFileSize.ts index f3a720b58a5..1338783cab6 100644 --- a/packages/platform/common/src/decorators/multer/multerFileSize.ts +++ b/packages/platform/common/src/decorators/multer/multerFileSize.ts @@ -4,8 +4,8 @@ import {MulterOptions} from "./multerOptions.js"; * Define file size limit. * * ```typescript - * import {Controller, Post} from "@tsed/common"; - * import {MulterOptions, MultipartFile} from "@tsed/common"; + * import {Post} from "@tsed/schema"; + * import {Controller, MulterOptions, MultipartFile} from "@tsed/common"; * import {Multer} from "@types/multer"; * * type MulterFile = Express.Multer.File; diff --git a/packages/platform/common/src/decorators/multer/multerOptions.spec.ts b/packages/platform/common/src/decorators/multer/multerOptions.spec.ts index 736889089fb..cd4e85fefe4 100644 --- a/packages/platform/common/src/decorators/multer/multerOptions.spec.ts +++ b/packages/platform/common/src/decorators/multer/multerOptions.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {PlatformMulterMiddleware} from "../../middlewares/PlatformMulterMiddleware.js"; import {MulterOptions} from "./multerOptions.js"; diff --git a/packages/platform/common/src/decorators/multer/multerOptions.ts b/packages/platform/common/src/decorators/multer/multerOptions.ts index 2f24196e31a..2297a60e6d2 100644 --- a/packages/platform/common/src/decorators/multer/multerOptions.ts +++ b/packages/platform/common/src/decorators/multer/multerOptions.ts @@ -1,4 +1,5 @@ import {StoreMerge} from "@tsed/core"; + import {PlatformMulterSettings} from "../../config/interfaces/PlatformMulterSettings.js"; import {PlatformMulterMiddleware} from "../../middlewares/PlatformMulterMiddleware.js"; @@ -6,7 +7,8 @@ import {PlatformMulterMiddleware} from "../../middlewares/PlatformMulterMiddlewa * Define multer option for all MultipartFile * * ```typescript - * import {Controller, Post, PlatformMulterFile, MultipartFile, MulterOptions} from "@tsed/common"; + * import {Controller, PlatformMulterFile, MultipartFile, MulterOptions} from "@tsed/common"; + * import {Post} from "@tsed/schema"; * * @Controller('/') * class MyCtrl { diff --git a/packages/platform/common/src/decorators/multer/multipartFile.spec.ts b/packages/platform/common/src/decorators/multer/multipartFile.spec.ts index b953d4744c7..1a126479941 100644 --- a/packages/platform/common/src/decorators/multer/multipartFile.spec.ts +++ b/packages/platform/common/src/decorators/multer/multipartFile.spec.ts @@ -1,7 +1,9 @@ +import "../../index.js"; + import {descriptorOf, Metadata, Store} from "@tsed/core"; import {ParamTypes} from "@tsed/platform-params"; import {getSpec, JsonParameterStore, Post, SpecTypes} from "@tsed/schema"; -import "../../index"; + import {PlatformMulterMiddleware} from "../../middlewares/PlatformMulterMiddleware.js"; import {MultipartFile} from "./multipartFile.js"; diff --git a/packages/platform/common/src/decorators/multer/multipartFile.ts b/packages/platform/common/src/decorators/multer/multipartFile.ts index 7721d51bcbc..e5e06f52ba5 100644 --- a/packages/platform/common/src/decorators/multer/multipartFile.ts +++ b/packages/platform/common/src/decorators/multer/multipartFile.ts @@ -1,6 +1,7 @@ import {DecoratorParameters, Metadata, StoreMerge, useDecorators, useMethodDecorators} from "@tsed/core"; import {ParamTypes, UseParam} from "@tsed/platform-params"; import {InFile} from "@tsed/schema"; + import {PlatformMulterFile} from "../../config/interfaces/PlatformMulterSettings.js"; import {MulterInputOptions, PlatformMulterMiddleware} from "../../middlewares/PlatformMulterMiddleware.js"; @@ -19,8 +20,8 @@ function mapOptions(name: string, maxCount: number | undefined): MulterInputOpti * Define a parameter as Multipart file. * * ```typescript - * import {Controller, Post} from "@tsed/common"; - * import {MulterOptions, MultipartFile} from "@tsed/common"; + * import {Post} from "@tsed/schema"; + * import {Controller, MulterOptions, MultipartFile} from "@tsed/common"; * import {Multer} from "@types/multer"; * * type MulterFile = Express.Multer.File; diff --git a/packages/platform/common/src/decorators/params/error.spec.ts b/packages/platform/common/src/decorators/params/error.spec.ts index 1d137accee6..95a212f512c 100644 --- a/packages/platform/common/src/decorators/params/error.spec.ts +++ b/packages/platform/common/src/decorators/params/error.spec.ts @@ -1,7 +1,8 @@ import {ParamTypes} from "@tsed/platform-params"; -import {Err} from "./error.js"; import {JsonParameterStore} from "@tsed/schema"; +import {Err} from "./error.js"; + describe("@Err", () => { it("should register a new parameter instance with the correct property", () => { class Ctrl { diff --git a/packages/platform/common/src/decorators/params/next.spec.ts b/packages/platform/common/src/decorators/params/next.spec.ts index af659627ef8..cc8a7403449 100644 --- a/packages/platform/common/src/decorators/params/next.spec.ts +++ b/packages/platform/common/src/decorators/params/next.spec.ts @@ -1,5 +1,6 @@ import {ParamTypes} from "@tsed/platform-params"; import {JsonParameterStore} from "@tsed/schema"; + import {Next} from "./next.js"; describe("@Next", () => { diff --git a/packages/platform/common/src/decorators/params/request.spec.ts b/packages/platform/common/src/decorators/params/request.spec.ts index 5fd742c828c..622199f0e94 100644 --- a/packages/platform/common/src/decorators/params/request.spec.ts +++ b/packages/platform/common/src/decorators/params/request.spec.ts @@ -1,8 +1,9 @@ import {ParamTypes} from "@tsed/platform-params"; +import {JsonParameterStore} from "@tsed/schema"; import {IncomingMessage} from "http"; + import {PlatformRequest} from "../../services/PlatformRequest.js"; import {Req, Request} from "./request.js"; -import {JsonParameterStore} from "@tsed/schema"; describe("@Req", () => { it("should register a new parameter instance with the correct property (RawRequest)", () => { diff --git a/packages/platform/common/src/decorators/params/request.ts b/packages/platform/common/src/decorators/params/request.ts index 68a1ed6e618..037b5410f44 100644 --- a/packages/platform/common/src/decorators/params/request.ts +++ b/packages/platform/common/src/decorators/params/request.ts @@ -1,6 +1,6 @@ import {isClass, Metadata, nameOf, Type} from "@tsed/core"; -import {IncomingMessage} from "http"; import {mapParamsOptions, ParamOptions, ParamTypes, UseParam} from "@tsed/platform-params"; +import {IncomingMessage} from "http"; function getParamType(target: Object, propertyKey: string | symbol | undefined, parameterIndex: number) { const type = Metadata.getOwnParamTypes(target, propertyKey)[parameterIndex]; diff --git a/packages/platform/common/src/decorators/params/response.spec.ts b/packages/platform/common/src/decorators/params/response.spec.ts index ceede257417..fc73986918b 100644 --- a/packages/platform/common/src/decorators/params/response.spec.ts +++ b/packages/platform/common/src/decorators/params/response.spec.ts @@ -1,8 +1,9 @@ import {ParamTypes} from "@tsed/platform-params"; +import {JsonParameterStore} from "@tsed/schema"; import {ServerResponse} from "http"; + import {PlatformResponse} from "../../services/PlatformResponse.js"; import {Res, Response} from "./response.js"; -import {JsonParameterStore} from "@tsed/schema"; describe("@Res", () => { it("should register a new parameter instance with the correct property (RawRes)", () => { diff --git a/packages/platform/common/src/domain/AnyToPromiseWithCtx.ts b/packages/platform/common/src/domain/AnyToPromiseWithCtx.ts index e4e1e010b66..c750e55ddee 100644 --- a/packages/platform/common/src/domain/AnyToPromiseWithCtx.ts +++ b/packages/platform/common/src/domain/AnyToPromiseWithCtx.ts @@ -1,4 +1,5 @@ import {AnyPromiseResult, AnyToPromise} from "@tsed/core"; + import {PlatformContext} from "./PlatformContext.js"; export class AnyToPromiseWithCtx extends AnyToPromise { diff --git a/packages/platform/common/src/domain/PlatformContext.spec.ts b/packages/platform/common/src/domain/PlatformContext.spec.ts index 5e4a36cb440..02e58d13c49 100644 --- a/packages/platform/common/src/domain/PlatformContext.spec.ts +++ b/packages/platform/common/src/domain/PlatformContext.spec.ts @@ -1,4 +1,5 @@ import {nameOf} from "@tsed/core"; + import {PlatformApplication} from "../services/PlatformApplication.js"; import {PlatformTest} from "../services/PlatformTest.js"; import {PlatformContext} from "./PlatformContext.js"; @@ -94,7 +95,7 @@ describe("PlatformContext", () => { expect(context.isDone()).toEqual(true); }); - it("should return done when the response is empty", async () => { + it("should return done when the response is empty (start context before)", async () => { // @ts-ignore const context = new PlatformContext({ id: "id", diff --git a/packages/platform/common/src/domain/PlatformContext.ts b/packages/platform/common/src/domain/PlatformContext.ts index d48aa114d29..f5c5161bb65 100644 --- a/packages/platform/common/src/domain/PlatformContext.ts +++ b/packages/platform/common/src/domain/PlatformContext.ts @@ -2,6 +2,7 @@ import {DIContext, DIContextOptions} from "@tsed/di"; import {PlatformHandlerMetadata} from "@tsed/platform-router"; import {EndpointMetadata} from "@tsed/schema"; import {IncomingMessage, ServerResponse} from "http"; + import {IncomingEvent} from "../interfaces/IncomingEvent.js"; import {PlatformApplication} from "../services/PlatformApplication.js"; import {PlatformRequest} from "../services/PlatformRequest.js"; diff --git a/packages/platform/common/src/exports.ts b/packages/platform/common/src/exports.ts index 5916bab87eb..0a82104280c 100644 --- a/packages/platform/common/src/exports.ts +++ b/packages/platform/common/src/exports.ts @@ -2,13 +2,9 @@ import "@tsed/logger"; import "@tsed/logger-file"; export * from "@tsed/di"; -export * from "@tsed/platform-params"; +export {$log, Logger} from "@tsed/logger"; export * from "@tsed/platform-exceptions"; -export * from "@tsed/platform-response-filter"; export * from "@tsed/platform-middlewares"; -export * from "@tsed/platform-log-middleware"; +export * from "@tsed/platform-params"; +export * from "@tsed/platform-response-filter"; export * from "@tsed/platform-router"; - -export {$log, Logger} from "@tsed/logger"; - -export {AcceptMime, Location, Redirect, View, Get, Post, Put, Patch, Delete, Head, Options, All} from "@tsed/schema"; diff --git a/packages/platform/common/src/index.ts b/packages/platform/common/src/index.ts index 156e875b858..5b1efbc7c52 100644 --- a/packages/platform/common/src/index.ts +++ b/packages/platform/common/src/index.ts @@ -3,7 +3,6 @@ */ export * from "./builder/PlatformBuilder.js"; export * from "./config/interfaces/PlatformJsonMapperSettings.js"; -export * from "./config/interfaces/PlatformLoggerSettings.js"; export * from "./config/interfaces/PlatformMulterSettings.js"; export * from "./config/interfaces/PlatformRouterSettings.js"; export * from "./config/interfaces/PlatformStaticsSettings.js"; diff --git a/packages/platform/common/src/middlewares/PlatformAcceptMimesMiddleware.spec.ts b/packages/platform/common/src/middlewares/PlatformAcceptMimesMiddleware.spec.ts index 740f9bb91b6..6f8fdcca927 100644 --- a/packages/platform/common/src/middlewares/PlatformAcceptMimesMiddleware.spec.ts +++ b/packages/platform/common/src/middlewares/PlatformAcceptMimesMiddleware.spec.ts @@ -1,6 +1,6 @@ import {catchError} from "@tsed/core"; -import {EndpointMetadata, Get} from "@tsed/schema"; -import {AcceptMime} from "../exports.js"; +import {AcceptMime, EndpointMetadata, Get} from "@tsed/schema"; + import {PlatformTest} from "../services/PlatformTest.js"; import {PlatformAcceptMimesMiddleware} from "./PlatformAcceptMimesMiddleware.js"; @@ -34,9 +34,9 @@ describe("PlatformMimesMiddleware", () => { const middleware = await PlatformTest.invoke(PlatformAcceptMimesMiddleware); - middleware.use(ctx); + middleware.use(ctx as never); - expect(request.accepts).toBeCalledWith(["application/json", "text"]); + expect(request.accepts).toHaveBeenCalledWith(["application/json", "text"]); }); it("should accept type (text)", async () => { class Test { @@ -59,9 +59,9 @@ describe("PlatformMimesMiddleware", () => { vi.spyOn(request, "accepts"); const middleware = await PlatformTest.invoke(PlatformAcceptMimesMiddleware); - middleware.use(ctx); + middleware.use(ctx as never); - expect(request.accepts).toBeCalledWith(["text", "application/json"]); + expect(request.accepts).toHaveBeenCalledWith(["text", "application/json"]); }); it("should accept type (text) without endpoint", async () => { class Test { @@ -81,9 +81,9 @@ describe("PlatformMimesMiddleware", () => { vi.spyOn(request, "accepts"); const middleware = await PlatformTest.invoke(PlatformAcceptMimesMiddleware); - middleware.use(ctx); + middleware.use(ctx as never); - expect(request.accepts).toBeCalledWith(["application/json", "text"]); + expect(request.accepts).toHaveBeenCalledWith(["application/json", "text"]); }); it("should refuse type", async () => { class Test { @@ -104,7 +104,7 @@ describe("PlatformMimesMiddleware", () => { }); const middleware = await PlatformTest.invoke(PlatformAcceptMimesMiddleware); - const error: any = catchError(() => middleware.use(ctx)); + const error: any = catchError(() => middleware.use(ctx as never)); expect(error.message).toEqual("You must accept content-type application/json, text"); }); @@ -131,9 +131,9 @@ describe("PlatformMimesMiddleware", () => { vi.spyOn(request, "accepts"); const middleware = await PlatformTest.invoke(PlatformAcceptMimesMiddleware); - middleware.use(ctx); + middleware.use(ctx as never); - return expect(request.accepts).not.toBeCalled(); + return expect(request.accepts).not.toHaveBeenCalled(); }); it("should accept type (application/json)", async () => { class Test { @@ -155,9 +155,9 @@ describe("PlatformMimesMiddleware", () => { vi.spyOn(request, "accepts"); const middleware = await PlatformTest.invoke(PlatformAcceptMimesMiddleware); - middleware.use(ctx); + middleware.use(ctx as never); - expect(request.accepts).toBeCalledWith(["application/json"]); + expect(request.accepts).toHaveBeenCalledWith(["application/json"]); }); it("should accept type (text)", async () => { class Test { @@ -181,9 +181,9 @@ describe("PlatformMimesMiddleware", () => { vi.spyOn(request, "accepts"); const middleware = await PlatformTest.invoke(PlatformAcceptMimesMiddleware); - middleware.use(ctx); + middleware.use(ctx as never); - expect(request.accepts).toBeCalledWith(["text"]); + expect(request.accepts).toHaveBeenCalledWith(["text"]); }); it("should refuse type", async () => { class Test { @@ -207,7 +207,7 @@ describe("PlatformMimesMiddleware", () => { const middleware = await PlatformTest.invoke(PlatformAcceptMimesMiddleware); - const error: any = catchError(() => middleware.use(ctx)); + const error: any = catchError(() => middleware.use(ctx as never)); expect(error.message).toEqual("You must accept content-type application/json"); }); diff --git a/packages/platform/common/src/middlewares/PlatformMulterMiddleware.spec.ts b/packages/platform/common/src/middlewares/PlatformMulterMiddleware.spec.ts index 96a9390a1c2..9f1af7706e6 100644 --- a/packages/platform/common/src/middlewares/PlatformMulterMiddleware.spec.ts +++ b/packages/platform/common/src/middlewares/PlatformMulterMiddleware.spec.ts @@ -1,6 +1,7 @@ +import {catchAsyncError} from "@tsed/core"; import {Exception} from "@tsed/exceptions"; import {MulterError} from "multer"; -import {catchAsyncError} from "@tsed/core"; + import {MulterOptions} from "../decorators/multer/multerOptions.js"; import {MultipartFile} from "../decorators/multer/multipartFile.js"; import {EndpointMetadata} from "../domain/EndpointMetadata.js"; @@ -48,11 +49,11 @@ describe("PlatformMulterMiddleware", () => { await middleware.use(ctx); - expect(app.multer).toBeCalledWith({ + expect(app.multer).toHaveBeenCalledWith({ dest: "/dest" }); - expect(multer.fields).toBeCalledWith([{maxCount: undefined, name: "file1"}]); - expect(multerMiddleware).toBeCalledWith(ctx.request.raw, ctx.response.raw); + expect(multer.fields).toHaveBeenCalledWith([{maxCount: undefined, name: "file1"}]); + expect(multerMiddleware).toHaveBeenCalledWith(ctx.request.raw, ctx.response.raw); }); it("should create middleware with storage", async () => { const {middleware, ctx, multer, app, multerMiddleware} = await build({ @@ -61,11 +62,11 @@ describe("PlatformMulterMiddleware", () => { await middleware.use(ctx); - expect(app.multer).toBeCalledWith({ + expect(app.multer).toHaveBeenCalledWith({ storage: "storage" }); - expect(multer.fields).toBeCalledWith([{maxCount: undefined, name: "file1"}]); - expect(multerMiddleware).toBeCalledWith(ctx.request.raw, ctx.response.raw); + expect(multer.fields).toHaveBeenCalledWith([{maxCount: undefined, name: "file1"}]); + expect(multerMiddleware).toHaveBeenCalledWith(ctx.request.raw, ctx.response.raw); }); it("should catch error with code", async () => { const {middleware, ctx, multerMiddleware} = await build(); diff --git a/packages/platform/common/src/middlewares/PlatformMulterMiddleware.ts b/packages/platform/common/src/middlewares/PlatformMulterMiddleware.ts index 338c6dd2971..cdd4f0055b0 100644 --- a/packages/platform/common/src/middlewares/PlatformMulterMiddleware.ts +++ b/packages/platform/common/src/middlewares/PlatformMulterMiddleware.ts @@ -3,6 +3,7 @@ import {BadRequest} from "@tsed/exceptions"; import {Middleware, MiddlewareMethods} from "@tsed/platform-middlewares"; import {Context} from "@tsed/platform-params"; import type {MulterError} from "multer"; + import {PlatformMulterField, PlatformMulterSettings} from "../config/interfaces/PlatformMulterSettings.js"; import {PlatformContext} from "../domain/PlatformContext.js"; import {PlatformApplication} from "../services/PlatformApplication.js"; diff --git a/packages/platform/common/src/services/Platform.spec.ts b/packages/platform/common/src/services/Platform.spec.ts index 134ad67cd96..b039fbc30f4 100644 --- a/packages/platform/common/src/services/Platform.spec.ts +++ b/packages/platform/common/src/services/Platform.spec.ts @@ -1,6 +1,7 @@ import {nameOf} from "@tsed/core"; import {Controller} from "@tsed/di"; import {Get, Post} from "@tsed/schema"; + import {Platform} from "./Platform.js"; import {PlatformTest} from "./PlatformTest.js"; diff --git a/packages/platform/common/src/services/Platform.ts b/packages/platform/common/src/services/Platform.ts index ab36e1df417..589ecd8175e 100644 --- a/packages/platform/common/src/services/Platform.ts +++ b/packages/platform/common/src/services/Platform.ts @@ -1,5 +1,6 @@ import {ControllerProvider, Injectable, InjectorService, ProviderScope, TokenProvider} from "@tsed/di"; import {PlatformLayer, PlatformRouters} from "@tsed/platform-router"; + import {Route, RouteController} from "../interfaces/Route.js"; import {PlatformApplication} from "./PlatformApplication.js"; import {PlatformHandler} from "./PlatformHandler.js"; diff --git a/packages/platform/common/src/services/PlatformAdapter.ts b/packages/platform/common/src/services/PlatformAdapter.ts index 6a9333afb4d..4eee9174019 100644 --- a/packages/platform/common/src/services/PlatformAdapter.ts +++ b/packages/platform/common/src/services/PlatformAdapter.ts @@ -2,6 +2,7 @@ import {Type} from "@tsed/core"; import {InjectorService, ProviderOpts, registerProvider} from "@tsed/di"; import {PlatformContextHandler, PlatformHandlerMetadata, PlatformLayer} from "@tsed/platform-router"; import {IncomingMessage, ServerResponse} from "http"; + import {PlatformMulter, PlatformMulterSettings} from "../config/interfaces/PlatformMulterSettings.js"; import {PlatformStaticsOptions} from "../config/interfaces/PlatformStaticsSettings.js"; import {PlatformContext} from "../domain/PlatformContext.js"; diff --git a/packages/platform/common/src/services/PlatformApplication.ts b/packages/platform/common/src/services/PlatformApplication.ts index b5a0f5d3f5c..b7eefcdd279 100644 --- a/packages/platform/common/src/services/PlatformApplication.ts +++ b/packages/platform/common/src/services/PlatformApplication.ts @@ -1,6 +1,7 @@ import {Injectable, InjectorService, ProviderScope} from "@tsed/di"; import {PlatformRouter} from "@tsed/platform-router"; import {IncomingMessage, ServerResponse} from "http"; + import {PlatformMulterSettings} from "../config/interfaces/PlatformMulterSettings.js"; import {PlatformAdapter} from "./PlatformAdapter.js"; diff --git a/packages/platform/common/src/services/PlatformHandler.spec.ts b/packages/platform/common/src/services/PlatformHandler.spec.ts index c777948bed2..03569404afb 100644 --- a/packages/platform/common/src/services/PlatformHandler.spec.ts +++ b/packages/platform/common/src/services/PlatformHandler.spec.ts @@ -1,6 +1,7 @@ import {Injectable} from "@tsed/di"; import {PlatformHandlerMetadata, PlatformHandlerType} from "@tsed/platform-router"; import {EndpointMetadata, Get, View} from "@tsed/schema"; + import {PlatformHandler} from "./PlatformHandler.js"; import {PlatformTest} from "./PlatformTest.js"; diff --git a/packages/platform/common/src/services/PlatformHandler.ts b/packages/platform/common/src/services/PlatformHandler.ts index cb1b76223b8..7c74392f992 100644 --- a/packages/platform/common/src/services/PlatformHandler.ts +++ b/packages/platform/common/src/services/PlatformHandler.ts @@ -11,6 +11,7 @@ import { useResponseHandler } from "@tsed/platform-router"; import {JsonOperationRoute} from "@tsed/schema"; + import {AnyToPromiseWithCtx} from "../domain/AnyToPromiseWithCtx.js"; import {PlatformContext} from "../domain/PlatformContext.js"; import {setResponseHeaders} from "../utils/setResponseHeaders.js"; diff --git a/packages/platform/common/src/services/PlatformMiddlewaresChain.spec.ts b/packages/platform/common/src/services/PlatformMiddlewaresChain.spec.ts index 2f2d13d8e1d..da1bbbce0f2 100644 --- a/packages/platform/common/src/services/PlatformMiddlewaresChain.spec.ts +++ b/packages/platform/common/src/services/PlatformMiddlewaresChain.spec.ts @@ -1,6 +1,7 @@ import {Controller, ControllerProvider} from "@tsed/di"; import {Middleware, Use, UseAuth} from "@tsed/platform-middlewares"; import {AcceptMime, All, EndpointMetadata, Get, getOperationsRoutes, Post} from "@tsed/schema"; + import {MultipartFile} from "../decorators/multer/multipartFile.js"; import {PlatformAcceptMimesMiddleware} from "../middlewares/PlatformAcceptMimesMiddleware.js"; import {PlatformMulterMiddleware} from "../middlewares/PlatformMulterMiddleware.js"; diff --git a/packages/platform/common/src/services/PlatformMiddlewaresChain.ts b/packages/platform/common/src/services/PlatformMiddlewaresChain.ts index 0300d176a6f..27c7512bb15 100644 --- a/packages/platform/common/src/services/PlatformMiddlewaresChain.ts +++ b/packages/platform/common/src/services/PlatformMiddlewaresChain.ts @@ -3,6 +3,7 @@ import {Constant, Inject, Injectable, InjectorService, TokenProvider} from "@tse import {ParamTypes} from "@tsed/platform-params"; import {AlterEndpointHandlersArg} from "@tsed/platform-router"; import {JsonEntityStore, JsonOperationRoute} from "@tsed/schema"; + import {PlatformAcceptMimesMiddleware} from "../middlewares/PlatformAcceptMimesMiddleware.js"; import {PlatformMulterMiddleware} from "../middlewares/PlatformMulterMiddleware.js"; import {PlatformAdapter} from "../services/PlatformAdapter.js"; diff --git a/packages/platform/common/src/services/PlatformRequest.spec.ts b/packages/platform/common/src/services/PlatformRequest.spec.ts index 1a6a81f1b7b..fcca5aabfd1 100644 --- a/packages/platform/common/src/services/PlatformRequest.spec.ts +++ b/packages/platform/common/src/services/PlatformRequest.spec.ts @@ -1,4 +1,5 @@ import {PlatformHandlerMetadata} from "@tsed/platform-router"; + import {PlatformRequest} from "./PlatformRequest.js"; import {PlatformTest} from "./PlatformTest.js"; @@ -92,7 +93,7 @@ describe("PlatformRequest", () => { request.accepts("application/json"); - expect(req.accepts).toBeCalledWith("application/json"); + expect(req.accepts).toHaveBeenCalledWith("application/json"); }); }); diff --git a/packages/platform/common/src/services/PlatformRequest.ts b/packages/platform/common/src/services/PlatformRequest.ts index 3b770db3417..f14fe2be878 100644 --- a/packages/platform/common/src/services/PlatformRequest.ts +++ b/packages/platform/common/src/services/PlatformRequest.ts @@ -1,5 +1,6 @@ import {Injectable, ProviderScope, Scope} from "@tsed/di"; import {IncomingHttpHeaders, IncomingMessage} from "http"; + import type {PlatformContext} from "../domain/PlatformContext.js"; import type {PlatformResponse} from "./PlatformResponse.js"; diff --git a/packages/platform/common/src/services/PlatformResponse.spec.ts b/packages/platform/common/src/services/PlatformResponse.spec.ts index 8e000cba331..93a4306743d 100644 --- a/packages/platform/common/src/services/PlatformResponse.spec.ts +++ b/packages/platform/common/src/services/PlatformResponse.spec.ts @@ -1,9 +1,10 @@ import {PlatformViews} from "@tsed/platform-views"; import {createReadStream} from "fs"; + import {PlatformResponse} from "./PlatformResponse.js"; import {PlatformTest} from "./PlatformTest.js"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build vi.mock("on-finished"); @@ -38,7 +39,7 @@ describe("PlatformResponse", () => { vi.spyOn(res, "status").mockReturnValue(undefined); response.status(204); - expect(res.status).toBeCalledWith(204); + expect(res.status).toHaveBeenCalledWith(204); }); }); describe("setHeaders()", () => { @@ -92,7 +93,7 @@ describe("PlatformResponse", () => { expect(response.getContentLength()).toEqual(5); }); - it("should set content Type", () => { + it("should set content Type (size 0)", () => { const {res, response} = createResponse(); response.contentLength(" " as any); @@ -170,7 +171,7 @@ describe("PlatformResponse", () => { test: "test" }); - expect(platformViews.render).toBeCalledWith("view", { + expect(platformViews.render).toHaveBeenCalledWith("view", { locale: "fr-FR", test: "test" }); @@ -212,7 +213,7 @@ describe("PlatformResponse", () => { response.body(stream); - expect(stream.pipe).toBeCalledWith(res); + expect(stream.pipe).toHaveBeenCalledWith(res); }); it("should call body with buffer", () => { const {res, response} = createResponse(); diff --git a/packages/platform/common/src/services/PlatformResponse.ts b/packages/platform/common/src/services/PlatformResponse.ts index 2784a2877c1..6b7d65e7056 100644 --- a/packages/platform/common/src/services/PlatformResponse.ts +++ b/packages/platform/common/src/services/PlatformResponse.ts @@ -3,6 +3,7 @@ import {Injectable, ProviderScope, Scope} from "@tsed/di"; import {getStatusMessage} from "@tsed/schema"; import encodeUrl from "encodeurl"; import {OutgoingHttpHeaders, ServerResponse} from "http"; + import type {PlatformContext} from "../domain/PlatformContext.js"; import type {PlatformRequest} from "./PlatformRequest.js"; diff --git a/packages/platform/common/src/services/PlatformTest.spec.ts b/packages/platform/common/src/services/PlatformTest.spec.ts index 94f2c87a893..6b80dd5d364 100644 --- a/packages/platform/common/src/services/PlatformTest.spec.ts +++ b/packages/platform/common/src/services/PlatformTest.spec.ts @@ -1,5 +1,6 @@ import {Configuration, Controller, InjectorService} from "@tsed/di"; import {Get} from "@tsed/schema"; + import {PlatformContext} from "../domain/PlatformContext.js"; import {PlatformTest} from "./PlatformTest.js"; diff --git a/packages/platform/common/src/services/PlatformTest.ts b/packages/platform/common/src/services/PlatformTest.ts index f56e70e6131..b127e3ed173 100644 --- a/packages/platform/common/src/services/PlatformTest.ts +++ b/packages/platform/common/src/services/PlatformTest.ts @@ -2,11 +2,12 @@ import {Type} from "@tsed/core"; import {DITest, InjectorService} from "@tsed/di"; import accepts from "accepts"; import type {IncomingMessage, RequestListener, ServerResponse} from "http"; + import {PlatformBuilder} from "../builder/PlatformBuilder.js"; import {PlatformContext, PlatformContextOptions} from "../domain/PlatformContext.js"; import {createInjector} from "../utils/createInjector.js"; import {getConfiguration} from "../utils/getConfiguration.js"; -import {FakeResponse} from "./FakeResponse"; +import {FakeResponse} from "./FakeResponse.js"; import {PlatformAdapter, PlatformBuilderSettings} from "./PlatformAdapter.js"; import {PlatformApplication} from "./PlatformApplication.js"; diff --git a/packages/platform/common/src/utils/__mock__/module1/Module1.ts b/packages/platform/common/src/utils/__mock__/module1/Module1.ts index b11f274fed0..7ef951e3dc1 100644 --- a/packages/platform/common/src/utils/__mock__/module1/Module1.ts +++ b/packages/platform/common/src/utils/__mock__/module1/Module1.ts @@ -1,6 +1,7 @@ -import {SubModule} from "./submodule/SubModule.js"; import {Module} from "@tsed/di"; + import {M1Ctrl1} from "./controllers/M1Ctrl1.js"; +import {SubModule} from "./submodule/SubModule.js"; @Module({ mount: { diff --git a/packages/platform/common/src/utils/__mock__/module1/controllers/M1Ctrl1.ts b/packages/platform/common/src/utils/__mock__/module1/controllers/M1Ctrl1.ts index 9df9d6d10ee..7c387877f6a 100644 --- a/packages/platform/common/src/utils/__mock__/module1/controllers/M1Ctrl1.ts +++ b/packages/platform/common/src/utils/__mock__/module1/controllers/M1Ctrl1.ts @@ -1,4 +1,5 @@ import {Controller} from "@tsed/di"; + import {M1Service} from "../services/M1Service.js"; @Controller("/m1") diff --git a/packages/platform/common/src/utils/__mock__/module1/services/M1Service.ts b/packages/platform/common/src/utils/__mock__/module1/services/M1Service.ts index 492b676997a..0da88b4618d 100644 --- a/packages/platform/common/src/utils/__mock__/module1/services/M1Service.ts +++ b/packages/platform/common/src/utils/__mock__/module1/services/M1Service.ts @@ -1,4 +1,5 @@ import {Injectable} from "@tsed/di"; + import {SubService} from "../submodule/SubService.js"; @Injectable() diff --git a/packages/platform/common/src/utils/__mock__/module1/submodule/SubModule.ts b/packages/platform/common/src/utils/__mock__/module1/submodule/SubModule.ts index ef297540849..980c2d10095 100644 --- a/packages/platform/common/src/utils/__mock__/module1/submodule/SubModule.ts +++ b/packages/platform/common/src/utils/__mock__/module1/submodule/SubModule.ts @@ -1,4 +1,5 @@ import {Module} from "@tsed/di"; + import {SubService} from "./SubService.js"; @Module({ diff --git a/packages/platform/common/src/utils/__mock__/module2/Module2.ts b/packages/platform/common/src/utils/__mock__/module2/Module2.ts index 2b6c78c8253..15b97098d00 100644 --- a/packages/platform/common/src/utils/__mock__/module2/Module2.ts +++ b/packages/platform/common/src/utils/__mock__/module2/Module2.ts @@ -1,4 +1,5 @@ import {Module} from "@tsed/di"; + import {M2Ctrl} from "./controllers/M2Ctrl.js"; @Module({ diff --git a/packages/platform/common/src/utils/createContext.spec.ts b/packages/platform/common/src/utils/createContext.spec.ts index 125c7f48b73..63f22c0dfc8 100644 --- a/packages/platform/common/src/utils/createContext.spec.ts +++ b/packages/platform/common/src/utils/createContext.spec.ts @@ -43,11 +43,11 @@ describe("createContext", () => { await call(); // THEN - expect(injector.emit).toBeCalledWith("$onRequest", ctx); + expect(injector.emit).toHaveBeenCalledWith("$onRequest", ctx); await vi.mocked(ctx.response.getRes().on).mock.calls[0][1](ctx); - expect(injector.emit).toBeCalledWith("$onResponse", ctx); + expect(injector.emit).toHaveBeenCalledWith("$onResponse", ctx); }); it("should ignore logs", async () => { @@ -78,7 +78,7 @@ describe("createContext", () => { await call(); // THEN - expect(ctx.response.setHeader).toBeCalledWith("x-request-id", expect.any(String)); + expect(ctx.response.setHeader).toHaveBeenCalledWith("x-request-id", expect.any(String)); }); it("should use an existing x-request-id request header for the response x-request-id header", async () => { @@ -96,6 +96,6 @@ describe("createContext", () => { await call(); // THEN - expect(ctx.response.setHeader).toBeCalledWith("x-request-id", "test-id"); + expect(ctx.response.setHeader).toHaveBeenCalledWith("x-request-id", "test-id"); }); }); diff --git a/packages/platform/common/src/utils/createContext.ts b/packages/platform/common/src/utils/createContext.ts index 35cb9fd212b..507bf110aed 100644 --- a/packages/platform/common/src/utils/createContext.ts +++ b/packages/platform/common/src/utils/createContext.ts @@ -1,5 +1,6 @@ import {InjectorService} from "@tsed/di"; import {v4} from "uuid"; + import {PlatformContext} from "../domain/PlatformContext.js"; import {IncomingEvent} from "../interfaces/IncomingEvent.js"; import {PlatformRequest} from "../services/PlatformRequest.js"; diff --git a/packages/platform/common/src/utils/createHttpServer.spec.ts b/packages/platform/common/src/utils/createHttpServer.spec.ts index 5f677887b50..87421349204 100644 --- a/packages/platform/common/src/utils/createHttpServer.spec.ts +++ b/packages/platform/common/src/utils/createHttpServer.spec.ts @@ -1,5 +1,6 @@ import {InjectorService} from "@tsed/di"; import Http from "http"; + import {createHttpServer} from "./createHttpServer.js"; describe("createHttpServer", () => { @@ -18,22 +19,22 @@ describe("createHttpServer", () => { expect(listener).toBeInstanceOf(Function); - const server = injector.get(Http.Server); + const server = injector.get(Http.Server)!; vi.spyOn(injector.logger, "info").mockReturnValue(undefined); vi.spyOn(injector.logger, "debug").mockReturnValue(undefined); - vi.spyOn(server, "listen").mockReturnValue(undefined); - vi.spyOn(server, "address").mockReturnValue({port: 8089, address: "0.0.0.0"}); - vi.spyOn(server, "on").mockImplementation((event: string, cb: any) => { + vi.spyOn(server, "listen").mockReturnValue(undefined as never); + vi.spyOn(server, "address").mockReturnValue({port: 8089, address: "0.0.0.0"} as never); + vi.spyOn(server, "on").mockImplementation(((event: string, cb: any) => { if (event === "listening") { cb(); } - }); + }) as never); await listener(); - expect(server.listen).toBeCalledWith(true, "0.0.0.0"); - expect(injector.logger.info).toBeCalledWith("Listen server on http://0.0.0.0:8089"); + expect(server.listen).toHaveBeenCalledWith(true, "0.0.0.0"); + expect(injector.logger.info).toHaveBeenCalledWith("Listen server on http://0.0.0.0:8089"); }); it("should create a raw object (http port false)", () => { diff --git a/packages/platform/common/src/utils/createHttpServer.ts b/packages/platform/common/src/utils/createHttpServer.ts index 49597613d46..d1b67c5d8b6 100644 --- a/packages/platform/common/src/utils/createHttpServer.ts +++ b/packages/platform/common/src/utils/createHttpServer.ts @@ -1,5 +1,6 @@ import {InjectorService} from "@tsed/di"; import Http from "http"; + import {createServer} from "./createServer.js"; export function createHttpServer(injector: InjectorService, requestListener: Http.RequestListener) { diff --git a/packages/platform/common/src/utils/createHttpsServer.spec.ts b/packages/platform/common/src/utils/createHttpsServer.spec.ts index 3d7e98194ff..be4458710b4 100644 --- a/packages/platform/common/src/utils/createHttpsServer.spec.ts +++ b/packages/platform/common/src/utils/createHttpsServer.spec.ts @@ -1,5 +1,6 @@ import {InjectorService} from "@tsed/di"; import Https from "https"; + import {createHttpsServer} from "./createHttpsServer.js"; describe("createHttpsServer", () => { @@ -17,22 +18,22 @@ describe("createHttpsServer", () => { expect(!!injector.get(Https.Server)).toEqual(true); expect(listener).toBeInstanceOf(Function); - const server = injector.get(Https.Server); + const server = injector.get(Https.Server)!; vi.spyOn(injector.logger, "info").mockReturnValue(undefined); vi.spyOn(injector.logger, "debug").mockReturnValue(undefined); - vi.spyOn(server, "listen").mockReturnValue(undefined); - vi.spyOn(server, "address").mockReturnValue({port: 8089, address: "0.0.0.0"}); - vi.spyOn(server, "on").mockImplementation((event: string, cb: any) => { + vi.spyOn(server, "listen").mockReturnValue(undefined as never); + vi.spyOn(server, "address").mockReturnValue({port: 8089, address: "0.0.0.0"} as never); + vi.spyOn(server, "on").mockImplementation(((event: string, cb: any) => { if (event === "listening") { cb(); } - }); + }) as never); await listener(); - expect(server.listen).toBeCalledWith(true, "0.0.0.0"); - expect(injector.logger.info).toBeCalledWith("Listen server on https://0.0.0.0:8089"); + expect(server.listen).toHaveBeenCalledWith(true, "0.0.0.0"); + expect(injector.logger.info).toHaveBeenCalledWith("Listen server on https://0.0.0.0:8089"); }); it("should create a raw object (Https port false)", () => { diff --git a/packages/platform/common/src/utils/createHttpsServer.ts b/packages/platform/common/src/utils/createHttpsServer.ts index 73f5c7d193e..93c1ebbe7c4 100644 --- a/packages/platform/common/src/utils/createHttpsServer.ts +++ b/packages/platform/common/src/utils/createHttpsServer.ts @@ -1,6 +1,7 @@ import {InjectorService} from "@tsed/di"; import Http from "http"; import Https from "https"; + import {createServer} from "./createServer.js"; export function createHttpsServer(injector: InjectorService, requestListener?: Http.RequestListener) { diff --git a/packages/platform/common/src/utils/createInjector.spec.ts b/packages/platform/common/src/utils/createInjector.spec.ts index f0b4acde2c3..ff95b520edf 100644 --- a/packages/platform/common/src/utils/createInjector.spec.ts +++ b/packages/platform/common/src/utils/createInjector.spec.ts @@ -1,5 +1,6 @@ import {Env} from "@tsed/core"; import {$log} from "@tsed/logger"; + import {PlatformConfiguration} from "../config/services/PlatformConfiguration.js"; import {FakeAdapter} from "../services/FakeAdapter.js"; import {PlatformAdapter} from "../services/PlatformAdapter.js"; @@ -34,6 +35,6 @@ describe("createInjector", () => { const injector = createInjector({settings, adapter: FakeAdapter}); - expect(injector.logger.stop).not.toBeCalled(); + expect(injector.logger.stop).not.toHaveBeenCalled(); }); }); diff --git a/packages/platform/common/src/utils/createInjector.ts b/packages/platform/common/src/utils/createInjector.ts index 1e0de563a6f..6ad851187c4 100644 --- a/packages/platform/common/src/utils/createInjector.ts +++ b/packages/platform/common/src/utils/createInjector.ts @@ -1,6 +1,7 @@ import {toMap, Type} from "@tsed/core"; import {InjectorService, ProviderOpts, setLoggerConfiguration} from "@tsed/di"; import {$log} from "@tsed/logger"; + import {PlatformConfiguration} from "../config/services/PlatformConfiguration.js"; import {Platform} from "../services/Platform.js"; import {PlatformAdapter} from "../services/PlatformAdapter.js"; diff --git a/packages/platform/common/src/utils/createServer.ts b/packages/platform/common/src/utils/createServer.ts index ac5ad946808..6495b3272ad 100644 --- a/packages/platform/common/src/utils/createServer.ts +++ b/packages/platform/common/src/utils/createServer.ts @@ -3,6 +3,7 @@ import {InjectorService, ProviderScope, TokenProvider} from "@tsed/di"; import Http from "http"; import Http2 from "http2"; import Https from "https"; + import {listenServer} from "./listenServer.js"; export interface CreateServerOptions { diff --git a/packages/platform/common/src/utils/ensureContext.ts b/packages/platform/common/src/utils/ensureContext.ts index 0cb003af993..9f20053c600 100644 --- a/packages/platform/common/src/utils/ensureContext.ts +++ b/packages/platform/common/src/utils/ensureContext.ts @@ -1,4 +1,5 @@ import {getContext} from "@tsed/di"; + import {PlatformContext} from "../domain/PlatformContext.js"; export function ensureContext(request: any, cb: ($ctx: PlatformContext) => any, fallback?: () => void) { diff --git a/packages/platform/common/src/utils/getConfiguration.spec.ts b/packages/platform/common/src/utils/getConfiguration.spec.ts index 44eae11c0a8..d8d7880a6a5 100644 --- a/packages/platform/common/src/utils/getConfiguration.spec.ts +++ b/packages/platform/common/src/utils/getConfiguration.spec.ts @@ -1,6 +1,7 @@ +import {Env} from "@tsed/core"; import {Configuration} from "@tsed/di"; + import {getConfiguration} from "./getConfiguration.js"; -import {Env} from "@tsed/core"; class MyCtrl {} diff --git a/packages/platform/common/src/utils/getStaticsOptions.ts b/packages/platform/common/src/utils/getStaticsOptions.ts index b5a12f37e4d..640ea6e8b5e 100644 --- a/packages/platform/common/src/utils/getStaticsOptions.ts +++ b/packages/platform/common/src/utils/getStaticsOptions.ts @@ -1,4 +1,5 @@ import {getValue} from "@tsed/core"; + import {PlatformStaticsOptions, PlatformStaticsSettings} from "../config/interfaces/PlatformStaticsSettings.js"; function mapOptions(options: any): any { diff --git a/packages/platform/common/src/utils/printRoutes.ts b/packages/platform/common/src/utils/printRoutes.ts index 9bb5100457d..83e6b026d67 100644 --- a/packages/platform/common/src/utils/printRoutes.ts +++ b/packages/platform/common/src/utils/printRoutes.ts @@ -1,4 +1,5 @@ import {$log, colorize} from "@tsed/logger"; + import {PlatformRouteDetails} from "../domain/PlatformRouteDetails.js"; export function printRoutes(routes: PlatformRouteDetails[]) { diff --git a/packages/platform/common/src/utils/registerPlatformAdapter.ts b/packages/platform/common/src/utils/registerPlatformAdapter.ts index 7dbbfc84950..ef394741807 100644 --- a/packages/platform/common/src/utils/registerPlatformAdapter.ts +++ b/packages/platform/common/src/utils/registerPlatformAdapter.ts @@ -1,4 +1,5 @@ import {Type} from "@tsed/core"; + import {PlatformBuilder} from "../builder/PlatformBuilder.js"; import {PlatformAdapter} from "../services/PlatformAdapter.js"; import {PlatformTest} from "../services/PlatformTest.js"; diff --git a/packages/platform/common/src/utils/setResponseHeaders.spec.ts b/packages/platform/common/src/utils/setResponseHeaders.spec.ts index c7d1188cbcd..ddcbb5c5cbe 100644 --- a/packages/platform/common/src/utils/setResponseHeaders.spec.ts +++ b/packages/platform/common/src/utils/setResponseHeaders.spec.ts @@ -1,4 +1,5 @@ import {EndpointMetadata, Get, Redirect, Returns} from "@tsed/schema"; + import {PlatformTest} from "../services/PlatformTest.js"; import {setResponseHeaders} from "./setResponseHeaders.js"; @@ -9,7 +10,7 @@ describe("setResponseHeaders", () => { it("should set headers, status and contentType", async () => { class Test { @Get("/") - @Returns(200).Header("x-header", "test") + @(Returns(200).Header("x-header", "test")) test() {} } @@ -26,7 +27,7 @@ describe("setResponseHeaders", () => { it("should not set headers automatically if the value isn't declared", async () => { class Test { @Get("/") - @Returns(200).Header("x-header") + @(Returns(200).Header("x-header")) test() {} } @@ -57,13 +58,13 @@ describe("setResponseHeaders", () => { await setResponseHeaders(ctx); // THEN - expect(ctx.response.redirect).toBeCalledWith(301, "/path"); + expect(ctx.response.redirect).toHaveBeenCalledWith(301, "/path"); }); it("should do nothing when headers is already sent", async () => { class Test { @Get("/") - @Returns(200).Header("x-header", "test") + @(Returns(200).Header("x-header", "test")) test() {} } @@ -78,6 +79,6 @@ describe("setResponseHeaders", () => { await setResponseHeaders(ctx); // THEN - return expect(ctx.response.raw.set).not.toBeCalled(); + return expect(ctx.response.raw.set).not.toHaveBeenCalled(); }); }); diff --git a/packages/platform/common/test/integration/groups.spec.ts b/packages/platform/common/test/integration/groups.spec.ts index 973ffc90f43..7f3c09c3d7e 100644 --- a/packages/platform/common/test/integration/groups.spec.ts +++ b/packages/platform/common/test/integration/groups.spec.ts @@ -1,16 +1,18 @@ import "@tsed/ajv"; -import {BodyParams, Configuration, Controller, Get, PlatformTest} from "@tsed/common"; + import {JsonMapperSettings} from "@tsed/json-mapper"; import {PlatformExpress} from "@tsed/platform-express"; import {PlatformTestSdk} from "@tsed/platform-test-sdk"; -import {getSpec, Groups, Post, Property, Required, Returns, SpecTypes} from "@tsed/schema"; +import {Get, getSpec, Groups, Post, Property, Required, Returns, SpecTypes} from "@tsed/schema"; import bodyParser from "body-parser"; import compress from "compression"; import cookieParser from "cookie-parser"; import methodOverride from "method-override"; import SuperTest from "supertest"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +import {BodyParams, Configuration, Controller, PlatformTest} from "../../src/index.js"; + +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build class MyModel { @Groups("!creation") @@ -47,7 +49,7 @@ class GroupsIntegrationController { } @Get("/scenario-2") - @Returns(200, MyModel).Groups("summary") + @(Returns(200, MyModel).Groups("summary")) scenario2() { return new MyModel({ id: "id", @@ -58,7 +60,7 @@ class GroupsIntegrationController { } @Get("/scenario-3") - @Returns(200, MyModel).Groups("creation") + @(Returns(200, MyModel).Groups("creation")) scenario3() { return new MyModel({ id: "id", diff --git a/packages/platform/common/test/integration/platform.spec.ts b/packages/platform/common/test/integration/platform.spec.ts index 8ec5c5a9dd7..0b98f14a5b1 100644 --- a/packages/platform/common/test/integration/platform.spec.ts +++ b/packages/platform/common/test/integration/platform.spec.ts @@ -1,14 +1,17 @@ import "@tsed/ajv"; -import {Configuration, Controller, Get, PlatformTest} from "@tsed/common"; + import {PlatformExpress} from "@tsed/platform-express"; import {PlatformTestSdk} from "@tsed/platform-test-sdk"; +import {Get} from "@tsed/schema"; import bodyParser from "body-parser"; import compress from "compression"; import cookieParser from "cookie-parser"; import methodOverride from "method-override"; import SuperTest from "supertest"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +import {Configuration, Controller, PlatformTest} from "../../src/index.js"; + +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build @Controller("/hello") class TestHelloWorld { diff --git a/packages/platform/common/test/integration/returns.spec.integration.spec.ts b/packages/platform/common/test/integration/returns.spec.integration.spec.ts index f7d23f54169..c133e09f5d6 100644 --- a/packages/platform/common/test/integration/returns.spec.integration.spec.ts +++ b/packages/platform/common/test/integration/returns.spec.integration.spec.ts @@ -1,12 +1,11 @@ -import {getSpec, Returns, SpecTypes} from "@tsed/schema"; -import {Get} from "../../src/index.js"; +import {Get, getSpec, Returns, SpecTypes} from "@tsed/schema"; describe("@Returns", () => { it("should declare a return type (text/plain)", () => { // WHEN class Controller { @Get("/") - @Returns(200, String).ContentType("text/plain") + @(Returns(200, String).ContentType("text/plain")) method() {} } diff --git a/packages/platform/common/test/integration/route.spec.ts b/packages/platform/common/test/integration/route.spec.ts index f16eda5e455..2b057259519 100644 --- a/packages/platform/common/test/integration/route.spec.ts +++ b/packages/platform/common/test/integration/route.spec.ts @@ -1,8 +1,4 @@ -import {All, Delete, EndpointMetadata, Get, Head, Options, Patch, Post, Put} from "@tsed/common"; -import {OperationMethods} from "@tsed/schema"; - -const middleware: any = vi.fn(); -const useStub: any = vi.fn().mockReturnValue(middleware); +import {All, Delete, EndpointMetadata, Get, Head, OperationVerbs, Options, Patch, Post, Put} from "@tsed/schema"; describe("Route decorators", () => { describe("All", () => { @@ -18,7 +14,7 @@ describe("Route decorators", () => { // THEN expect([...endpoint.operationPaths.values()]).toEqual([ { - method: OperationMethods.ALL, + method: OperationVerbs.ALL, path: "/" } ]); @@ -39,7 +35,7 @@ describe("Route decorators", () => { // THEN expect([...endpoint.operationPaths.values()]).toEqual([ { - method: OperationMethods.GET, + method: OperationVerbs.GET, path: "/" } ]); @@ -59,7 +55,7 @@ describe("Route decorators", () => { // THEN expect([...endpoint.operationPaths.values()]).toEqual([ { - method: OperationMethods.GET, + method: OperationVerbs.GET, path: "/" } ]); @@ -81,7 +77,7 @@ describe("Route decorators", () => { // THEN expect([...endpoint.operationPaths.values()]).toEqual([ { - method: OperationMethods.POST, + method: OperationVerbs.POST, path: "/" } ]); @@ -102,7 +98,7 @@ describe("Route decorators", () => { // THEN expect([...endpoint.operationPaths.values()]).toEqual([ { - method: OperationMethods.PUT, + method: OperationVerbs.PUT, path: "/" } ]); @@ -123,7 +119,7 @@ describe("Route decorators", () => { // THEN expect([...endpoint.operationPaths.values()]).toEqual([ { - method: OperationMethods.DELETE, + method: OperationVerbs.DELETE, path: "/" } ]); @@ -144,7 +140,7 @@ describe("Route decorators", () => { // THEN expect([...endpoint.operationPaths.values()]).toEqual([ { - method: OperationMethods.HEAD, + method: OperationVerbs.HEAD, path: "/" } ]); @@ -165,7 +161,7 @@ describe("Route decorators", () => { // THEN expect([...endpoint.operationPaths.values()]).toEqual([ { - method: OperationMethods.PATCH, + method: OperationVerbs.PATCH, path: "/" } ]); @@ -186,7 +182,7 @@ describe("Route decorators", () => { // THEN expect([...endpoint.operationPaths.values()]).toEqual([ { - method: OperationMethods.OPTIONS, + method: OperationVerbs.OPTIONS, path: "/" } ]); diff --git a/packages/platform/common/tsconfig.cjs.json b/packages/platform/common/tsconfig.cjs.json deleted file mode 100644 index ab4caf25857..00000000000 --- a/packages/platform/common/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/platform/common/tsconfig.esm.json b/packages/platform/common/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/platform/common/tsconfig.esm.json +++ b/packages/platform/common/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/platform/common/tsconfig.json b/packages/platform/common/tsconfig.json index c4932be80ee..4290a72f9c1 100644 --- a/packages/platform/common/tsconfig.json +++ b/packages/platform/common/tsconfig.json @@ -48,9 +48,6 @@ { "path": "../../specs/schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/platform/common/tsconfig.spec.json b/packages/platform/common/tsconfig.spec.json index 5b0a6167ef0..fab48ebe865 100644 --- a/packages/platform/common/tsconfig.spec.json +++ b/packages/platform/common/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../platform-exceptions/src"], - "@tsed/platform-middlewares": ["../platform-middlewares/src"], - "@tsed/platform-params": ["../platform-params/src"], - "@tsed/platform-log-middleware": ["../platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../platform-response-filter/src"], - "@tsed/platform-router": ["../platform-router/src"], - "@tsed/platform-views": ["../platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../platform-test-sdk/src"], - "@tsed/platform-express": ["../platform-express/src"], - "@tsed/platform-koa": ["../platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../platform-router/src/index.ts"], + "@tsed/platform-views": ["../platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../platform-express/src/index.ts"], + "@tsed/platform-koa": ["../platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/platform/common/vitest.config.mts b/packages/platform/common/vitest.config.mts index d759e817941..7e08e1cf9f0 100644 --- a/packages/platform/common/vitest.config.mts +++ b/packages/platform/common/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 97.17, + branches: 95.13, + functions: 94.89, + lines: 97.17 } } } } -); +); \ No newline at end of file diff --git a/packages/platform/platform-cache/package.json b/packages/platform/platform-cache/package.json index 3e2fa042a49..7222d519fc7 100644 --- a/packages/platform/platform-cache/package.json +++ b/packages/platform/platform-cache/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/platform-cache", "description": "Platform cache module for Ts.ED Framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -23,9 +22,9 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "cache-manager": "^5.4.0", + "cache-manager": "^5.7.6", "micromatch": "4.0.8", - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -34,16 +33,16 @@ "@tsed/json-mapper": "workspace:*", "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", - "@types/micromatch": "^4.0.6", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "@types/micromatch": "^4.0.9", + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/json-mapper": "7.83.3", - "@tsed/schema": "7.83.3" + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/json-mapper": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10" }, "peerDependenciesMeta": { "@tsed/core": { diff --git a/packages/platform/platform-cache/src/decorators/useCache.ts b/packages/platform/platform-cache/src/decorators/useCache.ts index d44d3e3f45b..e9e192dc6f8 100644 --- a/packages/platform/platform-cache/src/decorators/useCache.ts +++ b/packages/platform/platform-cache/src/decorators/useCache.ts @@ -1,4 +1,5 @@ import {Intercept} from "@tsed/di"; + import {PlatformCacheInterceptor} from "../interceptors/PlatformCacheInterceptor.js"; import {PlatformCacheOptions} from "../interfaces/PlatformCacheOptions.js"; diff --git a/packages/platform/platform-cache/src/index.ts b/packages/platform/platform-cache/src/index.ts index 6a0a760e751..49f6d8e2c2c 100644 --- a/packages/platform/platform-cache/src/index.ts +++ b/packages/platform/platform-cache/src/index.ts @@ -7,6 +7,5 @@ export * from "./interfaces/interfaces.js"; export * from "./interfaces/PlatformCachedObject.js"; export * from "./interfaces/PlatformCacheOptions.js"; export * from "./services/PlatformCache.js"; -export * from "./utils/getInterceptorOptions.js"; export * from "./utils/getPrefix.js"; export * from "./utils/isEndpoint.js"; diff --git a/packages/platform/platform-cache/src/interceptors/PlatformCacheInterceptor.spec.ts b/packages/platform/platform-cache/src/interceptors/PlatformCacheInterceptor.spec.ts index a7c57638439..001e772fa6e 100644 --- a/packages/platform/platform-cache/src/interceptors/PlatformCacheInterceptor.spec.ts +++ b/packages/platform/platform-cache/src/interceptors/PlatformCacheInterceptor.spec.ts @@ -1,6 +1,7 @@ import {PlatformTest} from "@tsed/common"; import {isClass} from "@tsed/core"; import {serialize} from "@tsed/json-mapper"; + import {UseCache} from "../decorators/useCache.js"; import {PlatformCache} from "../services/PlatformCache.js"; import {isEndpoint} from "../utils/isEndpoint.js"; @@ -275,7 +276,7 @@ describe("PlatformCacheInterceptor", () => { expect(result).toEqual({ data: "refreshed" }); - expect(interceptor.canRefreshInBackground).not.toBeCalled(); + expect(interceptor.canRefreshInBackground).not.toHaveBeenCalled(); expect(cache.setCachedObject).toHaveBeenCalledWith( "Test:test:value", {data: "refreshed"}, diff --git a/packages/platform/platform-cache/src/interceptors/PlatformCacheInterceptor.ts b/packages/platform/platform-cache/src/interceptors/PlatformCacheInterceptor.ts index 7d81ebc8895..b3d50fcce07 100644 --- a/packages/platform/platform-cache/src/interceptors/PlatformCacheInterceptor.ts +++ b/packages/platform/platform-cache/src/interceptors/PlatformCacheInterceptor.ts @@ -3,6 +3,7 @@ import {BaseContext, Constant, DIContext, Inject, Interceptor, InterceptorContex import {deserialize, serialize} from "@tsed/json-mapper"; import {Logger} from "@tsed/logger"; import {IncomingMessage, ServerResponse} from "http"; + import {PlatformCachedObject} from "../interfaces/PlatformCachedObject.js"; import {PlatformCacheOptions} from "../interfaces/PlatformCacheOptions.js"; import {PlatformCache} from "../services/PlatformCache.js"; diff --git a/packages/platform/platform-cache/src/interfaces/PlatformCacheOptions.ts b/packages/platform/platform-cache/src/interfaces/PlatformCacheOptions.ts index e5f560ea4aa..94a6cc53f91 100644 --- a/packages/platform/platform-cache/src/interfaces/PlatformCacheOptions.ts +++ b/packages/platform/platform-cache/src/interfaces/PlatformCacheOptions.ts @@ -1,5 +1,6 @@ import {MetadataTypes} from "@tsed/core"; import {BaseContext} from "@tsed/di"; + import type {Ttl} from "../services/PlatformCache.js"; export interface PlatformCacheOptions extends MetadataTypes { diff --git a/packages/platform/platform-cache/src/interfaces/interfaces.ts b/packages/platform/platform-cache/src/interfaces/interfaces.ts index 80e12872d13..31b74ed9a37 100644 --- a/packages/platform/platform-cache/src/interfaces/interfaces.ts +++ b/packages/platform/platform-cache/src/interfaces/interfaces.ts @@ -1,18 +1,12 @@ import type {BaseContext} from "@tsed/di"; import type {Cache, CachingConfig, Store} from "cache-manager"; -import {FactoryStore} from "cache-manager/dist/caching"; -import type {CacheManager} from "../services/PlatformCache.js"; +import type {FactoryStore} from "cache-manager/dist/caching.js"; -/** - * @deprecated Since 2022-11. Use FactoryStore instead. - */ -export type PlatformCacheLegacyStoreFactory = { - create(...args: any[]): Promise | Store | any; -}; +import type {CacheManager} from "../services/PlatformCache.js"; export type PlatformCacheSettings = any, S extends Store = any> = CachingConfig & { caches?: Cache[]; - store?: "memory" | Store | PlatformCacheLegacyStoreFactory | FactoryStore; + store?: "memory" | Store | FactoryStore; max?: number; keyResolver?: (args: any[], ctx: BaseContext) => string; prefix?: string; @@ -28,7 +22,6 @@ export type PlatformCacheSettings = any, S ex }; declare global { - // eslint-disable-next-line @typescript-eslint/no-namespace namespace TsED { interface Configuration { cache?: PlatformCacheSettings | false; diff --git a/packages/platform/platform-cache/src/services/PlatformCache.spec.ts b/packages/platform/platform-cache/src/services/PlatformCache.spec.ts index 1b0174e3988..e9b0c7d997b 100644 --- a/packages/platform/platform-cache/src/services/PlatformCache.spec.ts +++ b/packages/platform/platform-cache/src/services/PlatformCache.spec.ts @@ -1,5 +1,6 @@ import {PlatformTest} from "@tsed/common"; import {caching as cacheManager, multiCaching} from "cache-manager"; + import {UseCache} from "../decorators/useCache.js"; import {getPrefix} from "../utils/getPrefix.js"; import {PlatformCache} from "./PlatformCache.js"; diff --git a/packages/platform/platform-cache/src/services/PlatformCache.ts b/packages/platform/platform-cache/src/services/PlatformCache.ts index e784be88987..7ce62faafd6 100644 --- a/packages/platform/platform-cache/src/services/PlatformCache.ts +++ b/packages/platform/platform-cache/src/services/PlatformCache.ts @@ -4,6 +4,7 @@ import {deserialize, JsonDeserializerOptions, serialize} from "@tsed/json-mapper import {Logger} from "@tsed/logger"; import {AsyncLocalStorage} from "async_hooks"; import type {Cache, CachingConfig, MultiCache} from "cache-manager"; + import {PlatformCacheSettings} from "../interfaces/interfaces.js"; import {PlatformCachedObject} from "../interfaces/PlatformCachedObject.js"; import {getPrefix} from "../utils/getPrefix.js"; @@ -182,7 +183,7 @@ export class PlatformCache { protected async createCacheManager(settings: PlatformCacheSettings) { const {caches, store = "memory", ttl, ...props} = settings; - // eslint-disable-next-line @typescript-eslint/no-unused-vars + const {multiCaching, caching} = await import("cache-manager"); return caches?.length diff --git a/packages/platform/platform-cache/src/utils/getInterceptorOptions.ts b/packages/platform/platform-cache/src/utils/getInterceptorOptions.ts deleted file mode 100644 index 8918dfe670b..00000000000 --- a/packages/platform/platform-cache/src/utils/getInterceptorOptions.ts +++ /dev/null @@ -1,7 +0,0 @@ -import {Store, Type} from "@tsed/core"; -import {INJECTABLE_PROP} from "@tsed/di"; -import {PlatformCacheOptions} from "../interfaces/PlatformCacheOptions.js"; - -export function getInterceptorOptions(target: Type, propertyKey: string | symbol): PlatformCacheOptions { - return Store.from(target).get(INJECTABLE_PROP)?.[propertyKey]?.options; -} diff --git a/packages/platform/platform-cache/src/utils/getPrefix.ts b/packages/platform/platform-cache/src/utils/getPrefix.ts index df49f9d8a9c..189f1ff53b2 100644 --- a/packages/platform/platform-cache/src/utils/getPrefix.ts +++ b/packages/platform/platform-cache/src/utils/getPrefix.ts @@ -1,8 +1,10 @@ import {nameOf, Type} from "@tsed/core"; -import {getInterceptorOptions} from "./getInterceptorOptions.js"; +import {getInterceptorOptions} from "@tsed/di"; + +import type {PlatformCacheOptions} from "../interfaces/PlatformCacheOptions.js"; export function getPrefix(target: Type, propertyKey: string | symbol) { - const {prefix} = getInterceptorOptions(target, propertyKey); + const {prefix} = getInterceptorOptions(target, propertyKey); if (prefix) { return [prefix]; } diff --git a/packages/platform/platform-cache/test/cache.integration.spec.ts b/packages/platform/platform-cache/test/cache.integration.spec.ts index 21a73d118c7..561a71618c0 100644 --- a/packages/platform/platform-cache/test/cache.integration.spec.ts +++ b/packages/platform/platform-cache/test/cache.integration.spec.ts @@ -1,6 +1,8 @@ -import {Controller, Get, Head, Inject, PathParams, PlatformTest, Post, QueryParams} from "@tsed/common"; -import {Property} from "@tsed/schema"; +import {PathParams, PlatformTest, QueryParams} from "@tsed/common"; +import {Controller, Inject} from "@tsed/di"; +import {Get, Head, Post, Property} from "@tsed/schema"; import SuperTest from "supertest"; + import {Server} from "../../platform-express/test/app/Server.js"; import {PlatformCache, UseCache} from "../src/index.js"; diff --git a/packages/platform/platform-cache/tsconfig.cjs.json b/packages/platform/platform-cache/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/platform/platform-cache/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/platform/platform-cache/tsconfig.esm.json b/packages/platform/platform-cache/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/platform/platform-cache/tsconfig.esm.json +++ b/packages/platform/platform-cache/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/platform/platform-cache/tsconfig.json b/packages/platform/platform-cache/tsconfig.json index 0e0b63ab8f9..b628b0fba04 100644 --- a/packages/platform/platform-cache/tsconfig.json +++ b/packages/platform/platform-cache/tsconfig.json @@ -18,9 +18,6 @@ { "path": "../../specs/schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/platform/platform-cache/tsconfig.spec.json b/packages/platform/platform-cache/tsconfig.spec.json index a317d7f0cf2..6f266ff6174 100644 --- a/packages/platform/platform-cache/tsconfig.spec.json +++ b/packages/platform/platform-cache/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../platform-exceptions/src"], - "@tsed/platform-middlewares": ["../platform-middlewares/src"], - "@tsed/platform-params": ["../platform-params/src"], - "@tsed/platform-log-middleware": ["../platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../platform-response-filter/src"], - "@tsed/platform-router": ["../platform-router/src"], - "@tsed/platform-views": ["../platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../platform-test-sdk/src"], - "@tsed/platform-express": ["../platform-express/src"], - "@tsed/platform-koa": ["../platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../platform-router/src/index.ts"], + "@tsed/platform-views": ["../platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../platform-express/src/index.ts"], + "@tsed/platform-koa": ["../platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/platform/platform-cache/vitest.config.mts b/packages/platform/platform-cache/vitest.config.mts index d759e817941..6af89183c8a 100644 --- a/packages/platform/platform-cache/vitest.config.mts +++ b/packages/platform/platform-cache/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 100, + branches: 98.27, + functions: 100, + lines: 100 } } } } -); +); \ No newline at end of file diff --git a/packages/platform/platform-exceptions/package.json b/packages/platform/platform-exceptions/package.json index 409a8b456ee..bb3ba83e3e3 100644 --- a/packages/platform/platform-exceptions/package.json +++ b/packages/platform/platform-exceptions/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/platform-exceptions", "description": "Platform exceptions module for Ts.ED Framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -23,7 +22,7 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -32,15 +31,16 @@ "@tsed/exceptions": "workspace:*", "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "ajv": "^8.17.1", + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/exceptions": "7.83.3", - "@tsed/schema": "7.83.3" + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/exceptions": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10" }, "peerDependenciesMeta": { "@tsed/core": { diff --git a/packages/platform/platform-exceptions/src/components/ErrorFilter.ts b/packages/platform/platform-exceptions/src/components/ErrorFilter.ts index d9ef87881e1..085a3f7f97e 100644 --- a/packages/platform/platform-exceptions/src/components/ErrorFilter.ts +++ b/packages/platform/platform-exceptions/src/components/ErrorFilter.ts @@ -1,5 +1,6 @@ import {Env} from "@tsed/core"; import {BaseContext} from "@tsed/di"; + import {Catch} from "../decorators/catch.js"; import type {ExceptionFilterMethods} from "../interfaces/ExceptionFilterMethods.js"; diff --git a/packages/platform/platform-exceptions/src/components/ExceptionFilter.ts b/packages/platform/platform-exceptions/src/components/ExceptionFilter.ts index 55c2bcb80d9..09d7dba8800 100644 --- a/packages/platform/platform-exceptions/src/components/ExceptionFilter.ts +++ b/packages/platform/platform-exceptions/src/components/ExceptionFilter.ts @@ -1,5 +1,6 @@ import {BaseContext} from "@tsed/di"; import {Exception} from "@tsed/exceptions"; + import {Catch} from "../decorators/catch.js"; import {ErrorFilter} from "./ErrorFilter.js"; diff --git a/packages/platform/platform-exceptions/src/components/MongooseErrorFilter.ts b/packages/platform/platform-exceptions/src/components/MongooseErrorFilter.ts index f8df23a13b1..e170cb9777c 100644 --- a/packages/platform/platform-exceptions/src/components/MongooseErrorFilter.ts +++ b/packages/platform/platform-exceptions/src/components/MongooseErrorFilter.ts @@ -1,5 +1,6 @@ import {BaseContext} from "@tsed/di"; import {BadRequest} from "@tsed/exceptions"; + import {Catch} from "../decorators/catch.js"; import {ErrorFilter} from "./ErrorFilter.js"; diff --git a/packages/platform/platform-exceptions/src/components/StringErrorFilter.spec.ts b/packages/platform/platform-exceptions/src/components/StringErrorFilter.spec.ts index e7ed6be6350..e88319bb46a 100644 --- a/packages/platform/platform-exceptions/src/components/StringErrorFilter.spec.ts +++ b/packages/platform/platform-exceptions/src/components/StringErrorFilter.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {StringErrorFilter} from "./StringErrorFilter.js"; describe("StringErrorFilter", () => { diff --git a/packages/platform/platform-exceptions/src/components/StringErrorFilter.ts b/packages/platform/platform-exceptions/src/components/StringErrorFilter.ts index 15f9de3628e..bf202616966 100644 --- a/packages/platform/platform-exceptions/src/components/StringErrorFilter.ts +++ b/packages/platform/platform-exceptions/src/components/StringErrorFilter.ts @@ -1,4 +1,5 @@ import {BaseContext} from "@tsed/di"; + import {Catch} from "../decorators/catch.js"; import type {ExceptionFilterMethods} from "../interfaces/ExceptionFilterMethods.js"; diff --git a/packages/platform/platform-exceptions/src/decorators/catch.ts b/packages/platform/platform-exceptions/src/decorators/catch.ts index 3e899cbc64b..b31ef8443ea 100644 --- a/packages/platform/platform-exceptions/src/decorators/catch.ts +++ b/packages/platform/platform-exceptions/src/decorators/catch.ts @@ -1,5 +1,6 @@ import {Type} from "@tsed/core"; import {registerProvider} from "@tsed/di"; + import {registerExceptionType} from "../domain/ExceptionFiltersContainer.js"; /** diff --git a/packages/platform/platform-exceptions/src/domain/ExceptionFiltersContainer.ts b/packages/platform/platform-exceptions/src/domain/ExceptionFiltersContainer.ts index 511e8041999..e8a5ca1bb9d 100644 --- a/packages/platform/platform-exceptions/src/domain/ExceptionFiltersContainer.ts +++ b/packages/platform/platform-exceptions/src/domain/ExceptionFiltersContainer.ts @@ -1,4 +1,5 @@ import {Type} from "@tsed/core"; + import type {ExceptionFilterMethods} from "../interfaces/ExceptionFilterMethods.js"; /** * @ignore diff --git a/packages/platform/platform-exceptions/src/domain/ExceptionSchema.spec.ts b/packages/platform/platform-exceptions/src/domain/ExceptionSchema.spec.ts index 56237734748..ee7db66feab 100644 --- a/packages/platform/platform-exceptions/src/domain/ExceptionSchema.spec.ts +++ b/packages/platform/platform-exceptions/src/domain/ExceptionSchema.spec.ts @@ -1,11 +1,12 @@ +import "./ExceptionSchema"; + import SwaggerParser from "@apidevtools/swagger-parser"; import {BadRequest, Exception} from "@tsed/exceptions"; import {getJsonSchema, getSpec, OperationPath, Path, Returns, SpecTypes} from "@tsed/schema"; -import Ajv from "ajv"; +import {Ajv} from "ajv"; import fs from "fs-extra"; -import "./ExceptionSchema"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build function getAjv() { return new Ajv({ @@ -122,7 +123,7 @@ describe("ExceptionSchema", () => { @Path("/") class MyController { @OperationPath("GET", "/") - @Returns(400, BadRequest).Description("BadRequest") + @(Returns(400, BadRequest).Description("BadRequest")) get() {} } diff --git a/packages/platform/platform-exceptions/src/services/PlatformExceptions.spec.ts b/packages/platform/platform-exceptions/src/services/PlatformExceptions.spec.ts index 63d1e918461..03cd081973f 100644 --- a/packages/platform/platform-exceptions/src/services/PlatformExceptions.spec.ts +++ b/packages/platform/platform-exceptions/src/services/PlatformExceptions.spec.ts @@ -1,6 +1,7 @@ import {PlatformTest, ValidationError} from "@tsed/common"; import {Env} from "@tsed/core"; import {BadRequest} from "@tsed/exceptions"; + import {PlatformExceptions} from "./PlatformExceptions.js"; describe("PlatformExceptions", () => { @@ -24,7 +25,7 @@ describe("PlatformExceptions", () => { platformExceptions.catch(error, ctx); - expect(ctx.response.body).toBeCalledWith("MyError"); + expect(ctx.response.body).toHaveBeenCalledWith("MyError"); }); it("should map exception", () => { const middleware = PlatformTest.get(PlatformExceptions); @@ -49,8 +50,8 @@ describe("PlatformExceptions", () => { middleware.catch(error, ctx); - expect(ctx.response.setHeaders).toBeCalledWith({"x-path": "id"}); - expect(ctx.response.body).toBeCalledWith({ + expect(ctx.response.setHeaders).toHaveBeenCalledWith({"x-path": "id"}); + expect(ctx.response.body).toHaveBeenCalledWith({ errors: [ { error: "format", @@ -78,8 +79,8 @@ describe("PlatformExceptions", () => { middleware.catch(error, ctx); - expect(ctx.response.setHeaders).toBeCalledWith({}); - expect(ctx.response.body).toBeCalledWith({ + expect(ctx.response.setHeaders).toHaveBeenCalledWith({}); + expect(ctx.response.body).toHaveBeenCalledWith({ errors: [], message: "My message", name: "Error", @@ -102,8 +103,8 @@ describe("PlatformExceptions", () => { middleware.catch(error, ctx); - expect(ctx.response.setHeaders).toBeCalledWith({}); - expect(ctx.response.body).toBeCalledWith({ + expect(ctx.response.setHeaders).toHaveBeenCalledWith({}); + expect(ctx.response.body).toHaveBeenCalledWith({ errors: [], message: "My message, innerException: My message", name: "Error", @@ -128,7 +129,7 @@ describe("PlatformExceptions", () => { platformExceptions.catch(error, ctx); - expect(ctx.response.body).toBeCalledWith({ + expect(ctx.response.body).toHaveBeenCalledWith({ errors: [], message: "request entity too large", name: "PayloadTooLargeError", @@ -158,8 +159,8 @@ describe("PlatformExceptions", () => { middleware.catch(error, ctx); - expect(ctx.response.setHeaders).toBeCalledWith({}); - expect(ctx.response.body).toBeCalledWith("InternalServerError"); + expect(ctx.response.setHeaders).toHaveBeenCalledWith({}); + expect(ctx.response.body).toHaveBeenCalledWith("InternalServerError"); }); }); describe("resourceNotFound()", () => { @@ -182,8 +183,8 @@ describe("PlatformExceptions", () => { middleware.resourceNotFound(ctx); - expect(ctx.response.setHeaders).toBeCalledWith({}); - expect(ctx.response.body).toBeCalledWith({ + expect(ctx.response.setHeaders).toHaveBeenCalledWith({}); + expect(ctx.response.body).toHaveBeenCalledWith({ errors: [], message: 'Resource "url" not found', name: "NOT_FOUND", diff --git a/packages/platform/platform-exceptions/src/services/PlatformExceptions.ts b/packages/platform/platform-exceptions/src/services/PlatformExceptions.ts index bb129423263..242256ed2cf 100644 --- a/packages/platform/platform-exceptions/src/services/PlatformExceptions.ts +++ b/packages/platform/platform-exceptions/src/services/PlatformExceptions.ts @@ -1,5 +1,6 @@ import {ancestorsOf, classOf, nameOf} from "@tsed/core"; import {BaseContext, DIContext, Inject, Injectable, InjectorService} from "@tsed/di"; + import {ErrorFilter} from "../components/ErrorFilter.js"; import {ExceptionFilter} from "../components/ExceptionFilter.js"; import {MongooseErrorFilter} from "../components/MongooseErrorFilter.js"; diff --git a/packages/platform/platform-exceptions/tsconfig.cjs.json b/packages/platform/platform-exceptions/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/platform/platform-exceptions/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/platform/platform-exceptions/tsconfig.esm.json b/packages/platform/platform-exceptions/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/platform/platform-exceptions/tsconfig.esm.json +++ b/packages/platform/platform-exceptions/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/platform/platform-exceptions/tsconfig.json b/packages/platform/platform-exceptions/tsconfig.json index 1d616d69652..ec67d9b7059 100644 --- a/packages/platform/platform-exceptions/tsconfig.json +++ b/packages/platform/platform-exceptions/tsconfig.json @@ -18,9 +18,6 @@ { "path": "../../specs/schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/platform/platform-exceptions/tsconfig.spec.json b/packages/platform/platform-exceptions/tsconfig.spec.json index a78b965aabb..297f7f893cc 100644 --- a/packages/platform/platform-exceptions/tsconfig.spec.json +++ b/packages/platform/platform-exceptions/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-middlewares": ["../platform-middlewares/src"], - "@tsed/platform-params": ["../platform-params/src"], - "@tsed/platform-log-middleware": ["../platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../platform-response-filter/src"], - "@tsed/platform-router": ["../platform-router/src"], - "@tsed/platform-views": ["../platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../platform-test-sdk/src"], - "@tsed/platform-express": ["../platform-express/src"], - "@tsed/platform-koa": ["../platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-middlewares": ["../platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../platform-router/src/index.ts"], + "@tsed/platform-views": ["../platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../platform-express/src/index.ts"], + "@tsed/platform-koa": ["../platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/platform/platform-exceptions/vitest.config.mts b/packages/platform/platform-exceptions/vitest.config.mts index d759e817941..016601524b4 100644 --- a/packages/platform/platform-exceptions/vitest.config.mts +++ b/packages/platform/platform-exceptions/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 100, + branches: 97.29, + functions: 100, + lines: 100 } } } } -); +); \ No newline at end of file diff --git a/packages/platform/platform-express/package.json b/packages/platform/platform-express/package.json index 07ca13f5b6e..42d192ea59f 100644 --- a/packages/platform/platform-express/package.json +++ b/packages/platform/platform-express/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/platform-express", "description": "A TypeScript Framework on top of Express", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -59,9 +58,9 @@ "url": "git+https://github.com/tsedio/tsed.git" }, "dependencies": { - "express": "^4.19.1", + "express": "^4.21.0", "multer": "^1.4.5-lts.1", - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -77,27 +76,27 @@ "@types/express": "^4.17.21", "@types/express-session": "1.18.0", "@types/method-override": "0.0.35", - "@types/multer": "^1.4.11", - "body-parser": "1.20.2", + "@types/multer": "^1.4.12", + "body-parser": "1.20.3", "compression": "1.7.4", "cookie-parser": "1.4.6", "cors": "2.8.5", "cross-env": "7.0.3", - "eslint": "^8.57.0", + "eslint": "9.12.0", "express-session": "1.18.0", "method-override": "3.0.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/common": "7.83.3", - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/json-mapper": "7.83.3", + "@tsed/common": "8.0.0-alpha.10", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/json-mapper": "8.0.0-alpha.10", "@tsed/logger": ">=6.7.5", - "@tsed/openspec": "7.83.3", - "@tsed/platform-views": "7.83.3", - "@tsed/schema": "7.83.3", + "@tsed/openspec": "8.0.0-alpha.10", + "@tsed/platform-views": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10", "@types/multer": "^1.4.5", "body-parser": "^1.19.0", "cross-env": "7.0.3", diff --git a/packages/platform/platform-express/src/components/PlatformExpress.spec.ts b/packages/platform/platform-express/src/components/PlatformExpress.spec.ts index e8fe0ee8b32..a7cd5fb6d5a 100644 --- a/packages/platform/platform-express/src/components/PlatformExpress.spec.ts +++ b/packages/platform/platform-express/src/components/PlatformExpress.spec.ts @@ -22,7 +22,7 @@ describe("PlatformExpress", () => { beforeEach(() => { vi.resetAllMocks(); }); - it("should return the body parser (json) ", () => { + it("should return the body parser (json)", () => { const stub = vi.fn().mockReturnValue("body"); const platform = PlatformExpress.create(Server, { @@ -36,9 +36,9 @@ describe("PlatformExpress", () => { const result = platform.adapter.bodyParser("json", {strict: true}); expect(result).toEqual("body"); - expect(stub).toBeCalledWith({strict: true, verify: expect.any(Function)}); + expect(stub).toHaveBeenCalledWith({strict: true, verify: expect.any(Function)}); }); - it("should return the body parser (urlencoded) ", () => { + it("should return the body parser (urlencoded)", () => { const stub = vi.fn().mockReturnValue("body"); const platform = PlatformExpress.create(Server, { @@ -52,7 +52,7 @@ describe("PlatformExpress", () => { const result = platform.adapter.bodyParser("urlencoded", {strict: true}); expect(result).toEqual("body"); - expect(stub).toBeCalledWith({extended: true, strict: true, verify: expect.any(Function)}); + expect(stub).toHaveBeenCalledWith({extended: true, strict: true, verify: expect.any(Function)}); }); }); }); diff --git a/packages/platform/platform-express/src/components/PlatformExpress.ts b/packages/platform/platform-express/src/components/PlatformExpress.ts index a58db436ac6..40f4c101095 100644 --- a/packages/platform/platform-express/src/components/PlatformExpress.ts +++ b/packages/platform/platform-express/src/components/PlatformExpress.ts @@ -21,6 +21,7 @@ import Express from "express"; import {IncomingMessage, ServerResponse} from "http"; import type multer from "multer"; import {promisify} from "util"; + import {PlatformExpressStaticsOptions} from "../interfaces/PlatformExpressStaticsOptions.js"; import {staticsMiddleware} from "../middlewares/staticsMiddleware.js"; import {PlatformExpressHandler} from "../services/PlatformExpressHandler.js"; diff --git a/packages/platform/platform-express/src/interfaces/PlatformExpressSettings.ts b/packages/platform/platform-express/src/interfaces/PlatformExpressSettings.ts index f179f95edb5..3aea1892075 100644 --- a/packages/platform/platform-express/src/interfaces/PlatformExpressSettings.ts +++ b/packages/platform/platform-express/src/interfaces/PlatformExpressSettings.ts @@ -1,6 +1,6 @@ -import type {RouterOptions} from "express"; -import type {OptionsJson, OptionsText, Options, OptionsUrlencoded} from "body-parser"; +import type {Options, OptionsJson, OptionsText, OptionsUrlencoded} from "body-parser"; import type {NextHandleFunction} from "connect"; +import type {RouterOptions} from "express"; export interface PlatformExpressSettings { /** diff --git a/packages/platform/platform-express/src/interfaces/interfaces.ts b/packages/platform/platform-express/src/interfaces/interfaces.ts index 0cc55f49317..48fe40c793d 100644 --- a/packages/platform/platform-express/src/interfaces/interfaces.ts +++ b/packages/platform/platform-express/src/interfaces/interfaces.ts @@ -1,4 +1,5 @@ import {NextFunction as ENext, Request as EReq, Response as ERes} from "express"; + import {PlatformExpressSettings} from "./PlatformExpressSettings.js"; declare global { diff --git a/packages/platform/platform-express/src/middlewares/staticsMiddleware.spec.ts b/packages/platform/platform-express/src/middlewares/staticsMiddleware.spec.ts index 19cbc93a0f3..cdff6fe5523 100644 --- a/packages/platform/platform-express/src/middlewares/staticsMiddleware.spec.ts +++ b/packages/platform/platform-express/src/middlewares/staticsMiddleware.spec.ts @@ -1,4 +1,5 @@ import Express from "express"; + import {staticsMiddleware} from "./staticsMiddleware.js"; describe("staticsMiddleware", () => { @@ -15,7 +16,7 @@ describe("staticsMiddleware", () => { const middleware = staticsMiddleware("/path", {root: "/publics", test: "test"}); middleware(req, res, next); - expect(middlewareServeStatic).toBeCalledWith(req, res, next); + expect(middlewareServeStatic).toHaveBeenCalledWith(req, res, next); }); it("should call next when headers is sent", () => { const middlewareServeStatic = vi.fn(); @@ -29,6 +30,6 @@ describe("staticsMiddleware", () => { const middleware = staticsMiddleware("/path", {root: "/publics", test: "test"}); middleware(req, res, next); - expect(next).toBeCalled(); + expect(next).toHaveBeenCalled(); }); }); diff --git a/packages/platform/platform-express/test/ajv-errors.spec.ts b/packages/platform/platform-express/test/ajv-errors.spec.ts index b621de04fb6..1fd8c70aaef 100644 --- a/packages/platform/platform-express/test/ajv-errors.spec.ts +++ b/packages/platform/platform-express/test/ajv-errors.spec.ts @@ -1,8 +1,10 @@ import "@tsed/ajv"; -import {BodyParams, Controller, PlatformTest, Post} from "@tsed/common"; + +import {BodyParams, Controller, PlatformTest} from "@tsed/common"; import {PlatformTestSdk} from "@tsed/platform-test-sdk"; -import {DefaultMsg, ErrorMsg, Integer, Property, Required, TypeError} from "@tsed/schema"; +import {DefaultMsg, ErrorMsg, Integer, Post, Property, Required, TypeError} from "@tsed/schema"; import SuperTest from "supertest"; + import {PlatformExpress} from "../src/index.js"; import {rootDir, Server} from "./app/Server.js"; @@ -14,7 +16,7 @@ const utils = PlatformTestSdk.create({ @DefaultMsg("this is a default message") class MyModel { - @Required().Error("this is a required variable") + @(Required().Error("this is a required variable")) test: string; @Integer() diff --git a/packages/platform/platform-express/test/app/Server.ts b/packages/platform/platform-express/test/app/Server.ts index c0dbb709000..9653916b145 100644 --- a/packages/platform/platform-express/test/app/Server.ts +++ b/packages/platform/platform-express/test/app/Server.ts @@ -1,13 +1,13 @@ import "@tsed/ajv"; +import "../../src/index.js"; + import {Constant, PlatformApplication} from "@tsed/common"; import {Configuration, Inject} from "@tsed/di"; import compress from "compression"; import {Application} from "express"; import session from "express-session"; -import "../../src/index"; - -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build export {rootDir}; @Configuration({ diff --git a/packages/platform/platform-express/test/app/emulate.ts b/packages/platform/platform-express/test/app/emulate.ts index faa38468ef1..dd389cafbaf 100644 --- a/packages/platform/platform-express/test/app/emulate.ts +++ b/packages/platform/platform-express/test/app/emulate.ts @@ -1,9 +1,10 @@ +import {Controller} from "@tsed/di"; +import {QueryParams} from "@tsed/platform-params"; +import {Get} from "@tsed/schema"; import http from "http"; + import {PlatformExpress} from "../../src/index.js.js"; import {Server} from "./Server.js"; -import {Controller} from "@tsed/di"; -import {Get} from "@tsed/schema"; -import {QueryParams} from "@tsed/platform-params"; @Controller("/hello") class HelloWorld { diff --git a/packages/platform/platform-express/test/app/index.ts b/packages/platform/platform-express/test/app/index.ts index 7cbd0220fbf..607be4b925e 100644 --- a/packages/platform/platform-express/test/app/index.ts +++ b/packages/platform/platform-express/test/app/index.ts @@ -1,7 +1,8 @@ -import {$log, BodyParams, Controller, Get, PlatformResponse, Post, QueryParams, Res} from "@tsed/common"; -import {Returns} from "@tsed/schema"; -import {promisify} from "util"; +import {$log, BodyParams, Controller, PlatformResponse, QueryParams, Res} from "@tsed/common"; +import {Get, Post, Returns} from "@tsed/schema"; import {agent, SuperAgentStatic} from "superagent"; +import {promisify} from "util"; + import {PlatformExpress} from "../../src/index.js"; import {Server} from "./Server.js"; @@ -20,7 +21,7 @@ if (process.env.NODE_ENV !== "test") { } @Get("/image") - @Returns(200).Header("X-Content-Type-Options", "nosniff") + @(Returns(200).Header("X-Content-Type-Options", "nosniff")) async getGoogle(@Res() res: PlatformResponse) { const http: SuperAgentStatic = agent(); diff --git a/packages/platform/platform-express/test/array-body.spec.ts b/packages/platform/platform-express/test/array-body.spec.ts index db7b769f238..f0de918c38e 100644 --- a/packages/platform/platform-express/test/array-body.spec.ts +++ b/packages/platform/platform-express/test/array-body.spec.ts @@ -1,8 +1,10 @@ import "@tsed/ajv"; -import {BodyParams, Controller, PlatformTest, Post} from "@tsed/common"; + +import {BodyParams, Controller, PlatformTest} from "@tsed/common"; import {PlatformTestSdk} from "@tsed/platform-test-sdk"; -import {CollectionOf, Property, Any} from "@tsed/schema"; +import {Any, CollectionOf, Post, Property} from "@tsed/schema"; import SuperTest from "supertest"; + import {PlatformExpress} from "../src/index.js"; import {rootDir, Server} from "./app/Server.js"; @@ -66,7 +68,7 @@ describe("Array Body", () => { ] }) ); - afterAll(utils.reset); + afterAll(() => utils.reset()); beforeAll(() => { request = SuperTest(PlatformTest.callback()); diff --git a/packages/platform/platform-express/test/discriminator.spec.ts b/packages/platform/platform-express/test/discriminator.spec.ts index 25c94f517d8..f9746fdd04e 100644 --- a/packages/platform/platform-express/test/discriminator.spec.ts +++ b/packages/platform/platform-express/test/discriminator.spec.ts @@ -1,9 +1,11 @@ import "@tsed/ajv"; -import {BodyParams, Controller, Patch, PlatformTest, Post} from "@tsed/common"; -import {PlatformTestSdk} from "@tsed/platform-test-sdk"; -import {DiscriminatorKey, DiscriminatorValue, OneOf, Partial, Property, Required, Returns} from "@tsed/schema"; import "@tsed/swagger"; + +import {BodyParams, Controller, PlatformTest} from "@tsed/common"; +import {PlatformTestSdk} from "@tsed/platform-test-sdk"; +import {DiscriminatorKey, DiscriminatorValue, OneOf, Partial, Patch, Post, Property, Required, Returns} from "@tsed/schema"; import SuperTest from "supertest"; + import {PlatformExpress} from "../src/index.js"; import {rootDir, Server} from "./app/Server.js"; @@ -41,14 +43,14 @@ type EventTypes = PageView | Action | CustomAction; @Controller("/discriminator") class TestDiscriminator { @Post("/scenario-1") - @Returns(200).OneOf(Event) + @(Returns(200).OneOf(Event)) scenario1(@BodyParams() @OneOf(Event) event: EventTypes) { expect(event).toBeInstanceOf(PageView); return event; } @Post("/scenario-2") - @Returns(200, Array).OneOf(Event) + @(Returns(200, Array).OneOf(Event)) scenario2(@BodyParams() @OneOf(Event) events: EventTypes[]) { expect(events[0]).toBeInstanceOf(PageView); expect(events[1]).toBeInstanceOf(Action); @@ -58,7 +60,7 @@ class TestDiscriminator { } @Patch("/scenario-3") - @Returns(200).OneOf(Event) + @(Returns(200).OneOf(Event)) scenario3(@BodyParams() @OneOf(Event) @Partial() event: EventTypes) { expect(event).toBeInstanceOf(PageView); return event; @@ -86,7 +88,7 @@ describe("Discriminator", () => { ] }) ); - afterAll(utils.reset); + afterAll(() => utils.reset()); beforeAll(() => { request = SuperTest(PlatformTest.callback()); diff --git a/packages/platform/platform-express/test/enums.spec.ts b/packages/platform/platform-express/test/enums.spec.ts index 9e86d37b9d4..7fc25a23bef 100644 --- a/packages/platform/platform-express/test/enums.spec.ts +++ b/packages/platform/platform-express/test/enums.spec.ts @@ -1,9 +1,11 @@ import "@tsed/ajv"; -import {Controller, Get, PlatformTest, QueryParams} from "@tsed/common"; + +import {Controller, PlatformTest, QueryParams} from "@tsed/common"; import {Env} from "@tsed/core"; import {PlatformTestSdk} from "@tsed/platform-test-sdk"; -import {Default, Enum, enums, getSpec, SpecTypes} from "@tsed/schema"; +import {Default, Enum, enums, Get, getSpec, SpecTypes} from "@tsed/schema"; import SuperTest from "supertest"; + import {PlatformExpress} from "../src/index.js"; import {rootDir, Server} from "./app/Server.js"; @@ -39,7 +41,7 @@ describe("Enums", () => { ] }) ); - afterAll(utils.reset); + afterAll(() => utils.reset()); beforeAll(() => { request = SuperTest(PlatformTest.callback()); diff --git a/packages/platform/platform-express/test/fullpayload.spec.ts b/packages/platform/platform-express/test/fullpayload.spec.ts index 8cbb3fde98e..bc6c6c999bd 100644 --- a/packages/platform/platform-express/test/fullpayload.spec.ts +++ b/packages/platform/platform-express/test/fullpayload.spec.ts @@ -1,12 +1,15 @@ -import {BodyParams, Controller, PlatformTest, Post} from "@tsed/common"; -import {PlatformTestSdk} from "@tsed/platform-test-sdk"; import fs from "node:fs/promises"; import {join} from "node:path"; + +import {BodyParams, Controller, PlatformTest} from "@tsed/common"; +import {PlatformTestSdk} from "@tsed/platform-test-sdk"; +import {Post} from "@tsed/schema"; import SuperTest from "supertest"; + import {PlatformExpress} from "../src/index.js"; import {rootDir, Server} from "./app/Server.js"; -const root = __dirname; +const root = import.meta.dirname; const utils = PlatformTestSdk.create({ rootDir, @@ -40,7 +43,7 @@ describe("Full payload", () => { request = SuperTest(PlatformTest.callback()); }); - afterEach(utils.reset); + afterEach(() => utils.reset()); describe("Scenario1: large payload", () => { it("should accept a large payload", async () => { const payload = await fs.readFile(join(root, "data/largePayload.json"), {encoding: "utf8"}); diff --git a/packages/platform/platform-express/test/groups.spec.ts b/packages/platform/platform-express/test/groups.spec.ts index 6a031d49aa3..fce6630ddb9 100644 --- a/packages/platform/platform-express/test/groups.spec.ts +++ b/packages/platform/platform-express/test/groups.spec.ts @@ -1,9 +1,11 @@ import "@tsed/ajv"; -import {BodyParams, Controller, Get, PathParams, PlatformTest, Post, Put} from "@tsed/common"; + +import {BodyParams, Controller, PathParams, PlatformTest} from "@tsed/common"; import {deserialize} from "@tsed/json-mapper"; import {PlatformTestSdk} from "@tsed/platform-test-sdk"; -import {getSpec, Groups, Property, Returns, SpecTypes} from "@tsed/schema"; +import {Get, getSpec, Groups, Post, Property, Put, Returns, SpecTypes} from "@tsed/schema"; import SuperTest from "supertest"; + import {PlatformExpress} from "../src/index.js"; import {rootDir, Server} from "./app/Server.js"; @@ -30,7 +32,7 @@ const utils = PlatformTestSdk.create({ @Controller("/groups") class TestGroupsCtrl { @Post("/") - @Returns(201, Product).Groups("group.*") + @(Returns(201, Product).Groups("group.*")) create(@BodyParams() @Groups("creation") payload: Product) { return deserialize( { @@ -50,7 +52,7 @@ class TestGroupsCtrl { } @Get("/:id") - @Returns(200, Product).Groups("group.summary") + @(Returns(200, Product).Groups("group.summary")) get(@PathParams("id") id: string) { return deserialize( { @@ -84,7 +86,7 @@ describe("Groups", () => { ] }) ); - afterAll(utils.reset); + afterAll(() => utils.reset()); beforeAll(() => { request = SuperTest(PlatformTest.callback()); diff --git a/packages/platform/platform-express/test/merge-params.spec.ts b/packages/platform/platform-express/test/merge-params.spec.ts index 7e70ea84cfd..d891baa78b2 100644 --- a/packages/platform/platform-express/test/merge-params.spec.ts +++ b/packages/platform/platform-express/test/merge-params.spec.ts @@ -1,7 +1,9 @@ -import {Controller, Get, PathParams, PlatformTest} from "@tsed/common"; -import {PlatformExpress} from "../src/index.js"; +import {Controller, PathParams, PlatformTest} from "@tsed/common"; import {PlatformTestSdk} from "@tsed/platform-test-sdk"; +import {Get} from "@tsed/schema"; import SuperTest from "supertest"; + +import {PlatformExpress} from "../src/index.js"; import {rootDir, Server} from "./app/Server.js"; const utils = PlatformTestSdk.create({ @@ -31,7 +33,7 @@ describe("MergeParams", () => { } }) ); - afterAll(utils.reset); + afterAll(() => utils.reset()); beforeAll(() => { request = SuperTest(PlatformTest.callback()); diff --git a/packages/platform/platform-express/test/middleware.spec.ts b/packages/platform/platform-express/test/middleware.spec.ts index 59357ff01c0..283e5fcc500 100644 --- a/packages/platform/platform-express/test/middleware.spec.ts +++ b/packages/platform/platform-express/test/middleware.spec.ts @@ -1,14 +1,16 @@ -import {Controller, Get, PlatformTest} from "@tsed/common"; +import {Controller, PlatformTest} from "@tsed/common"; import {PlatformTestSdk} from "@tsed/platform-test-sdk"; +import {Get} from "@tsed/schema"; import {Returns} from "@tsed/schema"; import SuperTest from "supertest"; + import {PlatformExpress} from "../src/components/PlatformExpress.js"; import {rootDir, Server} from "./app/Server.js"; @Controller("/middlewares") class TestMiddleware { @Get("/scenario-1") - @Returns(200).OneOf(Event) + @(Returns(200).OneOf(Event)) scenario1() { return (req: any, res: any, next: any) => { res.send("Hello"); @@ -34,7 +36,7 @@ describe("Middleware", () => { responseFilters: [TestMiddleware] }) ); - afterEach(utils.reset); + afterEach(() => utils.reset()); afterEach(() => { vi.resetAllMocks(); }); diff --git a/packages/platform/platform-express/test/pageable.spec.ts b/packages/platform/platform-express/test/pageable.spec.ts index a396c2551ce..13a107c0de3 100644 --- a/packages/platform/platform-express/test/pageable.spec.ts +++ b/packages/platform/platform-express/test/pageable.spec.ts @@ -1,4 +1,4 @@ -import {Controller, Get, PlatformContext, PlatformTest, QueryParams, ResponseFilter, ResponseFilterMethods} from "@tsed/common"; +import {Controller, PlatformContext, PlatformTest, QueryParams, ResponseFilter, ResponseFilterMethods} from "@tsed/common"; import {isString} from "@tsed/core"; import {OnDeserialize} from "@tsed/json-mapper"; import {PlatformTestSdk} from "@tsed/platform-test-sdk"; @@ -9,6 +9,7 @@ import { Description, For, Generics, + Get, getSpec, Integer, Min, @@ -21,6 +22,7 @@ import { } from "@tsed/schema"; import qs from "querystring"; import SuperTest from "supertest"; + import {PlatformExpress} from "../src/index.js"; import {rootDir, Server} from "./app/Server.js"; @@ -100,8 +102,8 @@ const utils = PlatformTestSdk.create({ @Controller("/pageable") class TestPageableCtrl { @Get("/") - @Returns(206, Pagination).Of(Product).Title("PaginatedProduct") - @Returns(200, Pagination).Of(Product).Title("PaginatedProduct") + @(Returns(206, Pagination).Of(Product).Title("PaginatedProduct")) + @(Returns(200, Pagination).Of(Product).Title("PaginatedProduct")) get(@QueryParams() pageableOptions: Pageable, @QueryParams("all") all: boolean) { return new Pagination({ data: [ @@ -151,7 +153,7 @@ describe("Pageable", () => { ] }) ); - afterAll(utils.reset); + afterAll(() => utils.reset()); beforeAll(() => { request = SuperTest(PlatformTest.callback()); diff --git a/packages/platform/platform-express/test/plain-text.spec.ts b/packages/platform/platform-express/test/plain-text.spec.ts index aa0ce99f2f5..d183656bf53 100644 --- a/packages/platform/platform-express/test/plain-text.spec.ts +++ b/packages/platform/platform-express/test/plain-text.spec.ts @@ -1,7 +1,8 @@ -import {Controller, Get, PlatformTest} from "@tsed/common"; +import {Controller, PlatformTest} from "@tsed/common"; import {PlatformTestSdk} from "@tsed/platform-test-sdk"; -import {Returns} from "@tsed/schema"; +import {Get, Returns} from "@tsed/schema"; import SuperTest from "supertest"; + import {PlatformExpress} from "../src/index.js"; import {rootDir, Server} from "./app/Server.js"; @@ -17,7 +18,7 @@ const utils = PlatformTestSdk.create({ @Controller("/plain-text") class TestResponseParamsCtrl { @Get("/scenario-1") - @Returns(200, String).ContentType("text/plain") + @(Returns(200, String).ContentType("text/plain")) test() { return { id: "id" @@ -46,7 +47,7 @@ describe("PlainText", () => { request = SuperTest(PlatformTest.callback()); }); - afterEach(utils.reset); + afterEach(() => utils.reset()); describe("scenario 1", () => { it("should return a plain text", async () => { const response = await request.get("/rest/plain-text/scenario-1"); diff --git a/packages/platform/platform-express/test/platform-express.spec.ts b/packages/platform/platform-express/test/platform-express.spec.ts index aa675f24352..2fdc390903c 100644 --- a/packages/platform/platform-express/test/platform-express.spec.ts +++ b/packages/platform/platform-express/test/platform-express.spec.ts @@ -1,4 +1,5 @@ import {PlatformTestSdk} from "@tsed/platform-test-sdk"; + import {PlatformExpress} from "../src/components/PlatformExpress.js"; import {rootDir, Server} from "./app/Server.js"; diff --git a/packages/platform/platform-express/test/query-parser.spec.ts b/packages/platform/platform-express/test/query-parser.spec.ts index 69e4dc73178..acf6c749c56 100644 --- a/packages/platform/platform-express/test/query-parser.spec.ts +++ b/packages/platform/platform-express/test/query-parser.spec.ts @@ -1,9 +1,11 @@ -import {rootDir} from "./app/Server.js"; +import {Configuration, Controller, Inject, PlatformApplication, PlatformTest, QueryParams} from "@tsed/common"; import {PlatformTestSdk} from "@tsed/platform-test-sdk"; -import {PlatformExpress} from "../src/index.js"; -import SuperTest from "supertest"; -import {Configuration, Controller, Get, Inject, PlatformApplication, PlatformTest, QueryParams} from "@tsed/common"; +import {Get} from "@tsed/schema"; import {parse} from "querystring"; +import SuperTest from "supertest"; + +import {PlatformExpress} from "../src/index.js"; +import {rootDir} from "./app/Server.js"; @Configuration({ port: 8081 @@ -50,7 +52,7 @@ describe("QueryParser", () => { request = SuperTest(PlatformTest.callback()); }); - afterEach(utils.reset); + afterEach(() => utils.reset()); describe("Scenario1: DeepObject should not be parsed", () => { const endpoint = "/rest/query-params/scenario-1"; it("should return the query value", async () => { diff --git a/packages/platform/platform-express/test/response-filter.spec.ts b/packages/platform/platform-express/test/response-filter.spec.ts index f9b32ad5fc6..da1788513e2 100644 --- a/packages/platform/platform-express/test/response-filter.spec.ts +++ b/packages/platform/platform-express/test/response-filter.spec.ts @@ -1,8 +1,9 @@ -import {Context, Controller, Get, PlatformTest, Res, ResponseFilter} from "@tsed/common"; +import {Context, Controller, PlatformTest, Res, ResponseFilter} from "@tsed/common"; import {PlatformTestSdk} from "@tsed/platform-test-sdk"; -import {Returns} from "@tsed/schema"; +import {Get, Returns} from "@tsed/schema"; import {ServerResponse} from "http"; import SuperTest from "supertest"; + import {PlatformExpress} from "../src/index.js"; import {rootDir, Server} from "./app/Server.js"; @@ -26,7 +27,7 @@ const utils = PlatformTestSdk.create({ @Controller("/response-filter") class TestPageableCtrl { @Get("/scenario-1") - @Returns(200).ContentType("image/png") + @(Returns(200).ContentType("image/png")) scenario1() { const raw = "..."; // response.setHeader('Content-Type', 'image/png'); @@ -59,7 +60,7 @@ describe("ResponseFilter", () => { request = SuperTest(PlatformTest.callback()); }); - afterEach(utils.reset); + afterEach(() => utils.reset()); afterEach(() => { vi.resetAllMocks(); }); @@ -68,13 +69,13 @@ describe("ResponseFilter", () => { const {headers} = await request.get("/rest/response-filter/scenario-1").expect(200); expect(headers["content-type"]).toEqual("image/png"); - expect(PlainTextFilter.prototype.transform).not.toBeCalled(); + expect(PlainTextFilter.prototype.transform).not.toHaveBeenCalled(); }); it("should return png (scenario-2)", async () => { const {headers} = await request.get("/rest/response-filter/scenario-2").expect(200); expect(headers["content-type"]).toEqual("image/png"); - expect(PlainTextFilter.prototype.transform).not.toBeCalled(); + expect(PlainTextFilter.prototype.transform).not.toHaveBeenCalled(); }); }); diff --git a/packages/platform/platform-express/test/validation-error.spec.ts b/packages/platform/platform-express/test/validation-error.spec.ts index 3586686e488..e0f516934d4 100644 --- a/packages/platform/platform-express/test/validation-error.spec.ts +++ b/packages/platform/platform-express/test/validation-error.spec.ts @@ -1,7 +1,8 @@ -import {BodyParams, Controller, PlatformTest, Post, QueryParams} from "@tsed/common"; +import {BodyParams, Controller, PlatformTest, QueryParams} from "@tsed/common"; import {PlatformTestSdk} from "@tsed/platform-test-sdk"; -import {email, Email, Required} from "@tsed/schema"; +import {Email, Post, Required} from "@tsed/schema"; import SuperTest from "supertest"; + import {PlatformExpress} from "../src/index.js"; import {rootDir, Server} from "./app/Server.js"; @@ -48,7 +49,7 @@ describe("QueryParamValidation", () => { beforeEach(() => { request = SuperTest(PlatformTest.callback()); }); - afterEach(utils.reset); + afterEach(() => utils.reset()); describe("scenario 1", () => { it("should validate the email", async () => { diff --git a/packages/platform/platform-express/tsconfig.cjs.json b/packages/platform/platform-express/tsconfig.cjs.json deleted file mode 100644 index ab4caf25857..00000000000 --- a/packages/platform/platform-express/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/platform/platform-express/tsconfig.esm.json b/packages/platform/platform-express/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/platform/platform-express/tsconfig.esm.json +++ b/packages/platform/platform-express/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/platform/platform-express/tsconfig.json b/packages/platform/platform-express/tsconfig.json index 2dce58b8e5f..1960162bdcd 100644 --- a/packages/platform/platform-express/tsconfig.json +++ b/packages/platform/platform-express/tsconfig.json @@ -30,9 +30,6 @@ { "path": "../platform-test-sdk/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/platform/platform-express/tsconfig.spec.json b/packages/platform/platform-express/tsconfig.spec.json index 3ee344bd2b9..035cbd46ae8 100644 --- a/packages/platform/platform-express/tsconfig.spec.json +++ b/packages/platform/platform-express/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../platform-exceptions/src"], - "@tsed/platform-middlewares": ["../platform-middlewares/src"], - "@tsed/platform-params": ["../platform-params/src"], - "@tsed/platform-log-middleware": ["../platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../platform-response-filter/src"], - "@tsed/platform-router": ["../platform-router/src"], - "@tsed/platform-views": ["../platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../platform-test-sdk/src"], - "@tsed/platform-koa": ["../platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../platform-router/src/index.ts"], + "@tsed/platform-views": ["../platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform-test-sdk/src/index.ts"], + "@tsed/platform-koa": ["../platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/platform/platform-koa/package.json b/packages/platform/platform-koa/package.json index 5cfb834f4a4..2534140e9b5 100644 --- a/packages/platform/platform-koa/package.json +++ b/packages/platform/platform-koa/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/platform-koa", "description": "Koa package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -74,32 +73,32 @@ "@types/koa-send": "4.1.6", "@types/koa-session": "6.4.5", "@types/koa__router": "12.0.4", - "eslint": "^8.57.0", + "eslint": "9.12.0", "koa": "2.15.3", "koa-bodyparser": "4.4.1", "koa-compress": "5.1.1", - "koa-override": "3.0.0", + "koa-override": "4.0.0", "koa-qs": "^3.0.0", "koa-session": "6.4.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "typescript": "5.4.5", + "vitest": "2.1.2" }, "dependencies": { - "@koa/router": "^12.0.1", - "cross-env": "7.0.3", + "@koa/router": "^13.1.0", "encodeurl": "^2.0.0", "koa-send": "5.0.1", "multer": "^1.4.5-lts.1", - "tslib": "2.6.1" + "tslib": "2.7.0" }, "peerDependencies": { - "@tsed/common": "7.83.3", - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/json-mapper": "7.83.3", + "@tsed/common": "8.0.0-alpha.10", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/json-mapper": "8.0.0-alpha.10", "@tsed/logger": ">=6.7.5", - "@tsed/openspec": "7.83.3", - "@tsed/schema": "7.83.3", + "@tsed/openspec": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10", + "cross-env": "7.0.3", "koa": ">=2.13.0", "koa-bodyparser": ">=4.3.0", "koa-compress": ">=5.0.1", diff --git a/packages/platform/platform-koa/src/components/PlatformKoa.spec.ts b/packages/platform/platform-koa/src/components/PlatformKoa.spec.ts index e315737259d..35df603b82e 100644 --- a/packages/platform/platform-koa/src/components/PlatformKoa.spec.ts +++ b/packages/platform/platform-koa/src/components/PlatformKoa.spec.ts @@ -18,7 +18,7 @@ describe("PlatformKoa", () => { }); }); describe("bodyParser()", () => { - it("should return the body parser (json) ", () => { + it("should return the body parser (json)", () => { const stub = vi.fn().mockReturnValue("body"); const platform = PlatformKoa.create(Server, { @@ -30,9 +30,9 @@ describe("PlatformKoa", () => { const result = platform.adapter.bodyParser("json", {strict: true}); expect(result).toEqual("body"); - expect(stub).toBeCalledWith({strict: true}); + expect(stub).toHaveBeenCalledWith({strict: true}); }); - it("should return the body parser (raw) ", () => { + it("should return the body parser (raw)", () => { const stub = vi.fn().mockReturnValue("body"); const platform = PlatformKoa.create(Server, { @@ -44,9 +44,9 @@ describe("PlatformKoa", () => { const result = platform.adapter.bodyParser("raw", {strict: true}); expect(result).toEqual("body"); - expect(stub).toBeCalledWith({strict: true}); + expect(stub).toHaveBeenCalledWith({strict: true}); }); - it("should return the body parser (urlencoded) ", () => { + it("should return the body parser (urlencoded)", () => { const stub = vi.fn().mockReturnValue("body"); const platform = PlatformKoa.create(Server, { @@ -58,7 +58,7 @@ describe("PlatformKoa", () => { const result = platform.adapter.bodyParser("urlencoded", {strict: true}); expect(result).toEqual("body"); - expect(stub).toBeCalledWith({strict: true}); + expect(stub).toHaveBeenCalledWith({strict: true}); }); }); }); diff --git a/packages/platform/platform-koa/src/components/PlatformKoa.ts b/packages/platform/platform-koa/src/components/PlatformKoa.ts index e01a2cb9a7f..860a4eca7d2 100644 --- a/packages/platform/platform-koa/src/components/PlatformKoa.ts +++ b/packages/platform/platform-koa/src/components/PlatformKoa.ts @@ -20,6 +20,7 @@ import koaBodyParser, {Options} from "koa-bodyparser"; // @ts-ignore import koaQs from "koa-qs"; import send from "koa-send"; + import {staticsMiddleware} from "../middlewares/staticsMiddleware.js"; import {PlatformKoaHandler} from "../services/PlatformKoaHandler.js"; import {PlatformKoaRequest} from "../services/PlatformKoaRequest.js"; diff --git a/packages/platform/platform-koa/src/decorators/ctx.spec.ts b/packages/platform/platform-koa/src/decorators/ctx.spec.ts index 3703ae05772..489c1253135 100644 --- a/packages/platform/platform-koa/src/decorators/ctx.spec.ts +++ b/packages/platform/platform-koa/src/decorators/ctx.spec.ts @@ -1,6 +1,7 @@ -import {Ctx} from "./ctx.js"; import {JsonParameterStore} from "@tsed/schema"; +import {Ctx} from "./ctx.js"; + describe("@Ctx", () => { it("should call store the right configuration", () => { class Ctrl { diff --git a/packages/platform/platform-koa/src/decorators/state.spec.ts b/packages/platform/platform-koa/src/decorators/state.spec.ts index cf12ff388c7..c9d15812767 100644 --- a/packages/platform/platform-koa/src/decorators/state.spec.ts +++ b/packages/platform/platform-koa/src/decorators/state.spec.ts @@ -1,7 +1,8 @@ import {ParamTypes} from "@tsed/common"; -import {State} from "./state.js"; import {JsonParameterStore} from "@tsed/schema"; +import {State} from "./state.js"; + describe("@State", () => { it("should call ParamFilter.useParam method with the correct parameters", () => { class Ctrl { diff --git a/packages/platform/platform-koa/src/interfaces/interfaces.ts b/packages/platform/platform-koa/src/interfaces/interfaces.ts index 70ef476b62b..7ac39312fc4 100644 --- a/packages/platform/platform-koa/src/interfaces/interfaces.ts +++ b/packages/platform/platform-koa/src/interfaces/interfaces.ts @@ -1,4 +1,5 @@ import Koa from "koa"; + import {PlatformKoaSettings} from "./PlatformKoaSettings.js"; export * from "./PlatformKoaSettings.js"; diff --git a/packages/platform/platform-koa/src/services/PlatformKoaHandler.ts b/packages/platform/platform-koa/src/services/PlatformKoaHandler.ts index 5b5227f9726..3d556a6df25 100644 --- a/packages/platform/platform-koa/src/services/PlatformKoaHandler.ts +++ b/packages/platform/platform-koa/src/services/PlatformKoaHandler.ts @@ -1,5 +1,6 @@ +import "./PlatformKoaRequest.js"; + import {PlatformContext, PlatformHandler, PlatformParamsCallback} from "@tsed/common"; -import "./PlatformKoaRequest"; export class PlatformKoaHandler extends PlatformHandler { onRequest(handler: PlatformParamsCallback, $ctx: PlatformContext) { diff --git a/packages/platform/platform-koa/src/services/PlatformKoaRequest.spec.ts b/packages/platform/platform-koa/src/services/PlatformKoaRequest.spec.ts index fcdea47f557..1bf5e742d40 100644 --- a/packages/platform/platform-koa/src/services/PlatformKoaRequest.spec.ts +++ b/packages/platform/platform-koa/src/services/PlatformKoaRequest.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {PlatformKoaRequest} from "./PlatformKoaRequest.js"; function createRequest() { diff --git a/packages/platform/platform-koa/src/services/PlatformKoaRequest.ts b/packages/platform/platform-koa/src/services/PlatformKoaRequest.ts index 40cb8a79b10..480094af204 100644 --- a/packages/platform/platform-koa/src/services/PlatformKoaRequest.ts +++ b/packages/platform/platform-koa/src/services/PlatformKoaRequest.ts @@ -1,4 +1,5 @@ import "@koa/router"; + import {PlatformContext, PlatformRequest} from "@tsed/common"; import Koa from "koa"; diff --git a/packages/platform/platform-koa/src/services/PlatformKoaResponse.spec.ts b/packages/platform/platform-koa/src/services/PlatformKoaResponse.spec.ts index 22a6fe8fe58..797dee40bab 100644 --- a/packages/platform/platform-koa/src/services/PlatformKoaResponse.spec.ts +++ b/packages/platform/platform-koa/src/services/PlatformKoaResponse.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {PlatformKoaRequest} from "./PlatformKoaRequest.js"; import {PlatformKoaResponse} from "./PlatformKoaResponse.js"; diff --git a/packages/platform/platform-koa/test/app/Server.ts b/packages/platform/platform-koa/test/app/Server.ts index ad2de3191ae..ba8eed020d4 100644 --- a/packages/platform/platform-koa/test/app/Server.ts +++ b/packages/platform/platform-koa/test/app/Server.ts @@ -1,10 +1,11 @@ import "@tsed/ajv"; + import {PlatformApplication} from "@tsed/common"; import {Configuration, Inject} from "@tsed/di"; import Application from "koa"; import session from "koa-session"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build export {rootDir}; @Configuration({ diff --git a/packages/platform/platform-koa/test/app/index.ts b/packages/platform/platform-koa/test/app/index.ts index e7965a8291e..11177ee5546 100644 --- a/packages/platform/platform-koa/test/app/index.ts +++ b/packages/platform/platform-koa/test/app/index.ts @@ -1,5 +1,7 @@ -import {$log, Controller, Get} from "@tsed/common"; -import {PlatformKoa} from "@tsed/platform-koa"; +import {$log, Controller} from "@tsed/common"; +import {Get} from "@tsed/schema"; + +import {PlatformKoa} from "../../src/index.js"; import {Server} from "./Server.js"; if (process.env.NODE_ENV !== "test") { diff --git a/packages/platform/platform-koa/test/platform-koa.spec.ts b/packages/platform/platform-koa/test/platform-koa.spec.ts index 58d01b792c7..a19f5474b27 100644 --- a/packages/platform/platform-koa/test/platform-koa.spec.ts +++ b/packages/platform/platform-koa/test/platform-koa.spec.ts @@ -1,5 +1,6 @@ import {PlatformTestSdk} from "@tsed/platform-test-sdk"; -import {PlatformKoa} from "@tsed/platform-koa"; + +import {PlatformKoa} from "../src/index.js"; import {rootDir, Server} from "./app/Server.js"; const utils = PlatformTestSdk.create({ diff --git a/packages/platform/platform-koa/tsconfig.cjs.json b/packages/platform/platform-koa/tsconfig.cjs.json deleted file mode 100644 index ab4caf25857..00000000000 --- a/packages/platform/platform-koa/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/platform/platform-koa/tsconfig.esm.json b/packages/platform/platform-koa/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/platform/platform-koa/tsconfig.esm.json +++ b/packages/platform/platform-koa/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/platform/platform-koa/tsconfig.json b/packages/platform/platform-koa/tsconfig.json index 7168f330c22..f9f49d347c8 100644 --- a/packages/platform/platform-koa/tsconfig.json +++ b/packages/platform/platform-koa/tsconfig.json @@ -27,9 +27,6 @@ { "path": "../platform-test-sdk/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/platform/platform-koa/tsconfig.spec.json b/packages/platform/platform-koa/tsconfig.spec.json index 12d125b6440..fd20978755f 100644 --- a/packages/platform/platform-koa/tsconfig.spec.json +++ b/packages/platform/platform-koa/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../platform-exceptions/src"], - "@tsed/platform-middlewares": ["../platform-middlewares/src"], - "@tsed/platform-params": ["../platform-params/src"], - "@tsed/platform-log-middleware": ["../platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../platform-response-filter/src"], - "@tsed/platform-router": ["../platform-router/src"], - "@tsed/platform-views": ["../platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../platform-test-sdk/src"], - "@tsed/platform-express": ["../platform-express/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../platform-router/src/index.ts"], + "@tsed/platform-views": ["../platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../platform-express/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/platform/platform-log-middleware/package.json b/packages/platform/platform-log-middleware/package.json index fa3a7839089..a2acbf7d6da 100644 --- a/packages/platform/platform-log-middleware/package.json +++ b/packages/platform/platform-log-middleware/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/platform-log-middleware", - "description": "Log request middleware module for Ts.ED Framework", - "type": "commonjs", - "version": "7.83.3", + "description": "Log request middleware module for Ts.ED Framework (deprecated)", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -23,7 +22,7 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -31,14 +30,14 @@ "@tsed/platform-middlewares": "workspace:*", "@tsed/platform-params": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/di": "7.83.3", - "@tsed/platform-middlewares": "7.83.3", - "@tsed/platform-params": "7.83.3" + "@tsed/di": "8.0.0-alpha.10", + "@tsed/platform-middlewares": "8.0.0-alpha.10", + "@tsed/platform-params": "8.0.0-alpha.10" }, "peerDependenciesMeta": { "@tsed/di": { @@ -50,5 +49,8 @@ "@tsed/platform-params": { "optional": false } + }, + "publishConfig": { + "distTag": "deprecated" } } diff --git a/packages/platform/platform-log-middleware/readme.md b/packages/platform/platform-log-middleware/readme.md index e54a1c79459..999f89f8d92 100644 --- a/packages/platform/platform-log-middleware/readme.md +++ b/packages/platform/platform-log-middleware/readme.md @@ -3,7 +3,7 @@

-

@tsed/platform-log-request

+

@tsed/platform-log-middleware

[![Build & Release](https://github.com/tsedio/tsed/workflows/Build%20&%20Release/badge.svg)](https://github.com/tsedio/tsed/actions?query=workflow%3A%22Build+%26+Release%22) [![PR Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/tsedio/tsed/blob/master/CONTRIBUTING.md) @@ -29,10 +29,61 @@ A package of Ts.ED framework. See website: https://tsed.io/ +# Important + +This module is deprecated. Please use @tsed/platform-log-request instead. + # Installation ```bash -npm install --save @tsed/platform-params +npm install --save @tsed/platform-log-middleware +``` + +## Configuration (Ts.ED v8 only) + +```ts +import {Configuration} from "@tsed/di"; +import {PlatformLogMiddleware} from "@tsed/platform-log-middleware"; + +@Configuration({ + logger: { + /** + * Fields displayed when a request is logged. Possible values: `reqId`, `method`, `url`, `headers`, `body`, `query`,`params`, `duration`. + */ + requestFields: ["reqId", "method", "url", "duration", "route"], + /** + * Log all incoming request. By default, is true and print the configured `logger.requestFields`. + */ + logRequest: true, + /** + * Log start of all incoming request. By default, is false + */ + logStart: false, + /** + * Log end of all incoming request. By default, is true + */ + logEnd: true + }, + middlewares: [ + "cors", + "cookie-parser", + { + use: "compression", + options: { + brotli: { + enabled: true, + zlib: {} + } + } + }, + "method-override", + "json-parser", + {use: "urlencoded-parser", options: {extended: true}}, + /// add the platform log middleware here + PlatformLogMiddleware + ] +}) +class Server {} ``` ## Contributors diff --git a/packages/platform/platform-log-middleware/src/middlewares/PlatformLogMiddleware.spec.ts b/packages/platform/platform-log-middleware/src/middlewares/PlatformLogMiddleware.spec.ts index eeb13ff5bc8..3f730bcc0af 100644 --- a/packages/platform/platform-log-middleware/src/middlewares/PlatformLogMiddleware.spec.ts +++ b/packages/platform/platform-log-middleware/src/middlewares/PlatformLogMiddleware.spec.ts @@ -1,6 +1,8 @@ +import "../domain/PlatformLogMiddlewareSettings.js"; + import {PlatformHandlerMetadata, PlatformTest} from "@tsed/common"; + import {PlatformLogMiddleware} from "./PlatformLogMiddleware.js"; -import "../domain/PlatformLogMiddlewareSettings"; async function createMiddlewareFixture({statusCode = 200, error}: {statusCode?: number; error?: any} = {}) { const middleware = await PlatformTest.invoke(PlatformLogMiddleware); @@ -163,7 +165,7 @@ describe("PlatformLogMiddleware", () => { ); }); }); - describe("when no debug, logRequest, logEnd", () => { + describe("when no debug, logRequest, logStart", () => { beforeEach(() => PlatformTest.create({ logger: { @@ -283,28 +285,6 @@ describe("PlatformLogMiddleware", () => { }) ); }); - it("should log debug without request", async () => { - // GIVEN - const {request, ctx, middleware} = await createMiddlewareFixture(); - request.originalUrl = "originalUrl"; - // WHEN - middleware.use(ctx); - - // THEN - ctx.logger.debug( - { - event: "event" - }, - false - ); - // THEN - expect(PlatformTest.injector.logger.debug).toHaveBeenCalledWith( - expect.objectContaining({ - event: "event", - reqId: "id" - }) - ); - }); }); }); }); diff --git a/packages/platform/platform-log-middleware/src/middlewares/PlatformLogMiddleware.ts b/packages/platform/platform-log-middleware/src/middlewares/PlatformLogMiddleware.ts index c4dbdc4f5c3..934ee350c7d 100644 --- a/packages/platform/platform-log-middleware/src/middlewares/PlatformLogMiddleware.ts +++ b/packages/platform/platform-log-middleware/src/middlewares/PlatformLogMiddleware.ts @@ -2,6 +2,7 @@ import {cleanObject} from "@tsed/core"; import {Constant} from "@tsed/di"; import {Middleware, MiddlewareMethods} from "@tsed/platform-middlewares"; import {Context} from "@tsed/platform-params"; + import type {LoggerRequestFields} from "../domain/PlatformLogMiddlewareSettings.js"; /** @@ -115,7 +116,7 @@ export class PlatformLogMiddleware implements MiddlewareMethods { case "info": return {...this.minimalRequestPicker(ctx), ...obj}; case "debug": - return withRequest ? {...this.requestToObject(ctx), ...obj} : obj; + return {...this.requestToObject(ctx), ...obj}; default: return {...this.requestToObject(ctx), ...obj}; } diff --git a/packages/platform/platform-log-middleware/tsconfig.cjs.json b/packages/platform/platform-log-middleware/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/platform/platform-log-middleware/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/platform/platform-log-middleware/tsconfig.esm.json b/packages/platform/platform-log-middleware/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/platform/platform-log-middleware/tsconfig.esm.json +++ b/packages/platform/platform-log-middleware/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/platform/platform-log-middleware/tsconfig.json b/packages/platform/platform-log-middleware/tsconfig.json index 7ffd1d30a41..d548a61b586 100644 --- a/packages/platform/platform-log-middleware/tsconfig.json +++ b/packages/platform/platform-log-middleware/tsconfig.json @@ -15,9 +15,6 @@ { "path": "../platform-params/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/platform/platform-log-middleware/tsconfig.spec.json b/packages/platform/platform-log-middleware/tsconfig.spec.json index c515685d43b..47c7c308148 100644 --- a/packages/platform/platform-log-middleware/tsconfig.spec.json +++ b/packages/platform/platform-log-middleware/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../platform-exceptions/src"], - "@tsed/platform-middlewares": ["../platform-middlewares/src"], - "@tsed/platform-params": ["../platform-params/src"], - "@tsed/platform-response-filter": ["../platform-response-filter/src"], - "@tsed/platform-router": ["../platform-router/src"], - "@tsed/platform-views": ["../platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../platform-test-sdk/src"], - "@tsed/platform-express": ["../platform-express/src"], - "@tsed/platform-koa": ["../platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../platform-params/src/index.ts"], + "@tsed/platform-response-filter": ["../platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../platform-router/src/index.ts"], + "@tsed/platform-views": ["../platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../platform-express/src/index.ts"], + "@tsed/platform-koa": ["../platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/platform/platform-log-middleware/vitest.config.mts b/packages/platform/platform-log-middleware/vitest.config.mts index d759e817941..d2598fb346b 100644 --- a/packages/platform/platform-log-middleware/vitest.config.mts +++ b/packages/platform/platform-log-middleware/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 100, + branches: 100, + functions: 100, + lines: 100 } } } } -); +); \ No newline at end of file diff --git a/packages/orm/testing-mongoose/.npmignore b/packages/platform/platform-log-request/.npmignore similarity index 100% rename from packages/orm/testing-mongoose/.npmignore rename to packages/platform/platform-log-request/.npmignore diff --git a/packages/platform/platform-log-request/package.json b/packages/platform/platform-log-request/package.json new file mode 100644 index 00000000000..b0c1fae7ebf --- /dev/null +++ b/packages/platform/platform-log-request/package.json @@ -0,0 +1,53 @@ +{ + "name": "@tsed/platform-log-request", + "description": "Log request module for Ts.ED Framework (Express, Koa, Serverless)", + "type": "module", + "version": "8.0.0-alpha.10", + "source": "./src/index.ts", + "main": "./lib/esm/index.js", + "module": "./lib/esm/index.js", + "typings": "./lib/types/index.d.ts", + "exports": { + ".": { + "types": "./lib/types/index.d.ts", + "import": "./lib/esm/index.js", + "default": "./lib/cjs/index.js" + } + }, + "scripts": { + "build": "yarn barrels && yarn build:ts", + "barrels": "barrels", + "test": "vitest run", + "build:ts": "tsc --build tsconfig.json", + "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" + }, + "dependencies": { + "tslib": "2.7.0" + }, + "devDependencies": { + "@tsed/barrels": "workspace:*", + "@tsed/di": "workspace:*", + "@tsed/platform-middlewares": "workspace:*", + "@tsed/platform-params": "workspace:*", + "@tsed/typescript": "workspace:*", + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" + }, + "peerDependencies": { + "@tsed/di": "8.0.0-alpha.10", + "@tsed/platform-middlewares": "8.0.0-alpha.10", + "@tsed/platform-params": "8.0.0-alpha.10" + }, + "peerDependenciesMeta": { + "@tsed/di": { + "optional": false + }, + "@tsed/platform-middlewares": { + "optional": false + }, + "@tsed/platform-params": { + "optional": false + } + } +} diff --git a/packages/orm/testing-mongoose/readme.md b/packages/platform/platform-log-request/readme.md similarity index 55% rename from packages/orm/testing-mongoose/readme.md rename to packages/platform/platform-log-request/readme.md index 5c069092317..1667accd3a0 100644 --- a/packages/orm/testing-mongoose/readme.md +++ b/packages/platform/platform-log-request/readme.md @@ -3,7 +3,7 @@

-

Mongoose testing

+

@tsed/platform-log-request

[![Build & Release](https://github.com/tsedio/tsed/workflows/Build%20&%20Release/badge.svg)](https://github.com/tsedio/tsed/actions?query=workflow%3A%22Build+%26+Release%22) [![PR Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/tsedio/tsed/blob/master/CONTRIBUTING.md) @@ -29,116 +29,135 @@ A package of Ts.ED framework. See website: https://tsed.io/ -This package is an helper to create unit test base on `@tsed/mongoose` package. - # Installation ```bash -npm install --save @tsed/testing-mongoose +npm install --save @tsed/platform-log-request +``` + +## Configuration + +```ts +import {Configuration} from "@tsed/di"; +import "@tsed/platform-log-request"; +import {levels} from "@tsed/logger"; + +@Configuration({ + /** + * Log all incoming request. By default, is true and print the configured `logger.requestFields`. + * @optional + */ + // logRequest: true, + /** + * A function to alter the log object before it's logged. + * @optional + */ + // alterLog: (level, data, $ctx) => { + // /// see example above + // }, + /** + * A function to alter the log object before it's logged. + * @optional + */ + // onLogEnd? : ($ctx: BaseContext) => void; +}) +class Server {} ``` -## Example usage +## Alter log request -### Testing server +By default, Ts.ED provide a default log object. You can alter this object by providing a function to the `alterLog` property. -Here an example to your server with a mocked database: +Here his the default implementation: ```typescript -import {PlatformTest} from "@tsed/common"; -import {PlatformExpress} from "@tsed/platform-express"; -import {TestMongooseContext} from "@tsed/testing-mongoose"; -import {expect} from "chai"; -import * as SuperTest from "supertest"; -import {Server} from "../Server.js"; - -describe("Rest", () => { - // bootstrap your Server to load all endpoints before run your test - let request: SuperTest.Agent; - - before(TestMongooseContext.bootstrap(Server, {platform: PlatformExpress})); // Create a server with mocked database - before((done) => { - request = SuperTest(PlatformTest.callback()); - done(); - }); - - after(TestMongooseContext.reset); // reset database and injector - - describe("GET /rest/calendars", () => { - it("should do something", async () => { - const response = await request.get("/rest/calendars").expect(200); - - expect(response.body).to.be.an("array"); - }); - }); -}); +export function defaultAlterLog(level: string, obj: Record, ctx: BaseContext) { + const minimalLog = { + method: ctx.request.method, + url: ctx.request.url, + route: ctx.request.route || ctx.request.url, + ...obj + }; + + if (level === "info") { + return minimalLog; + } + + return { + ...minimalLog, + headers: ctx.request.headers, + body: ctx.request.body, + query: ctx.request.query, + params: ctx.request.params + }; +} ``` -::: tip -To increase mocha timeout from 2000ms to 10000ms use option `--timeout 10000`. -::: - -### Testing server with Replica set - -A [ReplicaSet](https://github.com/nodkz/mongodb-memory-server#replica-set-start) can be easily started with: +Just give your own implementation to the `alterLog` property. ```typescript -import {PlatformTest} from "@tsed/common"; -import {PlatformExpress} from "@tsed/platform-express"; -import {TestMongooseContext} from "@tsed/testing-mongoose"; -import {expect} from "chai"; -import * as SuperTest from "supertest"; -import {Server} from "../Server.js"; - -describe("Rest", () => { - // bootstrap your Server to load all endpoints before run your test - let request: SuperTest.Agent; - - before( - TestMongooseContext.bootstrap(Server, { - platform: PlatformExpress, - mongod: { - replicaSet: true - } - }) - ); // Create a server with mocked database - before((done) => { - request = SuperTest(PlatformTest.callback()); - done(); - }); - - after(TestMongooseContext.reset); // reset database and injector - - describe("GET /rest/calendars", () => { - it("should do something", async () => { - const response = await request.get("/rest/calendars").expect(200); - - expect(response.body).to.be.an("array"); - }); - }); -}); +import {Configuration} from "@tsed/di"; +import "@tsed/platform-log-request"; +import {customAlterLog} from "./utils/customAlterLog.js"; + +@Configuration({ + alterLog: customAlterLog +}) +class Server {} ``` -## Jest additional setup +## Customize log response + +By default, Ts.ED provide a default log response implementation. -Add a script to close connection after all unit test. In your jest configuration file add the following line: +Here his the default implementation: -```json -{ - "globalTeardown": "./scripts/jest/teardown.js" +```typescript +export function defaultLogResponse($ctx: BaseContext) { + if ($ctx.response.statusCode >= 400) { + const error = $ctx.error as any | undefined; + + $ctx.logger.error({ + event: "request.end", + status: $ctx.response.statusCode, + status_code: String($ctx.response.statusCode), + state: "KO", + ...cleanObject({ + error_name: error?.name || error?.code, + error_message: error?.message, + error_errors: error?.errors, + error_stack: error?.stack, + error_body: error?.body, + error_headers: error?.headers + }) + }); + } else { + $ctx.logger.info({ + event: "request.end", + status: $ctx.response.statusCode, + status_code: String($ctx.response.statusCode), + state: "OK" + }); + } } ``` -And create the script with the following content: +Just give your own implementation to the `onLogResponse` property. -```js -module.exports = async () => { - await global.__MONGOD__.stop(); -}; +```typescript +import {Configuration} from "@tsed/di"; +import "@tsed/platform-log-request"; +import {customOnLogResponse} from "./utils/customOnLogResponse.js"; + +@Configuration({ + onLogResponse: customOnLogResponse +}) +class Server {} ``` ## Contributors -Please read [contributing guidelines here](https://tsed.io/contributing.html) +Please read [contributing guidelines here](https://tsed.io/contributing.html). diff --git a/packages/platform/platform-log-request/src/domain/PlatformLogRequestSettings.ts b/packages/platform/platform-log-request/src/domain/PlatformLogRequestSettings.ts new file mode 100644 index 00000000000..f103f346e64 --- /dev/null +++ b/packages/platform/platform-log-request/src/domain/PlatformLogRequestSettings.ts @@ -0,0 +1,28 @@ +import type {BaseContext} from "@tsed/di"; + +export type AlterLogCallback = ( + level: "debug" | "info" | "warn" | "error" | "all", + obj: Record, + ctx: BaseContext +) => Record; + +export interface PlatformLogRequestSettings { + /** + * Log all incoming request. By default, is true and print the configured `logger.requestFields`. + */ + logRequest?: boolean; + /** + * A function to alter the log object before it's logged. + */ + alterLog?: AlterLogCallback; + /** + * A function to log the server response. + */ + onLogResponse?: ($ctx: BaseContext) => void; +} + +declare global { + namespace TsED { + interface LoggerConfiguration extends Partial {} + } +} diff --git a/packages/platform/platform-log-request/src/index.ts b/packages/platform/platform-log-request/src/index.ts new file mode 100644 index 00000000000..154291e37da --- /dev/null +++ b/packages/platform/platform-log-request/src/index.ts @@ -0,0 +1,7 @@ +/** + * @file Automatically generated by @tsed/barrels. + */ +export * from "./domain/PlatformLogRequestSettings.js"; +export * from "./services/PlatformLogRequestFactory.js"; +export * from "./utils/defaultAlterLog.js"; +export * from "./utils/defaultLogResponse.js"; diff --git a/packages/platform/platform-log-request/src/services/PlatformLogRequestFactory.spec.ts b/packages/platform/platform-log-request/src/services/PlatformLogRequestFactory.spec.ts new file mode 100644 index 00000000000..98cc56cc684 --- /dev/null +++ b/packages/platform/platform-log-request/src/services/PlatformLogRequestFactory.spec.ts @@ -0,0 +1,139 @@ +import "../domain/PlatformLogRequestSettings.js"; + +import {DITest} from "@tsed/di"; + +import {PlatformLogRequestFactory} from "./PlatformLogRequestFactory.js"; + +describe("PlatformLogRequestFactory", () => { + describe("when logger is enabled", () => { + beforeEach(() => + DITest.create({ + logger: {} + }) + ); + afterEach(() => DITest.reset()); + + it("should create logger factory", async () => { + const factory = await DITest.invoke(PlatformLogRequestFactory); + + expect(factory).toEqual({ + alterLog: expect.any(Function), + onLogResponse: expect.any(Function) + }); + + const ctx: any = { + request: { + method: "GET" + }, + logger: { + alterLog: vi.fn(), + info: vi.fn() + } + }; + + vi.spyOn(factory!, "alterLog").mockReturnValue({}); + vi.spyOn(factory!, "onLogResponse").mockReturnValue(undefined); + + DITest.injector.getProvider(PlatformLogRequestFactory)?.hooks?.$onRequest(factory!, ctx); + + expect(ctx.logger.alterLog).toHaveBeenCalledWith(expect.any(Function)); + + ctx.logger.alterLog.mock.calls[0][0]({test: "test"}, "info"); + + expect(ctx.logStarted).toBe(true); + expect(factory!.alterLog).toHaveBeenCalledWith( + "info", + { + test: "test" + }, + ctx + ); + + DITest.injector.getProvider(PlatformLogRequestFactory)?.hooks?.$onResponse(factory!, ctx); + + expect(factory!.onLogResponse).toHaveBeenCalledWith(ctx); + }); + }); + describe("when logger is enabled with options", () => { + beforeEach(() => + DITest.create({ + logger: { + logRequest: true, + alterLog: vi.fn().mockReturnValue({}), + onLogResponse: vi.fn() + } + }) + ); + afterEach(() => DITest.reset()); + + it("should create logger factory", async () => { + const factory = await DITest.invoke(PlatformLogRequestFactory); + + expect(factory).toEqual({ + alterLog: expect.any(Function), + onLogResponse: expect.any(Function) + }); + + const ctx: any = { + request: { + method: "GET" + }, + logger: { + alterLog: vi.fn(), + info: vi.fn() + } + }; + + DITest.injector.getProvider(PlatformLogRequestFactory)?.hooks?.$onRequest(factory!, ctx); + + expect(ctx.logger.alterLog).toHaveBeenCalledWith(expect.any(Function)); + + ctx.logger.alterLog.mock.calls[0][0]({test: "test"}, "info"); + + expect(ctx.logStarted).toBe(true); + expect(factory!.alterLog).toHaveBeenCalledWith( + "info", + { + test: "test" + }, + ctx + ); + + DITest.injector.getProvider(PlatformLogRequestFactory)?.hooks?.$onResponse(factory!, ctx); + + expect(factory!.onLogResponse).toHaveBeenCalledWith(ctx); + }); + }); + describe("when logger is disabled", () => { + beforeEach(() => + DITest.create({ + logger: { + logRequest: false + } + }) + ); + afterEach(() => DITest.reset()); + + it("should create logger factory", async () => { + const factory = await DITest.invoke(PlatformLogRequestFactory); + + expect(factory).toEqual(null); + + const ctx: any = { + request: { + method: "GET" + }, + logger: { + alterLog: vi.fn(), + info: vi.fn() + } + }; + + DITest.injector.getProvider(PlatformLogRequestFactory)?.hooks?.$onRequest(factory!, ctx); + + expect(ctx.logger.alterLog).not.toHaveBeenCalled(); + + DITest.injector.getProvider(PlatformLogRequestFactory)?.hooks?.$onResponse(factory!, ctx); + }); + }); +}); diff --git a/packages/platform/platform-log-request/src/services/PlatformLogRequestFactory.ts b/packages/platform/platform-log-request/src/services/PlatformLogRequestFactory.ts new file mode 100644 index 00000000000..14cb1a062f5 --- /dev/null +++ b/packages/platform/platform-log-request/src/services/PlatformLogRequestFactory.ts @@ -0,0 +1,41 @@ +import {type BaseContext, Configuration, registerProvider} from "@tsed/di"; + +import {defaultAlterLog} from "../utils/defaultAlterLog.js"; +import {defaultLogResponse} from "../utils/defaultLogResponse.js"; + +function factory(configuration: Configuration) { + const { + logRequest = true, + alterLog = defaultAlterLog, + onLogResponse = defaultLogResponse + } = configuration.get("logger"); + + return logRequest + ? { + alterLog, + onLogResponse + } + : null; +} + +export const PlatformLogRequestFactory = Symbol.for("PLATFORM:LOGGER:REQUEST"); +export type PlatformLogRequestFactory = ReturnType; + +registerProvider({ + provide: PlatformLogRequestFactory, + deps: [Configuration], + useFactory: factory, + hooks: { + $onRequest(instance: ReturnType, $ctx: BaseContext) { + if (instance) { + $ctx.logger.alterLog((obj: any, level) => instance.alterLog(level, obj, $ctx)); + $ctx.logStarted = true; + } + }, + $onResponse(instance: ReturnType, $ctx: BaseContext) { + if (instance && $ctx.logStarted) { + instance.onLogResponse($ctx); + } + } + } +}); diff --git a/packages/platform/platform-log-request/src/utils/defaultAlterLog.spec.ts b/packages/platform/platform-log-request/src/utils/defaultAlterLog.spec.ts new file mode 100644 index 00000000000..1724f74744c --- /dev/null +++ b/packages/platform/platform-log-request/src/utils/defaultAlterLog.spec.ts @@ -0,0 +1,66 @@ +import {defaultAlterLog} from "./defaultAlterLog.js"; + +describe("defaultAlterLog", () => { + it("should return the expected log object", () => { + expect( + defaultAlterLog("info", {test: "test"}, { + request: { + method: "GET", + url: "url", + headers: { + "x-forwarded-for": "value" + }, + route: "route" + } + } as never) + ).toEqual({ + method: "GET", + route: "route", + test: "test", + url: "url" + }); + }); + it("should return the expected log object (without route)", () => { + expect( + defaultAlterLog("info", {test: "test"}, { + request: { + method: "GET", + url: "url", + headers: { + "x-forwarded-for": "value" + } + } + } as never) + ).toEqual({ + method: "GET", + route: "url", + test: "test", + url: "url" + }); + }); + it("should return the expected log object with extras info", () => { + expect( + defaultAlterLog("error", {test: "test"}, { + request: { + method: "GET", + url: "url", + headers: { + "x-forwarded-for": "value" + }, + route: "route" + } + } as never) + ).toEqual({ + method: "GET", + route: "route", + test: "test", + url: "url", + body: undefined, + headers: { + "x-forwarded-for": "value" + }, + params: undefined, + query: undefined + }); + }); +}); diff --git a/packages/platform/platform-log-request/src/utils/defaultAlterLog.ts b/packages/platform/platform-log-request/src/utils/defaultAlterLog.ts new file mode 100644 index 00000000000..859f0213a83 --- /dev/null +++ b/packages/platform/platform-log-request/src/utils/defaultAlterLog.ts @@ -0,0 +1,22 @@ +import type {BaseContext} from "@tsed/di"; + +export function defaultAlterLog(level: string, obj: Record, ctx: BaseContext) { + const minimalLog = { + method: ctx.request.method, + url: ctx.request.url, + route: ctx.request.route || ctx.request.url, + ...obj + }; + + if (level === "info") { + return minimalLog; + } + + return { + ...minimalLog, + headers: ctx.request.headers, + body: ctx.request.body, + query: ctx.request.query, + params: ctx.request.params + }; +} diff --git a/packages/platform/platform-log-request/src/utils/defaultLogResponse.spec.ts b/packages/platform/platform-log-request/src/utils/defaultLogResponse.spec.ts new file mode 100644 index 00000000000..961e10922e8 --- /dev/null +++ b/packages/platform/platform-log-request/src/utils/defaultLogResponse.spec.ts @@ -0,0 +1,98 @@ +import {defaultLogResponse} from "./defaultLogResponse.js"; + +describe("defaultLogEnd", () => { + it("should log the request end", () => { + // GIVEN + const $ctx = { + response: { + statusCode: 200 + }, + logger: { + info: vi.fn() + } + }; + + // WHEN + defaultLogResponse($ctx as any); + + // THEN + expect($ctx.logger.info).toHaveBeenCalledWith({ + event: "request.end", + status: 200, + status_code: "200", + state: "OK" + }); + }); + it("should log the request end with error", () => { + // GIVEN + const $ctx = { + response: { + statusCode: 500 + }, + error: { + name: "name", + message: "message", + errors: "errors", + stack: "stack", + body: "body", + headers: "headers" + }, + logger: { + error: vi.fn() + } + }; + + // WHEN + defaultLogResponse($ctx as any); + + // THEN + expect($ctx.logger.error).toHaveBeenCalledWith({ + event: "request.end", + status: 500, + status_code: "500", + state: "KO", + error_name: "name", + error_message: "message", + error_errors: "errors", + error_stack: "stack", + error_body: "body", + error_headers: "headers" + }); + }); + it("should log the request end with error code", () => { + // GIVEN + const $ctx = { + response: { + statusCode: 500 + }, + error: { + code: "code", + message: "message", + errors: "errors", + stack: "stack", + body: "body", + headers: "headers" + }, + logger: { + error: vi.fn() + } + }; + + // WHEN + defaultLogResponse($ctx as any); + + // THEN + expect($ctx.logger.error).toHaveBeenCalledWith({ + event: "request.end", + status: 500, + status_code: "500", + state: "KO", + error_name: "code", + error_message: "message", + error_errors: "errors", + error_stack: "stack", + error_body: "body", + error_headers: "headers" + }); + }); +}); diff --git a/packages/platform/platform-log-request/src/utils/defaultLogResponse.ts b/packages/platform/platform-log-request/src/utils/defaultLogResponse.ts new file mode 100644 index 00000000000..91b41ce62ef --- /dev/null +++ b/packages/platform/platform-log-request/src/utils/defaultLogResponse.ts @@ -0,0 +1,30 @@ +import {cleanObject} from "@tsed/core"; +import type {BaseContext} from "@tsed/di"; + +export function defaultLogResponse($ctx: BaseContext) { + if ($ctx.response.statusCode >= 400) { + const error = $ctx.error as any | undefined; + + $ctx.logger.error({ + event: "request.end", + status: $ctx.response.statusCode, + status_code: String($ctx.response.statusCode), + state: "KO", + ...cleanObject({ + error_name: error?.name || error?.code, + error_message: error?.message, + error_errors: error?.errors, + error_stack: error?.stack, + error_body: error?.body, + error_headers: error?.headers + }) + }); + } else { + $ctx.logger.info({ + event: "request.end", + status: $ctx.response.statusCode, + status_code: String($ctx.response.statusCode), + state: "OK" + }); + } +} diff --git a/packages/engines/tsconfig.cjs.json b/packages/platform/platform-log-request/tsconfig.esm.json similarity index 78% rename from packages/engines/tsconfig.cjs.json rename to packages/platform/platform-log-request/tsconfig.esm.json index ab4caf25857..8954049da4a 100644 --- a/packages/engines/tsconfig.cjs.json +++ b/packages/platform/platform-log-request/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node", "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, + "outDir": "./lib/esm", "declarationDir": "./lib/types", + "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/orm/typeorm/tsconfig.json b/packages/platform/platform-log-request/tsconfig.json similarity index 62% rename from packages/orm/typeorm/tsconfig.json rename to packages/platform/platform-log-request/tsconfig.json index 0e0b63ab8f9..d548a61b586 100644 --- a/packages/orm/typeorm/tsconfig.json +++ b/packages/platform/platform-log-request/tsconfig.json @@ -6,20 +6,14 @@ }, "include": [], "references": [ - { - "path": "../../core/tsconfig.json" - }, { "path": "../../di/tsconfig.json" }, { - "path": "../../specs/json-mapper/tsconfig.json" - }, - { - "path": "../../specs/schema/tsconfig.json" + "path": "../platform-middlewares/tsconfig.json" }, { - "path": "./tsconfig.cjs.json" + "path": "../platform-params/tsconfig.json" }, { "path": "./tsconfig.esm.json" diff --git a/packages/platform/platform-log-request/tsconfig.spec.json b/packages/platform/platform-log-request/tsconfig.spec.json new file mode 100644 index 00000000000..4093230fb5d --- /dev/null +++ b/packages/platform/platform-log-request/tsconfig.spec.json @@ -0,0 +1,35 @@ +{ + "extends": "@tsed/typescript/tsconfig.node.json", + "compilerOptions": { + "baseUrl": ".", + "rootDir": "../..", + "declaration": false, + "composite": false, + "noEmit": true, + "paths": { + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../platform-params/src/index.ts"], + "@tsed/platform-response-filter": ["../platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../platform-router/src/index.ts"], + "@tsed/platform-views": ["../platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../platform-express/src/index.ts"], + "@tsed/platform-koa": ["../platform-koa/src/index.ts"] + }, + "types": ["vite/client", "vitest/globals"] + }, + "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], + "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] +} diff --git a/packages/orm/typeorm/vitest.config.mts b/packages/platform/platform-log-request/vitest.config.mts similarity index 74% rename from packages/orm/typeorm/vitest.config.mts rename to packages/platform/platform-log-request/vitest.config.mts index d759e817941..7d6f87fae21 100644 --- a/packages/orm/typeorm/vitest.config.mts +++ b/packages/platform/platform-log-request/vitest.config.mts @@ -10,10 +10,10 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 100, + branches: 100, + functions: 100, + lines: 100 } } } diff --git a/packages/platform/platform-middlewares/package.json b/packages/platform/platform-middlewares/package.json index 6de203bf624..ca794164b8b 100644 --- a/packages/platform/platform-middlewares/package.json +++ b/packages/platform/platform-middlewares/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/platform-middlewares", "description": "Middlewares module for Ts.ED Framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -23,7 +22,7 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -31,14 +30,14 @@ "@tsed/di": "workspace:*", "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/schema": "7.83.3" + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10" }, "peerDependenciesMeta": { "@tsed/core": { diff --git a/packages/platform/platform-middlewares/src/decorators/authOptions.spec.ts b/packages/platform/platform-middlewares/src/decorators/authOptions.spec.ts index cee09ad48ca..4c4ac7c62f7 100644 --- a/packages/platform/platform-middlewares/src/decorators/authOptions.spec.ts +++ b/packages/platform/platform-middlewares/src/decorators/authOptions.spec.ts @@ -1,4 +1,5 @@ import {decoratorArgs, prototypeOf, Store, UnsupportedDecoratorType} from "@tsed/core"; + import {AuthOptions} from "./authOptions.js"; class Guard { diff --git a/packages/platform/platform-middlewares/src/decorators/use.spec.ts b/packages/platform/platform-middlewares/src/decorators/use.spec.ts index 0c920a73edf..fd5e619a032 100644 --- a/packages/platform/platform-middlewares/src/decorators/use.spec.ts +++ b/packages/platform/platform-middlewares/src/decorators/use.spec.ts @@ -1,5 +1,6 @@ import {EndpointMetadata} from "@tsed/common"; import {Store} from "@tsed/core"; + import {Use} from "./use.js"; describe("Use()", () => { diff --git a/packages/platform/platform-middlewares/src/decorators/useAfter.spec.ts b/packages/platform/platform-middlewares/src/decorators/useAfter.spec.ts index 33fae8f78b2..50802b36237 100644 --- a/packages/platform/platform-middlewares/src/decorators/useAfter.spec.ts +++ b/packages/platform/platform-middlewares/src/decorators/useAfter.spec.ts @@ -1,5 +1,6 @@ -import {Store, UnsupportedDecoratorType} from "@tsed/core"; import {EndpointMetadata} from "@tsed/common"; +import {Store, UnsupportedDecoratorType} from "@tsed/core"; + import {UseAfter} from "./useAfter.js"; class CustomMiddleware { diff --git a/packages/platform/platform-middlewares/src/decorators/useAuth.spec.ts b/packages/platform/platform-middlewares/src/decorators/useAuth.spec.ts index b34ef562393..2501e13d881 100644 --- a/packages/platform/platform-middlewares/src/decorators/useAuth.spec.ts +++ b/packages/platform/platform-middlewares/src/decorators/useAuth.spec.ts @@ -1,5 +1,6 @@ import {EndpointMetadata} from "@tsed/common"; import {decoratorArgs, prototypeOf, Store, UnsupportedDecoratorType} from "@tsed/core"; + import {UseAuth} from "./useAuth.js"; class Guard { diff --git a/packages/platform/platform-middlewares/src/decorators/useAuth.ts b/packages/platform/platform-middlewares/src/decorators/useAuth.ts index 79b6171a772..bffa444aeb4 100644 --- a/packages/platform/platform-middlewares/src/decorators/useAuth.ts +++ b/packages/platform/platform-middlewares/src/decorators/useAuth.ts @@ -9,6 +9,7 @@ import { UnsupportedDecoratorType, useDecorators } from "@tsed/core"; + import {AuthOptions} from "./authOptions.js"; import {UseBefore} from "./useBefore.js"; diff --git a/packages/platform/platform-middlewares/src/decorators/useBefore.spec.ts b/packages/platform/platform-middlewares/src/decorators/useBefore.spec.ts index 4429955739a..310cfd5cfba 100644 --- a/packages/platform/platform-middlewares/src/decorators/useBefore.spec.ts +++ b/packages/platform/platform-middlewares/src/decorators/useBefore.spec.ts @@ -1,5 +1,6 @@ import {EndpointMetadata} from "@tsed/common"; import {Store, UnsupportedDecoratorType} from "@tsed/core"; + import {UseBefore} from "./useBefore.js"; class CustomMiddleware { diff --git a/packages/platform/platform-middlewares/src/decorators/useBeforeEach.spec.ts b/packages/platform/platform-middlewares/src/decorators/useBeforeEach.spec.ts index feb683180a9..7ebf42f29a0 100644 --- a/packages/platform/platform-middlewares/src/decorators/useBeforeEach.spec.ts +++ b/packages/platform/platform-middlewares/src/decorators/useBeforeEach.spec.ts @@ -1,5 +1,6 @@ import {EndpointMetadata} from "@tsed/common"; import {UnsupportedDecoratorType} from "@tsed/core"; + import {UseBeforeEach} from "./useBeforeEach.js"; class CustomMiddleware { diff --git a/packages/platform/platform-middlewares/src/decorators/useBeforeEach.ts b/packages/platform/platform-middlewares/src/decorators/useBeforeEach.ts index 9367e04d087..146a8bd38fb 100644 --- a/packages/platform/platform-middlewares/src/decorators/useBeforeEach.ts +++ b/packages/platform/platform-middlewares/src/decorators/useBeforeEach.ts @@ -1,4 +1,5 @@ import {decorateMethodsOf, DecoratorParameters, decoratorTypeOf, DecoratorTypes, UnsupportedDecoratorType} from "@tsed/core"; + import {UseBefore} from "./useBefore.js"; /** diff --git a/packages/platform/platform-middlewares/src/utils/getMiddlewaresForHook.ts b/packages/platform/platform-middlewares/src/utils/getMiddlewaresForHook.ts index 354ee5db86f..ff3f7a3da31 100644 --- a/packages/platform/platform-middlewares/src/utils/getMiddlewaresForHook.ts +++ b/packages/platform/platform-middlewares/src/utils/getMiddlewaresForHook.ts @@ -1,4 +1,5 @@ import {DIConfiguration} from "@tsed/di"; + import {PlatformMiddlewareLoadingOptions} from "../domain/PlatformMiddlewareSettings.js"; export function getMiddlewaresForHook(hook: string, settings: DIConfiguration, defaultHook = "") { diff --git a/packages/platform/platform-middlewares/src/utils/getMiddlewaresForHooks.spec.ts b/packages/platform/platform-middlewares/src/utils/getMiddlewaresForHooks.spec.ts index 312a0623315..dd840d008ba 100644 --- a/packages/platform/platform-middlewares/src/utils/getMiddlewaresForHooks.spec.ts +++ b/packages/platform/platform-middlewares/src/utils/getMiddlewaresForHooks.spec.ts @@ -1,4 +1,5 @@ import {DIConfiguration} from "@tsed/di"; + import {getMiddlewaresForHook} from "./getMiddlewaresForHook.js"; describe("getMiddlewaresForHooks", () => { diff --git a/packages/platform/platform-middlewares/tsconfig.cjs.json b/packages/platform/platform-middlewares/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/platform/platform-middlewares/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/platform/platform-middlewares/tsconfig.esm.json b/packages/platform/platform-middlewares/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/platform/platform-middlewares/tsconfig.esm.json +++ b/packages/platform/platform-middlewares/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/platform/platform-middlewares/tsconfig.json b/packages/platform/platform-middlewares/tsconfig.json index f8d3bb7cbaf..3de218e3d21 100644 --- a/packages/platform/platform-middlewares/tsconfig.json +++ b/packages/platform/platform-middlewares/tsconfig.json @@ -15,9 +15,6 @@ { "path": "../../specs/schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/platform/platform-middlewares/tsconfig.spec.json b/packages/platform/platform-middlewares/tsconfig.spec.json index e69b80b2b2d..989ad7ec90a 100644 --- a/packages/platform/platform-middlewares/tsconfig.spec.json +++ b/packages/platform/platform-middlewares/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../platform-exceptions/src"], - "@tsed/platform-params": ["../platform-params/src"], - "@tsed/platform-log-middleware": ["../platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../platform-response-filter/src"], - "@tsed/platform-router": ["../platform-router/src"], - "@tsed/platform-views": ["../platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../platform-test-sdk/src"], - "@tsed/platform-express": ["../platform-express/src"], - "@tsed/platform-koa": ["../platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../platform-exceptions/src/index.ts"], + "@tsed/platform-params": ["../platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../platform-router/src/index.ts"], + "@tsed/platform-views": ["../platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../platform-express/src/index.ts"], + "@tsed/platform-koa": ["../platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/platform/platform-params/package.json b/packages/platform/platform-params/package.json index 719037c3437..7cb13e3ab43 100644 --- a/packages/platform/platform-params/package.json +++ b/packages/platform/platform-params/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/platform-params", "description": "Params module for Ts.ED Framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -23,7 +22,7 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -33,16 +32,16 @@ "@tsed/json-mapper": "workspace:*", "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/exceptions": "7.83.3", - "@tsed/json-mapper": "7.83.3", - "@tsed/schema": "7.83.3" + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/exceptions": "8.0.0-alpha.10", + "@tsed/json-mapper": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10" }, "peerDependenciesMeta": { "@tsed/core": { diff --git a/packages/platform/platform-params/src/builder/PlatformParams.spec.ts b/packages/platform/platform-params/src/builder/PlatformParams.spec.ts index d5a10b18e8d..d571bec690d 100644 --- a/packages/platform/platform-params/src/builder/PlatformParams.spec.ts +++ b/packages/platform/platform-params/src/builder/PlatformParams.spec.ts @@ -1,5 +1,6 @@ import {PlatformTest, ProviderScope} from "@tsed/common"; import {Injectable} from "@tsed/di"; + import {buildPlatformParams, invokePlatformParams} from "../../test/helpers/buildPlatformParams.js"; import {PathParams} from "../decorators/pathParams.js"; import {QueryParams} from "../decorators/queryParams.js"; diff --git a/packages/platform/platform-params/src/builder/PlatformParams.ts b/packages/platform/platform-params/src/builder/PlatformParams.ts index 2c8d6d6846c..5ee51105471 100644 --- a/packages/platform/platform-params/src/builder/PlatformParams.ts +++ b/packages/platform/platform-params/src/builder/PlatformParams.ts @@ -1,5 +1,6 @@ import {DIContext, Inject, Injectable, InjectorService, ProviderScope, TokenProvider} from "@tsed/di"; import {JsonMethodStore, JsonParameterStore, PipeMethods} from "@tsed/schema"; + import {ParamValidationError} from "../errors/ParamValidationError.js"; import {ParseExpressionPipe} from "../pipes/ParseExpressionPipe.js"; diff --git a/packages/platform/platform-params/src/decorators/bodyParams.spec.ts b/packages/platform/platform-params/src/decorators/bodyParams.spec.ts index 6525f07da72..ad6078a215b 100644 --- a/packages/platform/platform-params/src/decorators/bodyParams.spec.ts +++ b/packages/platform/platform-params/src/decorators/bodyParams.spec.ts @@ -1,5 +1,6 @@ import {Controller} from "@tsed/di"; import {getSpec, JsonParameterStore, Post, SpecTypes} from "@tsed/schema"; + import {ParamTypes} from "../domain/ParamTypes.js"; import {BodyParams, RawBodyParams} from "./bodyParams.js"; diff --git a/packages/platform/platform-params/src/decorators/bodyParams.ts b/packages/platform/platform-params/src/decorators/bodyParams.ts index 46a7b8669d4..be46c250b22 100644 --- a/packages/platform/platform-params/src/decorators/bodyParams.ts +++ b/packages/platform/platform-params/src/decorators/bodyParams.ts @@ -1,8 +1,9 @@ import {Type} from "@tsed/core"; + import {ParamOptions} from "../domain/ParamOptions.js"; import {ParamTypes} from "../domain/ParamTypes.js"; -import {UseParam} from "./useParam.js"; import {mapParamsOptions} from "../utils/mapParamsOptions.js"; +import {UseParam} from "./useParam.js"; /** * BodyParams return the value from [request.body](http://expressjs.com/en/4x/api.html#req.body) object. diff --git a/packages/platform/platform-params/src/decorators/context.spec.ts b/packages/platform/platform-params/src/decorators/context.spec.ts index 48f5951aaaa..c1f34c86ad7 100644 --- a/packages/platform/platform-params/src/decorators/context.spec.ts +++ b/packages/platform/platform-params/src/decorators/context.spec.ts @@ -1,8 +1,9 @@ +import {JsonParameterStore} from "@tsed/schema"; + import {ParamTypes} from "../domain/ParamTypes.js"; import {Context} from "./context.js"; -import {JsonParameterStore} from "@tsed/schema"; -describe("@Context ", () => { +describe("@Context", () => { it("should call ParamFilter.useParam method with the correct parameters", () => { class Ctrl { test(@Context("expression") test: any) {} diff --git a/packages/platform/platform-params/src/decorators/context.ts b/packages/platform/platform-params/src/decorators/context.ts index 9dcab61a6a2..7b1e0251675 100644 --- a/packages/platform/platform-params/src/decorators/context.ts +++ b/packages/platform/platform-params/src/decorators/context.ts @@ -1,4 +1,5 @@ import {BaseContext} from "@tsed/di"; + import {ParamTypes} from "../domain/ParamTypes.js"; import {mapParamsOptions} from "../utils/mapParamsOptions.js"; import {UseParam} from "./useParam.js"; diff --git a/packages/platform/platform-params/src/decorators/cookies.spec.ts b/packages/platform/platform-params/src/decorators/cookies.spec.ts index 0a07fcd1990..fc75b906a05 100644 --- a/packages/platform/platform-params/src/decorators/cookies.spec.ts +++ b/packages/platform/platform-params/src/decorators/cookies.spec.ts @@ -1,6 +1,7 @@ +import {JsonParameterStore} from "@tsed/schema"; + import {ParamTypes} from "../domain/ParamTypes.js"; import {Cookies} from "./cookies.js"; -import {JsonParameterStore} from "@tsed/schema"; describe("@Cookies", () => { it("should call ParamFilter.useParam method with the correct parameters", () => { diff --git a/packages/platform/platform-params/src/decorators/cookies.ts b/packages/platform/platform-params/src/decorators/cookies.ts index cc334148181..a08b949daf8 100644 --- a/packages/platform/platform-params/src/decorators/cookies.ts +++ b/packages/platform/platform-params/src/decorators/cookies.ts @@ -1,4 +1,5 @@ import {Type} from "@tsed/core"; + import {ParamOptions} from "../domain/ParamOptions.js"; import {ParamTypes} from "../domain/ParamTypes.js"; import {mapParamsOptions} from "../utils/mapParamsOptions.js"; diff --git a/packages/platform/platform-params/src/decorators/headerParams.spec.ts b/packages/platform/platform-params/src/decorators/headerParams.spec.ts index e79d2382bf0..b9ef25d5b06 100644 --- a/packages/platform/platform-params/src/decorators/headerParams.spec.ts +++ b/packages/platform/platform-params/src/decorators/headerParams.spec.ts @@ -1,6 +1,7 @@ +import {JsonParameterStore} from "@tsed/schema"; + import {ParamTypes} from "../domain/ParamTypes.js"; import {HeaderParams} from "./headerParams.js"; -import {JsonParameterStore} from "@tsed/schema"; describe("@HeaderParams", () => { it("should call ParamFilter.useParam method with the correct parameters", () => { diff --git a/packages/platform/platform-params/src/decorators/headerParams.ts b/packages/platform/platform-params/src/decorators/headerParams.ts index 7cb5c2bda35..c7e5ace7695 100644 --- a/packages/platform/platform-params/src/decorators/headerParams.ts +++ b/packages/platform/platform-params/src/decorators/headerParams.ts @@ -1,8 +1,9 @@ import {Type} from "@tsed/core"; + +import {ParamOptions} from "../domain/ParamOptions.js"; import {ParamTypes} from "../domain/ParamTypes.js"; -import {UseParam} from "./useParam.js"; import {mapParamsOptions} from "../utils/mapParamsOptions.js"; -import {ParamOptions} from "../domain/ParamOptions.js"; +import {UseParam} from "./useParam.js"; /** * HeaderParams return the value from [`request.get()`](http://expressjs.com/en/4x/api.html#req.get) method. diff --git a/packages/platform/platform-params/src/decorators/locals.spec.ts b/packages/platform/platform-params/src/decorators/locals.spec.ts index 26dac9829f5..e6573120df7 100644 --- a/packages/platform/platform-params/src/decorators/locals.spec.ts +++ b/packages/platform/platform-params/src/decorators/locals.spec.ts @@ -1,6 +1,7 @@ +import {JsonParameterStore} from "@tsed/schema"; + import {ParamTypes} from "../domain/ParamTypes.js"; import {Locals} from "./locals.js"; -import {JsonParameterStore} from "@tsed/schema"; describe("@Locals", () => { it("should call ParamFilter.useParam method with the correct parameters", () => { diff --git a/packages/platform/platform-params/src/decorators/pathParams.spec.ts b/packages/platform/platform-params/src/decorators/pathParams.spec.ts index 124590dc736..7b454460439 100644 --- a/packages/platform/platform-params/src/decorators/pathParams.spec.ts +++ b/packages/platform/platform-params/src/decorators/pathParams.spec.ts @@ -1,4 +1,5 @@ import {JsonParameterStore} from "@tsed/schema"; + import {ParamTypes} from "../domain/ParamTypes.js"; import {PathParams, RawPathParams} from "./pathParams.js"; diff --git a/packages/platform/platform-params/src/decorators/pathParams.ts b/packages/platform/platform-params/src/decorators/pathParams.ts index 19bf466856a..aef9e000ec1 100644 --- a/packages/platform/platform-params/src/decorators/pathParams.ts +++ b/packages/platform/platform-params/src/decorators/pathParams.ts @@ -1,4 +1,5 @@ import {Type} from "@tsed/core"; + import {ParamOptions} from "../domain/ParamOptions.js"; import {ParamTypes} from "../domain/ParamTypes.js"; import {mapParamsOptions} from "../utils/mapParamsOptions.js"; diff --git a/packages/platform/platform-params/src/decorators/queryParams.spec.ts b/packages/platform/platform-params/src/decorators/queryParams.spec.ts index 654adb9dedc..0c6da382e53 100644 --- a/packages/platform/platform-params/src/decorators/queryParams.spec.ts +++ b/packages/platform/platform-params/src/decorators/queryParams.spec.ts @@ -1,4 +1,5 @@ import {JsonParameterStore} from "@tsed/schema"; + import {ParamTypes} from "../domain/ParamTypes.js"; import {QueryParams, RawQueryParams} from "./queryParams.js"; diff --git a/packages/platform/platform-params/src/decorators/queryParams.ts b/packages/platform/platform-params/src/decorators/queryParams.ts index ef213f3ec9b..c79e0fc6acc 100644 --- a/packages/platform/platform-params/src/decorators/queryParams.ts +++ b/packages/platform/platform-params/src/decorators/queryParams.ts @@ -1,4 +1,5 @@ import {Type} from "@tsed/core"; + import {ParamOptions} from "../domain/ParamOptions.js"; import {ParamTypes} from "../domain/ParamTypes.js"; import {mapParamsOptions} from "../utils/mapParamsOptions.js"; diff --git a/packages/platform/platform-params/src/decorators/session.spec.ts b/packages/platform/platform-params/src/decorators/session.spec.ts index 58f0904e91c..ca6f62d20b1 100644 --- a/packages/platform/platform-params/src/decorators/session.spec.ts +++ b/packages/platform/platform-params/src/decorators/session.spec.ts @@ -1,7 +1,8 @@ -import {Session} from "./session.js"; -import {ParamTypes} from "../domain/ParamTypes.js"; import {JsonParameterStore} from "@tsed/schema"; +import {ParamTypes} from "../domain/ParamTypes.js"; +import {Session} from "./session.js"; + describe("@Session", () => { it("should declare a session params", () => { class Test {} diff --git a/packages/platform/platform-params/src/decorators/useParam.spec.ts b/packages/platform/platform-params/src/decorators/useParam.spec.ts index 75edf184d01..0215ea5e2a9 100644 --- a/packages/platform/platform-params/src/decorators/useParam.spec.ts +++ b/packages/platform/platform-params/src/decorators/useParam.spec.ts @@ -1,5 +1,5 @@ -import {Get} from "@tsed/common"; -import {Description, Example, getSpec, JsonParameterStore, Property, Required, SpecTypes, Title} from "@tsed/schema"; +import {Description, Example, Get, getSpec, JsonParameterStore, Property, Required, SpecTypes, Title} from "@tsed/schema"; + import {ParamTypes} from "../domain/ParamTypes.js"; import {QueryParams} from "./queryParams.js"; import {UseParam} from "./useParam.js"; diff --git a/packages/platform/platform-params/src/decorators/useParam.ts b/packages/platform/platform-params/src/decorators/useParam.ts index 817570dc4d3..b276b56a8b1 100644 --- a/packages/platform/platform-params/src/decorators/useParam.ts +++ b/packages/platform/platform-params/src/decorators/useParam.ts @@ -1,4 +1,5 @@ import {useDecorators} from "@tsed/core"; + import {ParamOptions} from "../domain/ParamOptions.js"; import {ParamTypes} from "../domain/ParamTypes.js"; import {UseDeserialization} from "./useDeserialization.js"; diff --git a/packages/platform/platform-params/src/decorators/useParamType.ts b/packages/platform/platform-params/src/decorators/useParamType.ts index 681a2167985..3cd9dde2a9f 100644 --- a/packages/platform/platform-params/src/decorators/useParamType.ts +++ b/packages/platform/platform-params/src/decorators/useParamType.ts @@ -1,9 +1,10 @@ import {isBuffer, useDecorators} from "@tsed/core"; import {isParameterType, Name} from "@tsed/schema"; -import {ParamFn} from "./paramFn.js"; + import {ParamOptions} from "../domain/ParamOptions.js"; -import {UseParamExpression} from "./useParamExpression.js"; import {PARAM_TYPES_DATA_PATH, ParamTypes} from "../domain/ParamTypes.js"; +import {ParamFn} from "./paramFn.js"; +import {UseParamExpression} from "./useParamExpression.js"; /** * Get the object from request (like body, params, query, etc...). diff --git a/packages/platform/platform-params/src/decorators/usePipe.ts b/packages/platform/platform-params/src/decorators/usePipe.ts index ceab0410417..5a1587a874f 100644 --- a/packages/platform/platform-params/src/decorators/usePipe.ts +++ b/packages/platform/platform-params/src/decorators/usePipe.ts @@ -1,5 +1,6 @@ import {Type} from "@tsed/core"; import {PipeMethods} from "@tsed/schema"; + import {ParamFn} from "./paramFn.js"; /** diff --git a/packages/platform/platform-params/src/decorators/useType.ts b/packages/platform/platform-params/src/decorators/useType.ts index 7b2b8c6fe55..709dc06a771 100644 --- a/packages/platform/platform-params/src/decorators/useType.ts +++ b/packages/platform/platform-params/src/decorators/useType.ts @@ -1,5 +1,6 @@ import {Type} from "@tsed/core"; import {Any, CollectionOf, type JsonParameterStore} from "@tsed/schema"; + import {ParamFn} from "./paramFn.js"; function shouldFallBackToAny(entity: JsonParameterStore) { diff --git a/packages/platform/platform-params/src/errors/ParamValidationError.spec.ts b/packages/platform/platform-params/src/errors/ParamValidationError.spec.ts index 51db1c9d6f5..8e21c11e748 100644 --- a/packages/platform/platform-params/src/errors/ParamValidationError.spec.ts +++ b/packages/platform/platform-params/src/errors/ParamValidationError.spec.ts @@ -1,4 +1,5 @@ import {RequiredValidationError, ValidationError} from "@tsed/common"; + import {ParamValidationError} from "./ParamValidationError.js"; describe("ParseExpressionError", () => { diff --git a/packages/platform/platform-params/src/errors/ParamValidationError.ts b/packages/platform/platform-params/src/errors/ParamValidationError.ts index 2d5efcacde3..062559eb87e 100644 --- a/packages/platform/platform-params/src/errors/ParamValidationError.ts +++ b/packages/platform/platform-params/src/errors/ParamValidationError.ts @@ -1,6 +1,7 @@ import {nameOf} from "@tsed/core"; import {BadRequest} from "@tsed/exceptions"; import {JsonParameterStore} from "@tsed/schema"; + import {ValidationError} from "./ValidationError.js"; export class ParamValidationError extends BadRequest { diff --git a/packages/platform/platform-params/src/errors/RequiredValidationError.ts b/packages/platform/platform-params/src/errors/RequiredValidationError.ts index 723b0b4d5a2..4a3b2c97795 100644 --- a/packages/platform/platform-params/src/errors/RequiredValidationError.ts +++ b/packages/platform/platform-params/src/errors/RequiredValidationError.ts @@ -1,7 +1,8 @@ import {nameOf} from "@tsed/core"; -import {ValidationError} from "./ValidationError.js"; import {JsonParameterStore} from "@tsed/schema"; +import {ValidationError} from "./ValidationError.js"; + export class RequiredValidationError extends ValidationError { public name: string = "REQUIRED_VALIDATION_ERROR"; diff --git a/packages/platform/platform-params/src/pipes/DeserializerPipe.spec.ts b/packages/platform/platform-params/src/pipes/DeserializerPipe.spec.ts index e1f146781bf..288c80312f1 100644 --- a/packages/platform/platform-params/src/pipes/DeserializerPipe.spec.ts +++ b/packages/platform/platform-params/src/pipes/DeserializerPipe.spec.ts @@ -1,8 +1,9 @@ import {PlatformTest} from "@tsed/common"; +import {JsonParameterStore} from "@tsed/schema"; + import {BodyParams} from "../decorators/bodyParams.js"; import {QueryParams} from "../decorators/queryParams.js"; import {DeserializerPipe} from "./DeserializerPipe.js"; -import {JsonParameterStore} from "@tsed/schema"; describe("DeserializerPipe", () => { beforeEach(PlatformTest.create); diff --git a/packages/platform/platform-params/src/pipes/ParseExpressionPipe.spec.ts b/packages/platform/platform-params/src/pipes/ParseExpressionPipe.spec.ts index 5a10b439d2d..c794ba6802a 100644 --- a/packages/platform/platform-params/src/pipes/ParseExpressionPipe.spec.ts +++ b/packages/platform/platform-params/src/pipes/ParseExpressionPipe.spec.ts @@ -1,7 +1,8 @@ import {ParamTypes, PlatformTest} from "@tsed/common"; -import {ParseExpressionPipe} from "./ParseExpressionPipe.js"; -import {JsonParameterStore} from "@tsed/schema"; import {DecoratorTypes} from "@tsed/core"; +import {JsonParameterStore} from "@tsed/schema"; + +import {ParseExpressionPipe} from "./ParseExpressionPipe.js"; describe("ParseExpressionPipe", () => { beforeEach(PlatformTest.create); diff --git a/packages/platform/platform-params/src/pipes/ParseExpressionPipe.ts b/packages/platform/platform-params/src/pipes/ParseExpressionPipe.ts index f5d2f60328b..2a780993138 100644 --- a/packages/platform/platform-params/src/pipes/ParseExpressionPipe.ts +++ b/packages/platform/platform-params/src/pipes/ParseExpressionPipe.ts @@ -1,6 +1,7 @@ import {getValue} from "@tsed/core"; import {Injectable} from "@tsed/di"; import {JsonParameterStore, PipeMethods} from "@tsed/schema"; + import {PlatformParamsScope} from "../builder/PlatformParams.js"; import {ParamTypes} from "../domain/ParamTypes.js"; diff --git a/packages/platform/platform-params/src/pipes/ValidationPipe.spec.ts b/packages/platform/platform-params/src/pipes/ValidationPipe.spec.ts index 427ab5f3b00..1e1c88a8ecc 100644 --- a/packages/platform/platform-params/src/pipes/ValidationPipe.spec.ts +++ b/packages/platform/platform-params/src/pipes/ValidationPipe.spec.ts @@ -1,6 +1,7 @@ -import {PlatformTest, Post} from "@tsed/common"; +import {PlatformTest} from "@tsed/common"; import {catchAsyncError} from "@tsed/core"; -import {AllOf, AnyOf, CollectionOf, getSpec, JsonParameterStore, OneOf, Property, Required, SpecTypes} from "@tsed/schema"; +import {AllOf, AnyOf, CollectionOf, getSpec, JsonParameterStore, OneOf, Post, Property, Required, SpecTypes} from "@tsed/schema"; + import {BodyParams} from "../decorators/bodyParams.js"; import {PathParams} from "../decorators/pathParams.js"; import {QueryParams} from "../decorators/queryParams.js"; diff --git a/packages/platform/platform-params/src/pipes/ValidationPipe.ts b/packages/platform/platform-params/src/pipes/ValidationPipe.ts index 4f97d21cb5c..5d6da2aa777 100644 --- a/packages/platform/platform-params/src/pipes/ValidationPipe.ts +++ b/packages/platform/platform-params/src/pipes/ValidationPipe.ts @@ -1,6 +1,7 @@ import {Inject, Injectable} from "@tsed/di"; import {deserialize} from "@tsed/json-mapper"; import {getJsonSchema, JsonParameterStore, PipeMethods} from "@tsed/schema"; + import {ParamTypes} from "../domain/ParamTypes.js"; import {RequiredValidationError} from "../errors/RequiredValidationError.js"; diff --git a/packages/platform/platform-params/src/utils/mapParamsOptions.ts b/packages/platform/platform-params/src/utils/mapParamsOptions.ts index b35c93efbdf..ee4375f84ea 100644 --- a/packages/platform/platform-params/src/utils/mapParamsOptions.ts +++ b/packages/platform/platform-params/src/utils/mapParamsOptions.ts @@ -1,4 +1,5 @@ import {isObject} from "@tsed/core"; + import {ParamOptions} from "../domain/ParamOptions.js"; /** diff --git a/packages/platform/platform-params/test/helpers/buildPlatformParams.ts b/packages/platform/platform-params/test/helpers/buildPlatformParams.ts index 31f3b6e8832..697ec23f647 100644 --- a/packages/platform/platform-params/test/helpers/buildPlatformParams.ts +++ b/packages/platform/platform-params/test/helpers/buildPlatformParams.ts @@ -1,7 +1,8 @@ import {ParamOptions, PlatformParams, PlatformTest} from "@tsed/common"; +import {DecoratorTypes} from "@tsed/core"; import {JsonParameterStore} from "@tsed/schema"; + import {createFakeHandlerContext} from "./createFakeHandlerContext.js"; -import {DecoratorTypes} from "@tsed/core"; export interface TestPlatformParamsOptions extends ParamOptions { required?: boolean; diff --git a/packages/platform/platform-params/tsconfig.cjs.json b/packages/platform/platform-params/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/platform/platform-params/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/platform/platform-params/tsconfig.esm.json b/packages/platform/platform-params/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/platform/platform-params/tsconfig.esm.json +++ b/packages/platform/platform-params/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/platform/platform-params/tsconfig.json b/packages/platform/platform-params/tsconfig.json index 4f799e60509..8a0257534da 100644 --- a/packages/platform/platform-params/tsconfig.json +++ b/packages/platform/platform-params/tsconfig.json @@ -21,9 +21,6 @@ { "path": "../../specs/schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/platform/platform-params/tsconfig.spec.json b/packages/platform/platform-params/tsconfig.spec.json index a926761dcee..680c9209a98 100644 --- a/packages/platform/platform-params/tsconfig.spec.json +++ b/packages/platform/platform-params/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../platform-exceptions/src"], - "@tsed/platform-middlewares": ["../platform-middlewares/src"], - "@tsed/platform-log-middleware": ["../platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../platform-response-filter/src"], - "@tsed/platform-router": ["../platform-router/src"], - "@tsed/platform-views": ["../platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../platform-test-sdk/src"], - "@tsed/platform-express": ["../platform-express/src"], - "@tsed/platform-koa": ["../platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../platform-middlewares/src/index.ts"], + "@tsed/platform-log-middleware": ["../platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../platform-router/src/index.ts"], + "@tsed/platform-views": ["../platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../platform-express/src/index.ts"], + "@tsed/platform-koa": ["../platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/platform/platform-params/vitest.config.mts b/packages/platform/platform-params/vitest.config.mts index d759e817941..f9d941dcb43 100644 --- a/packages/platform/platform-params/vitest.config.mts +++ b/packages/platform/platform-params/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 99.2, + branches: 90.69, + functions: 100, + lines: 99.2 } } } } -); +); \ No newline at end of file diff --git a/packages/platform/platform-response-filter/package.json b/packages/platform/platform-response-filter/package.json index 629a6d0e94a..ed6b74e451a 100644 --- a/packages/platform/platform-response-filter/package.json +++ b/packages/platform/platform-response-filter/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/platform-response-filter", "description": "Platform response filter module for Ts.ED Framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -23,7 +22,7 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -33,16 +32,16 @@ "@tsed/json-mapper": "workspace:*", "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/exceptions": "7.83.3", - "@tsed/json-mapper": "7.83.3", - "@tsed/schema": "7.83.3" + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/exceptions": "8.0.0-alpha.10", + "@tsed/json-mapper": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10" }, "peerDependenciesMeta": { "@tsed/core": { diff --git a/packages/platform/platform-response-filter/src/decorators/responseFilter.ts b/packages/platform/platform-response-filter/src/decorators/responseFilter.ts index 6688cf66cbf..d47f4d7d71f 100644 --- a/packages/platform/platform-response-filter/src/decorators/responseFilter.ts +++ b/packages/platform/platform-response-filter/src/decorators/responseFilter.ts @@ -1,5 +1,6 @@ import {Type} from "@tsed/core"; import {registerProvider} from "@tsed/di"; + import {registerResponseFilter, ResponseFilterKey} from "../domain/ResponseFiltersContainer.js"; /** @@ -8,7 +9,7 @@ import {registerResponseFilter, ResponseFilterKey} from "../domain/ResponseFilte * @decorator */ export function ResponseFilter(...contentTypes: ResponseFilterKey[]): ClassDecorator { - return (target: T): void | T => { + return (target: any) => { contentTypes.forEach((contentType) => { registerResponseFilter(contentType, target as any); }); diff --git a/packages/platform/platform-response-filter/src/domain/ResponseFiltersContainer.ts b/packages/platform/platform-response-filter/src/domain/ResponseFiltersContainer.ts index 3bfd7cbb6bf..dec531642e1 100644 --- a/packages/platform/platform-response-filter/src/domain/ResponseFiltersContainer.ts +++ b/packages/platform/platform-response-filter/src/domain/ResponseFiltersContainer.ts @@ -1,4 +1,5 @@ import {Type} from "@tsed/core"; + import {ResponseFilterMethods} from "../interfaces/ResponseFilterMethods.js"; /** * @ignore diff --git a/packages/platform/platform-response-filter/src/services/PlatformResponseFilter.spec.ts b/packages/platform/platform-response-filter/src/services/PlatformResponseFilter.spec.ts index 5a4b659bd7d..2cb89c684e1 100644 --- a/packages/platform/platform-response-filter/src/services/PlatformResponseFilter.spec.ts +++ b/packages/platform/platform-response-filter/src/services/PlatformResponseFilter.spec.ts @@ -1,6 +1,7 @@ -import {Context, EndpointMetadata, Get, PlatformContext, PlatformTest, View} from "@tsed/common"; +import {Context, PlatformContext, PlatformTest} from "@tsed/common"; import {catchAsyncError} from "@tsed/core"; -import {Returns} from "@tsed/schema"; +import {EndpointMetadata, Get, Returns, View} from "@tsed/schema"; + import {ResponseFilter} from "../decorators/responseFilter.js"; import {ResponseFilterMethods} from "../interfaces/ResponseFilterMethods.js"; import {PlatformResponseFilter} from "./PlatformResponseFilter.js"; @@ -127,7 +128,7 @@ describe("PlatformResponseFilter", () => { it("should transform data for default content-type from metadata", async () => { class Test { @Get("/") - @Returns(200).ContentType("application/json") + @(Returns(200).ContentType("application/json")) test() {} } @@ -151,7 +152,7 @@ describe("PlatformResponseFilter", () => { it("should transform data for default content-type from metadata with any response filter", async () => { class Test { @Get("/") - @Returns(200).ContentType("application/json") + @(Returns(200).ContentType("application/json")) test() {} } diff --git a/packages/platform/platform-response-filter/src/services/PlatformResponseFilter.ts b/packages/platform/platform-response-filter/src/services/PlatformResponseFilter.ts index 0d1d2943386..26cb64c1756 100644 --- a/packages/platform/platform-response-filter/src/services/PlatformResponseFilter.ts +++ b/packages/platform/platform-response-filter/src/services/PlatformResponseFilter.ts @@ -1,6 +1,7 @@ import {isSerializable, Type} from "@tsed/core"; import {BaseContext, Constant, Inject, Injectable, InjectorService} from "@tsed/di"; import {serialize} from "@tsed/json-mapper"; + import {ResponseFilterKey, ResponseFiltersContainer} from "../domain/ResponseFiltersContainer.js"; import {ResponseFilterMethods} from "../interfaces/ResponseFilterMethods.js"; import {ANY_CONTENT_TYPE, getContentType} from "../utils/getContentType.js"; diff --git a/packages/platform/platform-response-filter/src/utils/getContentType.spec.ts b/packages/platform/platform-response-filter/src/utils/getContentType.spec.ts index 8ad7b71497c..26a1b4e7fb7 100644 --- a/packages/platform/platform-response-filter/src/utils/getContentType.spec.ts +++ b/packages/platform/platform-response-filter/src/utils/getContentType.spec.ts @@ -1,5 +1,6 @@ -import {PlatformTest, View} from "@tsed/common"; -import {EndpointMetadata, Get, Returns} from "@tsed/schema"; +import {PlatformTest} from "@tsed/common"; +import {EndpointMetadata, Get, Returns, View} from "@tsed/schema"; + import {getContentType} from "./getContentType.js"; describe("getContentType", () => { @@ -27,7 +28,7 @@ describe("getContentType", () => { it("should return the content type (object - application/json)", () => { class TestController { @Get("/") - @Returns(200).ContentType("application/json") + @(Returns(200).ContentType("application/json")) get() {} } @@ -48,7 +49,7 @@ describe("getContentType", () => { it("should return the content type (string - application/json)", () => { class TestController { @Get("/") - @Returns(200).ContentType("application/json") + @(Returns(200).ContentType("application/json")) get() {} } @@ -69,7 +70,7 @@ describe("getContentType", () => { it("should return the content type (string - text/html)", () => { class TestController { @Get("/") - @Returns(200).ContentType("text/html") + @(Returns(200).ContentType("text/html")) get() {} } diff --git a/packages/platform/platform-response-filter/src/utils/renderView.spec.ts b/packages/platform/platform-response-filter/src/utils/renderView.spec.ts index 1bb82f78ebf..4d153045955 100644 --- a/packages/platform/platform-response-filter/src/utils/renderView.spec.ts +++ b/packages/platform/platform-response-filter/src/utils/renderView.spec.ts @@ -1,6 +1,6 @@ -import {EndpointMetadata, Get, PlatformTest} from "@tsed/common"; -import {Ignore, Property, Returns} from "@tsed/schema"; -import {View} from "@tsed/platform-views"; +import {PlatformTest} from "@tsed/common"; +import {EndpointMetadata, Get, Ignore, Property, Returns, View} from "@tsed/schema"; + import {renderView} from "./renderView.js"; describe("renderView", () => { @@ -32,7 +32,7 @@ describe("renderView", () => { await renderView(ctx.data, ctx); - expect(ctx.response.render).toBeCalledWith("view", { + expect(ctx.response.render).toHaveBeenCalledWith("view", { $ctx: ctx, data: "data", options: "options" diff --git a/packages/platform/platform-response-filter/src/utils/renderView.ts b/packages/platform/platform-response-filter/src/utils/renderView.ts index 7b6d72b348f..280d463c326 100644 --- a/packages/platform/platform-response-filter/src/utils/renderView.ts +++ b/packages/platform/platform-response-filter/src/utils/renderView.ts @@ -1,4 +1,5 @@ import {BaseContext} from "@tsed/di"; + import {TemplateRenderError} from "../errors/TemplateRenderError.js"; export async function renderView(data: any, $ctx: BaseContext) { diff --git a/packages/platform/platform-response-filter/tsconfig.cjs.json b/packages/platform/platform-response-filter/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/platform/platform-response-filter/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/platform/platform-response-filter/tsconfig.esm.json b/packages/platform/platform-response-filter/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/platform/platform-response-filter/tsconfig.esm.json +++ b/packages/platform/platform-response-filter/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/platform/platform-response-filter/tsconfig.json b/packages/platform/platform-response-filter/tsconfig.json index 4f799e60509..8a0257534da 100644 --- a/packages/platform/platform-response-filter/tsconfig.json +++ b/packages/platform/platform-response-filter/tsconfig.json @@ -21,9 +21,6 @@ { "path": "../../specs/schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/platform/platform-response-filter/tsconfig.spec.json b/packages/platform/platform-response-filter/tsconfig.spec.json index 5d62065da7e..02140158d8b 100644 --- a/packages/platform/platform-response-filter/tsconfig.spec.json +++ b/packages/platform/platform-response-filter/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../platform-exceptions/src"], - "@tsed/platform-middlewares": ["../platform-middlewares/src"], - "@tsed/platform-params": ["../platform-params/src"], - "@tsed/platform-log-middleware": ["../platform-log-middleware/src"], - "@tsed/platform-router": ["../platform-router/src"], - "@tsed/platform-views": ["../platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../platform-test-sdk/src"], - "@tsed/platform-express": ["../platform-express/src"], - "@tsed/platform-koa": ["../platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../platform-log-middleware/src/index.ts"], + "@tsed/platform-router": ["../platform-router/src/index.ts"], + "@tsed/platform-views": ["../platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../platform-express/src/index.ts"], + "@tsed/platform-koa": ["../platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/platform/platform-response-filter/vitest.config.mts b/packages/platform/platform-response-filter/vitest.config.mts index d759e817941..d2598fb346b 100644 --- a/packages/platform/platform-response-filter/vitest.config.mts +++ b/packages/platform/platform-response-filter/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 100, + branches: 100, + functions: 100, + lines: 100 } } } } -); +); \ No newline at end of file diff --git a/packages/platform/platform-router/package.json b/packages/platform/platform-router/package.json index e5827c8d2af..0bbacd06692 100644 --- a/packages/platform/platform-router/package.json +++ b/packages/platform/platform-router/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/platform-router", "description": "Router", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -23,7 +22,7 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -34,17 +33,17 @@ "@tsed/platform-params": "workspace:*", "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/exceptions": "7.83.3", - "@tsed/json-mapper": "7.83.3", - "@tsed/platform-params": "7.83.3", - "@tsed/schema": "7.83.3" + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/exceptions": "8.0.0-alpha.10", + "@tsed/json-mapper": "8.0.0-alpha.10", + "@tsed/platform-params": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10" }, "peerDependenciesMeta": { "@tsed/core": { diff --git a/packages/platform/platform-router/src/domain/PlatformHandlerMetadata.spec.ts b/packages/platform/platform-router/src/domain/PlatformHandlerMetadata.spec.ts index b7e625d0b63..d47bd7a9b6d 100644 --- a/packages/platform/platform-router/src/domain/PlatformHandlerMetadata.spec.ts +++ b/packages/platform/platform-router/src/domain/PlatformHandlerMetadata.spec.ts @@ -2,6 +2,7 @@ import {Err, Next, Req} from "@tsed/common"; import {Controller, InjectorService} from "@tsed/di"; import {Middleware} from "@tsed/platform-middlewares"; import {Get, JsonMethodStore} from "@tsed/schema"; + import {useContextHandler} from "../utils/useContextHandler.js"; import {PlatformHandlerMetadata} from "./PlatformHandlerMetadata.js"; import {PlatformHandlerType} from "./PlatformHandlerType.js"; diff --git a/packages/platform/platform-router/src/domain/PlatformHandlerMetadata.ts b/packages/platform/platform-router/src/domain/PlatformHandlerMetadata.ts index f87c1ba27a8..c6803a167c3 100644 --- a/packages/platform/platform-router/src/domain/PlatformHandlerMetadata.ts +++ b/packages/platform/platform-router/src/domain/PlatformHandlerMetadata.ts @@ -2,6 +2,7 @@ import {nameOf} from "@tsed/core"; import {DIContext, InjectorService, Provider, ProviderScope, TokenProvider} from "@tsed/di"; import {ParamTypes} from "@tsed/platform-params"; import {EndpointMetadata, JsonEntityStore, JsonParameterStore} from "@tsed/schema"; + import {PlatformHandlerType} from "./PlatformHandlerType.js"; import {SinglePathType} from "./SinglePathType.js"; diff --git a/packages/platform/platform-router/src/domain/PlatformRouter.ts b/packages/platform/platform-router/src/domain/PlatformRouter.ts index 31aa4f1b2b7..c8011fc0247 100644 --- a/packages/platform/platform-router/src/domain/PlatformRouter.ts +++ b/packages/platform/platform-router/src/domain/PlatformRouter.ts @@ -1,6 +1,7 @@ import {isString} from "@tsed/core"; import {Injectable, InjectorService, Provider, ProviderScope, Scope} from "@tsed/di"; import {concatPath} from "@tsed/schema"; + import {formatMethod} from "../utils/formatMethod.js"; import {PlatformHandlerMetadata} from "./PlatformHandlerMetadata.js"; import {PlatformLayer, PlatformLayerOptions} from "./PlatformLayer.js"; diff --git a/packages/platform/platform-router/src/domain/PlatformRouters.ts b/packages/platform/platform-router/src/domain/PlatformRouters.ts index d82475ab810..2c019ea4fd4 100644 --- a/packages/platform/platform-router/src/domain/PlatformRouters.ts +++ b/packages/platform/platform-router/src/domain/PlatformRouters.ts @@ -2,6 +2,7 @@ import {getValue, Hooks, Type} from "@tsed/core"; import {ControllerProvider, GlobalProviders, Injectable, InjectorService, Provider, ProviderType, TokenProvider} from "@tsed/di"; import {PlatformParamsCallback} from "@tsed/platform-params"; import {concatPath, getOperationsRoutes, JsonMethodStore, OPERATION_HTTP_VERBS} from "@tsed/schema"; + import {useContextHandler} from "../utils/useContextHandler.js"; import {PlatformHandlerMetadata} from "./PlatformHandlerMetadata.js"; import {PlatformLayer} from "./PlatformLayer.js"; diff --git a/packages/platform/platform-router/src/utils/formatMethod.ts b/packages/platform/platform-router/src/utils/formatMethod.ts index 4649a4b95b7..6c878b1a846 100644 --- a/packages/platform/platform-router/src/utils/formatMethod.ts +++ b/packages/platform/platform-router/src/utils/formatMethod.ts @@ -1,5 +1,5 @@ -import {OperationMethods} from "@tsed/schema"; +import {OperationVerbs} from "@tsed/schema"; export function formatMethod(method: string | undefined) { - return (method === OperationMethods.CUSTOM ? "use" : method || "use").toLowerCase(); + return (method === OperationVerbs.CUSTOM ? "use" : method || "use").toLowerCase(); } diff --git a/packages/platform/platform-router/src/utils/useContextHandler.ts b/packages/platform/platform-router/src/utils/useContextHandler.ts index a9e965ba7b7..f361183fcd8 100644 --- a/packages/platform/platform-router/src/utils/useContextHandler.ts +++ b/packages/platform/platform-router/src/utils/useContextHandler.ts @@ -1,4 +1,5 @@ import {DIContext} from "@tsed/di"; + import {PlatformHandlerType} from "../domain/PlatformHandlerType.js"; export type PlatformContextHandler = ($ctx: Context) => any | Promise; diff --git a/packages/platform/platform-router/test/__snapshots__/routers.integration.spec.ts.snap b/packages/platform/platform-router/test/__snapshots__/routers.integration.spec.ts.snap index a23bf7721db..78750cfb009 100644 --- a/packages/platform/platform-router/test/__snapshots__/routers.integration.spec.ts.snap +++ b/packages/platform/platform-router/test/__snapshots__/routers.integration.spec.ts.snap @@ -396,400 +396,3 @@ exports[`routers integration > getLayers() > should declare router 1`] = ` }, ] `; - -exports[`routers integration getLayers() should declare router - appRouter 1`] = ` -Array [ - Object { - "basePath": "/rest", - "handlers": Array [ - "", - "useBefore", - "MyController.get", - "", - ], - "method": "get", - "opts": Object { - "basePath": "/controller", - "endpoint": "MyController:get", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "MyController", - }, - "path": "/rest/controller", - }, - Object { - "basePath": "/rest", - "handlers": Array [ - "", - "useBefore", - "MyController.post", - "", - ], - "method": "post", - "opts": Object { - "basePath": "/controller", - "endpoint": "MyController:post", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "MyController", - }, - "path": "/rest/controller", - }, - Object { - "basePath": "/rest", - "handlers": Array [ - "", - "useBefore", - "MyController.put", - "", - ], - "method": "put", - "opts": Object { - "basePath": "/controller", - "endpoint": "MyController:put", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "MyController", - }, - "path": "/rest/controller/:id", - }, - Object { - "basePath": "/rest", - "handlers": Array [ - "", - "useBefore", - "MyController.delete", - "", - ], - "method": "delete", - "opts": Object { - "basePath": "/controller", - "endpoint": "MyController:delete", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "MyController", - }, - "path": "/rest/controller/:id", - }, - Object { - "basePath": "/rest", - "handlers": Array [ - "", - "useBefore", - "MyController.head", - "", - ], - "method": "head", - "opts": Object { - "basePath": "/controller", - "endpoint": "MyController:head", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "MyController", - }, - "path": "/rest/controller/:id", - }, - Object { - "basePath": "/rest", - "handlers": Array [ - "", - "useBefore", - "MyController.option", - "", - ], - "method": "options", - "opts": Object { - "basePath": "/controller", - "endpoint": "MyController:option", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "MyController", - }, - "path": "/rest/controller/:id", - }, - Object { - "basePath": "/rest", - "handlers": Array [ - "", - "useBefore", - "MyController.patch", - "", - ], - "method": "patch", - "opts": Object { - "basePath": "/controller", - "endpoint": "MyController:patch", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "MyController", - }, - "path": "/rest/controller/:id", - }, - Object { - "basePath": "/rest/controller", - "handlers": Array [ - "", - "useBefore", - "NestedController.get", - "", - ], - "method": "get", - "opts": Object { - "basePath": "/nested", - "endpoint": "NestedController:get", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "NestedController", - }, - "path": "/rest/controller/nested", - }, - Object { - "basePath": "/rest/controller", - "handlers": Array [ - "", - "useBefore", - "NestedController.post", - "", - ], - "method": "post", - "opts": Object { - "basePath": "/nested", - "endpoint": "NestedController:post", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "NestedController", - }, - "path": "/rest/controller/nested", - }, - Object { - "basePath": "/rest/controller", - "handlers": Array [ - "", - "useBefore", - "NestedController.put", - "", - ], - "method": "put", - "opts": Object { - "basePath": "/nested", - "endpoint": "NestedController:put", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "NestedController", - }, - "path": "/rest/controller/nested/:id", - }, - Object { - "basePath": "/rest/controller", - "handlers": Array [ - "", - "useBefore", - "NestedController.delete", - "", - ], - "method": "delete", - "opts": Object { - "basePath": "/nested", - "endpoint": "NestedController:delete", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "NestedController", - }, - "path": "/rest/controller/nested/:id", - }, - Object { - "basePath": "/rest/controller", - "handlers": Array [ - "", - "useBefore", - "NestedController.head", - "", - ], - "method": "head", - "opts": Object { - "basePath": "/nested", - "endpoint": "NestedController:head", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "NestedController", - }, - "path": "/rest/controller/nested/:id", - }, - Object { - "basePath": "/rest/controller", - "handlers": Array [ - "", - "useBefore", - "NestedController.option", - "", - ], - "method": "options", - "opts": Object { - "basePath": "/nested", - "endpoint": "NestedController:option", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "NestedController", - }, - "path": "/rest/controller/nested/:id", - }, - Object { - "basePath": "/rest/controller", - "handlers": Array [ - "", - "useBefore", - "NestedController.patch", - "", - ], - "method": "patch", - "opts": Object { - "basePath": "/nested", - "endpoint": "NestedController:patch", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "NestedController", - }, - "path": "/rest/controller/nested/:id", - }, -] -`; - -exports[`routers integration getLayers() should declare router 1`] = ` -Array [ - Object { - "basePath": "", - "handlers": Array [ - "", - "useBefore", - "MyController.get", - "", - ], - "method": "get", - "opts": Object { - "basePath": "/controller", - "endpoint": "MyController:get", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "MyController", - }, - "path": "/controller", - }, - Object { - "basePath": "", - "handlers": Array [ - "", - "useBefore", - "MyController.post", - "", - ], - "method": "post", - "opts": Object { - "basePath": "/controller", - "endpoint": "MyController:post", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "MyController", - }, - "path": "/controller", - }, - Object { - "basePath": "", - "handlers": Array [ - "", - "useBefore", - "MyController.put", - "", - ], - "method": "put", - "opts": Object { - "basePath": "/controller", - "endpoint": "MyController:put", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "MyController", - }, - "path": "/controller/:id", - }, - Object { - "basePath": "", - "handlers": Array [ - "", - "useBefore", - "MyController.delete", - "", - ], - "method": "delete", - "opts": Object { - "basePath": "/controller", - "endpoint": "MyController:delete", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "MyController", - }, - "path": "/controller/:id", - }, - Object { - "basePath": "", - "handlers": Array [ - "", - "useBefore", - "MyController.head", - "", - ], - "method": "head", - "opts": Object { - "basePath": "/controller", - "endpoint": "MyController:head", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "MyController", - }, - "path": "/controller/:id", - }, - Object { - "basePath": "", - "handlers": Array [ - "", - "useBefore", - "MyController.option", - "", - ], - "method": "options", - "opts": Object { - "basePath": "/controller", - "endpoint": "MyController:option", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "MyController", - }, - "path": "/controller/:id", - }, - Object { - "basePath": "", - "handlers": Array [ - "", - "useBefore", - "MyController.patch", - "", - ], - "method": "patch", - "opts": Object { - "basePath": "/controller", - "endpoint": "MyController:patch", - "operationPath": "[object Object]", - "paramsTypes": "[object Object]", - "token": "MyController", - }, - "path": "/controller/:id", - }, - Object { - "basePath": "/controller", - "handlers": Array [ - "[object Object]", - ], - "method": "use", - "opts": Object {}, - "path": "/controller/nested", - }, -] -`; diff --git a/packages/platform/platform-router/test/routers-alter-endpoint-handlers.integration.spec.ts b/packages/platform/platform-router/test/routers-alter-endpoint-handlers.integration.spec.ts index c44409d49cd..b404382768a 100644 --- a/packages/platform/platform-router/test/routers-alter-endpoint-handlers.integration.spec.ts +++ b/packages/platform/platform-router/test/routers-alter-endpoint-handlers.integration.spec.ts @@ -3,6 +3,7 @@ import {Controller, DIContext, InjectorService} from "@tsed/di"; import {UseBefore} from "@tsed/platform-middlewares"; import {Context, PlatformParams} from "@tsed/platform-params"; import {EndpointMetadata, Get, JsonOperationRoute} from "@tsed/schema"; + import {PlatformRouter} from "../src/domain/PlatformRouter.js"; import {AlterEndpointHandlersArg, PlatformRouters} from "../src/domain/PlatformRouters.js"; import {useContextHandler} from "../src/index.js"; diff --git a/packages/platform/platform-router/test/routers-injection.integration.spec.ts b/packages/platform/platform-router/test/routers-injection.integration.spec.ts index 825dbc95472..07282438774 100644 --- a/packages/platform/platform-router/test/routers-injection.integration.spec.ts +++ b/packages/platform/platform-router/test/routers-injection.integration.spec.ts @@ -1,5 +1,6 @@ import {Controller, ControllerProvider, InjectorService} from "@tsed/di"; import {PlatformParams} from "@tsed/platform-params"; + import {PlatformRouter} from "../src/domain/PlatformRouter.js"; import {PlatformRouters} from "../src/domain/PlatformRouters.js"; diff --git a/packages/platform/platform-router/test/routers-middlewares.integration.spec.ts b/packages/platform/platform-router/test/routers-middlewares.integration.spec.ts index 8ace0731e70..db2f2151319 100644 --- a/packages/platform/platform-router/test/routers-middlewares.integration.spec.ts +++ b/packages/platform/platform-router/test/routers-middlewares.integration.spec.ts @@ -3,6 +3,7 @@ import {Controller, InjectorService} from "@tsed/di"; import {Middleware} from "@tsed/platform-middlewares"; import {Context, PlatformParams} from "@tsed/platform-params"; import {Get} from "@tsed/schema"; + import {PlatformRouter} from "../src/domain/PlatformRouter.js"; import {PlatformRouters} from "../src/domain/PlatformRouters.js"; diff --git a/packages/platform/platform-router/test/routers-nested.integration.spec.ts b/packages/platform/platform-router/test/routers-nested.integration.spec.ts index 2eaee566173..b47a89e2e81 100644 --- a/packages/platform/platform-router/test/routers-nested.integration.spec.ts +++ b/packages/platform/platform-router/test/routers-nested.integration.spec.ts @@ -2,6 +2,7 @@ import {PlatformTest} from "@tsed/common"; import {Controller, InjectorService} from "@tsed/di"; import {PlatformParams} from "@tsed/platform-params"; import {Get, Post} from "@tsed/schema"; + import {PlatformRouter} from "../src/domain/PlatformRouter.js"; import {PlatformRouters} from "../src/domain/PlatformRouters.js"; diff --git a/packages/platform/platform-router/test/routers.integration.spec.ts b/packages/platform/platform-router/test/routers.integration.spec.ts index e048589c72e..1041aff9d67 100644 --- a/packages/platform/platform-router/test/routers.integration.spec.ts +++ b/packages/platform/platform-router/test/routers.integration.spec.ts @@ -4,6 +4,7 @@ import {Controller, InjectorService} from "@tsed/di"; import {UseBefore} from "@tsed/platform-middlewares"; import {Context, PlatformParams} from "@tsed/platform-params"; import {Delete, Get, Head, Options, Patch, Post, Publish, Put, Subscribe} from "@tsed/schema"; + import {PlatformRouter} from "../src/domain/PlatformRouter.js"; import {AlterEndpointHandlersArg, PlatformRouters} from "../src/domain/PlatformRouters.js"; diff --git a/packages/platform/platform-router/tsconfig.cjs.json b/packages/platform/platform-router/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/platform/platform-router/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/platform/platform-router/tsconfig.esm.json b/packages/platform/platform-router/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/platform/platform-router/tsconfig.esm.json +++ b/packages/platform/platform-router/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/platform/platform-router/tsconfig.json b/packages/platform/platform-router/tsconfig.json index 62ca727e4be..172d3e8f3f1 100644 --- a/packages/platform/platform-router/tsconfig.json +++ b/packages/platform/platform-router/tsconfig.json @@ -24,9 +24,6 @@ { "path": "../../specs/schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/platform/platform-router/tsconfig.spec.json b/packages/platform/platform-router/tsconfig.spec.json index fdc94c342bf..9c7f4966c4e 100644 --- a/packages/platform/platform-router/tsconfig.spec.json +++ b/packages/platform/platform-router/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../platform-exceptions/src"], - "@tsed/platform-middlewares": ["../platform-middlewares/src"], - "@tsed/platform-params": ["../platform-params/src"], - "@tsed/platform-log-middleware": ["../platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../platform-response-filter/src"], - "@tsed/platform-views": ["../platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../platform-test-sdk/src"], - "@tsed/platform-express": ["../platform-express/src"], - "@tsed/platform-koa": ["../platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../platform-response-filter/src/index.ts"], + "@tsed/platform-views": ["../platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../platform-express/src/index.ts"], + "@tsed/platform-koa": ["../platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/platform/platform-router/vitest.config.mts b/packages/platform/platform-router/vitest.config.mts index d759e817941..ff3e1c550f8 100644 --- a/packages/platform/platform-router/vitest.config.mts +++ b/packages/platform/platform-router/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 100, + branches: 94.92, + functions: 100, + lines: 100 } } } } -); +); \ No newline at end of file diff --git a/packages/platform/platform-serverless-http/package.json b/packages/platform/platform-serverless-http/package.json index b8b1cc85e3e..0cf1198f3c2 100644 --- a/packages/platform/platform-serverless-http/package.json +++ b/packages/platform/platform-serverless-http/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/platform-serverless-http", "description": "Module to support Serverless HTTP function with Ts.ED", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -60,7 +59,7 @@ "url": "git+https://github.com/tsedio/tsed.git" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -69,20 +68,20 @@ "@tsed/di": "workspace:*", "@tsed/platform-serverless-testing": "workspace:*", "@tsed/typescript": "workspace:*", - "@types/aws-lambda": "^8.10.136", - "eslint": "^8.57.0", + "@types/aws-lambda": "^8.10.145", + "eslint": "9.12.0", "serverless-http": "^3.2.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/common": "7.83.3", - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/json-mapper": "7.83.3", + "@tsed/common": "8.0.0-alpha.10", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/json-mapper": "8.0.0-alpha.10", "@tsed/logger": ">=6.7.5", - "@tsed/openspec": "7.83.3", - "@tsed/schema": "7.83.3", + "@tsed/openspec": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10", "serverless-http": ">=2.0.0" }, "peerDependenciesMeta": { diff --git a/packages/platform/platform-serverless-http/src/builder/PlatformServerlessHttp.spec.ts b/packages/platform/platform-serverless-http/src/builder/PlatformServerlessHttp.spec.ts index 20fcb19ebea..7d2fa90cd4d 100644 --- a/packages/platform/platform-serverless-http/src/builder/PlatformServerlessHttp.spec.ts +++ b/packages/platform/platform-serverless-http/src/builder/PlatformServerlessHttp.spec.ts @@ -1,6 +1,7 @@ -import {PlatformExpress} from "@tsed/platform-express"; import {PlatformBuilder} from "@tsed/common"; +import {PlatformExpress} from "@tsed/platform-express"; import serverless from "serverless-http"; + import {PlatformServerlessHttp} from "./PlatformServerlessHttp.js"; vi.mock("serverless-http"); diff --git a/packages/platform/platform-serverless-http/test/body.integration.spec.ts b/packages/platform/platform-serverless-http/test/body.integration.spec.ts index 6eb195adb4f..2aa81d779a8 100644 --- a/packages/platform/platform-serverless-http/test/body.integration.spec.ts +++ b/packages/platform/platform-serverless-http/test/body.integration.spec.ts @@ -1,9 +1,11 @@ import "@tsed/ajv"; + import {Controller} from "@tsed/di"; -import {MinLength, Patch, Post, Property, Put, Returns} from "@tsed/schema"; -import {PlatformServerlessTest} from "@tsed/platform-serverless-testing"; import {PlatformExpress} from "@tsed/platform-express"; import {BodyParams} from "@tsed/platform-params"; +import {PlatformServerlessTest} from "@tsed/platform-serverless-testing"; +import {MinLength, Patch, Post, Property, Put, Returns} from "@tsed/schema"; + import {PlatformServerlessHttp} from "../src/index.js"; import {Server} from "./integration/aws-basic/src/Server.js"; @@ -24,8 +26,8 @@ class BodyLambda { }; } - @Put("/scenario-2").Name("scenario2") - @Returns(201, Model).Header("x-test", "test") + @(Put("/scenario-2").Name("scenario2")) + @(Returns(201, Model).Header("x-test", "test")) scenario2(@BodyParams() model: Model) { return model; } diff --git a/packages/platform/platform-serverless-http/test/integration/aws-basic/package.json b/packages/platform/platform-serverless-http/test/integration/aws-basic/package.json index 2c9f73aaeb7..66974e9b68a 100644 --- a/packages/platform/platform-serverless-http/test/integration/aws-basic/package.json +++ b/packages/platform/platform-serverless-http/test/integration/aws-basic/package.json @@ -1,5 +1,6 @@ { "name": "@tsed/aws-basic", + "type": "module", "scripts": { "//build": "NODE_ENV=production webpack", "build": "tsc --project tsconfig.compile.json", @@ -16,6 +17,6 @@ "terser-webpack-plugin": "^5.2.5", "fork-ts-checker-webpack-plugin": "^6.4.0", "tsconfig-paths-webpack-plugin": "^3.5.2", - "typescript": "^4.9.5" + "typescript": "^5.4.5" } } diff --git a/packages/platform/platform-serverless-http/test/integration/aws-basic/src/Server.ts b/packages/platform/platform-serverless-http/test/integration/aws-basic/src/Server.ts index 45e6322ffae..d21396888c7 100644 --- a/packages/platform/platform-serverless-http/test/integration/aws-basic/src/Server.ts +++ b/packages/platform/platform-serverless-http/test/integration/aws-basic/src/Server.ts @@ -1,11 +1,12 @@ -import {Configuration, Inject} from "@tsed/di"; -import {TimeslotsController} from "./TimeslotsController.js"; import {PlatformApplication} from "@tsed/common"; +import {Configuration, Inject} from "@tsed/di"; import bodyParser from "body-parser"; -import cookieParser from "cookie-parser"; import compress from "compression"; +import cookieParser from "cookie-parser"; import methodOverride from "method-override"; +import {TimeslotsController} from "./TimeslotsController.js"; + @Configuration({ logger: { disableRoutesSummary: true diff --git a/packages/platform/platform-serverless-http/test/integration/aws-basic/src/TimeslotsController.ts b/packages/platform/platform-serverless-http/test/integration/aws-basic/src/TimeslotsController.ts index 645a397ccaf..d2bbc6b40e9 100644 --- a/packages/platform/platform-serverless-http/test/integration/aws-basic/src/TimeslotsController.ts +++ b/packages/platform/platform-serverless-http/test/integration/aws-basic/src/TimeslotsController.ts @@ -1,6 +1,6 @@ import {Controller} from "@tsed/di"; +import {BodyParams, PathParams, QueryParams} from "@tsed/platform-params"; import {Delete, Get, Post, Put} from "@tsed/schema"; -import {PathParams, QueryParams, BodyParams} from "@tsed/platform-params"; import {Description, Groups, Returns, Summary} from "@tsed/schema"; @Controller("/timeslots") diff --git a/packages/platform/platform-serverless-http/test/integration/aws-basic/src/index.ts b/packages/platform/platform-serverless-http/test/integration/aws-basic/src/index.ts index df9368bdc48..8e2638fde87 100644 --- a/packages/platform/platform-serverless-http/test/integration/aws-basic/src/index.ts +++ b/packages/platform/platform-serverless-http/test/integration/aws-basic/src/index.ts @@ -1,5 +1,6 @@ -import {PlatformServerlessHttp} from "@tsed/platform-serverless-http"; import {PlatformExpress} from "@tsed/platform-express"; + +import {PlatformServerlessHttp} from "../../../../src/index.js"; import {Server} from "./Server.js"; const platform = PlatformServerlessHttp.bootstrap(Server, { diff --git a/packages/platform/platform-serverless-http/test/integration/aws-basic/tsconfig.compile.json b/packages/platform/platform-serverless-http/test/integration/aws-basic/tsconfig.compile.json index 5c051ca4b85..ef3d15b73c9 100644 --- a/packages/platform/platform-serverless-http/test/integration/aws-basic/tsconfig.compile.json +++ b/packages/platform/platform-serverless-http/test/integration/aws-basic/tsconfig.compile.json @@ -1,8 +1,7 @@ { - "extends": "../../../../../../tsconfig.compile.json", + "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "commonjs", "rootDir": "src", "outDir": "dist" }, diff --git a/packages/platform/platform-serverless-http/test/serverlessContext.integration.spec.ts b/packages/platform/platform-serverless-http/test/serverlessContext.integration.spec.ts index 020d9eb0b3c..9b61ac4b2c6 100644 --- a/packages/platform/platform-serverless-http/test/serverlessContext.integration.spec.ts +++ b/packages/platform/platform-serverless-http/test/serverlessContext.integration.spec.ts @@ -1,8 +1,10 @@ import "@tsed/ajv"; + import {Controller} from "@tsed/di"; -import {Get, Returns} from "@tsed/schema"; -import {PlatformServerlessTest} from "@tsed/platform-serverless-testing"; import {PlatformExpress} from "@tsed/platform-express"; +import {PlatformServerlessTest} from "@tsed/platform-serverless-testing"; +import {Get, Returns} from "@tsed/schema"; + import {PlatformServerlessHttp, ServerlessContext, ServerlessEvent} from "../src/index.js"; import {Server} from "./integration/aws-basic/src/Server.js"; diff --git a/packages/platform/platform-serverless-http/tsconfig.cjs.json b/packages/platform/platform-serverless-http/tsconfig.cjs.json deleted file mode 100644 index ab4caf25857..00000000000 --- a/packages/platform/platform-serverless-http/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/platform/platform-serverless-http/tsconfig.esm.json b/packages/platform/platform-serverless-http/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/platform/platform-serverless-http/tsconfig.esm.json +++ b/packages/platform/platform-serverless-http/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/platform/platform-serverless-http/tsconfig.json b/packages/platform/platform-serverless-http/tsconfig.json index 4f86d5f0b4d..e258b18ea5e 100644 --- a/packages/platform/platform-serverless-http/tsconfig.json +++ b/packages/platform/platform-serverless-http/tsconfig.json @@ -27,9 +27,6 @@ { "path": "../platform-serverless-testing/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/platform/platform-serverless-http/tsconfig.spec.json b/packages/platform/platform-serverless-http/tsconfig.spec.json index 558e0364fd6..6146940bea0 100644 --- a/packages/platform/platform-serverless-http/tsconfig.spec.json +++ b/packages/platform/platform-serverless-http/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../platform-exceptions/src"], - "@tsed/platform-middlewares": ["../platform-middlewares/src"], - "@tsed/platform-params": ["../platform-params/src"], - "@tsed/platform-log-middleware": ["../platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../platform-response-filter/src"], - "@tsed/platform-router": ["../platform-router/src"], - "@tsed/platform-views": ["../platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../platform-test-sdk/src"], - "@tsed/platform-express": ["../platform-express/src"], - "@tsed/platform-koa": ["../platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../platform-router/src/index.ts"], + "@tsed/platform-views": ["../platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../platform-express/src/index.ts"], + "@tsed/platform-koa": ["../platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/platform/platform-serverless-testing/package.json b/packages/platform/platform-serverless-testing/package.json index 48bbe173e42..c9ada4ab82b 100644 --- a/packages/platform/platform-serverless-testing/package.json +++ b/packages/platform/platform-serverless-testing/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/platform-serverless-testing", "description": "Module to test Serverless function with Ts.ED", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -63,20 +62,20 @@ "@tsed/di": "workspace:*", "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", - "@types/aws-lambda": "^8.10.136", - "eslint": "^8.57.0", - "typescript": "4.9.5" + "@types/aws-lambda": "^8.10.145", + "eslint": "9.12.0", + "typescript": "5.4.5" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "peerDependencies": { - "@tsed/common": "7.83.3", - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/json-mapper": "7.83.3", + "@tsed/common": "8.0.0-alpha.10", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/json-mapper": "8.0.0-alpha.10", "@tsed/logger": ">=6.7.5", - "@tsed/openspec": "7.83.3", - "@tsed/schema": "7.83.3" + "@tsed/openspec": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10" } } diff --git a/packages/platform/platform-serverless-testing/src/PlatformServerlessTest.ts b/packages/platform/platform-serverless-testing/src/PlatformServerlessTest.ts index 02b1fe227b5..d33203121ea 100644 --- a/packages/platform/platform-serverless-testing/src/PlatformServerlessTest.ts +++ b/packages/platform/platform-serverless-testing/src/PlatformServerlessTest.ts @@ -1,10 +1,11 @@ +import {PlatformBuilder, PlatformBuilderSettings} from "@tsed/common"; +import {nameOf, Type} from "@tsed/core"; import {DITest} from "@tsed/di"; import {APIGatewayEventDefaultAuthorizerContext, APIGatewayProxyEventBase, APIGatewayProxyHandler} from "aws-lambda"; -import {APIGatewayProxyResult} from "aws-lambda/trigger/api-gateway-proxy"; -import {createFakeEvent} from "./createFakeEvent.js"; +import {APIGatewayProxyResult} from "aws-lambda/trigger/api-gateway-proxy.js"; + import {createFakeContext} from "./createFakeContext.js"; -import {nameOf, Type} from "@tsed/core"; -import {PlatformBuilder, PlatformBuilderSettings} from "@tsed/common"; +import {createFakeEvent} from "./createFakeEvent.js"; export interface LambdaPromiseResult extends Promise {} diff --git a/packages/platform/platform-serverless-testing/src/index.ts b/packages/platform/platform-serverless-testing/src/index.ts index 9a010cbb53d..f6a531392ee 100644 --- a/packages/platform/platform-serverless-testing/src/index.ts +++ b/packages/platform/platform-serverless-testing/src/index.ts @@ -1,3 +1,3 @@ -export * from "./createFakeEvent.js"; export * from "./createFakeContext.js"; +export * from "./createFakeEvent.js"; export * from "./PlatformServerlessTest.js"; diff --git a/packages/platform/platform-serverless-testing/tsconfig.cjs.json b/packages/platform/platform-serverless-testing/tsconfig.cjs.json deleted file mode 100644 index 85004279084..00000000000 --- a/packages/platform/platform-serverless-testing/tsconfig.cjs.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false, - "types": ["vite/client", "vitest/globals"] - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/platform/platform-serverless-testing/tsconfig.esm.json b/packages/platform/platform-serverless-testing/tsconfig.esm.json index e3528a4ae89..8954049da4a 100644 --- a/packages/platform/platform-serverless-testing/tsconfig.esm.json +++ b/packages/platform/platform-serverless-testing/tsconfig.esm.json @@ -2,17 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, - "noEmit": false, - "types": ["vite/client", "vitest/globals"] + "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/platform/platform-serverless-testing/tsconfig.json b/packages/platform/platform-serverless-testing/tsconfig.json index 53a208d714e..a3a43a97241 100644 --- a/packages/platform/platform-serverless-testing/tsconfig.json +++ b/packages/platform/platform-serverless-testing/tsconfig.json @@ -24,9 +24,6 @@ { "path": "../../specs/schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" } diff --git a/packages/platform/platform-serverless/package.json b/packages/platform/platform-serverless/package.json index 2a309bd0b3f..e1838842014 100644 --- a/packages/platform/platform-serverless/package.json +++ b/packages/platform/platform-serverless/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/platform-serverless", "description": "Platform serverless module for Ts.ED Framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -30,24 +29,25 @@ "@tsed/platform-params": "workspace:*", "@tsed/schema": "workspace:*", "encodeurl": "^2.0.0", - "mime": "^3.0.0", - "tslib": "2.6.1", - "uuid": "^9.0.1" + "mime": "^4.0.4", + "tslib": "2.7.0", + "uuid": "^10.0.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", "@tsed/platform-serverless-testing": "workspace:*", "@tsed/typescript": "workspace:*", - "@types/aws-lambda": "^8.10.136", + "@types/aws-lambda": "^8.10.145", "@types/encodeurl": "^1.0.2", - "@types/mime": "^3.0.4", - "eslint": "^8.57.0", - "find-my-way": "^8.2.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "@types/mime": "^4.0.0", + "aws-lambda": "1.0.7", + "eslint": "9.12.0", + "find-my-way": "^9.1.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/di": "7.83.3", + "@tsed/di": "8.0.0-alpha.10", "@tsed/logger": ">=6.7.5", "find-my-way": ">=7.0.0" }, diff --git a/packages/platform/platform-serverless/src/builder/PlatformServerless.spec.ts b/packages/platform/platform-serverless/src/builder/PlatformServerless.spec.ts index c6c2842a456..7b504d9e420 100644 --- a/packages/platform/platform-serverless/src/builder/PlatformServerless.spec.ts +++ b/packages/platform/platform-serverless/src/builder/PlatformServerless.spec.ts @@ -1,7 +1,8 @@ import {Controller, Inject, Injectable} from "@tsed/di"; import {BodyParams, PathParams, QueryParams} from "@tsed/platform-params"; -import {PlatformServerlessTest, createFakeEvent, createFakeContext} from "@tsed/platform-serverless-testing"; +import {createFakeContext, createFakeEvent, PlatformServerlessTest} from "@tsed/platform-serverless-testing"; import {Delete, Get, Patch, Post, Put} from "@tsed/schema"; + import {PlatformServerless} from "./PlatformServerless.js"; @Injectable() @@ -16,7 +17,7 @@ class TimeslotsLambdaController { @Inject() protected timeslotsService: TimeslotsService; - @Get("/:id").Name("byID") + @(Get("/:id").Name("byID")) getByID(@PathParams("id") id: string) { return { id diff --git a/packages/platform/platform-serverless/src/builder/PlatformServerless.ts b/packages/platform/platform-serverless/src/builder/PlatformServerless.ts index 9a16c64fa35..e9f8fb6a4d9 100644 --- a/packages/platform/platform-serverless/src/builder/PlatformServerless.ts +++ b/packages/platform/platform-serverless/src/builder/PlatformServerless.ts @@ -3,11 +3,12 @@ import {createContainer, InjectorService, setLoggerConfiguration} from "@tsed/di import {$log, Logger} from "@tsed/logger"; import {getOperationsRoutes, JsonEntityStore} from "@tsed/schema"; import type {Handler} from "aws-lambda"; -import type {Context} from "aws-lambda/handler"; +import type {Context} from "aws-lambda/handler.js"; import type {HTTPMethod, Instance} from "find-my-way"; + import {ServerlessContext} from "../domain/ServerlessContext.js"; -import type {ServerlessEvent} from "../domain/ServerlessEvent"; -import {type RequestHandler, ServerlessResponseStream} from "../domain/ServerlessResponseStream"; +import type {ServerlessEvent} from "../domain/ServerlessEvent.js"; +import {type RequestHandler, ServerlessResponseStream} from "../domain/ServerlessResponseStream.js"; import {getRequestId} from "../utils/getRequestId.js"; import {PlatformServerlessHandler} from "./PlatformServerlessHandler.js"; diff --git a/packages/platform/platform-serverless/src/builder/PlatformServerlessHandler.spec.ts b/packages/platform/platform-serverless/src/builder/PlatformServerlessHandler.spec.ts index 6c9cd5b0167..ccf2c8638bd 100644 --- a/packages/platform/platform-serverless/src/builder/PlatformServerlessHandler.spec.ts +++ b/packages/platform/platform-serverless/src/builder/PlatformServerlessHandler.spec.ts @@ -4,6 +4,7 @@ import {Unauthorized} from "@tsed/exceptions"; import {QueryParams} from "@tsed/platform-params"; import {JsonEntityStore} from "@tsed/schema"; import type {APIGatewayTokenAuthorizerEvent} from "aws-lambda"; + import {ServerlessContext} from "../domain/ServerlessContext.js"; import {PlatformServerlessHandler} from "./PlatformServerlessHandler.js"; diff --git a/packages/platform/platform-serverless/src/builder/PlatformServerlessHandler.ts b/packages/platform/platform-serverless/src/builder/PlatformServerlessHandler.ts index 3bf208d9f0b..c39b79e0cba 100644 --- a/packages/platform/platform-serverless/src/builder/PlatformServerlessHandler.ts +++ b/packages/platform/platform-serverless/src/builder/PlatformServerlessHandler.ts @@ -1,12 +1,14 @@ +import {pipeline} from "node:stream/promises"; + import {AnyPromiseResult, AnyToPromise, isSerializable, isStream} from "@tsed/core"; import {BaseContext, Inject, Injectable, InjectorService, LazyInject, ProviderScope, TokenProvider} from "@tsed/di"; import {serialize} from "@tsed/json-mapper"; import type {PlatformExceptions} from "@tsed/platform-exceptions"; import {DeserializerPipe, PlatformParams, ValidationPipe} from "@tsed/platform-params"; -import {pipeline} from "node:stream/promises"; + import {ServerlessContext} from "../domain/ServerlessContext.js"; -import type {ServerlessEvent} from "../domain/ServerlessEvent"; -import {ServerlessResponseStream} from "../domain/ServerlessResponseStream"; +import type {ServerlessEvent} from "../domain/ServerlessEvent.js"; +import {ServerlessResponseStream} from "../domain/ServerlessResponseStream.js"; import {setResponseHeaders} from "../utils/setResponseHeaders.js"; @Injectable({ diff --git a/packages/platform/platform-serverless/src/domain/ServerlessContext.spec.ts b/packages/platform/platform-serverless/src/domain/ServerlessContext.spec.ts index e646490b669..f4116c06c6b 100644 --- a/packages/platform/platform-serverless/src/domain/ServerlessContext.spec.ts +++ b/packages/platform/platform-serverless/src/domain/ServerlessContext.spec.ts @@ -1,4 +1,5 @@ import {PlatformServerlessTest} from "@tsed/platform-serverless-testing"; + import {createServerlessContext} from "../../test/utils/createServerlessContext.js"; describe("ServerlessContext", () => { diff --git a/packages/platform/platform-serverless/src/domain/ServerlessContext.ts b/packages/platform/platform-serverless/src/domain/ServerlessContext.ts index cdcd8daf213..598b6ce6a03 100644 --- a/packages/platform/platform-serverless/src/domain/ServerlessContext.ts +++ b/packages/platform/platform-serverless/src/domain/ServerlessContext.ts @@ -1,9 +1,10 @@ import {DIContext, DIContextOptions} from "@tsed/di"; import {JsonEntityStore} from "@tsed/schema"; -import {type APIGatewayProxyEvent, APIGatewayTokenAuthorizerEvent, Context} from "aws-lambda"; +import {type APIGatewayProxyEvent, Context} from "aws-lambda"; + import {ServerlessRequest} from "./ServerlessRequest.js"; import {ServerlessResponse} from "./ServerlessResponse.js"; -import type {ServerlessResponseStream} from "./ServerlessResponseStream"; +import type {ServerlessResponseStream} from "./ServerlessResponseStream.js"; export interface ServerlessContextOptions extends DIContextOptions { event: Event; diff --git a/packages/platform/platform-serverless/src/domain/ServerlessRequest.spec.ts b/packages/platform/platform-serverless/src/domain/ServerlessRequest.spec.ts index 613fd503584..6e79a3a4870 100644 --- a/packages/platform/platform-serverless/src/domain/ServerlessRequest.spec.ts +++ b/packages/platform/platform-serverless/src/domain/ServerlessRequest.spec.ts @@ -1,4 +1,5 @@ import {PlatformServerlessTest} from "@tsed/platform-serverless-testing"; + import {createServerlessContext} from "../../test/utils/createServerlessContext.js"; describe("ServerlessRequest", () => { diff --git a/packages/platform/platform-serverless/src/domain/ServerlessRequest.ts b/packages/platform/platform-serverless/src/domain/ServerlessRequest.ts index a874f5ca0ee..eeaf3a4ac4f 100644 --- a/packages/platform/platform-serverless/src/domain/ServerlessRequest.ts +++ b/packages/platform/platform-serverless/src/domain/ServerlessRequest.ts @@ -1,5 +1,6 @@ import {getValue} from "@tsed/core"; import type {APIGatewayProxyEvent} from "aws-lambda"; + import {ServerlessContext} from "./ServerlessContext.js"; /** diff --git a/packages/platform/platform-serverless/src/domain/ServerlessResponse.spec.ts b/packages/platform/platform-serverless/src/domain/ServerlessResponse.spec.ts index 2923366394e..17e6d20c919 100644 --- a/packages/platform/platform-serverless/src/domain/ServerlessResponse.spec.ts +++ b/packages/platform/platform-serverless/src/domain/ServerlessResponse.spec.ts @@ -1,4 +1,5 @@ import {PlatformServerlessTest} from "@tsed/platform-serverless-testing"; + import {createServerlessContext} from "../../test/utils/createServerlessContext.js"; describe("ServerlessResponse", () => { diff --git a/packages/platform/platform-serverless/src/domain/ServerlessResponse.ts b/packages/platform/platform-serverless/src/domain/ServerlessResponse.ts index f86b60de65d..a53d9d23dcb 100644 --- a/packages/platform/platform-serverless/src/domain/ServerlessResponse.ts +++ b/packages/platform/platform-serverless/src/domain/ServerlessResponse.ts @@ -3,6 +3,7 @@ import {getStatusMessage} from "@tsed/schema"; import type {APIGatewayProxyEvent} from "aws-lambda"; import encodeUrl from "encodeurl"; import mime from "mime"; + import {ServerlessContext} from "./ServerlessContext.js"; export type HeaderValue = boolean | number | string; diff --git a/packages/platform/platform-serverless/src/domain/ServerlessResponseStream.spec.ts b/packages/platform/platform-serverless/src/domain/ServerlessResponseStream.spec.ts index 220536a6edc..e00dd32f036 100644 --- a/packages/platform/platform-serverless/src/domain/ServerlessResponseStream.spec.ts +++ b/packages/platform/platform-serverless/src/domain/ServerlessResponseStream.spec.ts @@ -1,4 +1,4 @@ -import {ServerlessResponseStream} from "./ServerlessResponseStream"; +import {ServerlessResponseStream} from "./ServerlessResponseStream.js"; describe("ServerlessResponseStream", () => { describe("streamifyResponse", () => { @@ -28,7 +28,7 @@ describe("ServerlessResponseStream", () => { expect(result).toEqual(undefined); expect(handler).toHaveBeenCalledWith(event, responseStream, context); - // @ts-expect-error + // @ts-ignore expect(ServerlessResponseStream.buildResponse).not.toHaveBeenCalled(); }); it("should wrap then handler with fallback responseStream", async () => { @@ -50,7 +50,7 @@ describe("ServerlessResponseStream", () => { expect(result).toEqual({ statusCode: 200 }); - // @ts-expect-error + // @ts-ignore expect(ServerlessResponseStream.buildResponse).toHaveBeenCalledWith(expect.any(ServerlessResponseStream)); expect(console.warn).toHaveBeenCalledWith({ event: "WRONG_AWS_STREAM_CONFIGURATION", diff --git a/packages/platform/platform-serverless/src/domain/ServerlessResponseStream.ts b/packages/platform/platform-serverless/src/domain/ServerlessResponseStream.ts index d2f712e9963..2d5607b4806 100644 --- a/packages/platform/platform-serverless/src/domain/ServerlessResponseStream.ts +++ b/packages/platform/platform-serverless/src/domain/ServerlessResponseStream.ts @@ -1,6 +1,8 @@ -import type {APIGatewayProxyEventV2, Callback, Context, Handler} from "aws-lambda"; import {Stream} from "node:stream"; -import {isInAWS} from "../utils/isInAWS"; + +import type {APIGatewayProxyEventV2, Callback, Context, Handler} from "aws-lambda"; + +import {isInAWS} from "../utils/isInAWS.js"; export type ServerlessResponseMeta = {statusCode: number; headers: Record}; diff --git a/packages/platform/platform-serverless/src/exports.ts b/packages/platform/platform-serverless/src/exports.ts index bb3d4a4fb44..65eae706eae 100644 --- a/packages/platform/platform-serverless/src/exports.ts +++ b/packages/platform/platform-serverless/src/exports.ts @@ -1,3 +1,3 @@ export * from "@tsed/di"; -export {Get, Post, Put, Delete, Head, Patch, Options, Route as Lambda} from "@tsed/schema"; export * from "@tsed/platform-params"; +export {Delete, Get, Head, Operation as Lambda, Operation, Options, Patch, Post, Put} from "@tsed/schema"; diff --git a/packages/platform/platform-serverless/src/utils/getRequestId.ts b/packages/platform/platform-serverless/src/utils/getRequestId.ts index 450c445011a..c62c261ade5 100644 --- a/packages/platform/platform-serverless/src/utils/getRequestId.ts +++ b/packages/platform/platform-serverless/src/utils/getRequestId.ts @@ -1,6 +1,7 @@ import {Context} from "aws-lambda"; import {v4} from "uuid"; -import type {ServerlessEvent} from "../domain/ServerlessEvent"; + +import type {ServerlessEvent} from "../domain/ServerlessEvent.js"; export function getRequestId(event: ServerlessEvent, context: Context) { if ("headers" in event && event.headers["x-request-id"]) { diff --git a/packages/platform/platform-serverless/src/utils/setResponseHeaders.spec.ts b/packages/platform/platform-serverless/src/utils/setResponseHeaders.spec.ts index a5817697983..550f7abe733 100644 --- a/packages/platform/platform-serverless/src/utils/setResponseHeaders.spec.ts +++ b/packages/platform/platform-serverless/src/utils/setResponseHeaders.spec.ts @@ -1,5 +1,6 @@ import {PlatformTest} from "@tsed/common"; import {Get, JsonEntityStore, Redirect, Returns} from "@tsed/schema"; + import {createServerlessContext} from "../../test/utils/createServerlessContext.js"; import {setResponseHeaders} from "./setResponseHeaders.js"; @@ -10,7 +11,7 @@ describe("setResponseHeaders", () => { it("should set headers, status and contentType", async () => { class Test { @Get("/") - @Returns(200).Header("x-header", "test") + @(Returns(200).Header("x-header", "test")) test() {} } @@ -30,7 +31,7 @@ describe("setResponseHeaders", () => { it("should not set headers automatically", async () => { class Test { @Get("/") - @Returns(200).Header("x-header") + @(Returns(200).Header("x-header")) test() {} } @@ -107,7 +108,7 @@ describe("setResponseHeaders", () => { it("should do nothing when headers is already sent", async () => { class Test { @Get("/") - @Returns(200).Header("x-header", "test") + @(Returns(200).Header("x-header", "test")) test() {} } diff --git a/packages/platform/platform-serverless/src/utils/setResponseHeaders.ts b/packages/platform/platform-serverless/src/utils/setResponseHeaders.ts index 45922646605..aaf76d2ba51 100644 --- a/packages/platform/platform-serverless/src/utils/setResponseHeaders.ts +++ b/packages/platform/platform-serverless/src/utils/setResponseHeaders.ts @@ -1,6 +1,7 @@ import {JsonHeader, JsonOperation} from "@tsed/schema"; + import {ServerlessContext} from "../domain/ServerlessContext.js"; -import type {ServerlessEvent} from "../domain/ServerlessEvent"; +import type {ServerlessEvent} from "../domain/ServerlessEvent.js"; import {HeaderValue} from "../domain/ServerlessResponse.js"; function mergeHeaders(specHeaders: Record, headers: Record) { diff --git a/packages/platform/platform-serverless/test/body.integration.spec.ts b/packages/platform/platform-serverless/test/body.integration.spec.ts index 6d01558ff03..ada52a887f6 100644 --- a/packages/platform/platform-serverless/test/body.integration.spec.ts +++ b/packages/platform/platform-serverless/test/body.integration.spec.ts @@ -1,8 +1,10 @@ import "@tsed/ajv"; + import {Injectable} from "@tsed/di"; -import {BodyParams, PlatformServerless} from "@tsed/platform-serverless"; -import {MinLength, Patch, Post, Property, Put, Returns} from "@tsed/schema"; import {PlatformServerlessTest} from "@tsed/platform-serverless-testing"; +import {MinLength, Patch, Post, Property, Put, Returns} from "@tsed/schema"; + +import {BodyParams, PlatformServerless} from "../src/index.js"; class Model { @Property() @@ -21,8 +23,8 @@ class BodyLambda { }; } - @Put("/scenario-2/:id").Name("scenario2") - @Returns(201, Model).Header("x-test", "test") + @(Put("/scenario-2/:id").Name("scenario2")) + @(Returns(201, Model).Header("x-test", "test")) scenario2(@BodyParams() model: Model) { return model; } diff --git a/packages/platform/platform-serverless/test/integration/aws-basic/src/TimeslotsLambda.ts b/packages/platform/platform-serverless/test/integration/aws-basic/src/TimeslotsLambda.ts index 5198dd6f7b3..0e27b2caaee 100644 --- a/packages/platform/platform-serverless/test/integration/aws-basic/src/TimeslotsLambda.ts +++ b/packages/platform/platform-serverless/test/integration/aws-basic/src/TimeslotsLambda.ts @@ -1,7 +1,8 @@ import {Controller} from "@tsed/di"; -import {BodyParams, Delete, Get, Post, Put, PathParams, QueryParams} from "@tsed/platform-serverless"; import {Description, Groups, Returns, Summary} from "@tsed/schema"; +import {BodyParams, Delete, Get, PathParams, Post, Put, QueryParams} from "../../../../src/index.js"; + @Controller("/timeslots") export class TimeslotsLambda { @Get("/:id") diff --git a/packages/platform/platform-serverless/test/integration/aws-basic/src/index.ts b/packages/platform/platform-serverless/test/integration/aws-basic/src/index.ts index 0eeac4554bc..7cabeded678 100644 --- a/packages/platform/platform-serverless/test/integration/aws-basic/src/index.ts +++ b/packages/platform/platform-serverless/test/integration/aws-basic/src/index.ts @@ -1,4 +1,4 @@ -import {PlatformServerless} from "@tsed/platform-serverless"; +import {PlatformServerless} from "../../../../src/index.js"; import {TimeslotsLambda} from "./TimeslotsLambda.js"; const platform = PlatformServerless.bootstrap({ diff --git a/packages/platform/platform-serverless/test/params.integration.spec.ts b/packages/platform/platform-serverless/test/params.integration.spec.ts index 086d0efb4b3..b2e84668bcb 100644 --- a/packages/platform/platform-serverless/test/params.integration.spec.ts +++ b/packages/platform/platform-serverless/test/params.integration.spec.ts @@ -1,7 +1,8 @@ import {Injectable} from "@tsed/di"; -import {PathParams, PlatformServerless} from "@tsed/platform-serverless"; -import {Delete, Get, Returns} from "@tsed/schema"; import {PlatformServerlessTest} from "@tsed/platform-serverless-testing"; +import {Delete, Get, Returns} from "@tsed/schema"; + +import {PathParams, PlatformServerless} from "../src/index.js"; @Injectable() class PathParamLambda { diff --git a/packages/platform/platform-serverless/test/query.integration.spec.ts b/packages/platform/platform-serverless/test/query.integration.spec.ts index 38f63ebb8cd..58158596704 100644 --- a/packages/platform/platform-serverless/test/query.integration.spec.ts +++ b/packages/platform/platform-serverless/test/query.integration.spec.ts @@ -1,6 +1,7 @@ import {Injectable} from "@tsed/di"; -import {Get} from "@tsed/schema"; import {PlatformServerlessTest} from "@tsed/platform-serverless-testing"; +import {Get} from "@tsed/schema"; + import {PlatformServerless, QueryParams} from "../src/index.js"; @Injectable() diff --git a/packages/platform/platform-serverless/test/response.integration.spec.ts b/packages/platform/platform-serverless/test/response.integration.spec.ts index 783393cde1b..b72f0f8699b 100644 --- a/packages/platform/platform-serverless/test/response.integration.spec.ts +++ b/packages/platform/platform-serverless/test/response.integration.spec.ts @@ -1,7 +1,8 @@ import {Injectable} from "@tsed/di"; -import {BodyParams, PlatformServerless} from "@tsed/platform-serverless"; -import {MinLength, Post, Property} from "@tsed/schema"; import {PlatformServerlessTest} from "@tsed/platform-serverless-testing"; +import {MinLength, Post, Property} from "@tsed/schema"; + +import {BodyParams, PlatformServerless} from "../src/index.js"; class Model { @Property() diff --git a/packages/platform/platform-serverless/test/response.stream.integration.spec.ts b/packages/platform/platform-serverless/test/response.stream.integration.spec.ts index a27347f4bbf..6a3f65c0a3b 100644 --- a/packages/platform/platform-serverless/test/response.stream.integration.spec.ts +++ b/packages/platform/platform-serverless/test/response.stream.integration.spec.ts @@ -1,13 +1,15 @@ +import {Readable} from "node:stream"; + import {Injectable} from "@tsed/di"; -import {BodyParams, PlatformServerless} from "@tsed/platform-serverless"; import {PlatformServerlessTest} from "@tsed/platform-serverless-testing"; import {Post, Returns} from "@tsed/schema"; -import {Readable} from "node:stream"; + +import {BodyParams, PlatformServerless} from "../src/index.js"; @Injectable() class StreamLambda { @Post("/scenario-1/:id") - @Returns(200, String).Binary() + @(Returns(200, String).Binary()) scenario1(@BodyParams("id") id: string) { return Readable.from( Buffer.from( diff --git a/packages/platform/platform-serverless/test/utils/createServerlessContext.ts b/packages/platform/platform-serverless/test/utils/createServerlessContext.ts index efb4dfc1fb1..b163ac8a8e7 100644 --- a/packages/platform/platform-serverless/test/utils/createServerlessContext.ts +++ b/packages/platform/platform-serverless/test/utils/createServerlessContext.ts @@ -1,6 +1,7 @@ -import {JsonEntityStore} from "@tsed/schema"; -import {createFakeEvent, createFakeContext, PlatformServerlessTest} from "@tsed/platform-serverless-testing"; import {Logger} from "@tsed/logger"; +import {createFakeContext, createFakeEvent, PlatformServerlessTest} from "@tsed/platform-serverless-testing"; +import {JsonEntityStore} from "@tsed/schema"; + import {ServerlessContext} from "../../src/domain/ServerlessContext.js"; export function createServerlessContext({ diff --git a/packages/platform/platform-serverless/tsconfig.cjs.json b/packages/platform/platform-serverless/tsconfig.cjs.json deleted file mode 100644 index ab4caf25857..00000000000 --- a/packages/platform/platform-serverless/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/platform/platform-serverless/tsconfig.esm.json b/packages/platform/platform-serverless/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/platform/platform-serverless/tsconfig.esm.json +++ b/packages/platform/platform-serverless/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/platform/platform-serverless/tsconfig.json b/packages/platform/platform-serverless/tsconfig.json index b9908f8edba..d2305cea985 100644 --- a/packages/platform/platform-serverless/tsconfig.json +++ b/packages/platform/platform-serverless/tsconfig.json @@ -30,9 +30,6 @@ { "path": "../../specs/schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/platform/platform-serverless/tsconfig.spec.json b/packages/platform/platform-serverless/tsconfig.spec.json index 558e0364fd6..6146940bea0 100644 --- a/packages/platform/platform-serverless/tsconfig.spec.json +++ b/packages/platform/platform-serverless/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../platform-exceptions/src"], - "@tsed/platform-middlewares": ["../platform-middlewares/src"], - "@tsed/platform-params": ["../platform-params/src"], - "@tsed/platform-log-middleware": ["../platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../platform-response-filter/src"], - "@tsed/platform-router": ["../platform-router/src"], - "@tsed/platform-views": ["../platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../platform-test-sdk/src"], - "@tsed/platform-express": ["../platform-express/src"], - "@tsed/platform-koa": ["../platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../platform-router/src/index.ts"], + "@tsed/platform-views": ["../platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../platform-express/src/index.ts"], + "@tsed/platform-koa": ["../platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/platform/platform-serverless/vitest.config.mts b/packages/platform/platform-serverless/vitest.config.mts index d759e817941..2c445029b14 100644 --- a/packages/platform/platform-serverless/vitest.config.mts +++ b/packages/platform/platform-serverless/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 98.54, + branches: 96.36, + functions: 100, + lines: 98.54 } } } } -); +); \ No newline at end of file diff --git a/packages/platform/platform-test-sdk/package.json b/packages/platform/platform-test-sdk/package.json index cbfa28622ef..ff8c773b76b 100644 --- a/packages/platform/platform-test-sdk/package.json +++ b/packages/platform/platform-test-sdk/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/platform-test-sdk", "description": "Package to test platform adapter integration with Ts.ED", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -33,21 +32,21 @@ "@tsed/core": "workspace:*", "@tsed/di": "workspace:*", "@tsed/json-mapper": "workspace:*", - "@tsed/logger": "6.6.3", + "@tsed/logger": "6.7.8", "@tsed/platform-cache": "workspace:*", "@tsed/platform-params": "workspace:*", "@tsed/platform-router": "workspace:*", "@tsed/platform-views": "workspace:*", "@tsed/schema": "workspace:*", "@tsed/swagger": "workspace:*", - "ajv": "^8.12.0", - "axios": "1.7.4", + "ajv": "^8.17.1", + "axios": "1.7.7", "read-pkg-up": "7.0.1" }, "devDependencies": { "@tsed/barrels": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5" + "eslint": "9.12.0", + "typescript": "5.4.5" } } diff --git a/packages/platform/platform-test-sdk/src/components/PlatformTestSdk.ts b/packages/platform/platform-test-sdk/src/components/PlatformTestSdk.ts index 2c6d6c8ca5a..fbfd98d87b6 100644 --- a/packages/platform/platform-test-sdk/src/components/PlatformTestSdk.ts +++ b/packages/platform/platform-test-sdk/src/components/PlatformTestSdk.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; import {specsContainer} from "../tests/exports.js"; @@ -24,6 +25,6 @@ export class PlatformTestSdk { } reset() { - return PlatformTest.reset; + return PlatformTest.reset(); } } diff --git a/packages/platform/platform-test-sdk/src/modules/feature/FeatureModule.ts b/packages/platform/platform-test-sdk/src/modules/feature/FeatureModule.ts index 4f17045e03f..494e123b2df 100644 --- a/packages/platform/platform-test-sdk/src/modules/feature/FeatureModule.ts +++ b/packages/platform/platform-test-sdk/src/modules/feature/FeatureModule.ts @@ -1,4 +1,5 @@ import {Module} from "@tsed/di"; + import {FeatureController} from "./controllers/FeatureController.js"; @Module({ diff --git a/packages/platform/platform-test-sdk/src/modules/feature/controllers/FeatureController.ts b/packages/platform/platform-test-sdk/src/modules/feature/controllers/FeatureController.ts index 90c1ac84ef1..6eed083bcec 100644 --- a/packages/platform/platform-test-sdk/src/modules/feature/controllers/FeatureController.ts +++ b/packages/platform/platform-test-sdk/src/modules/feature/controllers/FeatureController.ts @@ -1,4 +1,5 @@ -import {Controller, Get} from "@tsed/common"; +import {Controller} from "@tsed/common"; +import {Get} from "@tsed/schema"; import {Hidden} from "@tsed/swagger"; @Hidden() diff --git a/packages/platform/platform-test-sdk/src/tests/exports.ts b/packages/platform/platform-test-sdk/src/tests/exports.ts index 8f4b724df03..bbcf38f05b0 100644 --- a/packages/platform/platform-test-sdk/src/tests/exports.ts +++ b/packages/platform/platform-test-sdk/src/tests/exports.ts @@ -2,6 +2,7 @@ import {PlatformTestingSdkOpts} from "../interfaces/index.js"; import {testAcceptMime} from "./testAcceptMime.js"; import {testAuth} from "./testAuth.js"; import {testBodyParams} from "./testBodyParams.js"; +import {testCache} from "./testCache.js"; import {testChildrenControllers} from "./testChildrenControllers.js"; import {testCookies} from "./testCookies.js"; import {testCustom404} from "./testCustom404.js"; @@ -27,7 +28,6 @@ import {testSession} from "./testSession.js"; import {testStatics} from "./testStatics.js"; import {testStream} from "./testStream.js"; import {testView} from "./testView.js"; -import {testCache} from "./testCache.js"; export const specsContainer = new Map void>(); diff --git a/packages/platform/platform-test-sdk/src/tests/testAcceptMime.ts b/packages/platform/platform-test-sdk/src/tests/testAcceptMime.ts index adb3642a24d..8c1c9d3ae8d 100644 --- a/packages/platform/platform-test-sdk/src/tests/testAcceptMime.ts +++ b/packages/platform/platform-test-sdk/src/tests/testAcceptMime.ts @@ -1,6 +1,8 @@ -import {AcceptMime, Controller, Get, HeaderParams, PlatformTest, Post} from "@tsed/common"; -import {ContentType} from "@tsed/schema"; +import {Controller, HeaderParams, PlatformTest} from "@tsed/common"; +import {AcceptMime, ContentType, Get, Post} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; @Controller("/accept-mime") diff --git a/packages/platform/platform-test-sdk/src/tests/testAuth.ts b/packages/platform/platform-test-sdk/src/tests/testAuth.ts index 3da4433975c..4413688aca1 100644 --- a/packages/platform/platform-test-sdk/src/tests/testAuth.ts +++ b/packages/platform/platform-test-sdk/src/tests/testAuth.ts @@ -1,8 +1,10 @@ -import {Context, Controller, Get, Inject, Injectable, Middleware, PlatformTest, Post, Req, UseAuth} from "@tsed/common"; +import {Context, Controller, Inject, Injectable, Middleware, PlatformTest, Req, UseAuth} from "@tsed/common"; import {useDecorators} from "@tsed/core"; import {BadRequest, Forbidden, Unauthorized} from "@tsed/exceptions"; -import {In, Returns, Security} from "@tsed/schema"; +import {Get, In, Post, Returns, Security} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + import baseSpec from "../data/swagger.json"; import {PlatformTestingSdkOpts} from "../interfaces/index.js"; diff --git a/packages/platform/platform-test-sdk/src/tests/testBodyParams.ts b/packages/platform/platform-test-sdk/src/tests/testBodyParams.ts index 7306f4d7fd9..f170b0017fd 100644 --- a/packages/platform/platform-test-sdk/src/tests/testBodyParams.ts +++ b/packages/platform/platform-test-sdk/src/tests/testBodyParams.ts @@ -1,7 +1,8 @@ import "@tsed/ajv"; + import {BodyParams, Context, Controller, HeaderParams, PlatformTest, RawBodyParams} from "@tsed/common"; import { - Post, + Consumes, Default, Description, GenericOf, @@ -9,12 +10,14 @@ import { Maximum, Minimum, Nullable, + Post, Property, Required, - Status, - Consumes + Status } from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; enum MyEnum { diff --git a/packages/platform/platform-test-sdk/src/tests/testCache.ts b/packages/platform/platform-test-sdk/src/tests/testCache.ts index 92a3ac5b0bf..231dbe73ae1 100644 --- a/packages/platform/platform-test-sdk/src/tests/testCache.ts +++ b/packages/platform/platform-test-sdk/src/tests/testCache.ts @@ -1,7 +1,9 @@ -import {Controller, Get, Head, Inject, PathParams, PlatformTest, Post, QueryParams} from "@tsed/common"; -import {UseCache, PlatformCache} from "@tsed/platform-cache"; -import {Property} from "@tsed/schema"; +import {Controller, Inject, PathParams, PlatformTest, QueryParams} from "@tsed/common"; +import {PlatformCache, UseCache} from "@tsed/platform-cache"; +import {Get, Head, Post, Property} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterEach, beforeEach, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; let increment = 0; diff --git a/packages/platform/platform-test-sdk/src/tests/testChildrenControllers.ts b/packages/platform/platform-test-sdk/src/tests/testChildrenControllers.ts index d72d16c03aa..4c3a98599ed 100644 --- a/packages/platform/platform-test-sdk/src/tests/testChildrenControllers.ts +++ b/packages/platform/platform-test-sdk/src/tests/testChildrenControllers.ts @@ -1,5 +1,8 @@ -import {Controller, Get, PlatformTest} from "@tsed/common"; +import {Controller, PlatformTest} from "@tsed/common"; +import {Get} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterEach, beforeEach, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; export function testChildrenControllers(options: PlatformTestingSdkOpts) { diff --git a/packages/platform/platform-test-sdk/src/tests/testCookies.ts b/packages/platform/platform-test-sdk/src/tests/testCookies.ts index 5c1cd7b110c..5ee84c3af18 100644 --- a/packages/platform/platform-test-sdk/src/tests/testCookies.ts +++ b/packages/platform/platform-test-sdk/src/tests/testCookies.ts @@ -1,5 +1,8 @@ -import {Controller, CookiesParams, Get, PlatformTest} from "@tsed/common"; +import {Controller, CookiesParams, PlatformTest} from "@tsed/common"; +import {Get} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; @Controller("/cookies") diff --git a/packages/platform/platform-test-sdk/src/tests/testCustom404.ts b/packages/platform/platform-test-sdk/src/tests/testCustom404.ts index 8bcd23dc307..2a419f8b990 100644 --- a/packages/platform/platform-test-sdk/src/tests/testCustom404.ts +++ b/packages/platform/platform-test-sdk/src/tests/testCustom404.ts @@ -1,5 +1,7 @@ import {PlatformTest} from "@tsed/common"; import SuperTest from "supertest"; +import {afterAll, beforeAll, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; export function testCustom404(options: PlatformTestingSdkOpts) { diff --git a/packages/platform/platform-test-sdk/src/tests/testDeepQueryParams.ts b/packages/platform/platform-test-sdk/src/tests/testDeepQueryParams.ts index 010e3a259d6..3ac3838b7f9 100644 --- a/packages/platform/platform-test-sdk/src/tests/testDeepQueryParams.ts +++ b/packages/platform/platform-test-sdk/src/tests/testDeepQueryParams.ts @@ -1,7 +1,10 @@ import "@tsed/ajv"; -import {Controller, Get, PlatformTest, QueryParams} from "@tsed/common"; -import {Default, GenericOf, Generics, Maximum, Minimum, Property, Required} from "@tsed/schema"; + +import {Controller, PlatformTest, QueryParams} from "@tsed/common"; +import {Default, GenericOf, Generics, Get, Maximum, Minimum, Property} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; class FindQuery { diff --git a/packages/platform/platform-test-sdk/src/tests/testErrors.ts b/packages/platform/platform-test-sdk/src/tests/testErrors.ts index 5f892a6e796..ee06763088a 100644 --- a/packages/platform/platform-test-sdk/src/tests/testErrors.ts +++ b/packages/platform/platform-test-sdk/src/tests/testErrors.ts @@ -1,9 +1,12 @@ import "@tsed/ajv"; -import {BodyParams, Controller, Err, Get, Middleware, PlatformTest, Post, UseAfter} from "@tsed/common"; + +import {BodyParams, Controller, Err, Middleware, PlatformTest, UseAfter} from "@tsed/common"; import {Env} from "@tsed/core"; import {BadRequest, InternalServerError} from "@tsed/exceptions"; -import {Description, Name, Required, Returns, Summary} from "@tsed/schema"; +import {Description, Get, Name, Post, Required, Returns, Summary} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, expect, it} from "vitest"; + import {CustomBadRequest} from "../errors/CustomBadRequest.js"; import {CustomInternalError} from "../errors/CustomInternalError.js"; import {PlatformTestingSdkOpts} from "../interfaces/index.js"; @@ -39,19 +42,19 @@ class FakeMiddleware { @Controller("/errors") export class ErrorsCtrl { @Get("/scenario-1") - @Returns(500, InternalServerError).Description("Custom Bad Request") + @(Returns(500, InternalServerError).Description("Custom Bad Request")) public scenario1() { throw new CustomBadRequest("Custom Bad Request"); } @Get("/scenario-2") - @Returns(500).Description("Internal Server Error") + @(Returns(500).Description("Internal Server Error")) public scenario2() { throw new Error("My error"); } @Get("/scenario-3") - @Returns(400, CustomInternalError).Description("Bad request") + @(Returns(400, CustomInternalError).Description("Bad request")) public scenario3() { throw new CustomInternalError("My custom error"); } @@ -63,7 +66,7 @@ export class ErrorsCtrl { } @Post("/scenario-5") - @Returns(400, BadRequest).Description("Bad request") + @(Returns(400, BadRequest).Description("Bad request")) public scenario5( @Required() @BodyParams() @@ -75,7 +78,7 @@ export class ErrorsCtrl { @Post("/scenario-6") @Summary("Throw a Required prop if prop name is required") @Description(`Return a required error`) - @Returns(400).Description("Bad request") + @(Returns(400).Description("Bad request")) public scenario6( @Required() @BodyParams() @@ -85,7 +88,7 @@ export class ErrorsCtrl { } @Get("/scenario-7") - @Returns(400).Description("Bad request") + @(Returns(400).Description("Bad request")) @UseAfter(FakeMiddleware) @UseAfter(ErrorMiddleware) public scenario7() { diff --git a/packages/platform/platform-test-sdk/src/tests/testHandlers.ts b/packages/platform/platform-test-sdk/src/tests/testHandlers.ts index 219aa2577b7..239322ea252 100644 --- a/packages/platform/platform-test-sdk/src/tests/testHandlers.ts +++ b/packages/platform/platform-test-sdk/src/tests/testHandlers.ts @@ -1,6 +1,8 @@ -import {Context, Controller, Get, PathParams, PlatformTest} from "@tsed/common"; -import {Property, Required, Title} from "@tsed/schema"; +import {Context, Controller, PathParams, PlatformTest} from "@tsed/common"; +import {Get, Property, Required, Title} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; export class MyModel { diff --git a/packages/platform/platform-test-sdk/src/tests/testHeaderParams.ts b/packages/platform/platform-test-sdk/src/tests/testHeaderParams.ts index 6d6fcd55f0d..75675bd7eb8 100644 --- a/packages/platform/platform-test-sdk/src/tests/testHeaderParams.ts +++ b/packages/platform/platform-test-sdk/src/tests/testHeaderParams.ts @@ -1,6 +1,8 @@ -import {Context, Controller, Get, HeaderParams, Locals, Middleware, PlatformTest, Post, Req, Use} from "@tsed/common"; -import {Enum, Required} from "@tsed/schema"; +import {Context, Controller, HeaderParams, Locals, Middleware, PlatformTest, Req, Use} from "@tsed/common"; +import {Enum, Get, Post, Required} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; @Middleware() diff --git a/packages/platform/platform-test-sdk/src/tests/testHeaders.ts b/packages/platform/platform-test-sdk/src/tests/testHeaders.ts index c1ec0b0a769..1ac7bcd3099 100644 --- a/packages/platform/platform-test-sdk/src/tests/testHeaders.ts +++ b/packages/platform/platform-test-sdk/src/tests/testHeaders.ts @@ -1,30 +1,32 @@ -import {BodyParams, Controller, Get, PlatformResponse, PlatformTest, Res} from "@tsed/common"; -import {Returns} from "@tsed/schema"; +import {BodyParams, Controller, PlatformResponse, PlatformTest, Res} from "@tsed/common"; +import {Get, Returns} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; @Controller("/headers") export class HeadersCtrl { @Get("/scenario-1") - @Returns(200, String).Header("test", "x-token") + @(Returns(200, String).Header("test", "x-token")) testScenario1(@BodyParams("test") value: string[]): any { return "hello"; } @Get("/scenario-2") - @Returns(200, String).Header("x-token-test", "test").Header("x-token-test-2", "test2").ContentType("application/xml") + @(Returns(200, String).Header("x-token-test", "test").Header("x-token-test-2", "test2").ContentType("application/xml")) testScenario2() { return ""; } @Get("/scenario-3") - @Returns(200, String).Headers({ + @(Returns(200, String).Headers({ Location: { description: "URL to the new xxx", type: "string", value: "/v1/location/header" } - }) + })) testScenario3(@Res() response: PlatformResponse) { response.setHeader("Location", `/v1/location`); return "Hello"; diff --git a/packages/platform/platform-test-sdk/src/tests/testInheritanceController.ts b/packages/platform/platform-test-sdk/src/tests/testInheritanceController.ts index 2bf7751e3a5..ff9e8dceeba 100644 --- a/packages/platform/platform-test-sdk/src/tests/testInheritanceController.ts +++ b/packages/platform/platform-test-sdk/src/tests/testInheritanceController.ts @@ -1,8 +1,10 @@ -import {BodyParams, Controller, Get, Middleware, PathParams, PlatformTest, Post, QueryParams, UseAuth} from "@tsed/common"; +import {BodyParams, Controller, Middleware, PathParams, PlatformTest, QueryParams, UseAuth} from "@tsed/common"; import {NotFound} from "@tsed/exceptions"; -import {Description, MaxLength, MinLength, Property, Returns, Summary} from "@tsed/schema"; +import {Description, Get, MaxLength, MinLength, Post, Property, Returns, Summary} from "@tsed/schema"; import SuperTest from "supertest"; import {v4} from "uuid"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; export class Resource { @@ -60,7 +62,7 @@ export class ResourcesCtrl extends BaseController { } @Post("/") - @Returns(201).Type(Resource) + @(Returns(201).Type(Resource)) post(@BodyParams() resource: Resource) { resource.id = v4(); this.resources.push(resource); diff --git a/packages/platform/platform-test-sdk/src/tests/testLocals.ts b/packages/platform/platform-test-sdk/src/tests/testLocals.ts index d347cf8245d..9a066ea6da3 100644 --- a/packages/platform/platform-test-sdk/src/tests/testLocals.ts +++ b/packages/platform/platform-test-sdk/src/tests/testLocals.ts @@ -1,5 +1,8 @@ -import {Context, Controller, Get, Locals, Middleware, Next, PlatformContext, PlatformTest, Req, Request, Res, Use} from "@tsed/common"; +import {Context, Controller, Locals, Middleware, PlatformContext, PlatformTest, Req, Use} from "@tsed/common"; +import {Get} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; @Middleware() diff --git a/packages/platform/platform-test-sdk/src/tests/testLocation.ts b/packages/platform/platform-test-sdk/src/tests/testLocation.ts index a9999a48497..2432a036030 100644 --- a/packages/platform/platform-test-sdk/src/tests/testLocation.ts +++ b/packages/platform/platform-test-sdk/src/tests/testLocation.ts @@ -1,6 +1,8 @@ -import {Controller, Get, PlatformTest} from "@tsed/common"; +import {Controller, PlatformTest} from "@tsed/common"; +import {Get, Location} from "@tsed/schema"; import SuperTest from "supertest"; -import {Location} from "@tsed/schema"; +import {afterAll, beforeAll, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; @Controller("/location") diff --git a/packages/platform/platform-test-sdk/src/tests/testMiddlewares.ts b/packages/platform/platform-test-sdk/src/tests/testMiddlewares.ts index d14abccfa5d..a1c4d6ecf41 100644 --- a/packages/platform/platform-test-sdk/src/tests/testMiddlewares.ts +++ b/packages/platform/platform-test-sdk/src/tests/testMiddlewares.ts @@ -1,19 +1,11 @@ import "@tsed/ajv"; -import { - Context, - Controller, - Err, - Get, - Middleware, - MiddlewareMethods, - PlatformTest, - QueryParams, - Use, - UseAfter, - UseBefore -} from "@tsed/common"; + +import {Context, Controller, Err, Middleware, MiddlewareMethods, PlatformTest, QueryParams, Use, UseAfter, UseBefore} from "@tsed/common"; import {BadRequest, Exception, Unauthorized} from "@tsed/exceptions"; +import {Get} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; @Middleware() diff --git a/packages/platform/platform-test-sdk/src/tests/testModule.ts b/packages/platform/platform-test-sdk/src/tests/testModule.ts index 0927d6042ea..714852a5eec 100644 --- a/packages/platform/platform-test-sdk/src/tests/testModule.ts +++ b/packages/platform/platform-test-sdk/src/tests/testModule.ts @@ -1,5 +1,8 @@ -import {Controller, Get, PlatformTest} from "@tsed/common"; +import {Controller, PlatformTest} from "@tsed/common"; +import {Get} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; import {FeatureModule} from "../modules/feature/FeatureModule.js"; diff --git a/packages/platform/platform-test-sdk/src/tests/testMulter.ts b/packages/platform/platform-test-sdk/src/tests/testMulter.ts index 19617f98396..84c31aada69 100644 --- a/packages/platform/platform-test-sdk/src/tests/testMulter.ts +++ b/packages/platform/platform-test-sdk/src/tests/testMulter.ts @@ -4,9 +4,11 @@ import multer, {FileFilterCallback} from "multer"; import {dirname, join} from "path"; import readPkgUp from "read-pkg-up"; import SuperTest from "supertest"; +import {afterAll, beforeAll, describe, expect, it, vi} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build export class Task { @Property() @@ -78,7 +80,7 @@ export function testMulter(options: PlatformTestingSdkOpts) { const buffer = Buffer.from("test content"); const pkg = readPkgUp.sync({ - cwd: __dirname + cwd: import.meta.dirname }); const rootDir = join(dirname(pkg?.path || ""), "src"); diff --git a/packages/platform/platform-test-sdk/src/tests/testPathParams.ts b/packages/platform/platform-test-sdk/src/tests/testPathParams.ts index 8ca54ff7229..93f26e76f04 100644 --- a/packages/platform/platform-test-sdk/src/tests/testPathParams.ts +++ b/packages/platform/platform-test-sdk/src/tests/testPathParams.ts @@ -1,6 +1,8 @@ -import {Context, Controller, Get, PathParams, PlatformTest, Post} from "@tsed/common"; -import {Pattern} from "@tsed/schema"; +import {Context, Controller, PathParams, PlatformTest} from "@tsed/common"; +import {Get, Pattern, Post} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; @Controller("/path-params") diff --git a/packages/platform/platform-test-sdk/src/tests/testQueryParams.ts b/packages/platform/platform-test-sdk/src/tests/testQueryParams.ts index 4f3476ef6b4..f34123bb66f 100644 --- a/packages/platform/platform-test-sdk/src/tests/testQueryParams.ts +++ b/packages/platform/platform-test-sdk/src/tests/testQueryParams.ts @@ -1,7 +1,10 @@ import "@tsed/ajv"; -import {Controller, Get, PlatformTest, QueryParams} from "@tsed/common"; -import {Maximum, Minimum, Required} from "@tsed/schema"; + +import {Controller, PlatformTest, QueryParams} from "@tsed/common"; +import {Get, Maximum, Minimum, Required} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; export class RandomStringModel { diff --git a/packages/platform/platform-test-sdk/src/tests/testRedirect.ts b/packages/platform/platform-test-sdk/src/tests/testRedirect.ts index 22f8100154c..6329b9acd31 100644 --- a/packages/platform/platform-test-sdk/src/tests/testRedirect.ts +++ b/packages/platform/platform-test-sdk/src/tests/testRedirect.ts @@ -1,5 +1,8 @@ -import {Context, Controller, Get, Location, PlatformTest, Redirect} from "@tsed/common"; +import {Context, Controller, PlatformTest} from "@tsed/common"; +import {Get, Location, Redirect} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; @Controller("/redirect") @@ -37,7 +40,7 @@ class RedirectCtrl { } @Get("/scenario-6") - @Location("/path/to").Status(301) + @(Location("/path/to").Status(301)) testScenario6(@Context() ctx: Context) { return "Hello"; } diff --git a/packages/platform/platform-test-sdk/src/tests/testResponse.ts b/packages/platform/platform-test-sdk/src/tests/testResponse.ts index 7c4e1edd58b..c95a8ab09d0 100644 --- a/packages/platform/platform-test-sdk/src/tests/testResponse.ts +++ b/packages/platform/platform-test-sdk/src/tests/testResponse.ts @@ -1,9 +1,11 @@ -import {Context, Controller, Get, getContext, PathParams, PlatformResponse, PlatformTest, Post, Res} from "@tsed/common"; -import {CollectionOf, Enum, ForwardGroups, Groups, Ignore, Name, Property, Required, Returns, Status} from "@tsed/schema"; +import {Context, Controller, getContext, PathParams, PlatformResponse, PlatformTest, Res} from "@tsed/common"; +import {CollectionOf, Enum, ForwardGroups, Get, Groups, Ignore, Name, Post, Property, Required, Returns, Status} from "@tsed/schema"; import axios from "axios"; import {of} from "rxjs"; -import {agent, SuperAgentStatic} from "superagent"; +import {agent} from "superagent"; import SuperTest from "supertest"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; class Base { @@ -167,7 +169,7 @@ class TestResponseParamsCtrl { @Get("/scenario13") async testScenario13(@Res() res: PlatformResponse) { - const http: SuperAgentStatic = agent(); + const http = agent(); const image_res = await http.get("https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png"); @@ -210,7 +212,7 @@ class TestResponseParamsCtrl { } @Get("/scenario17") - @Returns(201, ModelGroup).Groups("creation") + @(Returns(201, ModelGroup).Groups("creation")) testScenario17(): Promise { const model = new ModelGroup(); model.id = "id"; @@ -231,7 +233,7 @@ class TestResponseParamsCtrl { } @Get("/scenario19") - @Returns(200, AllowedModel).Groups("!admin").AllowedGroups("summary", "details") + @(Returns(200, AllowedModel).Groups("!admin").AllowedGroups("summary", "details")) testScenario19(): Promise { const model = new AllowedModel(); model.id = "id"; diff --git a/packages/platform/platform-test-sdk/src/tests/testResponseFilter.ts b/packages/platform/platform-test-sdk/src/tests/testResponseFilter.ts index 8aaa70f2fb8..a7ae4f7ca57 100644 --- a/packages/platform/platform-test-sdk/src/tests/testResponseFilter.ts +++ b/packages/platform/platform-test-sdk/src/tests/testResponseFilter.ts @@ -1,6 +1,8 @@ -import {Controller, Get, PlatformContext, PlatformTest, ResponseFilter, ResponseFilterMethods} from "@tsed/common"; -import {Property, Returns} from "@tsed/schema"; +import {Controller, PlatformContext, PlatformTest, ResponseFilter} from "@tsed/common"; +import {Get, Property, Returns} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; class ResponseFilterModel { @@ -11,22 +13,22 @@ class ResponseFilterModel { @Controller("/response-filter") class TestResponseFilterCtrl { @Get("/scenario1/:id") - @Returns(200, ResponseFilterModel).Description("description") - @Returns(200, String).ContentType("text/xml") + @(Returns(200, ResponseFilterModel).Description("description")) + @(Returns(200, String).ContentType("text/xml")) public testScenario1() { return {id: "id"}; } } @ResponseFilter("text/xml") -class XmlResponseFilter implements ResponseFilterMethods { +class XmlResponseFilter { transform(data: unknown, ctx: PlatformContext) { return "test"; } } @ResponseFilter("*/*") -class AnyResponseFilter implements ResponseFilterMethods { +class AnyResponseFilter { transform(data: unknown, ctx: PlatformContext) { return {data, errors: []}; } @@ -41,7 +43,7 @@ export function testResponseFilter(options: PlatformTestingSdkOpts) { mount: { "/rest": [TestResponseFilterCtrl] }, - responseFilters: [XmlResponseFilter, AnyResponseFilter] + responseFilters: [XmlResponseFilter, AnyResponseFilter] as never[] }) ); beforeAll(() => { diff --git a/packages/platform/platform-test-sdk/src/tests/testRouting.ts b/packages/platform/platform-test-sdk/src/tests/testRouting.ts index 533c3275e82..082a5e2b85c 100644 --- a/packages/platform/platform-test-sdk/src/tests/testRouting.ts +++ b/packages/platform/platform-test-sdk/src/tests/testRouting.ts @@ -1,5 +1,8 @@ -import {Controller, Get, PlatformTest, Put} from "@tsed/common"; +import {Controller, PlatformTest} from "@tsed/common"; +import {Get, Put} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, afterEach, beforeAll, expect, it, vi} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; const stub = vi.fn(); diff --git a/packages/platform/platform-test-sdk/src/tests/testScopeRequest.ts b/packages/platform/platform-test-sdk/src/tests/testScopeRequest.ts index 441a846ccd1..7d696760ce4 100644 --- a/packages/platform/platform-test-sdk/src/tests/testScopeRequest.ts +++ b/packages/platform/platform-test-sdk/src/tests/testScopeRequest.ts @@ -1,5 +1,8 @@ -import {Controller, Get, PathParams, PlatformTest, ProviderScope, Scope, Service} from "@tsed/common"; +import {Controller, PathParams, PlatformTest, ProviderScope, Scope, Service} from "@tsed/common"; +import {Get} from "@tsed/schema"; import SuperTest from "supertest"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; @Service() diff --git a/packages/platform/platform-test-sdk/src/tests/testSession.ts b/packages/platform/platform-test-sdk/src/tests/testSession.ts index 6bb45daf685..ec801d7eb62 100644 --- a/packages/platform/platform-test-sdk/src/tests/testSession.ts +++ b/packages/platform/platform-test-sdk/src/tests/testSession.ts @@ -1,8 +1,10 @@ -import {BodyParams, Constant, Controller, Get, PlatformTest, Post, Req, Session} from "@tsed/common"; +import {BodyParams, Constant, Controller, PlatformTest, Req, Session} from "@tsed/common"; import {NotFound} from "@tsed/exceptions"; -import {Allow, Email, Ignore, MinLength, Property, Required, Returns} from "@tsed/schema"; +import {Allow, Email, Get, Ignore, MinLength, Post, Property, Required, Returns} from "@tsed/schema"; import SuperTest from "supertest"; import {promisify} from "util"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; export class UserCreation { diff --git a/packages/platform/platform-test-sdk/src/tests/testStatics.ts b/packages/platform/platform-test-sdk/src/tests/testStatics.ts index 4dd8a2df810..eeb223c4b6c 100644 --- a/packages/platform/platform-test-sdk/src/tests/testStatics.ts +++ b/packages/platform/platform-test-sdk/src/tests/testStatics.ts @@ -4,6 +4,8 @@ import {Configuration} from "@tsed/di"; import {PlatformRouter} from "@tsed/platform-router"; import {readFileSync} from "fs"; import SuperTest from "supertest"; +import {afterEach, beforeEach, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; @Controller("/statics") diff --git a/packages/platform/platform-test-sdk/src/tests/testStream.ts b/packages/platform/platform-test-sdk/src/tests/testStream.ts index 7c1cb153038..f98f0776b87 100644 --- a/packages/platform/platform-test-sdk/src/tests/testStream.ts +++ b/packages/platform/platform-test-sdk/src/tests/testStream.ts @@ -1,11 +1,13 @@ -import {Controller, Get, PlatformTest} from "@tsed/common"; -import {ContentType} from "@tsed/schema"; +import {Controller, PlatformTest} from "@tsed/common"; +import {ContentType, Get} from "@tsed/schema"; import {createReadStream} from "fs"; import {join} from "path"; import SuperTest from "supertest"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build @Controller("/stream") class TestStreamCtrl { diff --git a/packages/platform/platform-test-sdk/src/tests/testView.ts b/packages/platform/platform-test-sdk/src/tests/testView.ts index e2de0b39d52..bc5c7705f40 100644 --- a/packages/platform/platform-test-sdk/src/tests/testView.ts +++ b/packages/platform/platform-test-sdk/src/tests/testView.ts @@ -1,7 +1,10 @@ -import {Controller, Get, Locals, Middleware, PlatformTest, UseBefore} from "@tsed/common"; +import {Controller, Locals, Middleware, PlatformTest, UseBefore} from "@tsed/common"; +import {View} from "@tsed/platform-views"; +import {Get} from "@tsed/schema"; import {EOL} from "os"; import SuperTest from "supertest"; -import {View} from "@tsed/platform-views"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + import {PlatformTestingSdkOpts} from "../interfaces/index.js"; @Middleware() diff --git a/packages/platform/platform-test-sdk/tsconfig.cjs.json b/packages/platform/platform-test-sdk/tsconfig.cjs.json deleted file mode 100644 index 85004279084..00000000000 --- a/packages/platform/platform-test-sdk/tsconfig.cjs.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false, - "types": ["vite/client", "vitest/globals"] - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/platform/platform-test-sdk/tsconfig.esm.json b/packages/platform/platform-test-sdk/tsconfig.esm.json index e3528a4ae89..8954049da4a 100644 --- a/packages/platform/platform-test-sdk/tsconfig.esm.json +++ b/packages/platform/platform-test-sdk/tsconfig.esm.json @@ -2,17 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, - "noEmit": false, - "types": ["vite/client", "vitest/globals"] + "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/platform/platform-test-sdk/tsconfig.json b/packages/platform/platform-test-sdk/tsconfig.json index 14041cf1b89..f295c5c13fa 100644 --- a/packages/platform/platform-test-sdk/tsconfig.json +++ b/packages/platform/platform-test-sdk/tsconfig.json @@ -2,8 +2,7 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "noEmit": true, - "types": ["vite/client", "vitest/globals"] + "noEmit": true }, "include": [], "references": [ @@ -40,9 +39,6 @@ { "path": "../../specs/swagger/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" } diff --git a/packages/platform/platform-views/package.json b/packages/platform/platform-views/package.json index 13f49369e3c..c2ef5f4d340 100644 --- a/packages/platform/platform-views/package.json +++ b/packages/platform/platform-views/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/platform-views", "description": "Views module for Ts.ED Framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -24,8 +23,8 @@ }, "dependencies": { "@tsed/engines": "workspace:*", - "ejs": "^3.1.9", - "tslib": "2.6.1" + "ejs": "^3.1.10", + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -36,16 +35,16 @@ "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", "@types/ejs": "3.1.5", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/engines": "7.83.3", - "@tsed/exceptions": "7.83.3", - "@tsed/schema": "7.83.3" + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/engines": "8.0.0-alpha.10", + "@tsed/exceptions": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10" }, "peerDependenciesMeta": { "@tsed/core": { diff --git a/packages/platform/platform-views/src/services/PlatformViews.spec.ts b/packages/platform/platform-views/src/services/PlatformViews.spec.ts index 2b65a927abf..2db63552686 100644 --- a/packages/platform/platform-views/src/services/PlatformViews.spec.ts +++ b/packages/platform/platform-views/src/services/PlatformViews.spec.ts @@ -1,5 +1,6 @@ import {Injectable, PlatformTest} from "@tsed/common"; import {requires} from "@tsed/engines"; + import {PlatformViews} from "./PlatformViews.js"; @Injectable() @@ -42,7 +43,7 @@ describe("PlatformViews", () => { const result = await platformViews.render("views.ejs"); expect(result).toEqual("HTML"); - expect(engine.render).toBeCalledWith("views.ejs", { + expect(engine.render).toHaveBeenCalledWith("views.ejs", { cache: false, alter: "alter", global: "global", @@ -58,7 +59,7 @@ describe("PlatformViews", () => { const result = await platformViews.render("views", {test: "test"}); expect(result).toEqual("HTML"); - expect(engine.render).toBeCalledWith("views.ejs", { + expect(engine.render).toHaveBeenCalledWith("views.ejs", { cache: false, global: "global", test: "test", @@ -66,7 +67,7 @@ describe("PlatformViews", () => { requires: "requires" }); }); - it("should render a template without extension", async () => { + it("should render a template without extension and catch error", async () => { const platformViews = PlatformTest.get(PlatformViews); const engine = platformViews.getEngine("ejs")!; diff --git a/packages/platform/platform-views/src/services/PlatformViews.ts b/packages/platform/platform-views/src/services/PlatformViews.ts index b4d0fe76f16..a08a1655a76 100644 --- a/packages/platform/platform-views/src/services/PlatformViews.ts +++ b/packages/platform/platform-views/src/services/PlatformViews.ts @@ -3,6 +3,7 @@ import {Constant, Inject, InjectorService, Module} from "@tsed/di"; import {engines, getEngine, requires} from "@tsed/engines"; import Fs from "fs"; import {extname, join, resolve} from "path"; + import { PLATFORM_VIEWS_EXTENSIONS, PlatformViewEngine, diff --git a/packages/platform/platform-views/tsconfig.cjs.json b/packages/platform/platform-views/tsconfig.cjs.json deleted file mode 100644 index ab4caf25857..00000000000 --- a/packages/platform/platform-views/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/platform/platform-views/tsconfig.esm.json b/packages/platform/platform-views/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/platform/platform-views/tsconfig.esm.json +++ b/packages/platform/platform-views/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/platform/platform-views/tsconfig.json b/packages/platform/platform-views/tsconfig.json index 98103bc9ab6..669937d0475 100644 --- a/packages/platform/platform-views/tsconfig.json +++ b/packages/platform/platform-views/tsconfig.json @@ -21,9 +21,6 @@ { "path": "../../specs/schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/platform/platform-views/tsconfig.spec.json b/packages/platform/platform-views/tsconfig.spec.json index a8174c232a8..a13a026dab7 100644 --- a/packages/platform/platform-views/tsconfig.spec.json +++ b/packages/platform/platform-views/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../platform-exceptions/src"], - "@tsed/platform-middlewares": ["../platform-middlewares/src"], - "@tsed/platform-params": ["../platform-params/src"], - "@tsed/platform-log-middleware": ["../platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../platform-response-filter/src"], - "@tsed/platform-router": ["../platform-router/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../platform-test-sdk/src"], - "@tsed/platform-express": ["../platform-express/src"], - "@tsed/platform-koa": ["../platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../platform-router/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../platform-express/src/index.ts"], + "@tsed/platform-koa": ["../platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/platform/platform-views/vitest.config.mts b/packages/platform/platform-views/vitest.config.mts index d759e817941..7841aa19b37 100644 --- a/packages/platform/platform-views/vitest.config.mts +++ b/packages/platform/platform-views/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 92.25, + branches: 94.73, + functions: 76.92, + lines: 92.25 } } } } -); +); \ No newline at end of file diff --git a/packages/security/jwks/package.json b/packages/security/jwks/package.json index c57cb8ce2f6..d4c6c9bfc9d 100644 --- a/packages/security/jwks/package.json +++ b/packages/security/jwks/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/jwks", "description": "Utils to generate jwks pair keys", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -25,13 +24,13 @@ "dependencies": { "fs-extra": "^11.2.0", "jose2": "npm:jose@^2.0.4", - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" } } diff --git a/packages/security/jwks/src/getJwks.spec.ts b/packages/security/jwks/src/getJwks.spec.ts index e6ff5fcdfd2..748457e4456 100644 --- a/packages/security/jwks/src/getJwks.spec.ts +++ b/packages/security/jwks/src/getJwks.spec.ts @@ -1,8 +1,9 @@ import fs from "fs-extra"; import {join} from "path"; + import {generateJwks, getJwks} from "./getJwks.js"; -const rootDir = join(__dirname, "__mocks__"); +const rootDir = join(import.meta.dirname, "__mocks__"); describe("GetJwks", () => { beforeEach(() => { @@ -21,7 +22,7 @@ describe("GetJwks", () => { {path: join(rootDir, "keys", "sig.rsa.prv.pem"), alg: "RS256", use: "sig"}, {path: join(rootDir, "keys", "enc.rsa.pub.pem"), alg: "RS256", use: "enc", kid: "key-1"}, {path: join(rootDir, "keys", "enc.rsa.prv.pem"), alg: "RS256", use: "enc"} - ] + ] as never[] }); expect(output).toEqual({ diff --git a/packages/security/jwks/src/getJwks.ts b/packages/security/jwks/src/getJwks.ts index 50fd63eff07..f26b520123b 100644 --- a/packages/security/jwks/src/getJwks.ts +++ b/packages/security/jwks/src/getJwks.ts @@ -1,7 +1,8 @@ +import {dirname} from "node:path"; + import fs from "fs-extra"; // @ts-ignore import {JWK, JWKS, KeyParameters} from "jose2"; -import {dirname} from "node:path"; export interface JwksKeyParameters extends KeyParameters { path: string; diff --git a/packages/security/jwks/src/index.ts b/packages/security/jwks/src/index.ts index 0f0843f6b49..485f1020f92 100644 --- a/packages/security/jwks/src/index.ts +++ b/packages/security/jwks/src/index.ts @@ -1,3 +1,3 @@ +export * from "./getJwks.js"; // @ts-ignore export * from "jose2"; -export * from "./getJwks.js"; diff --git a/packages/security/jwks/tsconfig.cjs.json b/packages/security/jwks/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/security/jwks/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/security/jwks/tsconfig.esm.json b/packages/security/jwks/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/security/jwks/tsconfig.esm.json +++ b/packages/security/jwks/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/security/jwks/tsconfig.json b/packages/security/jwks/tsconfig.json index d2f0c1fcdbd..ffa3a8cd7e1 100644 --- a/packages/security/jwks/tsconfig.json +++ b/packages/security/jwks/tsconfig.json @@ -6,9 +6,6 @@ }, "include": [], "references": [ - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/security/jwks/tsconfig.spec.json b/packages/security/jwks/tsconfig.spec.json index 21485bab96d..5a6e5c12b13 100644 --- a/packages/security/jwks/tsconfig.spec.json +++ b/packages/security/jwks/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/package.json b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/package.json index bfcf6ecb6fa..cb7b0a81590 100644 --- a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/package.json +++ b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/package.json @@ -1,23 +1,22 @@ { "name": "@tsed/oidc-provider-plugin-wildcard-redirect-uri", "description": "A plugin to support wildcard in the redirect uri whitelist", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "contributors": [ { "name": "romakita" } ], "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -30,7 +29,7 @@ }, "dependencies": { "psl": "1.9.0", - "wildcard": "2.0.0" + "wildcard": "2.0.1" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -39,16 +38,16 @@ "@tsed/oidc-provider": "workspace:*", "@tsed/typescript": "workspace:*", "@types/psl": "^1.1.3", - "@types/uuid": "9.0.8", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "@types/uuid": "10.0.0", + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", "@tsed/logger": ">=6.7.5", - "@tsed/oidc-provider": "7.83.3", + "@tsed/oidc-provider": "8.0.0-alpha.10", "oidc-provider": ">=8.0.0" }, "peerDependenciesMeta": { diff --git a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/src/OidcWildcardRedirectUriModule.spec.ts b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/src/OidcWildcardRedirectUriModule.spec.ts index 2b46c312405..d5980d01781 100644 --- a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/src/OidcWildcardRedirectUriModule.spec.ts +++ b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/src/OidcWildcardRedirectUriModule.spec.ts @@ -1,6 +1,7 @@ import {PlatformTest} from "@tsed/common"; import {catchError} from "@tsed/core"; import {errors, KoaContextWithOIDC} from "oidc-provider"; + import {OidcWildcardRedirectUriModule} from "./OidcWildcardRedirectUriModule.js"; import InvalidClientMetadata = errors.InvalidClientMetadata; @@ -55,7 +56,7 @@ describe("WildcardRedirectUriAllowed", () => { const service = PlatformTest.get(OidcWildcardRedirectUriModule); service.validator({} as KoaContextWithOIDC, "key", "value"); }); - it("should throw an error if one of client redirect_uri contains more than one '*' ", () => { + it("should throw an error if one of client redirect_uri contains more than one '*'", () => { const service = PlatformTest.get(OidcWildcardRedirectUriModule); const error = catchError(() => @@ -92,7 +93,7 @@ describe("WildcardRedirectUriAllowed", () => { const service = PlatformTest.get(OidcWildcardRedirectUriModule); service.validator({} as KoaContextWithOIDC, "key", "value"); }); - it("should throw an error if one of client post_logout_redirect_uris contains more than one '*' ", () => { + it("should throw an error if one of client post_logout_redirect_uris contains more than one '*'", () => { const service = PlatformTest.get(OidcWildcardRedirectUriModule); const error = catchError(() => diff --git a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/src/OidcWildcardRedirectUriModule.ts b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/src/OidcWildcardRedirectUriModule.ts index 2dce0f5f59a..6d05fb8d5c7 100644 --- a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/src/OidcWildcardRedirectUriModule.ts +++ b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/src/OidcWildcardRedirectUriModule.ts @@ -5,6 +5,7 @@ import {OIDC_PROVIDER_NODE_MODULE, OidcSettings} from "@tsed/oidc-provider"; import type {default as Provider, KoaContextWithOIDC} from "oidc-provider"; // @ts-ignore import psl from "psl"; + import {wildcardRedirectUriAllowed} from "./utils/wildcardRedirectUriAllowed.js"; declare global { diff --git a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/src/utils/wildcardRedirectUriAllowed.ts b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/src/utils/wildcardRedirectUriAllowed.ts index a3e1c1be163..670219d4839 100644 --- a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/src/utils/wildcardRedirectUriAllowed.ts +++ b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/src/utils/wildcardRedirectUriAllowed.ts @@ -8,7 +8,10 @@ const hasWildcardHost = (redirectUri: string) => { const wildcardMatches = (redirectUri: string, wildcardUri: string) => !!wildcard(wildcardUri, redirectUri); -export function wildcardRedirectUriAllowed(originalRedirectUriAllowed: any, redirectUriOrPostLogoutRedirectUri: "redirectUris" | "postLogoutRedirectUris") { +export function wildcardRedirectUriAllowed( + originalRedirectUriAllowed: any, + redirectUriOrPostLogoutRedirectUri: "redirectUris" | "postLogoutRedirectUris" +) { return function (redirectUri: string) { if (this[redirectUriOrPostLogoutRedirectUri].some(hasWildcardHost)) { const wildcardUris = this[redirectUriOrPostLogoutRedirectUri].filter(hasWildcardHost); @@ -17,4 +20,3 @@ export function wildcardRedirectUriAllowed(originalRedirectUriAllowed: any, redi return originalRedirectUriAllowed.call(this, redirectUri); }; } - diff --git a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/tsconfig.cjs.json b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/tsconfig.esm.json b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/tsconfig.esm.json +++ b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/tsconfig.json b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/tsconfig.json index 2bf9a0a5895..e809eaf26cc 100644 --- a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/tsconfig.json +++ b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/tsconfig.json @@ -15,9 +15,6 @@ { "path": "../oidc-provider/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/tsconfig.spec.json b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/tsconfig.spec.json index 21485bab96d..5a6e5c12b13 100644 --- a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/tsconfig.spec.json +++ b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/vitest.config.mts b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/vitest.config.mts index d759e817941..e7621a62bfa 100644 --- a/packages/security/oidc-provider-plugin-wildcard-redirect-uri/vitest.config.mts +++ b/packages/security/oidc-provider-plugin-wildcard-redirect-uri/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 98.78, + branches: 86.95, + functions: 100, + lines: 98.78 } } } } -); +); \ No newline at end of file diff --git a/packages/security/oidc-provider/package.json b/packages/security/oidc-provider/package.json index 20e210e5b61..999a18e18f8 100644 --- a/packages/security/oidc-provider/package.json +++ b/packages/security/oidc-provider/package.json @@ -1,8 +1,8 @@ { "name": "@tsed/oidc-provider", "description": "OIDC provider package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "contributors": [ { "name": "romakita" @@ -15,15 +15,14 @@ } ], "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -36,13 +35,13 @@ }, "dependencies": { "@tsed/adapters": "workspace:*", - "express-urlrewrite": "^1.4.0", + "express-urlrewrite": "^2.0.3", "jose2": "npm:jose@^2.0.4", "koa-mount": "^4.0.0", "koa-rewrite": "^3.0.1", "lodash": "4.17.21", - "tslib": "2.6.1", - "uuid": "9.0.1" + "tslib": "2.7.0", + "uuid": "^10.0.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -53,22 +52,22 @@ "@tsed/jwks": "workspace:*", "@tsed/typescript": "workspace:*", "@types/lowdb": "1.0.15", - "@types/oidc-provider": "8.4.4", - "@types/uuid": "9.0.8", + "@types/oidc-provider": "8.5.2", + "@types/uuid": "10.0.0", "cross-env": "7.0.3", - "eslint": "^8.57.0", - "lowdb": "3.0.0", - "oidc-provider": "8.4.5", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "lowdb": "7.0.1", + "oidc-provider": "8.5.1", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/ajv": "7.83.3", - "@tsed/common": "7.83.3", - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/json-mapper": "7.83.3", - "@tsed/schema": "7.83.3", + "@tsed/ajv": "8.0.0-alpha.10", + "@tsed/common": "8.0.0-alpha.10", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/json-mapper": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10", "oidc-provider": ">=8.0.0" }, "peerDependenciesMeta": { diff --git a/packages/security/oidc-provider/src/OidcModule.spec.ts b/packages/security/oidc-provider/src/OidcModule.spec.ts index fbed983208a..2964f1a5178 100644 --- a/packages/security/oidc-provider/src/OidcModule.spec.ts +++ b/packages/security/oidc-provider/src/OidcModule.spec.ts @@ -3,6 +3,7 @@ import expressRewrite from "express-urlrewrite"; import koaMount from "koa-mount"; // @ts-ignore import koaRewrite from "koa-rewrite"; + import {OidcModule} from "./OidcModule.js"; import {OidcProvider} from "./services/OidcProvider.js"; @@ -30,14 +31,14 @@ describe("OidcModule", () => { afterEach(() => PlatformTest.reset()); describe('when path "/oidc"', () => { it("should register the appropriate rewrite middleware", async () => { - const mdl = await PlatformTest.invoke(OidcModule); + const mdl = await PlatformTest.invoke(OidcModule); vi.spyOn(mdl.app, "use").mockReturnValue(undefined); await mdl.$onRoutesInit(); - expect(expressRewrite).toBeCalledWith("/.well-known/*", "/oidc/.well-known/$1"); - expect(mdl.app.use).toBeCalledWith(expect.any(Function)); + expect(expressRewrite).toHaveBeenCalledWith("/.well-known/*", "/oidc/.well-known/$1"); + expect(mdl.app.use).toHaveBeenCalledWith(expect.any(Function)); }); it("should mount the oidc provider server to application", async () => { const provider = { @@ -49,7 +50,7 @@ describe("OidcModule", () => { get: vi.fn().mockReturnValue(provider), create: vi.fn() }; - const mdl = await PlatformTest.invoke(OidcModule, [ + const mdl = await PlatformTest.invoke(OidcModule, [ { token: OidcProvider, use: oidcProvider @@ -60,7 +61,7 @@ describe("OidcModule", () => { await mdl.$afterRoutesInit(); - expect(mdl.app.use).toBeCalledWith("/oidc", "callback"); + expect(mdl.app.use).toHaveBeenCalledWith("/oidc", "callback"); }); }); }); @@ -77,14 +78,14 @@ describe("OidcModule", () => { afterEach(() => PlatformTest.reset()); describe('when path "/oidc"', () => { it("should register the appropriate rewrite middleware", async () => { - const mdl = await PlatformTest.invoke(OidcModule); + const mdl = await PlatformTest.invoke(OidcModule); vi.spyOn(mdl.app, "use").mockReturnValue(undefined); await mdl.$onRoutesInit(); - expect(koaRewrite).toBeCalledWith("/.well-known/(.*)", "/oidc/.well-known/$1"); - expect(mdl.app.use).toBeCalledWith(expect.any(Function)); + expect(koaRewrite).toHaveBeenCalledWith("/.well-known/(.*)", "/oidc/.well-known/$1"); + expect(mdl.app.use).toHaveBeenCalledWith(expect.any(Function)); }); it("should mount the oidc provider server to application", async () => { const provider = { @@ -96,7 +97,7 @@ describe("OidcModule", () => { get: vi.fn().mockReturnValue(provider), create: vi.fn() }; - const mdl = await PlatformTest.invoke(OidcModule, [ + const mdl = await PlatformTest.invoke(OidcModule, [ { token: OidcProvider, use: oidcProvider @@ -107,8 +108,8 @@ describe("OidcModule", () => { await mdl.$afterRoutesInit(); - expect(koaMount).toBeCalledWith("/oidc", "app"); - expect(mdl.app.use).toBeCalledWith(expect.any(Function)); + expect(koaMount).toHaveBeenCalledWith("/oidc", "app"); + expect(mdl.app.use).toHaveBeenCalledWith(expect.any(Function)); }); }); }); diff --git a/packages/security/oidc-provider/src/OidcModule.ts b/packages/security/oidc-provider/src/OidcModule.ts index 95777fbe6da..a6510617980 100644 --- a/packages/security/oidc-provider/src/OidcModule.ts +++ b/packages/security/oidc-provider/src/OidcModule.ts @@ -1,6 +1,7 @@ import {Inject, InjectorService, PlatformApplication} from "@tsed/common"; import {Constant, Module} from "@tsed/di"; import koaMount from "koa-mount"; + import {OidcAdapters} from "./services/OidcAdapters.js"; import {OidcJwks} from "./services/OidcJwks.js"; import {OidcProvider} from "./services/OidcProvider.js"; diff --git a/packages/security/oidc-provider/src/decorators/grantId.spec.ts b/packages/security/oidc-provider/src/decorators/grantId.spec.ts index b10fe75b306..34b922c5470 100644 --- a/packages/security/oidc-provider/src/decorators/grantId.spec.ts +++ b/packages/security/oidc-provider/src/decorators/grantId.spec.ts @@ -1,5 +1,6 @@ -import {INTERACTION_GRANT_ID} from "../constants/constants.js"; import {JsonParameterStore} from "@tsed/schema"; + +import {INTERACTION_GRANT_ID} from "../constants/constants.js"; import {GrantId} from "./grantId.js"; describe("@GrandId", () => { diff --git a/packages/security/oidc-provider/src/decorators/grantId.ts b/packages/security/oidc-provider/src/decorators/grantId.ts index ecbdcab75e8..68336921ff4 100644 --- a/packages/security/oidc-provider/src/decorators/grantId.ts +++ b/packages/security/oidc-provider/src/decorators/grantId.ts @@ -1,5 +1,6 @@ import {Context} from "@tsed/common"; import {useDecorators} from "@tsed/core"; + import {INTERACTION_GRANT_ID, INTERACTION_PARAMS} from "../constants/constants.js"; export function GrantId(): ParameterDecorator { diff --git a/packages/security/oidc-provider/src/decorators/interaction.spec.ts b/packages/security/oidc-provider/src/decorators/interaction.spec.ts index 39c0800b012..d1823d44ffd 100644 --- a/packages/security/oidc-provider/src/decorators/interaction.spec.ts +++ b/packages/security/oidc-provider/src/decorators/interaction.spec.ts @@ -1,5 +1,6 @@ import {Store} from "@tsed/core"; import {GlobalProviders} from "@tsed/di"; + import {INTERACTION_OPTIONS} from "../constants/constants.js"; import {OidcInteractionMethods} from "../domain/OidcInteractionMethods.js"; import {Interaction} from "./interaction.js"; diff --git a/packages/security/oidc-provider/src/decorators/interaction.ts b/packages/security/oidc-provider/src/decorators/interaction.ts index e467d03dacb..360daf5959c 100644 --- a/packages/security/oidc-provider/src/decorators/interaction.ts +++ b/packages/security/oidc-provider/src/decorators/interaction.ts @@ -1,5 +1,6 @@ import {Controller} from "@tsed/common"; import {StoreMerge, useDecorators} from "@tsed/core"; + import {INTERACTION, INTERACTION_OPTIONS} from "../constants/constants.js"; import {OidcInteractionOptions} from "../domain/OidcInteractionOptions.js"; diff --git a/packages/security/oidc-provider/src/decorators/interactions.spec.ts b/packages/security/oidc-provider/src/decorators/interactions.spec.ts index 1f4683fedb9..799ff3340f3 100644 --- a/packages/security/oidc-provider/src/decorators/interactions.spec.ts +++ b/packages/security/oidc-provider/src/decorators/interactions.spec.ts @@ -1,5 +1,6 @@ +import "../../test/app/controllers/oidc/InteractionsCtrl.js"; + import {PlatformTest} from "@tsed/common"; -import "../../test/app/controllers/oidc/InteractionsCtrl"; describe("@Interactions", () => { beforeEach(() => diff --git a/packages/security/oidc-provider/src/decorators/interactions.ts b/packages/security/oidc-provider/src/decorators/interactions.ts index ca68ca8c0c8..02ba1abb8af 100644 --- a/packages/security/oidc-provider/src/decorators/interactions.ts +++ b/packages/security/oidc-provider/src/decorators/interactions.ts @@ -1,5 +1,6 @@ import {Controller, UseBefore} from "@tsed/common"; import {Type, useDecorators} from "@tsed/core"; + import {INTERACTIONS} from "../constants/constants.js"; import {OidcInteractionMiddleware} from "../middlewares/OidcInteractionMiddleware.js"; import {NoCache} from "./noCache.js"; diff --git a/packages/security/oidc-provider/src/decorators/noCache.ts b/packages/security/oidc-provider/src/decorators/noCache.ts index 02a216818f4..ff100ab3f29 100644 --- a/packages/security/oidc-provider/src/decorators/noCache.ts +++ b/packages/security/oidc-provider/src/decorators/noCache.ts @@ -1,4 +1,5 @@ import {UseBefore} from "@tsed/common"; + import {OidcNoCacheMiddleware} from "../middlewares/OidcNoCacheMiddleware.js"; export function NoCache(): ClassDecorator { diff --git a/packages/security/oidc-provider/src/decorators/oidcCtx.spec.ts b/packages/security/oidc-provider/src/decorators/oidcCtx.spec.ts index ae5bae5ac75..01e0115688b 100644 --- a/packages/security/oidc-provider/src/decorators/oidcCtx.spec.ts +++ b/packages/security/oidc-provider/src/decorators/oidcCtx.spec.ts @@ -1,6 +1,7 @@ +import {JsonParameterStore} from "@tsed/schema"; + import {INTERACTION_CONTEXT} from "../constants/constants.js"; import {OidcCtx} from "./oidcCtx.js"; -import {JsonParameterStore} from "@tsed/schema"; describe("@OidcCtx", () => { it("should inject uid", () => { diff --git a/packages/security/oidc-provider/src/decorators/oidcCtx.ts b/packages/security/oidc-provider/src/decorators/oidcCtx.ts index c635c1d1ca1..3ded3f94ea6 100644 --- a/packages/security/oidc-provider/src/decorators/oidcCtx.ts +++ b/packages/security/oidc-provider/src/decorators/oidcCtx.ts @@ -1,5 +1,6 @@ import {Context} from "@tsed/common"; import {useDecorators} from "@tsed/core"; + import {INTERACTION_CONTEXT} from "../constants/constants.js"; import {OidcInteractionContext} from "../services/OidcInteractionContext.js"; diff --git a/packages/security/oidc-provider/src/decorators/oidcSession.spec.ts b/packages/security/oidc-provider/src/decorators/oidcSession.spec.ts index fe33988ec58..85963a22c16 100644 --- a/packages/security/oidc-provider/src/decorators/oidcSession.spec.ts +++ b/packages/security/oidc-provider/src/decorators/oidcSession.spec.ts @@ -1,6 +1,7 @@ +import {JsonParameterStore} from "@tsed/schema"; + import {INTERACTION_SESSION} from "../constants/constants.js"; import {OidcSession} from "./oidcSession.js"; -import {JsonParameterStore} from "@tsed/schema"; describe("@OidcSession", () => { it("should inject uid", () => { diff --git a/packages/security/oidc-provider/src/decorators/oidcSession.ts b/packages/security/oidc-provider/src/decorators/oidcSession.ts index f0ce5cf4ff8..a2bc7f2dec2 100644 --- a/packages/security/oidc-provider/src/decorators/oidcSession.ts +++ b/packages/security/oidc-provider/src/decorators/oidcSession.ts @@ -2,6 +2,7 @@ import {Context} from "@tsed/common"; import {useDecorators} from "@tsed/core"; // @ts-ignore import type {default as Provider} from "oidc-provider"; + import {INTERACTION_SESSION} from "../constants/constants.js"; /** diff --git a/packages/security/oidc-provider/src/decorators/params.spec.ts b/packages/security/oidc-provider/src/decorators/params.spec.ts index b035e9e510e..36debde4f3e 100644 --- a/packages/security/oidc-provider/src/decorators/params.spec.ts +++ b/packages/security/oidc-provider/src/decorators/params.spec.ts @@ -1,6 +1,7 @@ +import {JsonParameterStore} from "@tsed/schema"; + import {INTERACTION_PARAMS} from "../constants/constants.js"; import {Params} from "./params.js"; -import {JsonParameterStore} from "@tsed/schema"; describe("@Params", () => { it("should inject uid", () => { diff --git a/packages/security/oidc-provider/src/decorators/params.ts b/packages/security/oidc-provider/src/decorators/params.ts index bd4349d6763..f5c34de203b 100644 --- a/packages/security/oidc-provider/src/decorators/params.ts +++ b/packages/security/oidc-provider/src/decorators/params.ts @@ -1,5 +1,6 @@ import {Context} from "@tsed/common"; import {useDecorators} from "@tsed/core"; + import {INTERACTION_PARAMS} from "../constants/constants.js"; export function Params(expression?: string): ParameterDecorator { diff --git a/packages/security/oidc-provider/src/decorators/prompt.spec.ts b/packages/security/oidc-provider/src/decorators/prompt.spec.ts index a4fd9be923a..9d5825ae724 100644 --- a/packages/security/oidc-provider/src/decorators/prompt.spec.ts +++ b/packages/security/oidc-provider/src/decorators/prompt.spec.ts @@ -1,6 +1,7 @@ +import {JsonParameterStore} from "@tsed/schema"; + import {INTERACTION_PROMPT} from "../constants/constants.js"; import {Prompt} from "./prompt.js"; -import {JsonParameterStore} from "@tsed/schema"; describe("@Prompt", () => { it("should inject uid", () => { diff --git a/packages/security/oidc-provider/src/decorators/prompt.ts b/packages/security/oidc-provider/src/decorators/prompt.ts index 8050e38aedb..a0fc98698d8 100644 --- a/packages/security/oidc-provider/src/decorators/prompt.ts +++ b/packages/security/oidc-provider/src/decorators/prompt.ts @@ -2,6 +2,7 @@ import {Context} from "@tsed/common"; import {useDecorators} from "@tsed/core"; // @ts-ignore import type {PromptDetail as P} from "oidc-provider"; + import {INTERACTION_PROMPT} from "../constants/constants.js"; export function Prompt(): ParameterDecorator { diff --git a/packages/security/oidc-provider/src/decorators/uid.spec.ts b/packages/security/oidc-provider/src/decorators/uid.spec.ts index d0ef22a7bef..c4abcf1cee8 100644 --- a/packages/security/oidc-provider/src/decorators/uid.spec.ts +++ b/packages/security/oidc-provider/src/decorators/uid.spec.ts @@ -1,6 +1,7 @@ +import {JsonParameterStore} from "@tsed/schema"; + import {INTERACTION_UID} from "../constants/constants.js"; import {Uid} from "./uid.js"; -import {JsonParameterStore} from "@tsed/schema"; describe("@Uid", () => { it("should inject uid", () => { diff --git a/packages/security/oidc-provider/src/decorators/uid.ts b/packages/security/oidc-provider/src/decorators/uid.ts index a828cbcf50b..b2e42dfd813 100644 --- a/packages/security/oidc-provider/src/decorators/uid.ts +++ b/packages/security/oidc-provider/src/decorators/uid.ts @@ -1,5 +1,6 @@ import {Context} from "@tsed/common"; import {useDecorators} from "@tsed/core"; + import {INTERACTION_UID} from "../constants/constants.js"; export function Uid(): ParameterDecorator { diff --git a/packages/security/oidc-provider/src/domain/OidcAccountsMethods.ts b/packages/security/oidc-provider/src/domain/OidcAccountsMethods.ts index 88447ec1e0a..f1dc6b4b1e8 100644 --- a/packages/security/oidc-provider/src/domain/OidcAccountsMethods.ts +++ b/packages/security/oidc-provider/src/domain/OidcAccountsMethods.ts @@ -1,5 +1,6 @@ // @ts-ignore -import type {default as Provider, Account} from "oidc-provider"; +import type {Account, default as Provider} from "oidc-provider"; + import {AccessToken, AuthorizationCode, BackchannelAuthenticationRequest, DeviceCode} from "./interfaces.js"; export interface OidcAccountsMethods { diff --git a/packages/security/oidc-provider/src/domain/OidcInteractionPromptProps.ts b/packages/security/oidc-provider/src/domain/OidcInteractionPromptProps.ts index 5830bcdd656..da847986482 100644 --- a/packages/security/oidc-provider/src/domain/OidcInteractionPromptProps.ts +++ b/packages/security/oidc-provider/src/domain/OidcInteractionPromptProps.ts @@ -1,5 +1,6 @@ // @ts-ignore import type {UnknownObject} from "oidc-provider"; + import {OidcClient} from "./interfaces.js"; export type OidcInteractionPromptProps> = { diff --git a/packages/security/oidc-provider/src/domain/OidcSettings.ts b/packages/security/oidc-provider/src/domain/OidcSettings.ts index 88a553809ed..c0024eb263f 100644 --- a/packages/security/oidc-provider/src/domain/OidcSettings.ts +++ b/packages/security/oidc-provider/src/domain/OidcSettings.ts @@ -1,8 +1,9 @@ +import type {Adapter} from "@tsed/adapters"; import type {Type} from "@tsed/core"; import type {JwksKeyParameters} from "@tsed/jwks"; // @ts-ignore import type {Configuration} from "oidc-provider"; -import type {Adapter} from "@tsed/adapters"; + import type {OidcAccountsMethods} from "./OidcAccountsMethods.js"; export interface OidcSettings extends Configuration { diff --git a/packages/security/oidc-provider/src/domain/interfaces.ts b/packages/security/oidc-provider/src/domain/interfaces.ts index 116733d5bad..38fca57cb73 100644 --- a/packages/security/oidc-provider/src/domain/interfaces.ts +++ b/packages/security/oidc-provider/src/domain/interfaces.ts @@ -1,5 +1,5 @@ // @ts-ignore -import type {interactionPolicy, default as Provider} from "oidc-provider"; +import type {default as Provider, interactionPolicy} from "oidc-provider"; export type OIDCContext = InstanceType; export type OidcClient = InstanceType; diff --git a/packages/security/oidc-provider/src/middlewares/OidcInteractionMiddleware.spec.ts b/packages/security/oidc-provider/src/middlewares/OidcInteractionMiddleware.spec.ts index 88b0cf658f7..9f64a336926 100644 --- a/packages/security/oidc-provider/src/middlewares/OidcInteractionMiddleware.spec.ts +++ b/packages/security/oidc-provider/src/middlewares/OidcInteractionMiddleware.spec.ts @@ -1,5 +1,6 @@ -import faker from "@faker-js/faker"; +import {faker} from "@faker-js/faker"; import {PlatformTest} from "@tsed/common"; + import { INTERACTION_CONTEXT, INTERACTION_DETAILS, @@ -16,7 +17,7 @@ describe("OidcInteractionMiddleware", () => { afterEach(() => PlatformTest.reset()); it("should create interaction details and store it to the context", async () => { const interactionDetails = { - uid: faker.datatype.uuid(), + uid: faker.string.uuid(), prompt: {}, params: {}, session: {} @@ -34,6 +35,6 @@ describe("OidcInteractionMiddleware", () => { await middleware.use(); - expect(oidcInteractionContext.interactionDetails).toBeCalledWith(); + expect(oidcInteractionContext.interactionDetails).toHaveBeenCalledWith(); }); }); diff --git a/packages/security/oidc-provider/src/middlewares/OidcInteractionMiddleware.ts b/packages/security/oidc-provider/src/middlewares/OidcInteractionMiddleware.ts index 6ca2cbbde0e..d13423c24ad 100644 --- a/packages/security/oidc-provider/src/middlewares/OidcInteractionMiddleware.ts +++ b/packages/security/oidc-provider/src/middlewares/OidcInteractionMiddleware.ts @@ -1,4 +1,5 @@ import {Inject, Middleware} from "@tsed/common"; + import {OidcInteractionContext} from "../services/OidcInteractionContext.js"; @Middleware() diff --git a/packages/security/oidc-provider/src/middlewares/OidcNoCacheMiddleware.spec.ts b/packages/security/oidc-provider/src/middlewares/OidcNoCacheMiddleware.spec.ts index 930e90faa9e..137952c8cc8 100644 --- a/packages/security/oidc-provider/src/middlewares/OidcNoCacheMiddleware.spec.ts +++ b/packages/security/oidc-provider/src/middlewares/OidcNoCacheMiddleware.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {OidcNoCacheMiddleware} from "./OidcNoCacheMiddleware.js"; describe("OidcNoCacheMiddleware", () => { @@ -11,7 +12,7 @@ describe("OidcNoCacheMiddleware", () => { middleware.use(ctx); - expect(ctx.response.setHeader).toBeCalledWith("Pragma", "no-cache"); - expect(ctx.response.setHeader).toBeCalledWith("Cache-Control", "no-cache, no-store"); + expect(ctx.response.setHeader).toHaveBeenCalledWith("Pragma", "no-cache"); + expect(ctx.response.setHeader).toHaveBeenCalledWith("Cache-Control", "no-cache, no-store"); }); }); diff --git a/packages/security/oidc-provider/src/middlewares/OidcSecureMiddleware.spec.ts b/packages/security/oidc-provider/src/middlewares/OidcSecureMiddleware.spec.ts index 246e146d86b..d0cd42fb6da 100644 --- a/packages/security/oidc-provider/src/middlewares/OidcSecureMiddleware.spec.ts +++ b/packages/security/oidc-provider/src/middlewares/OidcSecureMiddleware.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {OidcSecureMiddleware} from "./OidcSecureMiddleware.js"; describe("OidcSecureMiddleware", () => { @@ -25,7 +26,7 @@ describe("OidcSecureMiddleware", () => { middleware.use(ctx); - expect(ctx.response.redirect).toBeCalledWith(302, "https://host/path"); + expect(ctx.response.redirect).toHaveBeenCalledWith(302, "https://host/path"); }); it("should check if the request is not secure on HEAD verb", async () => { @@ -47,7 +48,7 @@ describe("OidcSecureMiddleware", () => { middleware.use(ctx); - expect(ctx.response.redirect).toBeCalledWith(302, "https://host/path"); + expect(ctx.response.redirect).toHaveBeenCalledWith(302, "https://host/path"); }); it("should check if the request is not secure on POST verb", async () => { @@ -100,6 +101,6 @@ describe("OidcSecureMiddleware", () => { middleware.use(ctx); - expect(ctx.response.redirect).not.toBeCalled(); + expect(ctx.response.redirect).not.toHaveBeenCalled(); }); }); diff --git a/packages/security/oidc-provider/src/services/OidcAdapters.spec.ts b/packages/security/oidc-provider/src/services/OidcAdapters.spec.ts index 95b04081e08..9368123051a 100644 --- a/packages/security/oidc-provider/src/services/OidcAdapters.spec.ts +++ b/packages/security/oidc-provider/src/services/OidcAdapters.spec.ts @@ -1,6 +1,7 @@ +import {faker} from "@faker-js/faker"; import {PlatformTest} from "@tsed/common"; -import faker from "@faker-js/faker"; import type {Adapter} from "oidc-provider"; + import {OidcAdapters} from "./OidcAdapters.js"; describe("OidcAdapters", () => { @@ -17,7 +18,7 @@ describe("OidcAdapters", () => { describe("adapter.upsert()", () => { it("should call upsert", async () => { - const id = faker.datatype.uuid(); + const id = faker.string.uuid(); await adapter.upsert( id, @@ -39,7 +40,7 @@ describe("OidcAdapters", () => { describe("adapter.findByUserCode()", () => { it("should find data by userCode", async () => { - const id = faker.datatype.uuid(); + const id = faker.string.uuid(); await adapter.upsert( id, @@ -58,7 +59,7 @@ describe("OidcAdapters", () => { }); describe("adapter.findByUid()", () => { it("should find data by uid", async () => { - const id = faker.datatype.uuid(); + const id = faker.string.uuid(); await adapter.upsert( id, @@ -77,7 +78,7 @@ describe("OidcAdapters", () => { }); describe("adapter.deleteMany()", () => { it("should delete items", async () => { - const id = faker.datatype.uuid(); + const id = faker.string.uuid(); await adapter.upsert( id, diff --git a/packages/security/oidc-provider/src/services/OidcInteractionContext.spec.ts b/packages/security/oidc-provider/src/services/OidcInteractionContext.spec.ts index 5093815ab91..5ac8f9a8556 100644 --- a/packages/security/oidc-provider/src/services/OidcInteractionContext.spec.ts +++ b/packages/security/oidc-provider/src/services/OidcInteractionContext.spec.ts @@ -1,5 +1,6 @@ import {PlatformTest} from "@tsed/common"; import {catchAsyncError, catchError} from "@tsed/core"; + import {OidcInteractionContext} from "./OidcInteractionContext.js"; import {OidcProvider} from "./OidcProvider.js"; @@ -145,7 +146,7 @@ describe("OidcInteractionContext", () => { await $ctx.runInContext(async () => { await oidcCtx.interactionFinished({login: {accountId: "string"}}, {mergeWithLastSubmission: false}); - expect(oidcProvider.interactionFinished).toBeCalledWith( + expect(oidcProvider.interactionFinished).toHaveBeenCalledWith( $ctx.getReq(), $ctx.getRes(), {login: {accountId: "string"}}, @@ -161,7 +162,7 @@ describe("OidcInteractionContext", () => { await $ctx.runInContext(async () => { await oidcCtx.interactionResult({login: {accountId: "string"}}, {mergeWithLastSubmission: false}); - expect(oidcProvider.interactionResult).toBeCalledWith( + expect(oidcProvider.interactionResult).toHaveBeenCalledWith( $ctx.getReq(), $ctx.getRes(), {login: {accountId: "string"}}, @@ -174,7 +175,7 @@ describe("OidcInteractionContext", () => { await $ctx.runInContext(async () => { await oidcCtx.interactionResult({login: {accountId: "string"}}); - expect(oidcProvider.interactionResult).toBeCalledWith( + expect(oidcProvider.interactionResult).toHaveBeenCalledWith( $ctx.getReq(), $ctx.getRes(), {login: {accountId: "string"}}, @@ -192,7 +193,7 @@ describe("OidcInteractionContext", () => { await oidcCtx.render("login", {}); - expect($ctx.response.render).toBeCalledWith("login", {}); + expect($ctx.response.render).toHaveBeenCalledWith("login", {}); }); }); }); @@ -203,7 +204,7 @@ describe("OidcInteractionContext", () => { await $ctx.runInContext(async () => { await oidcCtx.save(2000); - expect(interactionDetails.save).toBeCalledWith(2000); + expect(interactionDetails.save).toHaveBeenCalledWith(2000); }); }); @@ -212,7 +213,7 @@ describe("OidcInteractionContext", () => { await $ctx.runInContext(async () => { await oidcCtx.save(100); - expect(interactionDetails.save).toBeCalledWith(100); + expect(interactionDetails.save).toHaveBeenCalledWith(100); }); }); }); @@ -226,7 +227,7 @@ describe("OidcInteractionContext", () => { expect(result).toEqual({ client_id: "client_id" }); - expect(oidcProvider.Client.find).toBeCalledWith("client_id"); + expect(oidcProvider.Client.find).toHaveBeenCalledWith("client_id"); }); }); @@ -239,7 +240,7 @@ describe("OidcInteractionContext", () => { expect(result).toEqual({ client_id: "client_id" }); - expect(oidcProvider.Client.find).toBeCalledWith("client_id"); + expect(oidcProvider.Client.find).toHaveBeenCalledWith("client_id"); }); }); }); @@ -250,7 +251,7 @@ describe("OidcInteractionContext", () => { await $ctx.runInContext(async () => { const result = await oidcCtx.findAccount(undefined, "token"); - expect(oidcProvider.Account.findAccount).toBeCalledWith(undefined, "accountId", "token"); + expect(oidcProvider.Account.findAccount).toHaveBeenCalledWith(undefined, "accountId", "token"); expect(result).toEqual({ accountId: "accountId" }); @@ -262,7 +263,7 @@ describe("OidcInteractionContext", () => { await $ctx.runInContext(async () => { const result = await oidcCtx.findAccount("accountId", "token"); - expect(oidcProvider.Account.findAccount).toBeCalledWith(undefined, "accountId", "token"); + expect(oidcProvider.Account.findAccount).toHaveBeenCalledWith(undefined, "accountId", "token"); expect(result).toEqual({ accountId: "accountId" }); diff --git a/packages/security/oidc-provider/src/services/OidcInteractionContext.ts b/packages/security/oidc-provider/src/services/OidcInteractionContext.ts index 71103c3738d..2261f1e6716 100644 --- a/packages/security/oidc-provider/src/services/OidcInteractionContext.ts +++ b/packages/security/oidc-provider/src/services/OidcInteractionContext.ts @@ -2,9 +2,11 @@ import {Constant, InjectContext, PlatformContext} from "@tsed/common"; import {Env} from "@tsed/core"; import {Inject, Injectable} from "@tsed/di"; import {Unauthorized} from "@tsed/exceptions"; - +import {serialize} from "@tsed/json-mapper"; +import omit from "lodash/omit.js"; // @ts-ignore -import type {Account, InteractionResults, PromptDetail, default as Provider} from "oidc-provider"; +import type {Account, default as Provider, InteractionResults, PromptDetail} from "oidc-provider"; + import { INTERACTION_CONTEXT, INTERACTION_DETAILS, @@ -21,7 +23,6 @@ import {OidcInteractionPromptProps} from "../domain/OidcInteractionPromptProps.j import {debug} from "../utils/debug.js"; import {OidcInteractions} from "./OidcInteractions.js"; import {OidcProvider} from "./OidcProvider.js"; -import omit from "lodash/omit.js"; @Injectable() export class OidcInteractionContext { diff --git a/packages/security/oidc-provider/src/services/OidcInteractions.ts b/packages/security/oidc-provider/src/services/OidcInteractions.ts index 25500c7cb82..47cd2ca8084 100644 --- a/packages/security/oidc-provider/src/services/OidcInteractions.ts +++ b/packages/security/oidc-provider/src/services/OidcInteractions.ts @@ -1,6 +1,7 @@ import {Constant, EndpointMetadata, PlatformContext, PlatformHandler, Provider, TokenProvider} from "@tsed/common"; import {Env} from "@tsed/core"; import {Inject, Injectable, InjectorService} from "@tsed/di"; + import {INTERACTION, INTERACTION_OPTIONS, INTERACTIONS} from "../constants/constants.js"; import {OidcInteractionOptions} from "../domain/OidcInteractionOptions.js"; import {OidcSettings} from "../domain/OidcSettings.js"; diff --git a/packages/security/oidc-provider/src/services/OidcJwks.ts b/packages/security/oidc-provider/src/services/OidcJwks.ts index 1cdb57ff67d..270b5d37037 100644 --- a/packages/security/oidc-provider/src/services/OidcJwks.ts +++ b/packages/security/oidc-provider/src/services/OidcJwks.ts @@ -1,6 +1,6 @@ import {Constant, Injectable} from "@tsed/di"; -import {join} from "path"; import {getJwks, JwksKeyParameters} from "@tsed/jwks"; +import {join} from "path"; @Injectable() export class OidcJwks { diff --git a/packages/security/oidc-provider/src/services/OidcPolicy.spec.ts b/packages/security/oidc-provider/src/services/OidcPolicy.spec.ts index 9359c0e926f..c6664b3f160 100644 --- a/packages/security/oidc-provider/src/services/OidcPolicy.spec.ts +++ b/packages/security/oidc-provider/src/services/OidcPolicy.spec.ts @@ -1,5 +1,6 @@ import {PlatformTest} from "@tsed/common"; import {Env} from "@tsed/core"; + import {ConsentInteraction} from "../../test/app/interactions/ConsentInteraction.js"; import {Interaction} from "../decorators/interaction.js"; import {OidcInteractions} from "./OidcInteractions.js"; diff --git a/packages/security/oidc-provider/src/services/OidcPolicy.ts b/packages/security/oidc-provider/src/services/OidcPolicy.ts index fe954bd901b..33c870c54cb 100644 --- a/packages/security/oidc-provider/src/services/OidcPolicy.ts +++ b/packages/security/oidc-provider/src/services/OidcPolicy.ts @@ -1,6 +1,7 @@ import {Inject, Injectable, InjectorService, Provider} from "@tsed/di"; // @ts-ignore import {interactionPolicy} from "oidc-provider"; + import {InteractionMethods} from "../domain/InteractionMethods.js"; import {OidcInteractionOptions} from "../domain/OidcInteractionOptions.js"; import {OidcInteractions} from "./OidcInteractions.js"; diff --git a/packages/security/oidc-provider/src/services/OidcProvider.spec.ts b/packages/security/oidc-provider/src/services/OidcProvider.spec.ts index cb44e1105e7..5857c267bff 100644 --- a/packages/security/oidc-provider/src/services/OidcProvider.spec.ts +++ b/packages/security/oidc-provider/src/services/OidcProvider.spec.ts @@ -1,6 +1,8 @@ +import "../../test/app/controllers/oidc/InteractionsCtrl.js"; + import {PlatformTest, runInContext} from "@tsed/common"; import {Env} from "@tsed/core"; -import "../../test/app/controllers/oidc/InteractionsCtrl"; + import {OidcProvider} from "./OidcProvider.js"; describe("OidcProvider", () => { @@ -57,6 +59,8 @@ describe("OidcProvider", () => { ); expect((oidcProvider as any).injector.logger.error).toHaveBeenCalledWith({ + duration: expect.any(Number), + reqId: "", account_id: "account_id", error: {error_description: "error_description", error_detail: "error_detail", error: "error"}, event: "OIDC_ERROR", @@ -65,7 +69,8 @@ describe("OidcProvider", () => { }, params: {client_id: "client_id"}, sid: "sid", - type: "event" + type: "event", + time: expect.any(Date) }); }); it("should intercept all oidc errors (in request context)", async () => { diff --git a/packages/security/oidc-provider/src/services/OidcProvider.ts b/packages/security/oidc-provider/src/services/OidcProvider.ts index 378fcb901a2..57deaf8ef5f 100644 --- a/packages/security/oidc-provider/src/services/OidcProvider.ts +++ b/packages/security/oidc-provider/src/services/OidcProvider.ts @@ -3,6 +3,7 @@ import {Env, setValue} from "@tsed/core"; import {Constant, Inject, Injectable, InjectorService} from "@tsed/di"; // @ts-ignore import type {Configuration, default as OIDCProvider, KoaContextWithOIDC} from "oidc-provider"; + import {INTERACTIONS} from "../constants/constants.js"; import {OidcAccountsMethods} from "../domain/OidcAccountsMethods.js"; import {OidcSettings} from "../domain/OidcSettings.js"; @@ -205,7 +206,6 @@ export class OidcProvider { if (provider) { return (ctx: any, interaction: any) => { - // eslint-disable-line no-unused-vars return provider.path.replace(/:uid/, interaction.uid); }; } diff --git a/packages/security/oidc-provider/test/app/Server.ts b/packages/security/oidc-provider/test/app/Server.ts index c26426294dc..5ab69cc4857 100644 --- a/packages/security/oidc-provider/test/app/Server.ts +++ b/packages/security/oidc-provider/test/app/Server.ts @@ -1,19 +1,20 @@ -import {FileSyncAdapter} from "@tsed/adapters"; import "@tsed/ajv"; -import "../../src/index"; +import "../../src/index.js"; +import "@tsed/swagger"; + +import {FileSyncAdapter} from "@tsed/adapters"; import {Constant, PlatformApplication} from "@tsed/common"; import {Configuration, Inject} from "@tsed/di"; -import "@tsed/oidc-provider"; -import "@tsed/swagger"; import bodyParser from "body-parser"; import compress from "compression"; import cookieParser from "cookie-parser"; import session from "express-session"; import methodOverride from "method-override"; import {join} from "path"; + import {Accounts} from "./services/Accounts.js"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build export {rootDir}; @Configuration({ diff --git a/packages/security/oidc-provider/test/app/controllers/oidc/InteractionsCtrl.ts b/packages/security/oidc-provider/test/app/controllers/oidc/InteractionsCtrl.ts index a8f705d82ba..6f57a7c7c6f 100644 --- a/packages/security/oidc-provider/test/app/controllers/oidc/InteractionsCtrl.ts +++ b/packages/security/oidc-provider/test/app/controllers/oidc/InteractionsCtrl.ts @@ -1,6 +1,7 @@ -import {Get, PathParams} from "@tsed/common"; +import {PathParams} from "@tsed/common"; +import {Get, Name} from "@tsed/schema"; + import {Interactions, OidcCtx} from "../../../../src/index.js"; -import {Name} from "@tsed/schema"; import {AbortInteraction} from "../../interactions/AbortInteraction.js"; import {ConsentInteraction} from "../../interactions/ConsentInteraction.js"; import {CustomInteraction} from "../../interactions/CustomInteraction.js"; diff --git a/packages/security/oidc-provider/test/app/controllers/pages/IndexCtrl.ts b/packages/security/oidc-provider/test/app/controllers/pages/IndexCtrl.ts index a5350540644..406a45e9109 100644 --- a/packages/security/oidc-provider/test/app/controllers/pages/IndexCtrl.ts +++ b/packages/security/oidc-provider/test/app/controllers/pages/IndexCtrl.ts @@ -1,6 +1,7 @@ -import {Constant, Controller, Get, HeaderParams} from "@tsed/common"; -import {View} from "@tsed/platform-views"; -import {Returns} from "@tsed/schema"; +import "@tsed/platform-views"; + +import {Constant, Controller, HeaderParams} from "@tsed/common"; +import {Get, Returns, View} from "@tsed/schema"; import {Hidden, SwaggerSettings} from "@tsed/swagger"; @Hidden() @@ -11,7 +12,7 @@ export class IndexCtrl { @Get("/") @View("index.ejs") - @Returns(200, String).ContentType("text/html") + @(Returns(200, String).ContentType("text/html")) get(@HeaderParams("x-forwarded-proto") protocol: string, @HeaderParams("host") host: string) { const hostUrl = `${protocol || "http"}://${host}`; diff --git a/packages/security/oidc-provider/test/app/controllers/rest/VersionCtrl.ts b/packages/security/oidc-provider/test/app/controllers/rest/VersionCtrl.ts index 5ab85f7ef4a..0e1fcbc9b43 100644 --- a/packages/security/oidc-provider/test/app/controllers/rest/VersionCtrl.ts +++ b/packages/security/oidc-provider/test/app/controllers/rest/VersionCtrl.ts @@ -1,12 +1,12 @@ -import {Controller, Get} from "@tsed/common"; -import {object, Returns, string} from "@tsed/schema"; +import {Controller} from "@tsed/common"; +import {Get, object, Returns, string} from "@tsed/schema"; @Controller("/version") export class VersionCtrl { @Get("/") - @Returns(200) + @(Returns(200) .ContentType("application/json") - .Schema(object().properties({name: string(), version: string()})) + .Schema(object().properties({name: string(), version: string()}))) async get() { const {name, version} = await import("../../../../package.json"); return { diff --git a/packages/security/oidc-provider/test/app/index.ts b/packages/security/oidc-provider/test/app/index.ts index 66e13bef429..32bcd2496ca 100644 --- a/packages/security/oidc-provider/test/app/index.ts +++ b/packages/security/oidc-provider/test/app/index.ts @@ -1,5 +1,6 @@ import {$log} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; + import {InteractionsCtrl} from "./controllers/oidc/InteractionsCtrl.js"; import {IndexCtrl} from "./controllers/pages/IndexCtrl.js"; import {VersionCtrl} from "./controllers/rest/VersionCtrl.js"; diff --git a/packages/security/oidc-provider/test/app/interactions/AbortInteraction.ts b/packages/security/oidc-provider/test/app/interactions/AbortInteraction.ts index c8b1da9fbcc..846e085b89c 100644 --- a/packages/security/oidc-provider/test/app/interactions/AbortInteraction.ts +++ b/packages/security/oidc-provider/test/app/interactions/AbortInteraction.ts @@ -1,8 +1,9 @@ import {Inject} from "@tsed/common"; -import {Interaction, OidcCtx, OidcProvider, InteractionMethods} from "../../../src/index.js"; import {View} from "@tsed/platform-views"; import {Name} from "@tsed/schema"; +import {Interaction, InteractionMethods, OidcCtx, OidcProvider} from "../../../src/index.js"; + @Interaction({ name: "abort" }) diff --git a/packages/security/oidc-provider/test/app/interactions/ConsentInteraction.ts b/packages/security/oidc-provider/test/app/interactions/ConsentInteraction.ts index 4765c6ec4f9..8bd59ec7151 100644 --- a/packages/security/oidc-provider/test/app/interactions/ConsentInteraction.ts +++ b/packages/security/oidc-provider/test/app/interactions/ConsentInteraction.ts @@ -1,7 +1,7 @@ -import {Inject, Post} from "@tsed/common"; +import {Inject} from "@tsed/common"; +import {Name, Post, View} from "@tsed/schema"; + import {Interaction, InteractionMethods, OidcCtx, OidcProvider, Prompt} from "../../../src/index.js"; -import {Name} from "@tsed/schema"; -import {View} from "@tsed/platform-views"; @Interaction({ name: "consent", @@ -45,7 +45,6 @@ export class ConsentInteraction implements InteractionMethods { } if (missingResourceScopes) { - // eslint-disable-next-line no-restricted-syntax for (const [indicator, scopes] of Object.entries(missingResourceScopes)) { grant.addResourceScope(indicator, scopes.join(" ")); // use grant.rejectResourceScope to reject a subset or the whole thing diff --git a/packages/security/oidc-provider/test/app/interactions/CustomInteraction.ts b/packages/security/oidc-provider/test/app/interactions/CustomInteraction.ts index 3608816e8e5..4a84813965d 100644 --- a/packages/security/oidc-provider/test/app/interactions/CustomInteraction.ts +++ b/packages/security/oidc-provider/test/app/interactions/CustomInteraction.ts @@ -1,9 +1,9 @@ -import {View} from "@tsed/common"; import {Env} from "@tsed/core"; import {Constant} from "@tsed/di"; -import {Interaction, InteractionMethods, OidcCtx, OidcSession, Params, Prompt, Uid} from "@tsed/oidc-provider"; -import {Name} from "@tsed/schema"; +import {Name, View} from "@tsed/schema"; import {interactionPolicy, KoaContextWithOIDC} from "oidc-provider"; + +import {Interaction, InteractionMethods, OidcCtx, OidcSession, Params, Prompt, Uid} from "../../../src/index.js"; import Check = interactionPolicy.Check; @Interaction({ diff --git a/packages/security/oidc-provider/test/app/interactions/LoginInteraction.ts b/packages/security/oidc-provider/test/app/interactions/LoginInteraction.ts index bd684b7e005..e03be773233 100644 --- a/packages/security/oidc-provider/test/app/interactions/LoginInteraction.ts +++ b/packages/security/oidc-provider/test/app/interactions/LoginInteraction.ts @@ -1,9 +1,9 @@ -import {BodyParams, Inject, Post} from "@tsed/common"; +import {BodyParams} from "@tsed/common"; import {Env} from "@tsed/core"; -import {Constant} from "@tsed/di"; +import {Constant, Inject} from "@tsed/di"; +import {Name, Post, View} from "@tsed/schema"; + import {Interaction, InteractionMethods, OidcCtx, OidcSession, Params, Prompt, Uid} from "../../../src/index.js"; -import {View} from "@tsed/platform-views"; -import {Name} from "@tsed/schema"; import {Accounts} from "../services/Accounts.js"; @Interaction({ diff --git a/packages/security/oidc-provider/test/app/services/Accounts.ts b/packages/security/oidc-provider/test/app/services/Accounts.ts index 9d5c534df62..744fce44c11 100644 --- a/packages/security/oidc-provider/test/app/services/Accounts.ts +++ b/packages/security/oidc-provider/test/app/services/Accounts.ts @@ -1,6 +1,7 @@ import {Adapter, InjectAdapter} from "@tsed/adapters"; import {Injectable} from "@tsed/di"; import {deserialize} from "@tsed/json-mapper"; + import {AccessToken, AuthorizationCode, DeviceCode, OidcAccountsMethods} from "../../../src/index.js"; import {Account} from "../models/Account.js"; diff --git a/packages/security/oidc-provider/test/oidc.integration.spec.ts b/packages/security/oidc-provider/test/oidc.integration.spec.ts index 57a773779f8..08acf3fdd21 100644 --- a/packages/security/oidc-provider/test/oidc.integration.spec.ts +++ b/packages/security/oidc-provider/test/oidc.integration.spec.ts @@ -2,15 +2,15 @@ import {MemoryAdapter} from "@tsed/adapters"; import {PlatformTest} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; import {PlatformTestSdk} from "@tsed/platform-test-sdk"; +import {join} from "path"; import SuperTest from "supertest"; + import {rootDir} from "../../../platform/platform-express/test/app/Server.js"; import {InteractionsCtrl} from "./app/controllers/oidc/InteractionsCtrl.js"; import {Server} from "./app/Server.js"; - -import {join} from "path"; import {Accounts} from "./app/services/Accounts.js"; -const testDir = __dirname; +const testDir = import.meta.dirname; const utils = PlatformTestSdk.create({ rootDir, diff --git a/packages/security/oidc-provider/tsconfig.cjs.json b/packages/security/oidc-provider/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/security/oidc-provider/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/security/oidc-provider/tsconfig.esm.json b/packages/security/oidc-provider/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/security/oidc-provider/tsconfig.esm.json +++ b/packages/security/oidc-provider/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/security/oidc-provider/tsconfig.json b/packages/security/oidc-provider/tsconfig.json index e5df0edc10d..59dd9ac6636 100644 --- a/packages/security/oidc-provider/tsconfig.json +++ b/packages/security/oidc-provider/tsconfig.json @@ -33,9 +33,6 @@ { "path": "../../orm/adapters/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/security/oidc-provider/tsconfig.spec.json b/packages/security/oidc-provider/tsconfig.spec.json index 21485bab96d..5a6e5c12b13 100644 --- a/packages/security/oidc-provider/tsconfig.spec.json +++ b/packages/security/oidc-provider/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/security/oidc-provider/vitest.config.mts b/packages/security/oidc-provider/vitest.config.mts index d759e817941..e6d5fe892e5 100644 --- a/packages/security/oidc-provider/vitest.config.mts +++ b/packages/security/oidc-provider/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 97.33, + branches: 90.9, + functions: 98.63, + lines: 97.33 } } } } -); +); \ No newline at end of file diff --git a/packages/security/passport/package.json b/packages/security/passport/package.json index cf04c48f051..113136243b6 100644 --- a/packages/security/passport/package.json +++ b/packages/security/passport/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/passport", "description": "Passport package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -25,7 +24,7 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -38,16 +37,16 @@ "@types/passport-http": "0.3.11", "@types/passport-local": "1.0.38", "@types/passport-strategy": "0.2.38", - "eslint": "^8.57.0", + "eslint": "9.12.0", "passport": "0.7.0", "passport-http": "0.3.0", "passport-local": "1.0.0", "passport-strategy": "1.0.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/common": "7.83.3", + "@tsed/common": "8.0.0-alpha.10", "passport": ">=0.4.1" }, "peerDependenciesMeta": { diff --git a/packages/security/passport/src/PassportModule.spec.ts b/packages/security/passport/src/PassportModule.spec.ts index cfdf0615558..f0024e85047 100644 --- a/packages/security/passport/src/PassportModule.spec.ts +++ b/packages/security/passport/src/PassportModule.spec.ts @@ -1,8 +1,10 @@ +import "../src/index.js"; + import {PlatformApplication, PlatformTest} from "@tsed/common"; -import "../src/index"; -import {PassportModule} from "./PassportModule.js"; import Passport from "passport"; +import {PassportModule} from "./PassportModule.js"; + vi.mock("passport"); beforeEach(() => { diff --git a/packages/security/passport/src/PassportModule.ts b/packages/security/passport/src/PassportModule.ts index db3343da4a2..62c69131ad1 100644 --- a/packages/security/passport/src/PassportModule.ts +++ b/packages/security/passport/src/PassportModule.ts @@ -1,5 +1,6 @@ -import {BeforeRoutesInit, Constant, Inject, Module, OnInit, PlatformApplication, Provider, ProviderScope, Logger} from "@tsed/common"; +import {BeforeRoutesInit, Constant, Inject, Logger, Module, OnInit, PlatformApplication, Provider, ProviderScope} from "@tsed/common"; import Passport from "passport"; + import {PassportSerializerService} from "./services/PassportSerializerService.js"; import {ProtocolsService} from "./services/ProtocolsService.js"; diff --git a/packages/security/passport/src/decorators/args.spec.ts b/packages/security/passport/src/decorators/args.spec.ts index 0934e828a74..6603b00d9df 100644 --- a/packages/security/passport/src/decorators/args.spec.ts +++ b/packages/security/passport/src/decorators/args.spec.ts @@ -1,7 +1,8 @@ import {ParamTypes} from "@tsed/common"; -import {Arg, Args} from "./args.js"; import {JsonParameterStore} from "@tsed/schema"; +import {Arg, Args} from "./args.js"; + describe("@Args", () => { it("should register a new parameter instance with the correct property", () => { class Ctrl { diff --git a/packages/security/passport/src/decorators/authenticate.spec.ts b/packages/security/passport/src/decorators/authenticate.spec.ts index 092ff9a8f6f..053aff39ec4 100644 --- a/packages/security/passport/src/decorators/authenticate.spec.ts +++ b/packages/security/passport/src/decorators/authenticate.spec.ts @@ -1,7 +1,8 @@ import {Store} from "@tsed/core"; -import {Authenticate, PassportMiddleware} from "../index.js"; import {Security} from "@tsed/schema"; +import {Authenticate, PassportMiddleware} from "../index.js"; + describe("@Authenticate", () => { it("should store data", () => { class Test { diff --git a/packages/security/passport/src/decorators/authenticate.ts b/packages/security/passport/src/decorators/authenticate.ts index dc2692260e5..0a7e050fb3c 100644 --- a/packages/security/passport/src/decorators/authenticate.ts +++ b/packages/security/passport/src/decorators/authenticate.ts @@ -1,7 +1,8 @@ -import {UseAuth} from "@tsed/platform-middlewares"; import {useDecorators} from "@tsed/core"; +import {UseAuth} from "@tsed/platform-middlewares"; import {Security} from "@tsed/schema"; import {AuthenticateOptions as PassportAuthenticateOptions} from "passport"; + import {PassportMiddleware} from "../middlewares/PassportMiddleware.js"; export interface AuthenticateOptions extends PassportAuthenticateOptions { diff --git a/packages/security/passport/src/decorators/authorize.spec.ts b/packages/security/passport/src/decorators/authorize.spec.ts index dc7cfda22c6..cbab06ef12d 100644 --- a/packages/security/passport/src/decorators/authorize.spec.ts +++ b/packages/security/passport/src/decorators/authorize.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {Authorize, PassportMiddleware} from "../index.js"; describe("@Authorize", () => { diff --git a/packages/security/passport/src/decorators/authorize.ts b/packages/security/passport/src/decorators/authorize.ts index fae4e0b7b69..d241b46955e 100644 --- a/packages/security/passport/src/decorators/authorize.ts +++ b/packages/security/passport/src/decorators/authorize.ts @@ -1,7 +1,8 @@ -import {UseAuth} from "@tsed/platform-middlewares"; import {useDecorators} from "@tsed/core"; +import {UseAuth} from "@tsed/platform-middlewares"; import {Security} from "@tsed/schema"; import {AuthenticateOptions} from "passport"; + import {PassportMiddleware} from "../middlewares/PassportMiddleware.js"; export interface AuthorizeOptions extends AuthenticateOptions { diff --git a/packages/security/passport/src/decorators/protocol.ts b/packages/security/passport/src/decorators/protocol.ts index a5474a2a76b..78d597dbb26 100644 --- a/packages/security/passport/src/decorators/protocol.ts +++ b/packages/security/passport/src/decorators/protocol.ts @@ -1,7 +1,8 @@ import {StoreSet, useDecorators} from "@tsed/core"; import {Configuration, Injectable} from "@tsed/di"; -import {ProtocolOptions} from "../interfaces/ProtocolOptions.js"; + import {PROVIDER_TYPE_PROTOCOL} from "../contants/constants.js"; +import {ProtocolOptions} from "../interfaces/ProtocolOptions.js"; /** * Declare a new Protocol base on a Passport Strategy diff --git a/packages/security/passport/src/errors/PassportMessage.ts b/packages/security/passport/src/errors/PassportMessage.ts index b4080bc91cd..6b0ad79f0de 100644 --- a/packages/security/passport/src/errors/PassportMessage.ts +++ b/packages/security/passport/src/errors/PassportMessage.ts @@ -1,7 +1,10 @@ import {Unauthorized} from "@tsed/exceptions"; export class PassportMessage extends Unauthorized { - constructor(message: string, public opts: Record = {}) { + constructor( + message: string, + public opts: Record = {} + ) { super(message); } } diff --git a/packages/security/passport/src/interfaces/ProtocolMethods.ts b/packages/security/passport/src/interfaces/ProtocolMethods.ts index ebaef3acc4b..45f39988e82 100644 --- a/packages/security/passport/src/interfaces/ProtocolMethods.ts +++ b/packages/security/passport/src/interfaces/ProtocolMethods.ts @@ -1,5 +1,5 @@ +import {BeforeInstall} from "./BeforeInstall.js"; import {OnInstall} from "./OnInstall.js"; import {OnVerify} from "./OnVerify.js"; -import {BeforeInstall} from "./BeforeInstall.js"; export interface ProtocolMethods extends OnVerify, OnInstall, BeforeInstall {} diff --git a/packages/security/passport/src/interfaces/interfaces.ts b/packages/security/passport/src/interfaces/interfaces.ts index 5996913d149..e5f1da412db 100644 --- a/packages/security/passport/src/interfaces/interfaces.ts +++ b/packages/security/passport/src/interfaces/interfaces.ts @@ -1,5 +1,6 @@ import {Type} from "@tsed/core"; import {PassportStatic} from "passport"; + import {ProtocolOptions} from "./ProtocolOptions.js"; declare global { diff --git a/packages/security/passport/src/middlewares/PassportMiddleware.spec.ts b/packages/security/passport/src/middlewares/PassportMiddleware.spec.ts index aac4dc9af48..82748650c9e 100644 --- a/packages/security/passport/src/middlewares/PassportMiddleware.spec.ts +++ b/packages/security/passport/src/middlewares/PassportMiddleware.spec.ts @@ -1,7 +1,8 @@ import {PlatformTest} from "@tsed/common"; import {Unauthorized} from "@tsed/exceptions"; -import {PassportException} from "../errors/PassportException.js"; import Passport from "passport"; + +import {PassportException} from "../errors/PassportException.js"; import {PassportMiddleware} from "./PassportMiddleware.js"; function createContextFixture(options = {}) { diff --git a/packages/security/passport/src/middlewares/PassportMiddleware.ts b/packages/security/passport/src/middlewares/PassportMiddleware.ts index 9515412b4ee..c6ca1a47fac 100644 --- a/packages/security/passport/src/middlewares/PassportMiddleware.ts +++ b/packages/security/passport/src/middlewares/PassportMiddleware.ts @@ -1,6 +1,7 @@ +import {Context} from "@tsed/common"; import {Inject} from "@tsed/di"; import {Middleware} from "@tsed/platform-middlewares"; -import {Context} from "@tsed/common"; + import {ProtocolsService} from "../services/ProtocolsService.js"; import {getProtocolsFromRequest} from "../utils/getProtocolsFromRequest.js"; diff --git a/packages/security/passport/src/services/PassportSerializerService.spec.ts b/packages/security/passport/src/services/PassportSerializerService.spec.ts index b8223c74997..c459c6af8e7 100644 --- a/packages/security/passport/src/services/PassportSerializerService.spec.ts +++ b/packages/security/passport/src/services/PassportSerializerService.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {PassportSerializerService, UserInfo} from "../index.js"; describe("PassportSerializerService", () => { diff --git a/packages/security/passport/src/services/PassportSerializerService.ts b/packages/security/passport/src/services/PassportSerializerService.ts index a2f6ea708c4..ad80889e704 100644 --- a/packages/security/passport/src/services/PassportSerializerService.ts +++ b/packages/security/passport/src/services/PassportSerializerService.ts @@ -1,6 +1,7 @@ import {Type} from "@tsed/core"; import {Constant, Service} from "@tsed/di"; import {deserialize, serialize} from "@tsed/json-mapper"; + import {UserInfo} from "../domain/UserInfo.js"; /** diff --git a/packages/security/passport/src/services/ProtocolsService.spec.ts b/packages/security/passport/src/services/ProtocolsService.spec.ts index 52b0650bc37..9cb10e00369 100644 --- a/packages/security/passport/src/services/ProtocolsService.spec.ts +++ b/packages/security/passport/src/services/ProtocolsService.spec.ts @@ -1,5 +1,6 @@ import {PlatformTest, Req} from "@tsed/common"; import Passport from "passport"; + import {PassportMessage} from "../errors/PassportMessage.js"; import {Protocol, ProtocolsService} from "../index.js"; diff --git a/packages/security/passport/src/services/ProtocolsService.ts b/packages/security/passport/src/services/ProtocolsService.ts index 3d67f14a606..31b8dd4fe3c 100644 --- a/packages/security/passport/src/services/ProtocolsService.ts +++ b/packages/security/passport/src/services/ProtocolsService.ts @@ -4,6 +4,7 @@ import {Inject, Injectable, InjectorService, Provider} from "@tsed/di"; import {Unauthorized} from "@tsed/exceptions"; import Passport, {Strategy} from "passport"; import {promisify} from "util"; + import {PROVIDER_TYPE_PROTOCOL} from "../contants/constants.js"; import {PassportException} from "../errors/PassportException.js"; import {PassportMessage} from "../errors/PassportMessage.js"; diff --git a/packages/security/passport/test/app/Server.ts b/packages/security/passport/test/app/Server.ts index b4aecd6acfd..cfef1216227 100644 --- a/packages/security/passport/test/app/Server.ts +++ b/packages/security/passport/test/app/Server.ts @@ -1,18 +1,20 @@ -import {MemoryAdapter} from "@tsed/adapters"; import "@tsed/ajv"; -import {Configuration, Inject, PlatformApplication} from "@tsed/common"; import "@tsed/platform-express"; import "@tsed/swagger"; +import "./protocols/LoginLocalProtocol.js"; + +import {MemoryAdapter} from "@tsed/adapters"; +import {Configuration, Inject, PlatformApplication} from "@tsed/common"; import bodyParser from "body-parser"; import compress from "compression"; import cookieParser from "cookie-parser"; +import session from "express-session"; import methodOverride from "method-override"; + import {AuthCtrl} from "./controllers/rest/auth/AuthCtrl.js"; import {Account} from "./models/Account.js"; -import "./protocols/LoginLocalProtocol"; -import session from "express-session"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build export {rootDir}; @Configuration({ diff --git a/packages/security/passport/test/app/controllers/rest/auth/AuthCtrl.ts b/packages/security/passport/test/app/controllers/rest/auth/AuthCtrl.ts index 1f93dcb8a49..cba6e4c34b3 100644 --- a/packages/security/passport/test/app/controllers/rest/auth/AuthCtrl.ts +++ b/packages/security/passport/test/app/controllers/rest/auth/AuthCtrl.ts @@ -1,6 +1,7 @@ -import {BodyParams, Controller, Post, ProviderScope, Req, Scope} from "@tsed/common"; -import {Authenticate} from "@tsed/passport"; -import {Returns} from "@tsed/schema"; +import {BodyParams, Controller, ProviderScope, Req, Scope} from "@tsed/common"; +import {Post, Returns} from "@tsed/schema"; + +import {Authenticate} from "../../../../../src/index.js"; import {Account} from "../../../models/Account.js"; import {Credentials} from "../../../models/Credentials.js"; @@ -9,7 +10,7 @@ import {Credentials} from "../../../models/Credentials.js"; export class AuthCtrl { @Post("/login") @Authenticate("login") - @Returns(200, Account).ContentType("application/json") + @(Returns(200, Account).ContentType("application/json")) login(@Req("user") user: Account, @BodyParams() credentials: Credentials) { // FACADE return user; diff --git a/packages/security/passport/test/app/models/Account.ts b/packages/security/passport/test/app/models/Account.ts index 12468ea5e5b..5b8ca2d691f 100644 --- a/packages/security/passport/test/app/models/Account.ts +++ b/packages/security/passport/test/app/models/Account.ts @@ -1,4 +1,5 @@ import {Groups, Name} from "@tsed/schema"; + import {Credentials} from "./Credentials.js"; export class Account extends Credentials { diff --git a/packages/security/passport/test/app/protocols/LoginLocalProtocol.ts b/packages/security/passport/test/app/protocols/LoginLocalProtocol.ts index 9986edbaca6..f50fbb325d0 100644 --- a/packages/security/passport/test/app/protocols/LoginLocalProtocol.ts +++ b/packages/security/passport/test/app/protocols/LoginLocalProtocol.ts @@ -1,7 +1,8 @@ import {BodyParams, Inject, Req} from "@tsed/common"; import {Unauthorized} from "@tsed/exceptions"; -import {OnInstall, OnVerify, Protocol} from "@tsed/passport"; import {IStrategyOptions, Strategy} from "passport-local"; + +import {OnInstall, OnVerify, Protocol} from "../../../src/index.js"; import {Credentials} from "../models/Credentials.js"; import {UsersRepository} from "../services/UsersRepository.js"; diff --git a/packages/security/passport/test/app/services/UsersRepository.ts b/packages/security/passport/test/app/services/UsersRepository.ts index 483d455314c..e09d68b56ae 100644 --- a/packages/security/passport/test/app/services/UsersRepository.ts +++ b/packages/security/passport/test/app/services/UsersRepository.ts @@ -1,6 +1,7 @@ import {Adapter, InjectAdapter} from "@tsed/adapters"; import {Injectable} from "@tsed/di"; import {deserialize} from "@tsed/json-mapper"; + import {Account} from "../models/Account.js"; @Injectable() diff --git a/packages/security/passport/test/passport.integration.spec.ts b/packages/security/passport/test/passport.integration.spec.ts index c3d60db0d66..9fd5e2a5b5c 100644 --- a/packages/security/passport/test/passport.integration.spec.ts +++ b/packages/security/passport/test/passport.integration.spec.ts @@ -2,6 +2,7 @@ import {PlatformTest} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; import {PlatformTestSdk} from "@tsed/platform-test-sdk"; import SuperTest from "supertest"; + import {rootDir, Server} from "./app/Server.js"; const utils = PlatformTestSdk.create({ diff --git a/packages/security/passport/tsconfig.cjs.json b/packages/security/passport/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/security/passport/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/security/passport/tsconfig.esm.json b/packages/security/passport/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/security/passport/tsconfig.esm.json +++ b/packages/security/passport/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/security/passport/tsconfig.json b/packages/security/passport/tsconfig.json index 3406084ab6d..811afe76b90 100644 --- a/packages/security/passport/tsconfig.json +++ b/packages/security/passport/tsconfig.json @@ -18,9 +18,6 @@ { "path": "../../platform/platform-router/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/security/passport/tsconfig.spec.json b/packages/security/passport/tsconfig.spec.json index 21485bab96d..5a6e5c12b13 100644 --- a/packages/security/passport/tsconfig.spec.json +++ b/packages/security/passport/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/security/passport/vitest.config.mts b/packages/security/passport/vitest.config.mts index d759e817941..075125c73db 100644 --- a/packages/security/passport/vitest.config.mts +++ b/packages/security/passport/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 98.68, + branches: 92.3, + functions: 100, + lines: 98.68 } } } } -); +); \ No newline at end of file diff --git a/packages/specs/ajv/package.json b/packages/specs/ajv/package.json index 9492e09f705..d3631c194f2 100644 --- a/packages/specs/ajv/package.json +++ b/packages/specs/ajv/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/ajv", "description": "AJV package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -25,7 +24,7 @@ "dependencies": { "ajv-errors": "3.0.0", "ajv-formats": "2.1.1", - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -34,16 +33,16 @@ "@tsed/exceptions": "workspace:*", "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", - "ajv": "8.12.0", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "ajv": "^8.17.1", + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/exceptions": "7.83.3", - "@tsed/schema": "7.83.3", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/exceptions": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10", "ajv": ">=8.9.0", "ajv-errors": ">=3.0.0" }, diff --git a/packages/specs/ajv/src/services/Ajv.spec.ts b/packages/specs/ajv/src/services/Ajv.spec.ts index 97aa02af843..e8985914c2e 100644 --- a/packages/specs/ajv/src/services/Ajv.spec.ts +++ b/packages/specs/ajv/src/services/Ajv.spec.ts @@ -1,5 +1,5 @@ import {PlatformTest} from "@tsed/common"; -import Ajv from "ajv"; +import {Ajv} from "ajv"; describe("Ajv", () => { beforeEach(() => PlatformTest.create()); diff --git a/packages/specs/ajv/src/services/Ajv.ts b/packages/specs/ajv/src/services/Ajv.ts index 8bff37f1b75..a1b4b3855c8 100644 --- a/packages/specs/ajv/src/services/Ajv.ts +++ b/packages/specs/ajv/src/services/Ajv.ts @@ -1,8 +1,9 @@ import {cleanObject} from "@tsed/core"; import {Configuration, InjectorService, ProviderScope, registerProvider} from "@tsed/di"; -import Ajv, {Format, KeywordDefinition, Options, Vocabulary} from "ajv"; +import {Ajv, Format, KeywordDefinition, Options, Vocabulary} from "ajv"; import AjvErrors from "ajv-errors"; import AjvFormats from "ajv-formats"; + import {FormatsMethods} from "../interfaces/FormatsMethods.js"; import {IAjvSettings} from "../interfaces/IAjvSettings.js"; @@ -53,6 +54,7 @@ function getFormats(injector: InjectorService): {name: string; options: Format}[ } registerProvider({ + // @ts-ignore provide: Ajv, deps: [Configuration, InjectorService], scope: ProviderScope.SINGLETON, @@ -68,11 +70,13 @@ registerProvider({ ...props }; + // @ts-ignore const ajv = new Ajv(options); // add support for custom error messages + // @ts-ignore AjvErrors(ajv); - + // @ts-ignore AjvFormats(ajv as any); getFormats(injector).forEach(({name, options}) => { diff --git a/packages/specs/ajv/src/services/AjvService.spec.ts b/packages/specs/ajv/src/services/AjvService.spec.ts index a03d7d261ce..cd7de9e5477 100644 --- a/packages/specs/ajv/src/services/AjvService.spec.ts +++ b/packages/specs/ajv/src/services/AjvService.spec.ts @@ -1,6 +1,7 @@ import {PlatformTest} from "@tsed/common"; import {catchAsyncError} from "@tsed/core"; import {object, string} from "@tsed/schema"; + import {AjvService} from "./AjvService.js"; describe("AjvService", () => { diff --git a/packages/specs/ajv/src/services/AjvService.ts b/packages/specs/ajv/src/services/AjvService.ts index 7bb334c3a44..55da096e0f6 100644 --- a/packages/specs/ajv/src/services/AjvService.ts +++ b/packages/specs/ajv/src/services/AjvService.ts @@ -1,12 +1,14 @@ +import "./Ajv.js"; + import {deepClone, getValue, nameOf, prototypeOf, setValue, Type} from "@tsed/core"; import {Constant, Inject, Injectable} from "@tsed/di"; import {getJsonSchema, JsonEntityStore, JsonSchema, JsonSchemaObject} from "@tsed/schema"; -import Ajv, {ErrorObject} from "ajv"; +import {Ajv, ErrorObject} from "ajv"; + import {AjvValidationError} from "../errors/AjvValidationError.js"; import {AjvErrorObject, ErrorFormatter} from "../interfaces/IAjvSettings.js"; import {defaultErrorFormatter} from "../utils/defaultErrorFormatter.js"; import {getPath} from "../utils/getPath.js"; -import "./Ajv"; export interface AjvValidateOptions extends Record { schema?: JsonSchema | Partial; @@ -24,7 +26,7 @@ export class AjvService { @Constant("ajv.returnsCoercedValues") protected returnsCoercedValues: boolean; - @Inject() + @Inject(Ajv) protected ajv: Ajv; async validate(value: any, options: AjvValidateOptions | JsonSchema): Promise { diff --git a/packages/specs/ajv/test/integration/formats.integration.spec.ts b/packages/specs/ajv/test/integration/formats.integration.spec.ts index 4596c80fb6b..64b46115815 100644 --- a/packages/specs/ajv/test/integration/formats.integration.spec.ts +++ b/packages/specs/ajv/test/integration/formats.integration.spec.ts @@ -1,8 +1,9 @@ import {PlatformTest} from "@tsed/common"; import {Format, getJsonSchema} from "@tsed/schema"; -import {AjvService} from "../../src/services/AjvService.js"; + import {Formats} from "../../src/decorators/formats.js"; import {FormatsMethods} from "../../src/interfaces/FormatsMethods.js"; +import {AjvService} from "../../src/services/AjvService.js"; const NOT_URI_FRAGMENT = /\/|:/; const URI = diff --git a/packages/specs/ajv/test/integration/keywords.integration.spec.ts b/packages/specs/ajv/test/integration/keywords.integration.spec.ts index 74246cc3622..fe9f1fd3035 100644 --- a/packages/specs/ajv/test/integration/keywords.integration.spec.ts +++ b/packages/specs/ajv/test/integration/keywords.integration.spec.ts @@ -1,7 +1,9 @@ -import "@tsed/ajv"; +import "../../src/index.js"; + import {PlatformTest} from "@tsed/common"; import {array, CustomKey, getJsonSchema, number} from "@tsed/schema"; -import Ajv, {_, KeywordCxt} from "ajv"; +import {_, Ajv, KeywordCxt} from "ajv"; + import {Keyword} from "../../src/decorators/keyword.js"; import {KeywordMethods} from "../../src/interfaces/KeywordMethods.js"; diff --git a/packages/specs/ajv/test/integration/nullable.integration.spec.ts b/packages/specs/ajv/test/integration/nullable.integration.spec.ts index db025e09a76..6f8f75c1ceb 100644 --- a/packages/specs/ajv/test/integration/nullable.integration.spec.ts +++ b/packages/specs/ajv/test/integration/nullable.integration.spec.ts @@ -1,7 +1,8 @@ -import "../../src/index"; -import {BodyParams, ParamTypes, ParamValidationError, PlatformTest, Post, QueryParams, UseParam, ValidationPipe} from "@tsed/common"; +import "../../src/index.js"; + +import {BodyParams, ParamValidationError, PlatformTest, ValidationPipe} from "@tsed/common"; import {BadRequest} from "@tsed/exceptions"; -import {CollectionOf, getJsonSchema, JsonParameterStore, MinLength, Nullable, Property, Required, Schema, string} from "@tsed/schema"; +import {CollectionOf, JsonParameterStore, Nullable, Property} from "@tsed/schema"; async function validate(value: any, metadata: any) { const pipe: ValidationPipe = await PlatformTest.invoke(ValidationPipe); diff --git a/packages/specs/ajv/test/integration/validation.integration.spec.ts b/packages/specs/ajv/test/integration/validation.integration.spec.ts index cdd14e54d75..a25e80f69e7 100644 --- a/packages/specs/ajv/test/integration/validation.integration.spec.ts +++ b/packages/specs/ajv/test/integration/validation.integration.spec.ts @@ -1,7 +1,8 @@ -import "../../src/index"; -import {BodyParams, ParamTypes, ParamValidationError, PlatformTest, Post, QueryParams, UseParam, ValidationPipe} from "@tsed/common"; +import "../../src/index.js"; + +import {BodyParams, ParamTypes, ParamValidationError, PlatformTest, QueryParams, UseParam, ValidationPipe} from "@tsed/common"; import {BadRequest} from "@tsed/exceptions"; -import {getJsonSchema, JsonParameterStore, MinLength, Property, Required, Schema} from "@tsed/schema"; +import {getJsonSchema, JsonParameterStore, MinLength, Post, Property, Required, Schema} from "@tsed/schema"; async function validate(value: any, metadata: any) { const pipe: ValidationPipe = await PlatformTest.invoke(ValidationPipe); diff --git a/packages/specs/ajv/tsconfig.cjs.json b/packages/specs/ajv/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/specs/ajv/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/specs/ajv/tsconfig.esm.json b/packages/specs/ajv/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/specs/ajv/tsconfig.esm.json +++ b/packages/specs/ajv/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/specs/ajv/tsconfig.json b/packages/specs/ajv/tsconfig.json index 5224fb66c32..9330fb88cd8 100644 --- a/packages/specs/ajv/tsconfig.json +++ b/packages/specs/ajv/tsconfig.json @@ -18,9 +18,6 @@ { "path": "../schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/specs/ajv/tsconfig.spec.json b/packages/specs/ajv/tsconfig.spec.json index 0396022d74f..865f6aece95 100644 --- a/packages/specs/ajv/tsconfig.spec.json +++ b/packages/specs/ajv/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../openspec/src"], - "@tsed/schema": ["../schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../exceptions/src"], - "@tsed/json-mapper": ["../json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../openspec/src/index.ts"], + "@tsed/schema": ["../schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../exceptions/src/index.ts"], + "@tsed/json-mapper": ["../json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/specs/exceptions/package.json b/packages/specs/exceptions/package.json index c446c6b286b..8644d879c08 100644 --- a/packages/specs/exceptions/package.json +++ b/packages/specs/exceptions/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/exceptions", "description": "HTTP exceptions module for Ts.ED Framework and other pure Express application", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -23,19 +22,19 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "change-case": "4.1.2", - "statuses": ">=2.0.1", - "tslib": "2.6.1" + "change-case": "^5.4.4", + "statuses": "^2.0.1", + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", "@tsed/typescript": "workspace:*", "@types/statuses": "2.0.5", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/core": "7.83.3" + "@tsed/core": "8.0.0-alpha.10" } } diff --git a/packages/specs/exceptions/src/core/Exception.spec.ts b/packages/specs/exceptions/src/core/Exception.spec.ts index 4017998b90c..32bbd44ad6e 100644 --- a/packages/specs/exceptions/src/core/Exception.spec.ts +++ b/packages/specs/exceptions/src/core/Exception.spec.ts @@ -14,7 +14,7 @@ describe("Exception", () => { expect(exception.toString()).toEqual("INTERNAL_SERVER_ERROR(500): test, innerException: test"); }); - it("should use origin", () => { + it("should use origin (inner)", () => { const exception = new Exception(203, "test", new Error("test")); exception.setHeaders({key: "value"}); @@ -25,7 +25,7 @@ describe("Exception", () => { expect(exception.toString()).toEqual("NON_AUTHORITATIVE_INFORMATION(203): test, innerException: test"); }); - it("should use origin as string", () => { + it("should use origin as string (inner)", () => { const exception = new Exception(203, "test", "test"); expect(exception.status).toEqual(203); diff --git a/packages/specs/exceptions/src/core/Exception.ts b/packages/specs/exceptions/src/core/Exception.ts index c946e02607f..d1f8ae6a341 100644 --- a/packages/specs/exceptions/src/core/Exception.ts +++ b/packages/specs/exceptions/src/core/Exception.ts @@ -1,6 +1,7 @@ import {classOf, nameOf} from "@tsed/core"; import {constantCase} from "change-case"; import statuses from "statuses"; + import {StatusFamily} from "./StatusFamily.js"; export class Exception extends Error { diff --git a/packages/specs/exceptions/test/clientErrors.spec.ts b/packages/specs/exceptions/test/clientErrors.spec.ts index c468f8324ef..c68710cbb96 100644 --- a/packages/specs/exceptions/test/clientErrors.spec.ts +++ b/packages/specs/exceptions/test/clientErrors.spec.ts @@ -1,8 +1,11 @@ import {catchError} from "@tsed/core"; +import {describe, expect, it} from "vitest"; + import { BadMapping, BadRequest, Conflict, + ExpectationFailed, Forbidden, Gone, ImATeapot, @@ -15,9 +18,9 @@ import { PreconditionFailed, PreconditionRequired, ProxyAuthentificationRequired, - RequestRangeUnsatisfiable, RequestEntityTooLarge, RequestHeaderFieldsTooLarge, + RequestRangeUnsatisfiable, RequestTimeout, RequestURITooLong, TooManyRequests, @@ -25,8 +28,7 @@ import { UnavailableForLegalReasons, UnprocessableEntity, UnsupportedMediaType, - UpgradeRequired, - ExpectationFailed + UpgradeRequired } from "../src/index.js"; describe("ClientErrors", () => { @@ -173,7 +175,7 @@ describe("ClientErrors", () => { }); }); - describe("LengthRequired", () => { + describe("NotFound", () => { it("should emit an exception", () => { const err = new NotFound("message"); diff --git a/packages/specs/exceptions/test/redirections.spec.ts b/packages/specs/exceptions/test/redirections.spec.ts index 71b4433b430..a40ca4aea2b 100644 --- a/packages/specs/exceptions/test/redirections.spec.ts +++ b/packages/specs/exceptions/test/redirections.spec.ts @@ -1,13 +1,14 @@ import {catchError} from "@tsed/core"; + import { MovedPermanently, MovedTemporarily, MultipleChoices, + NotModified, PermanentRedirect, SeeOther, TemporaryRedirect, - UseProxy, - NotModified + UseProxy } from "../src/index.js"; describe("Redirections", () => { diff --git a/packages/specs/exceptions/test/serverErrors.spec.ts b/packages/specs/exceptions/test/serverErrors.spec.ts index f0a84ba4ae5..facaa0777fd 100644 --- a/packages/specs/exceptions/test/serverErrors.spec.ts +++ b/packages/specs/exceptions/test/serverErrors.spec.ts @@ -1,4 +1,5 @@ import {catchError} from "@tsed/core"; + import { BadGateway, BandwidthLimitExceeded, diff --git a/packages/specs/exceptions/tsconfig.cjs.json b/packages/specs/exceptions/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/specs/exceptions/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/specs/exceptions/tsconfig.esm.json b/packages/specs/exceptions/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/specs/exceptions/tsconfig.esm.json +++ b/packages/specs/exceptions/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/specs/exceptions/tsconfig.json b/packages/specs/exceptions/tsconfig.json index 9c04b75ffca..7862822cf7b 100644 --- a/packages/specs/exceptions/tsconfig.json +++ b/packages/specs/exceptions/tsconfig.json @@ -9,9 +9,6 @@ { "path": "../../core/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/specs/exceptions/tsconfig.spec.json b/packages/specs/exceptions/tsconfig.spec.json index d727d0f2fa3..3cea388df31 100644 --- a/packages/specs/exceptions/tsconfig.spec.json +++ b/packages/specs/exceptions/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../openspec/src"], - "@tsed/schema": ["../schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/json-mapper": ["../json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../openspec/src/index.ts"], + "@tsed/schema": ["../schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/json-mapper": ["../json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/specs/json-mapper/package.json b/packages/specs/json-mapper/package.json index 4ce9d507125..b59d3bd32b3 100644 --- a/packages/specs/json-mapper/package.json +++ b/packages/specs/json-mapper/package.json @@ -1,10 +1,10 @@ { "name": "@tsed/json-mapper", "description": "Json mapper module for Ts.ED Framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "browser": "./lib/browser/json-mapper.umd.min.js", @@ -13,8 +13,7 @@ "types": "./lib/types/index.d.ts", "browser": "./lib/browser/json-mapper.umd.min.js", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -39,20 +38,21 @@ "tsed" ], "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", "@tsed/core": "workspace:*", "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2", + "webpack": "^5.75.0" }, "peerDependencies": { - "@tsed/core": "7.83.3", - "@tsed/schema": "7.83.3" + "@tsed/core": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10" }, "peerDependenciesMeta": { "@tsed/core": { diff --git a/packages/specs/json-mapper/src/components/DateMapper.ts b/packages/specs/json-mapper/src/components/DateMapper.ts index 284d6381976..39a622c8396 100644 --- a/packages/specs/json-mapper/src/components/DateMapper.ts +++ b/packages/specs/json-mapper/src/components/DateMapper.ts @@ -1,4 +1,5 @@ import {isBoolean} from "@tsed/core"; + import {JsonMapper} from "../decorators/jsonMapper.js"; import {JsonMapperMethods} from "../interfaces/JsonMapperMethods.js"; diff --git a/packages/specs/json-mapper/src/components/PrimitiveMapper.spec.ts b/packages/specs/json-mapper/src/components/PrimitiveMapper.spec.ts index 4bc433fa280..88d240ed877 100644 --- a/packages/specs/json-mapper/src/components/PrimitiveMapper.spec.ts +++ b/packages/specs/json-mapper/src/components/PrimitiveMapper.spec.ts @@ -1,4 +1,5 @@ import {catchError} from "@tsed/core"; + import {PrimitiveMapper} from "./PrimitiveMapper.js"; describe("PrimitiveMapper", () => { diff --git a/packages/specs/json-mapper/src/components/PrimitiveMapper.ts b/packages/specs/json-mapper/src/components/PrimitiveMapper.ts index f82b179d02c..c9ff007d6aa 100644 --- a/packages/specs/json-mapper/src/components/PrimitiveMapper.ts +++ b/packages/specs/json-mapper/src/components/PrimitiveMapper.ts @@ -1,4 +1,5 @@ import {nameOf} from "@tsed/core"; + import {JsonMapper} from "../decorators/jsonMapper.js"; import {JsonMapperCtx, JsonMapperMethods} from "../interfaces/JsonMapperMethods.js"; diff --git a/packages/specs/json-mapper/src/decorators/jsonMapper.ts b/packages/specs/json-mapper/src/decorators/jsonMapper.ts index 4fbca4b3b86..b5bcbc99028 100644 --- a/packages/specs/json-mapper/src/decorators/jsonMapper.ts +++ b/packages/specs/json-mapper/src/decorators/jsonMapper.ts @@ -1,4 +1,5 @@ import {Type} from "@tsed/core"; + import {registerJsonTypeMapper} from "../domain/JsonMapperTypesContainer.js"; /** diff --git a/packages/specs/json-mapper/src/decorators/onDeserialize.ts b/packages/specs/json-mapper/src/decorators/onDeserialize.ts index 1f25ab1e3fb..a4ae53e8c13 100644 --- a/packages/specs/json-mapper/src/decorators/onDeserialize.ts +++ b/packages/specs/json-mapper/src/decorators/onDeserialize.ts @@ -1,4 +1,4 @@ -import {JsonHookContext, JsonEntityFn} from "@tsed/schema"; +import {JsonEntityFn, JsonHookContext} from "@tsed/schema"; export interface OnDeserializeCallback { (value: any, ctx: JsonHookContext): any; diff --git a/packages/specs/json-mapper/src/domain/JsonDeserializer.spec.ts b/packages/specs/json-mapper/src/domain/JsonDeserializer.spec.ts index dbb558e3206..ec49cd06dc8 100644 --- a/packages/specs/json-mapper/src/domain/JsonDeserializer.spec.ts +++ b/packages/specs/json-mapper/src/domain/JsonDeserializer.spec.ts @@ -1,4 +1,8 @@ -import faker from "@faker-js/faker"; +import "../components/DateMapper.js"; +import "../components/PrimitiveMapper.js"; +import "../components/SymbolMapper.js"; + +import {faker} from "@faker-js/faker"; import {QueryParams} from "@tsed/platform-params"; import { AdditionalProperties, @@ -23,11 +27,9 @@ import { Property, Required } from "@tsed/schema"; + import {Post} from "../../test/helpers/Post.js"; import {User} from "../../test/helpers/User.js"; -import "../components/DateMapper"; -import "../components/PrimitiveMapper"; -import "../components/SymbolMapper"; import {OnDeserialize} from "../decorators/onDeserialize.js"; import {JsonDeserializer} from "./JsonDeserializer.js"; import {JsonMapperSettings} from "./JsonMapperSettings.js"; diff --git a/packages/specs/json-mapper/src/domain/JsonDeserializer.ts b/packages/specs/json-mapper/src/domain/JsonDeserializer.ts index 312948b0253..cb1a3b76772 100644 --- a/packages/specs/json-mapper/src/domain/JsonDeserializer.ts +++ b/packages/specs/json-mapper/src/domain/JsonDeserializer.ts @@ -1,5 +1,6 @@ import {classOf, isArray, isBoolean, isClass, isEmpty, isNil, nameOf, objectKeys, Type} from "@tsed/core"; import {getPropertiesStores, JsonClassStore, JsonEntityStore, JsonParameterStore, JsonPropertyStore} from "@tsed/schema"; + import {alterAfterDeserialize} from "../hooks/alterAfterDeserialize.js"; import {alterBeforeDeserialize} from "../hooks/alterBeforeDeserialize.js"; import {alterOnDeserialize} from "../hooks/alterOnDeserialize.js"; diff --git a/packages/specs/json-mapper/src/domain/JsonDeserializerOptions.ts b/packages/specs/json-mapper/src/domain/JsonDeserializerOptions.ts index 7907ba2e4fd..21e8d88d7b7 100644 --- a/packages/specs/json-mapper/src/domain/JsonDeserializerOptions.ts +++ b/packages/specs/json-mapper/src/domain/JsonDeserializerOptions.ts @@ -1,5 +1,6 @@ import {MetadataTypes, Type} from "@tsed/core"; import {JsonEntityStore} from "@tsed/schema"; + import {JsonMapperMethods} from "../interfaces/JsonMapperMethods.js"; import {JsonMapperGlobalOptions} from "./JsonMapperGlobalOptions.js"; diff --git a/packages/specs/json-mapper/src/domain/JsonMapperTypesContainer.ts b/packages/specs/json-mapper/src/domain/JsonMapperTypesContainer.ts index 938a0932991..99df8193935 100644 --- a/packages/specs/json-mapper/src/domain/JsonMapperTypesContainer.ts +++ b/packages/specs/json-mapper/src/domain/JsonMapperTypesContainer.ts @@ -1,4 +1,5 @@ import {Type} from "@tsed/core"; + import {JsonMapperMethods} from "../interfaces/JsonMapperMethods.js"; /** * @ignore diff --git a/packages/specs/json-mapper/src/domain/JsonSerializer.spec.ts b/packages/specs/json-mapper/src/domain/JsonSerializer.spec.ts index 1a9f72612fb..37a0f4bd063 100644 --- a/packages/specs/json-mapper/src/domain/JsonSerializer.spec.ts +++ b/packages/specs/json-mapper/src/domain/JsonSerializer.spec.ts @@ -1,3 +1,7 @@ +import "../components/DateMapper.js"; +import "../components/PrimitiveMapper.js"; +import "../components/SymbolMapper.js"; + import {cleanObject, isBoolean, isNumber, isObjectID, useDecorators} from "@tsed/core"; import { AdditionalProperties, @@ -19,11 +23,9 @@ import { } from "@tsed/schema"; import {snakeCase} from "change-case"; import {parse} from "querystring"; + import {Post} from "../../test/helpers/Post.js"; import {User} from "../../test/helpers/User.js"; -import "../components/DateMapper"; -import "../components/PrimitiveMapper"; -import "../components/SymbolMapper"; import {OnDeserialize} from "../decorators/onDeserialize.js"; import {OnSerialize} from "../decorators/onSerialize.js"; import {deserialize} from "../utils/deserialize.js"; diff --git a/packages/specs/json-mapper/src/domain/JsonSerializer.ts b/packages/specs/json-mapper/src/domain/JsonSerializer.ts index cb42758f8ec..091b8b172e1 100644 --- a/packages/specs/json-mapper/src/domain/JsonSerializer.ts +++ b/packages/specs/json-mapper/src/domain/JsonSerializer.ts @@ -15,6 +15,7 @@ import { Type } from "@tsed/core"; import {getPropertiesStores, JsonClassStore, JsonEntityStore, JsonPropertyStore} from "@tsed/schema"; + import {alterOnSerialize} from "../hooks/alterOnSerialize.js"; import {getObjectProperties} from "../utils/getObjectProperties.js"; import {JsonMapperCompiler} from "./JsonMapperCompiler.js"; diff --git a/packages/specs/json-mapper/src/domain/JsonSerializerOptions.ts b/packages/specs/json-mapper/src/domain/JsonSerializerOptions.ts index e6eb60fc8b1..009773e7c6c 100644 --- a/packages/specs/json-mapper/src/domain/JsonSerializerOptions.ts +++ b/packages/specs/json-mapper/src/domain/JsonSerializerOptions.ts @@ -1,4 +1,5 @@ import {MetadataTypes, Type} from "@tsed/core"; + import {JsonMapperMethods} from "../interfaces/JsonMapperMethods.js"; import {JsonMapperGlobalOptions} from "./JsonMapperGlobalOptions.js"; diff --git a/packages/specs/json-mapper/src/domain/Writer.ts b/packages/specs/json-mapper/src/domain/Writer.ts index 7c7129dab1a..4d0559c6cba 100644 --- a/packages/specs/json-mapper/src/domain/Writer.ts +++ b/packages/specs/json-mapper/src/domain/Writer.ts @@ -128,7 +128,10 @@ export class Writer { class IfWriter extends Writer { protected elseWriter?: Writer; - constructor(protected condition: string, root: Writer) { + constructor( + protected condition: string, + root: Writer + ) { super(); this._root = root; } diff --git a/packages/specs/json-mapper/src/domain/__snapshots__/Writer.spec.ts.snap b/packages/specs/json-mapper/src/domain/__snapshots__/Writer.spec.ts.snap index bc6a7f84156..829ef1490c3 100644 --- a/packages/specs/json-mapper/src/domain/__snapshots__/Writer.spec.ts.snap +++ b/packages/specs/json-mapper/src/domain/__snapshots__/Writer.spec.ts.snap @@ -8,12 +8,3 @@ else { return false; }" `; - -exports[`Writer should generate code for if/else condition 1`] = ` -"if (condition) { - return true; -} -else { - return false; -}" -`; diff --git a/packages/specs/json-mapper/src/utils/deserialize.ts b/packages/specs/json-mapper/src/utils/deserialize.ts index bda468c79a1..894d74c16d9 100644 --- a/packages/specs/json-mapper/src/utils/deserialize.ts +++ b/packages/specs/json-mapper/src/utils/deserialize.ts @@ -1,6 +1,6 @@ -import "../components/DateMapper"; -import "../components/PrimitiveMapper"; -import "../components/SymbolMapper"; +import "../components/DateMapper.js"; +import "../components/PrimitiveMapper.js"; +import "../components/SymbolMapper.js"; import {JsonDeserializer} from "../domain/JsonDeserializer.js"; import {JsonDeserializerOptions} from "../domain/JsonDeserializerOptions.js"; diff --git a/packages/specs/json-mapper/src/utils/serialize.spec.ts b/packages/specs/json-mapper/src/utils/serialize.spec.ts index 635b92e77a1..e407d4f8d10 100644 --- a/packages/specs/json-mapper/src/utils/serialize.spec.ts +++ b/packages/specs/json-mapper/src/utils/serialize.spec.ts @@ -1,5 +1,7 @@ -import "../components/PrimitiveMapper"; +import "../components/PrimitiveMapper.js"; + import {Property} from "@tsed/schema"; + import {serialize} from "./serialize.js"; describe("serialize()", () => { diff --git a/packages/specs/json-mapper/src/utils/serialize.ts b/packages/specs/json-mapper/src/utils/serialize.ts index 8b476ecc3ef..c666b4c62d3 100644 --- a/packages/specs/json-mapper/src/utils/serialize.ts +++ b/packages/specs/json-mapper/src/utils/serialize.ts @@ -1,6 +1,6 @@ -import "../components/DateMapper"; -import "../components/PrimitiveMapper"; -import "../components/SymbolMapper"; +import "../components/DateMapper.js"; +import "../components/PrimitiveMapper.js"; +import "../components/SymbolMapper.js"; import {JsonSerializer} from "../domain/JsonSerializer.js"; import {JsonSerializerOptions} from "../domain/JsonSerializerOptions.js"; diff --git a/packages/specs/json-mapper/test/helpers/Post.ts b/packages/specs/json-mapper/test/helpers/Post.ts index bda2dbdb5a5..c0d38fc5686 100644 --- a/packages/specs/json-mapper/test/helpers/Post.ts +++ b/packages/specs/json-mapper/test/helpers/Post.ts @@ -1,4 +1,5 @@ import {Property} from "@tsed/schema"; + import {User} from "./User.js"; export class Post { @Property() diff --git a/packages/specs/json-mapper/test/helpers/User.ts b/packages/specs/json-mapper/test/helpers/User.ts index 5f9a03a25eb..d8613bfddcd 100644 --- a/packages/specs/json-mapper/test/helpers/User.ts +++ b/packages/specs/json-mapper/test/helpers/User.ts @@ -1,4 +1,5 @@ import {CollectionOf, Property} from "@tsed/schema"; + import {Post} from "./Post.js"; export class User { diff --git a/packages/specs/json-mapper/test/integration/__snapshots__/generics.integration.spec.ts.snap b/packages/specs/json-mapper/test/integration/__snapshots__/generics.integration.spec.ts.snap index 92084a73f02..848c85bcf31 100644 --- a/packages/specs/json-mapper/test/integration/__snapshots__/generics.integration.spec.ts.snap +++ b/packages/specs/json-mapper/test/integration/__snapshots__/generics.integration.spec.ts.snap @@ -7,11 +7,3 @@ Adjustment { }, } `; - -exports[`Generics using Functional api should transform date from generic object 1`] = ` -Adjustment { - "adjustment": UserProperty { - "value": "2019-01-01T12:45:57.111Z", - }, -} -`; diff --git a/packages/specs/json-mapper/test/integration/additional-properties.integration.spec.ts b/packages/specs/json-mapper/test/integration/additional-properties.integration.spec.ts index 34799ce1a90..f6eef160d07 100644 --- a/packages/specs/json-mapper/test/integration/additional-properties.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/additional-properties.integration.spec.ts @@ -1,6 +1,7 @@ import {useDecorators} from "@tsed/core"; import {AdditionalProperties, Groups, Hidden, JsonEntityStore, Name, ReadOnly, Title} from "@tsed/schema"; import {sentenceCase, snakeCase} from "change-case"; + import {deserialize, serialize} from "../../src/index.js"; describe("AdditionalProperties", () => { diff --git a/packages/specs/json-mapper/test/integration/after.deserialize.integration.spec.ts b/packages/specs/json-mapper/test/integration/after.deserialize.integration.spec.ts index bbee6e9eaa8..c17c68f4e00 100644 --- a/packages/specs/json-mapper/test/integration/after.deserialize.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/after.deserialize.integration.spec.ts @@ -1,8 +1,9 @@ import {catchAsyncError} from "@tsed/core"; import {BadRequest} from "@tsed/exceptions"; import {Enum, Property} from "@tsed/schema"; -import {deserialize} from "../../src/utils/deserialize.js"; + import {AfterDeserialize} from "../../src/decorators/afterDeserialize.js"; +import {deserialize} from "../../src/utils/deserialize.js"; import {FoodStatus} from "../helpers/FoodStatus.js"; @AfterDeserialize((data: Food) => { diff --git a/packages/specs/json-mapper/test/integration/allowed-groups.integration.spec.ts b/packages/specs/json-mapper/test/integration/allowed-groups.integration.spec.ts index 36d9fa9b5a2..8da73560486 100644 --- a/packages/specs/json-mapper/test/integration/allowed-groups.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/allowed-groups.integration.spec.ts @@ -1,5 +1,6 @@ import {Controller} from "@tsed/di"; import {EndpointMetadata, Get, Groups, Property, Returns} from "@tsed/schema"; + import {serialize} from "../../src/utils/serialize.js"; class MyModel { @@ -22,7 +23,7 @@ class MyModel { @Controller("/controllers") class MyController { @Get("/:id") - @Returns(200, MyModel).AllowedGroups("summary", "details") + @(Returns(200, MyModel).AllowedGroups("summary", "details")) get() { return { id: "id", @@ -34,7 +35,7 @@ class MyController { } @Get("/:id") - @Returns(200, MyModel).Groups("!admin").AllowedGroups("summary", "details") + @(Returns(200, MyModel).Groups("!admin").AllowedGroups("summary", "details")) get2() { return { id: "id", diff --git a/packages/specs/json-mapper/test/integration/before.deserialize.integration.spec.ts b/packages/specs/json-mapper/test/integration/before.deserialize.integration.spec.ts index 31c68f4d580..37d648332b5 100644 --- a/packages/specs/json-mapper/test/integration/before.deserialize.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/before.deserialize.integration.spec.ts @@ -1,8 +1,9 @@ import {catchAsyncError} from "@tsed/core"; import {BadRequest} from "@tsed/exceptions"; import {Enum, Property} from "@tsed/schema"; -import {deserialize} from "../../src/utils/deserialize.js"; + import {BeforeDeserialize} from "../../src/decorators/beforeDeserialize.js"; +import {deserialize} from "../../src/utils/deserialize.js"; import {FoodStatus} from "../helpers/FoodStatus.js"; @BeforeDeserialize((data: Record) => { diff --git a/packages/specs/json-mapper/test/integration/collection-of-map.integration.spec.ts b/packages/specs/json-mapper/test/integration/collection-of-map.integration.spec.ts index aa05585f38e..f9f62d5fee7 100644 --- a/packages/specs/json-mapper/test/integration/collection-of-map.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/collection-of-map.integration.spec.ts @@ -1,5 +1,6 @@ -import {CollectionOf, Schema, array, map, string} from "@tsed/schema"; -import {deserialize} from "@tsed/json-mapper"; +import {array, CollectionOf, map, Schema, string} from "@tsed/schema"; + +import {deserialize} from "../../src/index.js"; describe("Collection of Map", () => { it("should declare an array of map of string", () => { diff --git a/packages/specs/json-mapper/test/integration/custom.validation.spec.ts b/packages/specs/json-mapper/test/integration/custom.validation.spec.ts index aaa524a00d4..507f9c0a805 100644 --- a/packages/specs/json-mapper/test/integration/custom.validation.spec.ts +++ b/packages/specs/json-mapper/test/integration/custom.validation.spec.ts @@ -1,8 +1,9 @@ import {catchAsyncError} from "@tsed/core"; import {BadRequest} from "@tsed/exceptions"; import {JsonEntityFn, Property} from "@tsed/schema"; -import {deserialize} from "../../src/utils/deserialize.js"; + import {BeforeDeserialize} from "../../src/decorators/beforeDeserialize.js"; +import {deserialize} from "../../src/utils/deserialize.js"; class Company { @Property() diff --git a/packages/specs/json-mapper/test/integration/date.integration.spec.ts b/packages/specs/json-mapper/test/integration/date.integration.spec.ts index e9f0682581f..add7fccae25 100644 --- a/packages/specs/json-mapper/test/integration/date.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/date.integration.spec.ts @@ -1,5 +1,6 @@ import {isBoolean} from "@tsed/core"; import {DateFormat} from "@tsed/schema"; + import {JsonMapper, JsonMapperCtx, JsonMapperMethods, serialize} from "../../src/index.js"; @JsonMapper(Date) diff --git a/packages/specs/json-mapper/test/integration/discriminator.integration.spec.ts b/packages/specs/json-mapper/test/integration/discriminator.integration.spec.ts index fb7abc6babe..048b1b4f863 100644 --- a/packages/specs/json-mapper/test/integration/discriminator.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/discriminator.integration.spec.ts @@ -1,6 +1,7 @@ import {Controller} from "@tsed/di"; import {BodyParams, PathParams} from "@tsed/platform-params"; import {DiscriminatorKey, DiscriminatorValue, JsonParameterStore, OneOf, Property, Put, Required, Returns} from "@tsed/schema"; + import {deserialize, serialize} from "../../src/index.js"; class Event { @@ -216,7 +217,7 @@ describe("Discriminator", () => { @Controller("/") class Test { @Put("/:id") - @Returns(200).OneOf(Event) + @(Returns(200).OneOf(Event)) put(@PathParams(":id") id: string, @BodyParams() @OneOf(Event) event: OneOfEvents) { return []; } @@ -274,7 +275,7 @@ describe("Discriminator", () => { @Controller("/") class Test { @Put("/:id") - @Returns(200).OneOf(Event) + @(Returns(200).OneOf(Event)) put(@PathParams(":id") id: string, @BodyParams() @OneOf(Base) Base: any) { return []; } @@ -299,7 +300,7 @@ describe("Discriminator", () => { @Controller("/") class Test { @Put("/:id") - @Returns(200).OneOf(Event) + @(Returns(200).OneOf(Event)) put(@PathParams(":id") id: string, @BodyParams() @OneOf(Event) event: OneOfEvents[]) { return []; } diff --git a/packages/specs/json-mapper/test/integration/enum.serialiazation.integration.spec.ts b/packages/specs/json-mapper/test/integration/enum.serialiazation.integration.spec.ts index 8580b2f7fff..fe04735ede7 100644 --- a/packages/specs/json-mapper/test/integration/enum.serialiazation.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/enum.serialiazation.integration.spec.ts @@ -1,4 +1,5 @@ import {Enum, Property, Required} from "@tsed/schema"; + import {serialize} from "../../src/utils/serialize.js"; export enum EnumValue { diff --git a/packages/specs/json-mapper/test/integration/generics.integration.spec.ts b/packages/specs/json-mapper/test/integration/generics.integration.spec.ts index 90a30ea0b12..243ccb17bbf 100644 --- a/packages/specs/json-mapper/test/integration/generics.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/generics.integration.spec.ts @@ -1,5 +1,4 @@ import {Controller} from "@tsed/di"; -import {expect, describe, it} from "vitest"; import { boolean, CollectionOf, @@ -17,6 +16,8 @@ import { Returns, string } from "@tsed/schema"; +import {describe, expect, it} from "vitest"; + import {deserialize} from "../../src/utils/deserialize.js"; import {serialize} from "../../src/utils/serialize.js"; @@ -353,7 +354,7 @@ describe("Generics", () => { constructor() {} @Get("/") - @Returns(200, Pagination).Of(TestEntity) + @(Returns(200, Pagination).Of(TestEntity)) get() {} } @@ -417,7 +418,7 @@ describe("Generics", () => { constructor() {} @Get("/") - @Returns(200, Pagination).Of(TestEntity) + @(Returns(200, Pagination).Of(TestEntity)) get() {} } diff --git a/packages/specs/json-mapper/test/integration/groups.integration.spec.ts b/packages/specs/json-mapper/test/integration/groups.integration.spec.ts index fcb11820f7e..6a63b6bf60b 100644 --- a/packages/specs/json-mapper/test/integration/groups.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/groups.integration.spec.ts @@ -1,4 +1,5 @@ import {CollectionOf, Groups, Property} from "@tsed/schema"; + import {deserialize} from "../../src/utils/deserialize.js"; import {serialize} from "../../src/utils/serialize.js"; diff --git a/packages/specs/json-mapper/test/integration/ignore.integration.spec.ts b/packages/specs/json-mapper/test/integration/ignore.integration.spec.ts index 637b9495f88..9b00a648bd6 100644 --- a/packages/specs/json-mapper/test/integration/ignore.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/ignore.integration.spec.ts @@ -1,4 +1,5 @@ import {Ignore, Property} from "@tsed/schema"; + import {serialize} from "../../src/utils/serialize.js"; describe("Mapping @Ignore", () => { diff --git a/packages/specs/json-mapper/test/integration/models.date.intregration.spec.ts b/packages/specs/json-mapper/test/integration/models.date.intregration.spec.ts index 368ff36fb33..4a13e945665 100644 --- a/packages/specs/json-mapper/test/integration/models.date.intregration.spec.ts +++ b/packages/specs/json-mapper/test/integration/models.date.intregration.spec.ts @@ -1,5 +1,6 @@ import {Minimum, Name, Required} from "@tsed/schema"; import moment from "moment"; + import {OnSerialize} from "../../src/decorators/onSerialize.js"; import {deserialize} from "../../src/utils/deserialize.js"; import {serialize} from "../../src/utils/serialize.js"; diff --git a/packages/specs/json-mapper/test/integration/models.integration.spec.ts b/packages/specs/json-mapper/test/integration/models.integration.spec.ts index 8c9ec64b976..158ce8b46e6 100644 --- a/packages/specs/json-mapper/test/integration/models.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/models.integration.spec.ts @@ -1,4 +1,5 @@ import {Property, Required} from "@tsed/schema"; + import {serialize} from "../../src/utils/serialize.js"; export class Menu { diff --git a/packages/specs/json-mapper/test/integration/moment.integration.spec.ts b/packages/specs/json-mapper/test/integration/moment.integration.spec.ts index 72bd3c20a65..58ecb2c7ed6 100644 --- a/packages/specs/json-mapper/test/integration/moment.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/moment.integration.spec.ts @@ -1,5 +1,6 @@ import {DateFormat} from "@tsed/schema"; import moment, {Moment} from "moment"; + import {JsonMapper} from "../../src/decorators/jsonMapper.js"; import {getJsonMapperTypes} from "../../src/domain/JsonMapperTypesContainer.js"; import {JsonSerializer} from "../../src/index.js"; diff --git a/packages/specs/json-mapper/test/integration/nested-list.integration.spec.ts b/packages/specs/json-mapper/test/integration/nested-list.integration.spec.ts index 0dcf26f711e..f70bc8a9914 100644 --- a/packages/specs/json-mapper/test/integration/nested-list.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/nested-list.integration.spec.ts @@ -1,4 +1,5 @@ import {CollectionOf, ForwardGroups, Name, Required} from "@tsed/schema"; + import {serialize} from "../../src/utils/serialize.js"; class TeamModel { diff --git a/packages/specs/json-mapper/test/integration/nullable.integration.spec.ts b/packages/specs/json-mapper/test/integration/nullable.integration.spec.ts index 3c3cd52fcdd..757c74ba437 100644 --- a/packages/specs/json-mapper/test/integration/nullable.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/nullable.integration.spec.ts @@ -1,6 +1,7 @@ -import {serialize} from "../../src/utils/serialize.js"; import {Name, Nullable, Required} from "@tsed/schema"; +import {serialize} from "../../src/utils/serialize.js"; + export class ExtensionModel { @Required() id: string; diff --git a/packages/specs/json-mapper/test/integration/pageable.integration.spec.ts b/packages/specs/json-mapper/test/integration/pageable.integration.spec.ts index d1054608d62..340e79aa276 100644 --- a/packages/specs/json-mapper/test/integration/pageable.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/pageable.integration.spec.ts @@ -14,6 +14,7 @@ import { SpecTypes, string } from "@tsed/schema"; + import {OnDeserialize, serialize} from "../../src/index.js"; class Pageable { diff --git a/packages/specs/json-mapper/test/integration/partial.integration.spec.ts b/packages/specs/json-mapper/test/integration/partial.integration.spec.ts index b87bf892a18..3c869ec0196 100644 --- a/packages/specs/json-mapper/test/integration/partial.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/partial.integration.spec.ts @@ -1,4 +1,5 @@ import {CollectionOf, Groups, Property} from "@tsed/schema"; + import {deserialize} from "../../src/utils/deserialize.js"; class Product { diff --git a/packages/specs/json-mapper/test/integration/readonly.integration.spec.ts b/packages/specs/json-mapper/test/integration/readonly.integration.spec.ts index ebf7cac6e07..053e90a5048 100644 --- a/packages/specs/json-mapper/test/integration/readonly.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/readonly.integration.spec.ts @@ -1,7 +1,8 @@ -import {serialize} from "../../src/utils/serialize.js"; -import {deserialize} from "../../src/utils/deserialize.js"; import {Groups, Property, ReadOnly, Required} from "@tsed/schema"; +import {deserialize} from "../../src/utils/deserialize.js"; +import {serialize} from "../../src/utils/serialize.js"; + class DataSourceModel { @Required() @Groups("!create") diff --git a/packages/specs/json-mapper/test/integration/writeonly.integration.spec.ts b/packages/specs/json-mapper/test/integration/writeonly.integration.spec.ts index 46ef333e1e8..f83a6faebd3 100644 --- a/packages/specs/json-mapper/test/integration/writeonly.integration.spec.ts +++ b/packages/specs/json-mapper/test/integration/writeonly.integration.spec.ts @@ -1,7 +1,8 @@ -import {serialize} from "../../src/utils/serialize.js"; -import {deserialize} from "../../src/utils/deserialize.js"; import {Groups, Property, Required, WriteOnly} from "@tsed/schema"; +import {deserialize} from "../../src/utils/deserialize.js"; +import {serialize} from "../../src/utils/serialize.js"; + class DataSourceModel { @Required() @Groups("!create") diff --git a/packages/specs/json-mapper/tsconfig.cjs.json b/packages/specs/json-mapper/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/specs/json-mapper/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/specs/json-mapper/tsconfig.esm.json b/packages/specs/json-mapper/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/specs/json-mapper/tsconfig.esm.json +++ b/packages/specs/json-mapper/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/specs/json-mapper/tsconfig.json b/packages/specs/json-mapper/tsconfig.json index bbccf38aa14..7a7f8e06530 100644 --- a/packages/specs/json-mapper/tsconfig.json +++ b/packages/specs/json-mapper/tsconfig.json @@ -12,9 +12,6 @@ { "path": "../schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/specs/json-mapper/tsconfig.spec.json b/packages/specs/json-mapper/tsconfig.spec.json index 46eb06bd008..5c42fb92f3e 100644 --- a/packages/specs/json-mapper/tsconfig.spec.json +++ b/packages/specs/json-mapper/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../openspec/src"], - "@tsed/schema": ["../schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../exceptions/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../openspec/src/index.ts"], + "@tsed/schema": ["../schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../exceptions/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/specs/json-mapper/webpack.config.js b/packages/specs/json-mapper/webpack.config.cjs similarity index 100% rename from packages/specs/json-mapper/webpack.config.js rename to packages/specs/json-mapper/webpack.config.cjs diff --git a/packages/specs/openspec/package.json b/packages/specs/openspec/package.json index 9115330ec5d..f0291c6b5f6 100644 --- a/packages/specs/openspec/package.json +++ b/packages/specs/openspec/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/openspec", "description": "OpenSpec2 and OpenSpec3 interfaces declarations for TypeScript application", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -33,7 +32,7 @@ "devDependencies": { "@tsed/barrels": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5" + "eslint": "9.12.0", + "typescript": "5.4.5" } } diff --git a/packages/specs/openspec/src/openspec2/OpenSpec2.ts b/packages/specs/openspec/src/openspec2/OpenSpec2.ts index 026153f2551..3cc9d900f00 100644 --- a/packages/specs/openspec/src/openspec2/OpenSpec2.ts +++ b/packages/specs/openspec/src/openspec2/OpenSpec2.ts @@ -1,4 +1,3 @@ -import {OS2Response} from "./OS2Response.js"; import {OpenSpecExternalDocs} from "../common/OpenSpecExternalDocs.js"; import {OpenSpecHash} from "../common/OpenSpecHash.js"; import {OpenSpecInfo} from "../common/OpenSpecInfo.js"; @@ -6,6 +5,7 @@ import {OpenSpecSecurity} from "../common/OpenSpecSecurity.js"; import {OpenSpecTag} from "../common/OpenSpecTag.js"; import {OS2BodyParameter, OS2QueryParameter} from "./OS2Parameter.js"; import {OS2Paths} from "./OS2Paths.js"; +import {OS2Response} from "./OS2Response.js"; import {OS2Schema} from "./OS2Schema.js"; import {OS2Security} from "./OS2Security.js"; diff --git a/packages/specs/openspec/src/openspec3/OS3MediaType.ts b/packages/specs/openspec/src/openspec3/OS3MediaType.ts index 37993a624e1..3b97c3408c7 100644 --- a/packages/specs/openspec/src/openspec3/OS3MediaType.ts +++ b/packages/specs/openspec/src/openspec3/OS3MediaType.ts @@ -1,8 +1,8 @@ -import {OS3Schema} from "./OS3Schema.js"; import {OpenSpecHash} from "../common/OpenSpecHash.js"; import {OpenSpecRef} from "../common/OpenSpecRef.js"; import {OS3Encoding} from "./OS3Encoding.js"; import {OS3Example} from "./OS3Example.js"; +import {OS3Schema} from "./OS3Schema.js"; export interface OS3MediaType { /** diff --git a/packages/specs/openspec/src/openspec3/OS3RequestBody.ts b/packages/specs/openspec/src/openspec3/OS3RequestBody.ts index 88562423025..38e3ebd60be 100644 --- a/packages/specs/openspec/src/openspec3/OS3RequestBody.ts +++ b/packages/specs/openspec/src/openspec3/OS3RequestBody.ts @@ -1,8 +1,8 @@ -import {OS3Schema} from "./OS3Schema.js"; import {OpenSpecHash} from "../common/OpenSpecHash.js"; -import {OS3MediaType} from "./OS3MediaType.js"; -import {OS3Example} from "./OS3Example.js"; import {OpenSpecRef} from "../common/OpenSpecRef.js"; +import {OS3Example} from "./OS3Example.js"; +import {OS3MediaType} from "./OS3MediaType.js"; +import {OS3Schema} from "./OS3Schema.js"; export interface OS3RequestBody { /** diff --git a/packages/specs/openspec/src/openspec3/OS3Response.ts b/packages/specs/openspec/src/openspec3/OS3Response.ts index ea2207405f1..7d963c9c894 100644 --- a/packages/specs/openspec/src/openspec3/OS3Response.ts +++ b/packages/specs/openspec/src/openspec3/OS3Response.ts @@ -1,9 +1,9 @@ -import {OS3Schema} from "./OS3Schema.js"; import {OpenSpecHash} from "../common/OpenSpecHash.js"; import {OpenSpecRef} from "../common/OpenSpecRef.js"; import {OS3Header} from "./OS3Header.js"; import {OS3Link} from "./OS3Link.js"; import {OS3MediaType} from "./OS3MediaType.js"; +import {OS3Schema} from "./OS3Schema.js"; export interface OS3Response> { /** diff --git a/packages/specs/openspec/src/openspec3/OpenSpec3.ts b/packages/specs/openspec/src/openspec3/OpenSpec3.ts index c53841dd52f..4fa3336e47c 100644 --- a/packages/specs/openspec/src/openspec3/OpenSpec3.ts +++ b/packages/specs/openspec/src/openspec3/OpenSpec3.ts @@ -1,4 +1,3 @@ -import {OS3Schema} from "./OS3Schema.js"; import {OpenSpecExternalDocs} from "../common/OpenSpecExternalDocs.js"; import {OpenSpecHash} from "../common/OpenSpecHash.js"; import {OpenSpecInfo} from "../common/OpenSpecInfo.js"; @@ -6,6 +5,7 @@ import {OpenSpecSecurity} from "../common/OpenSpecSecurity.js"; import {OpenSpecTag} from "../common/OpenSpecTag.js"; import {OS3Components} from "./OS3Components.js"; import {OS3Paths} from "./OS3Paths.js"; +import {OS3Schema} from "./OS3Schema.js"; import {OS3Server} from "./OS3Server.js"; export interface OpenSpec3 { diff --git a/packages/specs/openspec/tsconfig.cjs.json b/packages/specs/openspec/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/specs/openspec/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/specs/openspec/tsconfig.esm.json b/packages/specs/openspec/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/specs/openspec/tsconfig.esm.json +++ b/packages/specs/openspec/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/specs/openspec/tsconfig.json b/packages/specs/openspec/tsconfig.json index 85b162f8ee8..7529eb44635 100644 --- a/packages/specs/openspec/tsconfig.json +++ b/packages/specs/openspec/tsconfig.json @@ -6,9 +6,6 @@ }, "include": [], "references": [ - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" } diff --git a/packages/specs/schema/package.json b/packages/specs/schema/package.json index 7e98a308f75..28656869bec 100644 --- a/packages/specs/schema/package.json +++ b/packages/specs/schema/package.json @@ -1,10 +1,10 @@ { "name": "@tsed/schema", "description": "JsonSchema module for Ts.ED Framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "browser": "./lib/browser/schema.umd.min.js", @@ -13,8 +13,7 @@ "types": "./lib/types/index.d.ts", "browser": "./lib/browser/schema.umd.min.js", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -38,12 +37,12 @@ ], "dependencies": { "@tsed/openspec": "workspace:*", - "change-case": "^4.1.2", + "change-case": "^5.4.4", "fs-extra": "^11.2.0", "json-schema": "0.4.0", "picomatch": "2.3.1", - "statuses": ">=2.0.1", - "tslib": "2.6.1" + "statuses": "^2.0.1", + "tslib": "2.7.0" }, "devDependencies": { "@apidevtools/swagger-parser": "10.1.0", @@ -53,16 +52,18 @@ "@tsed/typescript": "workspace:*", "@types/fs-extra": "11.0.4", "@types/json-schema": "7.0.15", - "@types/picomatch": "2.3.3", + "@types/picomatch": "3.0.1", "@types/statuses": "2.0.5", - "eslint": "^8.57.0", + "ajv": "^8.17.1", + "eslint": "9.12.0", "picomatch-browser": "^2.2.6", - "typescript": "4.9.5", - "vitest": "2.0.4" + "typescript": "5.4.5", + "vitest": "2.1.2", + "webpack": "^5.75.0" }, "peerDependencies": { - "@tsed/core": "7.83.3", - "@tsed/openspec": "7.83.3" + "@tsed/core": "8.0.0-alpha.10", + "@tsed/openspec": "8.0.0-alpha.10" }, "peerDependenciesMeta": { "@tsed/core": { diff --git a/packages/specs/schema/src/components/async-api/channelsMapper.ts b/packages/specs/schema/src/components/async-api/channelsMapper.ts index 0f8a630c9f1..007ffec8cd3 100644 --- a/packages/specs/schema/src/components/async-api/channelsMapper.ts +++ b/packages/specs/schema/src/components/async-api/channelsMapper.ts @@ -1,4 +1,5 @@ import {camelCase} from "change-case"; + import {OperationVerbs} from "../../constants/OperationVerbs.js"; import {JsonMethodStore} from "../../domain/JsonMethodStore.js"; import {JsonMethodPath} from "../../domain/JsonOperation.js"; diff --git a/packages/specs/schema/src/components/async-api/generate.ts b/packages/specs/schema/src/components/async-api/generate.ts index 2e8892020ca..002cff06f1d 100644 --- a/packages/specs/schema/src/components/async-api/generate.ts +++ b/packages/specs/schema/src/components/async-api/generate.ts @@ -1,4 +1,5 @@ import {getValue, Type, uniqBy} from "@tsed/core"; + import {SpecTypes} from "../../domain/SpecTypes.js"; import {execMapper, registerJsonSchemaMapper} from "../../registries/JsonSchemaMapperContainer.js"; import {SpecSerializerOptions} from "../../utils/getSpec.js"; diff --git a/packages/specs/schema/src/components/async-api/messageMapper.ts b/packages/specs/schema/src/components/async-api/messageMapper.ts index eded276fc7d..2d9b742a124 100644 --- a/packages/specs/schema/src/components/async-api/messageMapper.ts +++ b/packages/specs/schema/src/components/async-api/messageMapper.ts @@ -1,4 +1,5 @@ import {cleanObject, getValue} from "@tsed/core"; + import {OperationVerbs} from "../../constants/OperationVerbs.js"; import {JsonMethodStore} from "../../domain/JsonMethodStore.js"; import {JsonMethodPath} from "../../domain/JsonOperation.js"; diff --git a/packages/specs/schema/src/components/async-api/payloadMapper.ts b/packages/specs/schema/src/components/async-api/payloadMapper.ts index bff6075cab9..61a6bba8d3c 100644 --- a/packages/specs/schema/src/components/async-api/payloadMapper.ts +++ b/packages/specs/schema/src/components/async-api/payloadMapper.ts @@ -1,5 +1,6 @@ import {setValue} from "@tsed/core"; import {pascalCase} from "change-case"; + import {JsonMethodStore} from "../../domain/JsonMethodStore.js"; import {JsonMethodPath, JsonOperation} from "../../domain/JsonOperation.js"; import {JsonParameter} from "../../domain/JsonParameter.js"; diff --git a/packages/specs/schema/src/components/async-api/responseMapper.ts b/packages/specs/schema/src/components/async-api/responseMapper.ts index f903f639d7f..d4073ec3369 100644 --- a/packages/specs/schema/src/components/async-api/responseMapper.ts +++ b/packages/specs/schema/src/components/async-api/responseMapper.ts @@ -1,5 +1,6 @@ import {setValue} from "@tsed/core"; import {pascalCase} from "change-case"; + import {JsonMethodStore} from "../../domain/JsonMethodStore.js"; import {JsonMethodPath} from "../../domain/JsonOperation.js"; import {SpecTypes} from "../../domain/SpecTypes.js"; diff --git a/packages/specs/schema/src/components/default/classMapper.ts b/packages/specs/schema/src/components/default/classMapper.ts index 4b2ff69ed80..e8c93892b6a 100644 --- a/packages/specs/schema/src/components/default/classMapper.ts +++ b/packages/specs/schema/src/components/default/classMapper.ts @@ -1,4 +1,5 @@ import {getValue, setValue} from "@tsed/core"; + import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; import {JsonSchema} from "../../domain/JsonSchema.js"; import {JsonSchemaOptions} from "../../interfaces/JsonSchemaOptions.js"; diff --git a/packages/specs/schema/src/components/default/genericsMapper.ts b/packages/specs/schema/src/components/default/genericsMapper.ts index 8a66877b401..14c38511b90 100644 --- a/packages/specs/schema/src/components/default/genericsMapper.ts +++ b/packages/specs/schema/src/components/default/genericsMapper.ts @@ -1,4 +1,5 @@ import {isClass, isPrimitiveClass} from "@tsed/core"; + import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; import {execMapper, registerJsonSchemaMapper} from "../../registries/JsonSchemaMapperContainer.js"; import {GenericsContext, popGenerics} from "../../utils/generics.js"; diff --git a/packages/specs/schema/src/components/default/inheritedClassMapper.ts b/packages/specs/schema/src/components/default/inheritedClassMapper.ts index f0796709995..2d82b72ed63 100644 --- a/packages/specs/schema/src/components/default/inheritedClassMapper.ts +++ b/packages/specs/schema/src/components/default/inheritedClassMapper.ts @@ -1,4 +1,5 @@ import {classOf, deepMerge} from "@tsed/core"; + import {JsonSchemaOptions} from "../../interfaces/JsonSchemaOptions.js"; import {execMapper, registerJsonSchemaMapper} from "../../registries/JsonSchemaMapperContainer.js"; import {getInheritedStores} from "../../utils/getInheritedStores.js"; diff --git a/packages/specs/schema/src/components/default/inlineEnumsMapper.spec.ts b/packages/specs/schema/src/components/default/inlineEnumsMapper.spec.ts index 3ae114a75d9..014bedec1ac 100644 --- a/packages/specs/schema/src/components/default/inlineEnumsMapper.spec.ts +++ b/packages/specs/schema/src/components/default/inlineEnumsMapper.spec.ts @@ -1,4 +1,4 @@ -import {inlineEnumsMapper} from "./inlineEnumsMapper"; +import {inlineEnumsMapper} from "./inlineEnumsMapper.js"; describe("inlineEnumsMapper()", () => { it("should inline enums", () => { diff --git a/packages/specs/schema/src/components/default/mapMapper.ts b/packages/specs/schema/src/components/default/mapMapper.ts index 684cc3f1781..72ef2b0656d 100644 --- a/packages/specs/schema/src/components/default/mapMapper.ts +++ b/packages/specs/schema/src/components/default/mapMapper.ts @@ -1,6 +1,6 @@ -import {mapGenericsOptions} from "../../utils/generics.js"; import {JsonSchemaOptions} from "../../interfaces/JsonSchemaOptions.js"; import {execMapper, registerJsonSchemaMapper} from "../../registries/JsonSchemaMapperContainer.js"; +import {mapGenericsOptions} from "../../utils/generics.js"; /** * Serialize class which inherit from Map like JsonMap, JsonOperation, JsonParameter. diff --git a/packages/specs/schema/src/components/default/nullableMapper.ts b/packages/specs/schema/src/components/default/nullableMapper.ts index 0189ad227c4..ab0596819b4 100644 --- a/packages/specs/schema/src/components/default/nullableMapper.ts +++ b/packages/specs/schema/src/components/default/nullableMapper.ts @@ -1,4 +1,5 @@ import {cleanObject} from "@tsed/core"; + import {MANY_OF_PROPERTIES} from "../../constants/jsonSchemaProperties.js"; import type {JsonSchema} from "../../domain/JsonSchema.js"; import {registerJsonSchemaMapper} from "../../registries/JsonSchemaMapperContainer.js"; diff --git a/packages/specs/schema/src/components/default/objectMapper.ts b/packages/specs/schema/src/components/default/objectMapper.ts index 8651b33b3f9..e4c8e4c5cc7 100644 --- a/packages/specs/schema/src/components/default/objectMapper.ts +++ b/packages/specs/schema/src/components/default/objectMapper.ts @@ -1,4 +1,5 @@ import {isArray} from "@tsed/core"; + import {JsonSchema} from "../../domain/JsonSchema.js"; import {alterIgnore} from "../../hooks/alterIgnore.js"; import {JsonSchemaOptions} from "../../interfaces/JsonSchemaOptions.js"; diff --git a/packages/specs/schema/src/components/default/ofMapper.ts b/packages/specs/schema/src/components/default/ofMapper.ts index 161b422da94..629a30c4e31 100644 --- a/packages/specs/schema/src/components/default/ofMapper.ts +++ b/packages/specs/schema/src/components/default/ofMapper.ts @@ -1,6 +1,6 @@ -import {execMapper, registerJsonSchemaMapper} from "../../registries/JsonSchemaMapperContainer.js"; import type {JsonSchema} from "../../domain/JsonSchema.js"; import type {JsonSchemaOptions} from "../../interfaces/JsonSchemaOptions.js"; +import {execMapper, registerJsonSchemaMapper} from "../../registries/JsonSchemaMapperContainer.js"; export function ofMapper(input: (any | JsonSchema)[], options: JsonSchemaOptions, parent: JsonSchema) { return input.map((value: any | JsonSchema) => { diff --git a/packages/specs/schema/src/components/default/propertiesMapper.ts b/packages/specs/schema/src/components/default/propertiesMapper.ts index d55391dc374..6c3512f29cd 100644 --- a/packages/specs/schema/src/components/default/propertiesMapper.ts +++ b/packages/specs/schema/src/components/default/propertiesMapper.ts @@ -1,6 +1,6 @@ -import {execMapper, registerJsonSchemaMapper} from "../../registries/JsonSchemaMapperContainer.js"; import type {JsonSchema} from "../../domain/JsonSchema.js"; import type {JsonSchemaOptions} from "../../interfaces/JsonSchemaOptions.js"; +import {execMapper, registerJsonSchemaMapper} from "../../registries/JsonSchemaMapperContainer.js"; export function propertiesMapper(input: any | JsonSchema, options: JsonSchemaOptions, parent: JsonSchema) { if (input.isClass) { diff --git a/packages/specs/schema/src/components/default/requiredMapper.ts b/packages/specs/schema/src/components/default/requiredMapper.ts index 26d6b892f8e..cd70f16bd21 100644 --- a/packages/specs/schema/src/components/default/requiredMapper.ts +++ b/packages/specs/schema/src/components/default/requiredMapper.ts @@ -1,4 +1,5 @@ import {uniq} from "@tsed/core"; + import type {JsonSchema} from "../../domain/JsonSchema.js"; import {alterRequiredGroups} from "../../hooks/alterRequiredGroups.js"; import type {JsonSchemaOptions} from "../../interfaces/JsonSchemaOptions.js"; diff --git a/packages/specs/schema/src/components/default/schemaMapper.ts b/packages/specs/schema/src/components/default/schemaMapper.ts index c4b9116e6e1..3a6939c917b 100644 --- a/packages/specs/schema/src/components/default/schemaMapper.ts +++ b/packages/specs/schema/src/components/default/schemaMapper.ts @@ -1,4 +1,5 @@ import {getValue, isObject} from "@tsed/core"; + import {mapAliasedProperties} from "../../domain/JsonAliasMap.js"; import {JsonSchema} from "../../domain/JsonSchema.js"; import {SpecTypes} from "../../domain/SpecTypes.js"; diff --git a/packages/specs/schema/src/components/open-spec/generate.ts b/packages/specs/schema/src/components/open-spec/generate.ts index 3edfba378d3..1626bae7803 100644 --- a/packages/specs/schema/src/components/open-spec/generate.ts +++ b/packages/specs/schema/src/components/open-spec/generate.ts @@ -1,4 +1,5 @@ import {getValue, Type, uniqBy} from "@tsed/core"; + import {SpecTypes} from "../../domain/SpecTypes.js"; import {execMapper, registerJsonSchemaMapper} from "../../registries/JsonSchemaMapperContainer.js"; import {SpecSerializerOptions} from "../../utils/getSpec.js"; diff --git a/packages/specs/schema/src/components/open-spec/nullableMapper.ts b/packages/specs/schema/src/components/open-spec/nullableMapper.ts index f0e7cd24e30..e224da25308 100644 --- a/packages/specs/schema/src/components/open-spec/nullableMapper.ts +++ b/packages/specs/schema/src/components/open-spec/nullableMapper.ts @@ -1,4 +1,5 @@ import {cleanObject} from "@tsed/core"; + import type {JsonSchema} from "../../domain/JsonSchema.js"; import {SpecTypes} from "../../domain/SpecTypes.js"; import {registerJsonSchemaMapper} from "../../registries/JsonSchemaMapperContainer.js"; diff --git a/packages/specs/schema/src/components/open-spec/operationInFilesMapper.ts b/packages/specs/schema/src/components/open-spec/operationInFilesMapper.ts index ae5aa70197a..520ab86bdd3 100644 --- a/packages/specs/schema/src/components/open-spec/operationInFilesMapper.ts +++ b/packages/specs/schema/src/components/open-spec/operationInFilesMapper.ts @@ -1,4 +1,5 @@ import {cleanObject} from "@tsed/core"; + import {registerJsonSchemaMapper} from "../../registries/JsonSchemaMapperContainer.js"; import type {JsonParameterOptions} from "./operationInParameterMapper.js"; diff --git a/packages/specs/schema/src/components/open-spec/operationInParameterMapper.ts b/packages/specs/schema/src/components/open-spec/operationInParameterMapper.ts index 03935705b0e..e0e79915f38 100644 --- a/packages/specs/schema/src/components/open-spec/operationInParameterMapper.ts +++ b/packages/specs/schema/src/components/open-spec/operationInParameterMapper.ts @@ -1,6 +1,7 @@ import {OS3Schema} from "@tsed/openspec"; import {camelCase} from "change-case"; import type {JSONSchema6} from "json-schema"; + import {JsonParameter} from "../../domain/JsonParameter.js"; import {JsonParameterTypes} from "../../domain/JsonParameterTypes.js"; import {JsonSchemaOptions} from "../../interfaces/JsonSchemaOptions.js"; diff --git a/packages/specs/schema/src/components/open-spec/operationInQueryMapper.ts b/packages/specs/schema/src/components/open-spec/operationInQueryMapper.ts index 3b8293fcee8..d5e41d81858 100644 --- a/packages/specs/schema/src/components/open-spec/operationInQueryMapper.ts +++ b/packages/specs/schema/src/components/open-spec/operationInQueryMapper.ts @@ -1,5 +1,6 @@ import {cleanObject} from "@tsed/core"; import {OS3Example} from "@tsed/openspec"; + import {JsonSchemaOptions} from "../../interfaces/JsonSchemaOptions.js"; import {registerJsonSchemaMapper} from "../../registries/JsonSchemaMapperContainer.js"; import {createRefName} from "../../utils/ref.js"; diff --git a/packages/specs/schema/src/components/open-spec/pathsMapper.ts b/packages/specs/schema/src/components/open-spec/pathsMapper.ts index 083988a3eaf..5e3e51cea67 100644 --- a/packages/specs/schema/src/components/open-spec/pathsMapper.ts +++ b/packages/specs/schema/src/components/open-spec/pathsMapper.ts @@ -1,4 +1,5 @@ import {OS3Operation, OS3Paths} from "@tsed/openspec"; + import {OperationVerbs} from "../../constants/OperationVerbs.js"; import {JsonMethodStore} from "../../domain/JsonMethodStore.js"; import {JsonMethodPath} from "../../domain/JsonOperation.js"; diff --git a/packages/specs/schema/src/constants/OperationVerbs.ts b/packages/specs/schema/src/constants/OperationVerbs.ts index 850b4d31416..99b88f079ed 100644 --- a/packages/specs/schema/src/constants/OperationVerbs.ts +++ b/packages/specs/schema/src/constants/OperationVerbs.ts @@ -27,8 +27,3 @@ export const OPERATION_HTTP_VERBS = [ ]; export const OPERATION_WS_VERBS = [OperationVerbs.PUBLISH, OperationVerbs.SUBSCRIBE]; - -/** - * @deprecated Use OperationVerbs instead of OperationMethods - */ -export const OperationMethods = OperationVerbs; diff --git a/packages/specs/schema/src/constants/httpStatusMessages.ts b/packages/specs/schema/src/constants/httpStatusMessages.ts index d62ce695b48..86283aa275a 100644 --- a/packages/specs/schema/src/constants/httpStatusMessages.ts +++ b/packages/specs/schema/src/constants/httpStatusMessages.ts @@ -1,5 +1,5 @@ -import statuses from "statuses"; import {constantCase} from "change-case"; +import statuses from "statuses"; export const HTTP_STATUS_MESSAGES = statuses.codes.reduce((map: Record, code: number) => { const message: string = String(statuses(code)); diff --git a/packages/specs/schema/src/decorators/class/children.ts b/packages/specs/schema/src/decorators/class/children.ts index e222e8d1540..227db78d644 100644 --- a/packages/specs/schema/src/decorators/class/children.ts +++ b/packages/specs/schema/src/decorators/class/children.ts @@ -1,4 +1,5 @@ import {Store, Type} from "@tsed/core"; + import {JsonEntityFn} from "../common/jsonEntityFn.js"; /** diff --git a/packages/specs/schema/src/decorators/class/discriminatorValue.ts b/packages/specs/schema/src/decorators/class/discriminatorValue.ts index 284fd4d5e76..318ecdd5812 100644 --- a/packages/specs/schema/src/decorators/class/discriminatorValue.ts +++ b/packages/specs/schema/src/decorators/class/discriminatorValue.ts @@ -1,4 +1,5 @@ import {snakeCase} from "change-case"; + import {JsonEntityFn} from "../common/jsonEntityFn.js"; /** diff --git a/packages/specs/schema/src/decorators/collections/collectionOf.spec.ts b/packages/specs/schema/src/decorators/collections/collectionOf.spec.ts index e852a861add..e178495fb0c 100644 --- a/packages/specs/schema/src/decorators/collections/collectionOf.spec.ts +++ b/packages/specs/schema/src/decorators/collections/collectionOf.spec.ts @@ -1,18 +1,19 @@ import {catchError} from "@tsed/core"; + import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; +import {array, map, string} from "../../utils/from.js"; import {getJsonSchema} from "../../utils/getJsonSchema.js"; import {Property} from "../common/property.js"; +import {Schema} from "../common/schema.js"; import {In} from "../operations/in.js"; import {OperationPath} from "../operations/operationPath.js"; import {CollectionContains} from "./collectionContains.js"; import {ArrayOf, CollectionOf, MapOf} from "./collectionOf.js"; import {MaxItems} from "./maxItems.js"; import {MinItems} from "./minItems.js"; -import {Schema} from "../common/schema.js"; -import {map, array, string} from "../../utils/from.js"; describe("@CollectionOf", () => { - it("should declare a collection (Array of)", () => { + it("should declare a collection and catch error (Array of)", () => { // WHEN const error = catchError(() => { class Model { @@ -170,7 +171,7 @@ describe("@CollectionOf", () => { it("should declare a collection (Map of)", () => { // WHEN class Model { - @CollectionOf(Number).MinProperties(2).MaxProperties(5) + @(CollectionOf(Number).MinProperties(2).MaxProperties(5)) num: Map; } @@ -217,7 +218,7 @@ describe("@CollectionOf", () => { it("should declare collection with additional props", () => { // WHEN class Model { - @CollectionOf(String).MinItems(0).MaxItems(10).UniqueItems() + @(CollectionOf(String).MinItems(0).MaxItems(10).UniqueItems()) words: string[]; } @@ -242,7 +243,7 @@ describe("@CollectionOf", () => { it("should declare collection with additional props and contains", () => { // WHEN class Model { - @CollectionContains(String).MinItems(0).MaxItems(10) + @(CollectionContains(String).MinItems(0).MaxItems(10)) words: string[]; } @@ -302,7 +303,7 @@ describe("@MapOf", () => { it("should declare a collection (Map of)", () => { // WHEN class Model { - @MapOf(Number).MinProperties(2).MaxProperties(5) + @(MapOf(Number).MinProperties(2).MaxProperties(5)) num: MapCollection; } diff --git a/packages/specs/schema/src/decorators/common/allow.spec.ts b/packages/specs/schema/src/decorators/common/allow.spec.ts index ab6442f9e7e..e4f9738847f 100644 --- a/packages/specs/schema/src/decorators/common/allow.spec.ts +++ b/packages/specs/schema/src/decorators/common/allow.spec.ts @@ -1,4 +1,5 @@ -import Ajv from "ajv"; +import {Ajv} from "ajv"; + import {getJsonSchema} from "../../index.js"; import {Allow} from "./allow.js"; import {Property} from "./property.js"; diff --git a/packages/specs/schema/src/decorators/common/allow.ts b/packages/specs/schema/src/decorators/common/allow.ts index 8d4ef95319e..75628ea6c42 100644 --- a/packages/specs/schema/src/decorators/common/allow.ts +++ b/packages/specs/schema/src/decorators/common/allow.ts @@ -1,7 +1,8 @@ import {DecoratorTypes, isClass, useDecorators} from "@tsed/core"; + +import type {JsonParameterStore} from "../../domain/JsonParameterStore.js"; import {JsonEntityFn} from "./jsonEntityFn.js"; import {Property} from "./property.js"; -import type {JsonParameterStore} from "../../domain/JsonParameterStore.js"; /** * Add allowed values when the property or parameters is required. diff --git a/packages/specs/schema/src/decorators/common/any.ts b/packages/specs/schema/src/decorators/common/any.ts index 6360fd2aeaf..41521de87d7 100644 --- a/packages/specs/schema/src/decorators/common/any.ts +++ b/packages/specs/schema/src/decorators/common/any.ts @@ -1,5 +1,6 @@ import {Type} from "@tsed/core"; import type {JSONSchema6TypeName} from "json-schema"; + import {JsonEntityFn} from "./jsonEntityFn.js"; /** diff --git a/packages/specs/schema/src/decorators/common/anyOf.spec.ts b/packages/specs/schema/src/decorators/common/anyOf.spec.ts index 32efc6c9ea5..dd5a8a8c05f 100644 --- a/packages/specs/schema/src/decorators/common/anyOf.spec.ts +++ b/packages/specs/schema/src/decorators/common/anyOf.spec.ts @@ -1,5 +1,5 @@ -import {AllOf, getJsonSchema, getSpec, In, OneOf, OperationPath, Path, Property, SpecTypes} from "../../index.js"; import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; +import {AllOf, getJsonSchema, getSpec, In, OneOf, OperationPath, Path, Property, SpecTypes} from "../../index.js"; import {number, string} from "../../utils/from.js"; import {AnyOf} from "./anyOf.js"; diff --git a/packages/specs/schema/src/decorators/common/const.ts b/packages/specs/schema/src/decorators/common/const.ts index 5a6d8348b3a..a94ca6e933f 100644 --- a/packages/specs/schema/src/decorators/common/const.ts +++ b/packages/specs/schema/src/decorators/common/const.ts @@ -1,4 +1,5 @@ import type {JSONSchema6Type} from "json-schema"; + import {JsonEntityFn} from "./jsonEntityFn.js"; /** diff --git a/packages/specs/schema/src/decorators/common/defaultMsg.ts b/packages/specs/schema/src/decorators/common/defaultMsg.ts index 1bf3549fb3d..befb6f6abfc 100644 --- a/packages/specs/schema/src/decorators/common/defaultMsg.ts +++ b/packages/specs/schema/src/decorators/common/defaultMsg.ts @@ -1,4 +1,5 @@ import {useDecorators} from "@tsed/core"; + import {ErrorMsg} from "./errorMsg.js"; /** diff --git a/packages/specs/schema/src/decorators/common/description.ts b/packages/specs/schema/src/decorators/common/description.ts index 2120cedbce7..4c95f9de061 100644 --- a/packages/specs/schema/src/decorators/common/description.ts +++ b/packages/specs/schema/src/decorators/common/description.ts @@ -1,8 +1,9 @@ import {DecoratorParameters, decoratorTypeOf, DecoratorTypes} from "@tsed/core"; + import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; -import {JsonEntityFn} from "./jsonEntityFn.js"; import type {JsonMethodStore} from "../../domain/JsonMethodStore.js"; import type {JsonParameterStore} from "../../domain/JsonParameterStore.js"; +import {JsonEntityFn} from "./jsonEntityFn.js"; /** * Add a description to the class, method or property diff --git a/packages/specs/schema/src/decorators/common/discriminatorKey.ts b/packages/specs/schema/src/decorators/common/discriminatorKey.ts index 7ad00bfde33..b5274cc7d3b 100644 --- a/packages/specs/schema/src/decorators/common/discriminatorKey.ts +++ b/packages/specs/schema/src/decorators/common/discriminatorKey.ts @@ -1,4 +1,5 @@ import {useDecorators} from "@tsed/core"; + import {JsonPropertyStore} from "../../domain/JsonPropertyStore.js"; import {JsonEntityFn} from "./jsonEntityFn.js"; import {Property} from "./property.js"; diff --git a/packages/specs/schema/src/decorators/common/enum.ts b/packages/specs/schema/src/decorators/common/enum.ts index d13a2b9537b..2e728201935 100644 --- a/packages/specs/schema/src/decorators/common/enum.ts +++ b/packages/specs/schema/src/decorators/common/enum.ts @@ -1,4 +1,5 @@ import type {JSONSchema6Type} from "json-schema"; + import {withErrorMsg} from "../../utils/withErrorMsg.js"; import {JsonEntityFn} from "./jsonEntityFn.js"; diff --git a/packages/specs/schema/src/decorators/common/example.spec.ts b/packages/specs/schema/src/decorators/common/example.spec.ts index 1a92f0f377d..4125431fd80 100644 --- a/packages/specs/schema/src/decorators/common/example.spec.ts +++ b/packages/specs/schema/src/decorators/common/example.spec.ts @@ -1,4 +1,5 @@ import {descriptorOf, useDecorators} from "@tsed/core"; + import {Description, getSpec, In, Name, OperationPath, Path, Pattern, SpecTypes} from "../../index.js"; import {getJsonSchema} from "../../utils/getJsonSchema.js"; import {Example} from "./example.js"; diff --git a/packages/specs/schema/src/decorators/common/examples.ts b/packages/specs/schema/src/decorators/common/examples.ts index a7d3e181625..3752e6e45da 100644 --- a/packages/specs/schema/src/decorators/common/examples.ts +++ b/packages/specs/schema/src/decorators/common/examples.ts @@ -1,4 +1,5 @@ import {OpenSpecHash, OpenSpecRef, OS3Example} from "@tsed/openspec"; + import {JsonParameterStore} from "../../domain/JsonParameterStore.js"; import {JsonEntityFn} from "./jsonEntityFn.js"; diff --git a/packages/specs/schema/src/decorators/common/exclusiveMaximum.spec.ts b/packages/specs/schema/src/decorators/common/exclusiveMaximum.spec.ts index d375572eca0..69a303b69d6 100644 --- a/packages/specs/schema/src/decorators/common/exclusiveMaximum.spec.ts +++ b/packages/specs/schema/src/decorators/common/exclusiveMaximum.spec.ts @@ -1,6 +1,7 @@ +import "../../index.js"; + import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; import {ExclusiveMaximum} from "./exclusiveMaximum.js"; -import "../../index.js"; describe("@ExclusiveMaximum", () => { it("should declare exclusiveMaximum value", () => { diff --git a/packages/specs/schema/src/decorators/common/exclusiveMinimum.spec.ts b/packages/specs/schema/src/decorators/common/exclusiveMinimum.spec.ts index af668d922e6..02187085d95 100644 --- a/packages/specs/schema/src/decorators/common/exclusiveMinimum.spec.ts +++ b/packages/specs/schema/src/decorators/common/exclusiveMinimum.spec.ts @@ -1,6 +1,7 @@ +import "../../index.js"; + import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; import {ExclusiveMinimum} from "./exclusiveMinimum.js"; -import "../../index"; describe("@ExclusiveMinimum", () => { it("should declare exclusiveMinimum value", () => { diff --git a/packages/specs/schema/src/decorators/common/format.ts b/packages/specs/schema/src/decorators/common/format.ts index 3e269b054e9..a55dba31a49 100644 --- a/packages/specs/schema/src/decorators/common/format.ts +++ b/packages/specs/schema/src/decorators/common/format.ts @@ -1,4 +1,5 @@ import {ValueOf} from "@tsed/core"; + import {JsonFormatTypes} from "../../domain/JsonFormatTypes.js"; import {withErrorMsg} from "../../utils/withErrorMsg.js"; import {JsonEntityFn} from "./jsonEntityFn.js"; diff --git a/packages/specs/schema/src/decorators/common/forwardGroups.spec.ts b/packages/specs/schema/src/decorators/common/forwardGroups.spec.ts index 25df1aa1aca..48f77ed9f55 100644 --- a/packages/specs/schema/src/decorators/common/forwardGroups.spec.ts +++ b/packages/specs/schema/src/decorators/common/forwardGroups.spec.ts @@ -73,7 +73,7 @@ describe("@ForwardGroups", () => { @Path("/") class MyController { @OperationPath("POST", "/") - @Returns(201, MyModel).Groups("group.*") + @(Returns(201, MyModel).Groups("group.*")) create(@In("body") @Groups("creation") payload: MyModel) { return Promise.resolve(new MyModel()); } diff --git a/packages/specs/schema/src/decorators/common/groups.spec.ts b/packages/specs/schema/src/decorators/common/groups.spec.ts index 503dba7dcd7..85152b81981 100644 --- a/packages/specs/schema/src/decorators/common/groups.spec.ts +++ b/packages/specs/schema/src/decorators/common/groups.spec.ts @@ -1,4 +1,3 @@ -import {QueryParams} from "@tsed/platform-params/src/index"; import {SpecTypes} from "../../domain/SpecTypes.js"; import {getJsonSchema} from "../../utils/getJsonSchema.js"; import {getSpec} from "../../utils/getSpec.js"; @@ -468,7 +467,7 @@ describe("@Groups", () => { @Path("/") class MyController { @OperationPath("POST", "/") - @Returns(201, MyModel).Groups("group.*") + @(Returns(201, MyModel).Groups("group.*")) create(@In("body") @Groups("creation") payload: MyModel) { return new MyModel(); } @@ -642,7 +641,7 @@ describe("@Groups", () => { @Path("/") class MyController { @OperationPath("POST", "/") - @Returns(201, MyModel).Groups("group.*") + @(Returns(201, MyModel).Groups("group.*")) create(@In("body") @Groups("CreatePayload", ["creation"]) payload: MyModel) { return new MyModel(); } @@ -662,13 +661,13 @@ describe("@Groups", () => { @Path("/") class MyController { @OperationPath("GET", "/") - @Returns(201, MyModel).Groups("group.*") + @(Returns(201, MyModel).Groups("group.*")) get(@In("query") @Groups("creation") payload: MyModel) { return new MyModel(); } @OperationPath("GET", "/all") - @Returns(201, MyModel).Groups("group.*") + @(Returns(201, MyModel).Groups("group.*")) getWithout(@In("query") payload: MyModel) { return new MyModel(); } @@ -838,7 +837,7 @@ describe("@Groups", () => { @Path("/") class MyController { @OperationPath("POST", "/") - @Returns(201, Array).Of(MyModel).Groups("group.*") + @(Returns(201, Array).Of(MyModel).Groups("group.*")) createWithArray(@In("body") @Groups("creation") @CollectionOf(MyModel) payload: MyModel[]) { return [new MyModel()]; } @@ -955,7 +954,7 @@ describe("@Groups", () => { @Path("/") class MyController { @OperationPath("POST", "/") - @Returns(201, Array).Of(MyModel).Groups("Details", ["group.*"]) + @(Returns(201, Array).Of(MyModel).Groups("Details", ["group.*"])) createWithArray(@In("body") @Groups("Create", ["creation"]) @CollectionOf(MyModel) payload: MyModel[]) { return [new MyModel()]; } diff --git a/packages/specs/schema/src/decorators/common/groups.ts b/packages/specs/schema/src/decorators/common/groups.ts index e72326fa86d..bc1eaacceed 100644 --- a/packages/specs/schema/src/decorators/common/groups.ts +++ b/packages/specs/schema/src/decorators/common/groups.ts @@ -1,4 +1,5 @@ import {DecoratorTypes, isArray} from "@tsed/core"; + import type {JsonClassStore} from "../../domain/JsonClassStore.js"; import type {JsonParameterStore} from "../../domain/JsonParameterStore.js"; import {matchGroups} from "../../utils/matchGroups.js"; diff --git a/packages/specs/schema/src/decorators/common/hidden.spec.ts b/packages/specs/schema/src/decorators/common/hidden.spec.ts index b145f30703c..3a6bfa1f95d 100644 --- a/packages/specs/schema/src/decorators/common/hidden.spec.ts +++ b/packages/specs/schema/src/decorators/common/hidden.spec.ts @@ -1,6 +1,6 @@ +import {Get, getSpec, Path, SpecTypes} from "../../index.js"; import {getJsonSchema} from "../../utils/getJsonSchema.js"; import {Hidden} from "./hidden.js"; -import {Get, getSpec, Path, SpecTypes} from "../../index.js"; describe("@Hidden", () => { it("should generate the right json schema", () => { @@ -15,7 +15,7 @@ describe("@Hidden", () => { }); }); - it("should generate the right json schema", () => { + it("should generate the right json schema (2)", () => { // WHEN @Path("/") class Model { diff --git a/packages/specs/schema/src/decorators/common/ignore.ts b/packages/specs/schema/src/decorators/common/ignore.ts index be996f93245..304f80328d2 100644 --- a/packages/specs/schema/src/decorators/common/ignore.ts +++ b/packages/specs/schema/src/decorators/common/ignore.ts @@ -26,7 +26,8 @@ import {JsonEntityFn} from "./jsonEntityFn.js"; * * The controller: * ```typescript - * import {Post, Controller, BodyParams} from "@tsed/common"; + * import {Controller, BodyParams} from "@tsed/common"; + * import {Post} from "@tsed/schema"; * import {Person} from "../models/Person.js"; * * @Controller("/") diff --git a/packages/specs/schema/src/decorators/common/integer.spec.ts b/packages/specs/schema/src/decorators/common/integer.spec.ts index fe194848ebf..f3b72fd6531 100644 --- a/packages/specs/schema/src/decorators/common/integer.spec.ts +++ b/packages/specs/schema/src/decorators/common/integer.spec.ts @@ -1,4 +1,5 @@ import {BodyParams} from "@tsed/platform-params"; + import {validateSpec} from "../../../test/helpers/validateSpec.js"; import {SpecTypes} from "../../domain/SpecTypes.js"; import {getJsonSchema} from "../../utils/getJsonSchema.js"; @@ -52,7 +53,7 @@ describe("@Integer", () => { @Path("/") class TestIntegerCtrl { @OperationPath("GET", "/") - @Returns(200, Array).OfInteger() + @(Returns(200, Array).OfInteger()) async get(@BodyParams() @Integer() number: number[]) {} } diff --git a/packages/specs/schema/src/decorators/common/integer.ts b/packages/specs/schema/src/decorators/common/integer.ts index 32939aa86d7..4f2b683c766 100644 --- a/packages/specs/schema/src/decorators/common/integer.ts +++ b/packages/specs/schema/src/decorators/common/integer.ts @@ -1,4 +1,5 @@ import type {JSONSchema6} from "json-schema"; + import {JsonEntityFn} from "./jsonEntityFn.js"; /** diff --git a/packages/specs/schema/src/decorators/common/jsonEntityFn.ts b/packages/specs/schema/src/decorators/common/jsonEntityFn.ts index f81c38bacd8..8a7a709e2a1 100644 --- a/packages/specs/schema/src/decorators/common/jsonEntityFn.ts +++ b/packages/specs/schema/src/decorators/common/jsonEntityFn.ts @@ -1,4 +1,5 @@ import {DecoratorParameters} from "@tsed/core"; + import type {JsonEntityStore} from "../../domain/JsonEntityStore.js"; import {getJsonEntityStore} from "../../utils/getJsonEntityStore.js"; diff --git a/packages/specs/schema/src/decorators/common/maximum.spec.ts b/packages/specs/schema/src/decorators/common/maximum.spec.ts index 451afed734f..fff84acd4ee 100644 --- a/packages/specs/schema/src/decorators/common/maximum.spec.ts +++ b/packages/specs/schema/src/decorators/common/maximum.spec.ts @@ -1,6 +1,7 @@ +import "../../index.js"; + import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; import {CollectionOf} from "../collections/collectionOf.js"; -import "../../index"; import {Max} from "./maximum.js"; describe("@Maximum", () => { diff --git a/packages/specs/schema/src/decorators/common/minLength.spec.ts b/packages/specs/schema/src/decorators/common/minLength.spec.ts index f7191cbe9e9..6b5ad4882e3 100644 --- a/packages/specs/schema/src/decorators/common/minLength.spec.ts +++ b/packages/specs/schema/src/decorators/common/minLength.spec.ts @@ -1,4 +1,5 @@ -import "../../index"; +import "../../index.js"; + import {validateModel} from "../../../test/helpers/validateModel.js"; import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; import {getJsonSchema} from "../../utils/getJsonSchema.js"; @@ -66,7 +67,7 @@ describe("@MinLength", () => { // WHEN class Model { @MinLength(0) - @CollectionOf(String).MinItems(0).MaxItems(10) + @(CollectionOf(String).MinItems(0).MaxItems(10)) words: string[]; } @@ -91,8 +92,8 @@ describe("@MinLength", () => { it("should declare minLength field with custom error message", () => { // WHEN class Model { - @MinLength(2).Error("Require at least 2 characters") - @CollectionOf(String).MinItems(0).MaxItems(10) + @(MinLength(2).Error("Require at least 2 characters")) + @(CollectionOf(String).MinItems(0).MaxItems(10)) words: string[]; } @@ -151,7 +152,7 @@ describe("@MinLength", () => { it("should throw error with custom error message", () => { // WHEN class Model { - @MinLength(10).Error("Title must be at least 10 characters long") + @(MinLength(10).Error("Title must be at least 10 characters long")) word: string; } diff --git a/packages/specs/schema/src/decorators/common/minimum.spec.ts b/packages/specs/schema/src/decorators/common/minimum.spec.ts index ec2aa9a0940..bc655fa5a87 100644 --- a/packages/specs/schema/src/decorators/common/minimum.spec.ts +++ b/packages/specs/schema/src/decorators/common/minimum.spec.ts @@ -1,7 +1,8 @@ +import "../../index.js"; + import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; import {CollectionOf} from "../collections/collectionOf.js"; import {Min} from "./minimum.js"; -import "../../index"; describe("@Minimum", () => { it("should declare minimum value", () => { diff --git a/packages/specs/schema/src/decorators/common/name.ts b/packages/specs/schema/src/decorators/common/name.ts index 0a9d35b9802..b33f8f910ae 100644 --- a/packages/specs/schema/src/decorators/common/name.ts +++ b/packages/specs/schema/src/decorators/common/name.ts @@ -1,4 +1,5 @@ import {DecoratorParameters, decoratorTypeOf, DecoratorTypes} from "@tsed/core"; + import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; import {JsonEntityFn} from "../common/jsonEntityFn.js"; diff --git a/packages/specs/schema/src/decorators/common/nullable.spec.ts b/packages/specs/schema/src/decorators/common/nullable.spec.ts index 1729c31e6ac..47bc645bc0d 100644 --- a/packages/specs/schema/src/decorators/common/nullable.spec.ts +++ b/packages/specs/schema/src/decorators/common/nullable.spec.ts @@ -1,5 +1,6 @@ import {BodyParams} from "@tsed/platform-params"; -import Ajv from "ajv"; +import {Ajv} from "ajv"; + import {SpecTypes} from "../../domain/SpecTypes.js"; import {getJsonSchema} from "../../utils/getJsonSchema.js"; import {getSpec} from "../../utils/getSpec.js"; @@ -7,7 +8,7 @@ import {In} from "../operations/in.js"; import {Path} from "../operations/path.js"; import {Post} from "../operations/route.js"; import {Format} from "./format.js"; -import {Integer} from "./integer"; +import {Integer} from "./integer.js"; import {MaxLength} from "./maxLength.js"; import {Minimum} from "./minimum.js"; import {Nullable} from "./nullable.js"; diff --git a/packages/specs/schema/src/decorators/common/nullable.ts b/packages/specs/schema/src/decorators/common/nullable.ts index 8f77fbb9f30..9c3a64837a7 100644 --- a/packages/specs/schema/src/decorators/common/nullable.ts +++ b/packages/specs/schema/src/decorators/common/nullable.ts @@ -1,5 +1,6 @@ import {Type, useDecorators} from "@tsed/core"; import type {JSONSchema6TypeName} from "json-schema"; + import {Any} from "./any.js"; import {Property} from "./property.js"; diff --git a/packages/specs/schema/src/decorators/common/optional.ts b/packages/specs/schema/src/decorators/common/optional.ts index 0927c5682ab..5b8556e7ad2 100644 --- a/packages/specs/schema/src/decorators/common/optional.ts +++ b/packages/specs/schema/src/decorators/common/optional.ts @@ -1,6 +1,7 @@ import {DecoratorTypes, UnsupportedDecoratorType} from "@tsed/core"; -import {JsonEntityFn} from "./jsonEntityFn.js"; + import type {JsonParameterStore} from "../../domain/JsonParameterStore.js"; +import {JsonEntityFn} from "./jsonEntityFn.js"; /** * Add optional annotation on Property or Parameter. diff --git a/packages/specs/schema/src/decorators/common/pattern.spec.ts b/packages/specs/schema/src/decorators/common/pattern.spec.ts index 00bb8f0573a..098165c4d15 100644 --- a/packages/specs/schema/src/decorators/common/pattern.spec.ts +++ b/packages/specs/schema/src/decorators/common/pattern.spec.ts @@ -1,6 +1,7 @@ +import "../../index.js"; + import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; import {Pattern} from "./pattern.js"; -import "../../index"; describe("@Pattern", () => { it("should declare pattern value", () => { diff --git a/packages/specs/schema/src/decorators/common/property.ts b/packages/specs/schema/src/decorators/common/property.ts index bb61c04a446..033578645cf 100644 --- a/packages/specs/schema/src/decorators/common/property.ts +++ b/packages/specs/schema/src/decorators/common/property.ts @@ -1,4 +1,5 @@ import {isArrowFn, isClass} from "@tsed/core"; + import {JsonEntityFn} from "./jsonEntityFn.js"; /** diff --git a/packages/specs/schema/src/decorators/common/required.spec.ts b/packages/specs/schema/src/decorators/common/required.spec.ts index 000bef52465..9e74f1ff51e 100644 --- a/packages/specs/schema/src/decorators/common/required.spec.ts +++ b/packages/specs/schema/src/decorators/common/required.spec.ts @@ -1,9 +1,10 @@ +import {Ajv} from "ajv"; + import {validateModel} from "../../../test/helpers/validateModel.js"; -import {getJsonSchema, MinLength} from "../../index.js"; -import Ajv from "ajv"; import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; -import {Required} from "./required.js"; +import {getJsonSchema, MinLength} from "../../index.js"; import {Property} from "../common/property.js"; +import {Required} from "./required.js"; describe("@Required", () => { it("should declare required field", () => { @@ -137,7 +138,7 @@ describe("@Required", () => { it("should declare required field with custom error message", () => { // WHEN class Model { - @Required().Error("custom message") + @(Required().Error("custom message")) num: number; } diff --git a/packages/specs/schema/src/decorators/common/typeError.ts b/packages/specs/schema/src/decorators/common/typeError.ts index 9754951eaf4..1f1a1202935 100644 --- a/packages/specs/schema/src/decorators/common/typeError.ts +++ b/packages/specs/schema/src/decorators/common/typeError.ts @@ -1,4 +1,5 @@ import {useDecorators} from "@tsed/core"; + import {ErrorMsg} from "./errorMsg.js"; import {JsonEntityFn} from "./jsonEntityFn.js"; diff --git a/packages/specs/schema/src/decorators/config/jsonEntityComponent.ts b/packages/specs/schema/src/decorators/config/jsonEntityComponent.ts index 43df06ef231..30603480843 100644 --- a/packages/specs/schema/src/decorators/config/jsonEntityComponent.ts +++ b/packages/specs/schema/src/decorators/config/jsonEntityComponent.ts @@ -1,5 +1,6 @@ import {DecoratorTypes, Type} from "@tsed/core"; -import {JsonEntityStore, JsonEntitiesContainer} from "../../domain/JsonEntityStore.js"; + +import {JsonEntitiesContainer, JsonEntityStore} from "../../domain/JsonEntityStore.js"; /** * Declare a new JsonEntityStore class for a specific decorator type. diff --git a/packages/specs/schema/src/decorators/generics/genericOf.spec.ts b/packages/specs/schema/src/decorators/generics/genericOf.spec.ts index 013519cfb3a..1e386469ce5 100644 --- a/packages/specs/schema/src/decorators/generics/genericOf.spec.ts +++ b/packages/specs/schema/src/decorators/generics/genericOf.spec.ts @@ -125,7 +125,7 @@ describe("@GenericOf", () => { } class Content { - @GenericOf(Submission).Nested(Product) + @(GenericOf(Submission).Nested(Product)) submissions: Paginated>; } diff --git a/packages/specs/schema/src/decorators/generics/genericOf.ts b/packages/specs/schema/src/decorators/generics/genericOf.ts index cd149345986..98028de783b 100644 --- a/packages/specs/schema/src/decorators/generics/genericOf.ts +++ b/packages/specs/schema/src/decorators/generics/genericOf.ts @@ -1,4 +1,5 @@ import {isObject, Type} from "@tsed/core"; + import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; import {string} from "../../utils/from.js"; import {GenericValue} from "../../utils/generics.js"; diff --git a/packages/specs/schema/src/decorators/operations/acceptMime.ts b/packages/specs/schema/src/decorators/operations/acceptMime.ts index 5e84f270784..6db4aae089b 100644 --- a/packages/specs/schema/src/decorators/operations/acceptMime.ts +++ b/packages/specs/schema/src/decorators/operations/acceptMime.ts @@ -1,4 +1,5 @@ import {StoreSet, useDecorators} from "@tsed/core"; + import {Produces} from "./produces.js"; /** diff --git a/packages/specs/schema/src/decorators/operations/consumes.ts b/packages/specs/schema/src/decorators/operations/consumes.ts index 61353efdfd8..2d4682c37cd 100644 --- a/packages/specs/schema/src/decorators/operations/consumes.ts +++ b/packages/specs/schema/src/decorators/operations/consumes.ts @@ -1,4 +1,5 @@ import {decorateMethodsOf, DecoratorTypes, UnsupportedDecoratorType} from "@tsed/core"; + import {JsonEntityFn} from "../common/jsonEntityFn.js"; /** diff --git a/packages/specs/schema/src/decorators/operations/deprecated.spec.ts b/packages/specs/schema/src/decorators/operations/deprecated.spec.ts index 0ffc07bdef2..b9efd08279e 100644 --- a/packages/specs/schema/src/decorators/operations/deprecated.spec.ts +++ b/packages/specs/schema/src/decorators/operations/deprecated.spec.ts @@ -1,6 +1,7 @@ -import {Deprecated, getSpec, OperationPath, Returns, SpecTypes} from "../../index.js"; -import {QueryParams} from "@tsed/platform-params"; import {catchError} from "@tsed/core"; +import {QueryParams} from "@tsed/platform-params"; + +import {Deprecated, getSpec, OperationPath, Returns, SpecTypes} from "../../index.js"; describe("Deprecated", () => { it("should store metadata (swagger)", () => { diff --git a/packages/specs/schema/src/decorators/operations/deprecated.ts b/packages/specs/schema/src/decorators/operations/deprecated.ts index 5a9ce55838c..c44c4d00c5d 100644 --- a/packages/specs/schema/src/decorators/operations/deprecated.ts +++ b/packages/specs/schema/src/decorators/operations/deprecated.ts @@ -1,7 +1,8 @@ import {decorateMethodsOf, decoratorTypeOf, DecoratorTypes, UnsupportedDecoratorType} from "@tsed/core"; -import {JsonEntityFn} from "../common/jsonEntityFn.js"; -import {JsonPropertyStore} from "../../domain/JsonPropertyStore.js"; + import {JsonParameterStore} from "../../domain/JsonParameterStore.js"; +import {JsonPropertyStore} from "../../domain/JsonPropertyStore.js"; +import {JsonEntityFn} from "../common/jsonEntityFn.js"; /** * Add deprecated metadata on the decorated element. diff --git a/packages/specs/schema/src/decorators/operations/header.ts b/packages/specs/schema/src/decorators/operations/header.ts index 1b03f867403..c92d91720a0 100644 --- a/packages/specs/schema/src/decorators/operations/header.ts +++ b/packages/specs/schema/src/decorators/operations/header.ts @@ -1,4 +1,5 @@ import {isString} from "@tsed/core"; + import {JsonHeader, JsonHeaders} from "../../interfaces/JsonOpenSpec.js"; import {Returns} from "./returns.js"; diff --git a/packages/specs/schema/src/decorators/operations/in.spec.ts b/packages/specs/schema/src/decorators/operations/in.spec.ts index d2a16f2fb9a..da7dd3c616c 100644 --- a/packages/specs/schema/src/decorators/operations/in.spec.ts +++ b/packages/specs/schema/src/decorators/operations/in.spec.ts @@ -37,7 +37,7 @@ describe("In", () => { it("should declare all schema correctly (method)", () => { // WHEN class Controller { - @In("header").Type(String).Name("Authorization").Required().Description("description") + @(In("header").Type(String).Name("Authorization").Required().Description("description")) method(@In("path") @Name("basic") basic: string) {} } @@ -80,7 +80,7 @@ describe("In", () => { it("should declare all schema correctly (class)", () => { // WHEN class Controller { - @In("header").Type(String).Name("Authorization").Required().Description("description") + @(In("header").Type(String).Name("Authorization").Required().Description("description")) method(@In("path") @Name("basic") basic: string) {} } @@ -123,12 +123,12 @@ describe("In", () => { it("should declare a pattern", () => { // WHEN @Path("/:parentId") - @In("path") + @(In("path") .Type(String) .Name("parentId") .Required() .Description("description") - .Pattern(/^[0-9a-fA-F]{24}$/) + .Pattern(/^[0-9a-fA-F]{24}$/)) class Controller { @OperationPath("GET", "/:path") method(@In("path") @Name("basic") basic: string) {} @@ -216,7 +216,7 @@ describe("In", () => { it("should declare schema", () => { // WHEN @Path("/:parentId") - @In("path").Name("parentId").Required().Description("description").Schema(number().integer().minimum(2)) + @(In("path").Name("parentId").Required().Description("description").Schema(number().integer().minimum(2))) class Controller { @OperationPath("GET", "/:path") method(@In("path") @Name("basic") basic: string) {} diff --git a/packages/specs/schema/src/decorators/operations/in.ts b/packages/specs/schema/src/decorators/operations/in.ts index 8784b769dbf..cc95da9fe96 100644 --- a/packages/specs/schema/src/decorators/operations/in.ts +++ b/packages/specs/schema/src/decorators/operations/in.ts @@ -1,4 +1,5 @@ import {decorateMethodsOf, DecoratorTypes, Type, UnsupportedDecoratorType} from "@tsed/core"; + import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; import {JsonMethodStore} from "../../domain/JsonMethodStore.js"; import {JsonParameter} from "../../domain/JsonParameter.js"; diff --git a/packages/specs/schema/src/decorators/operations/inFile.ts b/packages/specs/schema/src/decorators/operations/inFile.ts index 035597649ac..4b3e2918eea 100644 --- a/packages/specs/schema/src/decorators/operations/inFile.ts +++ b/packages/specs/schema/src/decorators/operations/inFile.ts @@ -1,9 +1,10 @@ import {DecoratorParameters, Metadata, useDecorators, useMethodDecorators} from "@tsed/core"; -import {In} from "./in.js"; + import {JsonParameterTypes} from "../../domain/JsonParameterTypes.js"; -import {Returns} from "./returns.js"; import {Name} from "../common/name.js"; import {Consumes} from "./consumes.js"; +import {In} from "./in.js"; +import {Returns} from "./returns.js"; /** * Add a input file parameter. diff --git a/packages/specs/schema/src/decorators/operations/location.spec.ts b/packages/specs/schema/src/decorators/operations/location.spec.ts index 29ef07dd585..3fc6da0e7e9 100644 --- a/packages/specs/schema/src/decorators/operations/location.spec.ts +++ b/packages/specs/schema/src/decorators/operations/location.spec.ts @@ -3,7 +3,7 @@ import {getSpec, Location, OperationPath, SpecTypes} from "../../index.js"; describe("Location", () => { it("should set Header", () => { class MyController { - @Location("/path/to/test", {description: "Path to next step"}).Status(301) + @(Location("/path/to/test", {description: "Path to next step"}).Status(301)) @OperationPath("GET", "/") test() {} } diff --git a/packages/specs/schema/src/decorators/operations/operationId.ts b/packages/specs/schema/src/decorators/operations/operationId.ts index cb090c35d4e..6de22791b73 100644 --- a/packages/specs/schema/src/decorators/operations/operationId.ts +++ b/packages/specs/schema/src/decorators/operations/operationId.ts @@ -1,4 +1,5 @@ import {DecoratorTypes, UnsupportedDecoratorType} from "@tsed/core"; + import {JsonEntityFn} from "../common/jsonEntityFn.js"; /** diff --git a/packages/specs/schema/src/decorators/operations/operationPath.spec.ts b/packages/specs/schema/src/decorators/operations/operationPath.spec.ts index 0c7c77d357d..59bb1982f74 100644 --- a/packages/specs/schema/src/decorators/operations/operationPath.spec.ts +++ b/packages/specs/schema/src/decorators/operations/operationPath.spec.ts @@ -1,4 +1,4 @@ -import {getSpec, OperationVerbs, OperationPath} from "../../index.js"; +import {getSpec, OperationPath, OperationVerbs} from "../../index.js"; describe("OperationPath", () => { it("should store metadata", () => { diff --git a/packages/specs/schema/src/decorators/operations/operationPath.ts b/packages/specs/schema/src/decorators/operations/operationPath.ts index c423ebc59a5..bfe3b03fa1e 100644 --- a/packages/specs/schema/src/decorators/operations/operationPath.ts +++ b/packages/specs/schema/src/decorators/operations/operationPath.ts @@ -1,6 +1,7 @@ import {DecoratorTypes, UnsupportedDecoratorType} from "@tsed/core"; -import {JsonEntityFn} from "../common/jsonEntityFn.js"; + import {OperationVerbs} from "../../constants/OperationVerbs.js"; +import {JsonEntityFn} from "../common/jsonEntityFn.js"; /** * Declare new Operation with his path and http method. diff --git a/packages/specs/schema/src/decorators/operations/partial.spec.ts b/packages/specs/schema/src/decorators/operations/partial.spec.ts index b92cc0eff3e..33e2ae28a68 100644 --- a/packages/specs/schema/src/decorators/operations/partial.spec.ts +++ b/packages/specs/schema/src/decorators/operations/partial.spec.ts @@ -1,4 +1,5 @@ -import Ajv from "ajv"; +import {Ajv} from "ajv"; + import { CollectionOf, getJsonSchema, @@ -48,7 +49,7 @@ describe("@Partial", () => { @Path("/") class MyController { @OperationPath("PATCH", "/") - @Returns(200, MyModel).Groups("group.*") + @(Returns(200, MyModel).Groups("group.*")) patch(@In("body") @Partial() payload: MyModel) { return new MyModel(); } diff --git a/packages/specs/schema/src/decorators/operations/path.ts b/packages/specs/schema/src/decorators/operations/path.ts index c366cc92ecb..1237ff5d6b5 100644 --- a/packages/specs/schema/src/decorators/operations/path.ts +++ b/packages/specs/schema/src/decorators/operations/path.ts @@ -1,4 +1,5 @@ import {DecoratorTypes, UnsupportedDecoratorType} from "@tsed/core"; + import {JsonEntityFn} from "../common/jsonEntityFn.js"; /** diff --git a/packages/specs/schema/src/decorators/operations/produces.ts b/packages/specs/schema/src/decorators/operations/produces.ts index ad6e245ed4a..6122c80b787 100644 --- a/packages/specs/schema/src/decorators/operations/produces.ts +++ b/packages/specs/schema/src/decorators/operations/produces.ts @@ -1,4 +1,5 @@ import {decorateMethodsOf, DecoratorTypes, UnsupportedDecoratorType} from "@tsed/core"; + import {JsonEntityFn} from "../common/jsonEntityFn.js"; /** diff --git a/packages/specs/schema/src/decorators/operations/publish.spec.ts b/packages/specs/schema/src/decorators/operations/publish.spec.ts index b87a8dfd5fe..4cf0333277e 100644 --- a/packages/specs/schema/src/decorators/operations/publish.spec.ts +++ b/packages/specs/schema/src/decorators/operations/publish.spec.ts @@ -1,7 +1,8 @@ +import "../../index.js"; + import {OperationVerbs} from "../../constants/OperationVerbs.js"; import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; import {Publish} from "./publish.js"; -import "../../index.js"; describe("Publish", () => { it("should register operation with Publish verb", () => { diff --git a/packages/specs/schema/src/decorators/operations/redirect.ts b/packages/specs/schema/src/decorators/operations/redirect.ts index 2b655654eca..2db2caefc57 100644 --- a/packages/specs/schema/src/decorators/operations/redirect.ts +++ b/packages/specs/schema/src/decorators/operations/redirect.ts @@ -1,4 +1,5 @@ import {isNumber, isString, useDecorators} from "@tsed/core"; + import {JsonHeader} from "../../interfaces/JsonOpenSpec.js"; import {JsonEntityFn} from "../common/jsonEntityFn.js"; import {Returns} from "./returns.js"; diff --git a/packages/specs/schema/src/decorators/operations/returns.spec.ts b/packages/specs/schema/src/decorators/operations/returns.spec.ts index 0652b4623c0..e61b709d7c3 100644 --- a/packages/specs/schema/src/decorators/operations/returns.spec.ts +++ b/packages/specs/schema/src/decorators/operations/returns.spec.ts @@ -1,5 +1,7 @@ -import {OpenSpec3} from "@tsed/openspec"; import "@tsed/platform-exceptions"; + +import {OpenSpec3} from "@tsed/openspec"; + import {SpecTypes} from "../../domain/SpecTypes.js"; import {getSpec} from "../../utils/getSpec.js"; import {CollectionOf} from "../collections/collectionOf.js"; @@ -14,7 +16,7 @@ describe("@Returns", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Returns(200, String).Description("description") + @(Returns(200, String).Description("description")) method() {} } @@ -54,7 +56,7 @@ describe("@Returns", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Returns(200, String).Description("description") + @(Returns(200, String).Description("description")) method() {} } @@ -94,7 +96,7 @@ describe("@Returns", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Returns().Status(200).Type(String).Description("description") + @(Returns().Status(200).Type(String).Description("description")) method() {} } @@ -134,7 +136,7 @@ describe("@Returns", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Returns(200, String) + @(Returns(200, String) .Description("description") .Header("x-token", "token") .Header("x-header", { @@ -143,7 +145,7 @@ describe("@Returns", () => { .Examples({test: "Examples"}) .Schema({ minLength: 3 - }) + })) method() {} } @@ -201,9 +203,9 @@ describe("@Returns", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Returns(200, String).Description("description").Header("x-token").Examples({test: "Examples"}).Schema({ + @(Returns(200, String).Description("description").Header("x-token").Examples({test: "Examples"}).Schema({ minLength: 3 - }) + })) method() {} } @@ -254,7 +256,7 @@ describe("@Returns", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Returns(200, String).Description("description").ContentType("text/html").Examples("Examples") + @(Returns(200, String).Description("description").ContentType("text/html").Examples("Examples")) method() {} } @@ -295,9 +297,9 @@ describe("@Returns", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Returns(400).Description("Bad request") + @(Returns(400).Description("Bad request")) @Returns(401) - @Returns(200).Description("Success") + @(Returns(200).Description("Success")) method() {} } @@ -446,12 +448,12 @@ describe("@Returns", () => { }); it("should declare error response on class", () => { // WHEN - @Returns(400).Description("Bad request").Header("x-token", "token") + @(Returns(400).Description("Bad request").Header("x-token", "token")) @Returns(401) class Controller { @OperationPath("POST", "/") - @Returns(200).Description("Success") - @Returns(400).Description("Bad request2").Header("x-token", "token2") + @(Returns(200).Description("Success")) + @(Returns(400).Description("Bad request2").Header("x-token", "token2")) method() {} } @@ -612,7 +614,7 @@ describe("@Returns", () => { try { class Controller { @OperationPath("POST", "/") - @Returns(200, String).Of(Array).Description("description") + @(Returns(200, String).Of(Array).Description("description")) method() {} } } catch (er) { @@ -627,7 +629,7 @@ describe("@Returns", () => { try { class Controller { @OperationPath("POST", "/") - @Returns(200, Array).Nested(Set).Description("description") + @(Returns(200, Array).Nested(Set).Description("description")) method() {} } } catch (er) { @@ -642,7 +644,7 @@ describe("@Returns", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Returns(200, Array).Of(String).Description("description") + @(Returns(200, Array).Of(String).Description("description")) method() {} } @@ -690,7 +692,7 @@ describe("@Returns", () => { class Controller { @OperationPath("POST", "/") - @Returns(200, Array).Of(Model).Description("description") + @(Returns(200, Array).Of(Model).Description("description")) method() {} } @@ -768,7 +770,7 @@ describe("@Returns", () => { class Controller { @OperationPath("POST", "/") - @Returns(200, Pagination) + @(Returns(200, Pagination) .Of(Submission) .Nested(Product) .Description("description") @@ -786,7 +788,7 @@ describe("@Returns", () => { } ] } - }) + })) method(): Promise> | null> { return null as never; } @@ -888,7 +890,7 @@ describe("@Returns", () => { class Controller { @OperationPath("POST", "/") - @Returns(200, Submission).Of(MyEnum).Description("description") + @(Returns(200, Submission).Of(MyEnum).Description("description")) method(): Promise | null> { return Promise.resolve(null); } @@ -962,7 +964,7 @@ describe("@Returns", () => { class Controller { @OperationPath("POST", "/") - @Returns(200, Pagination) + @(Returns(200, Pagination) .Of(Submission) .Nested(MyEnum) .Description("description") @@ -980,7 +982,7 @@ describe("@Returns", () => { } ] } - }) + })) method(): Promise> | null> { return null as never; } @@ -1066,7 +1068,7 @@ describe("@Returns", () => { class Controller { @OperationPath("POST", "/") - @Returns(200).OneOf(Model, Model2).Description("description") + @(Returns(200).OneOf(Model, Model2).Description("description")) method() { return {}; } @@ -1141,9 +1143,9 @@ describe("@Returns", () => { class Controller { @OperationPath("POST", "/") - @Returns(200, Model).Description("description") - @Returns(200, String).ContentType("text/html") - @Returns(200, String).ContentType("text/xml") + @(Returns(200, Model).Description("description")) + @(Returns(200, String).ContentType("text/html")) + @(Returns(200, String).ContentType("text/xml")) method() {} } @@ -1229,7 +1231,7 @@ describe("@Returns", () => { class Controller { @OperationPath("POST", "/") - @Returns(200, Pagination).Of(Submission).Nested(Product).Title("PaginatedSubmissionProduct").Description("description") + @(Returns(200, Pagination).Of(Submission).Nested(Product).Title("PaginatedSubmissionProduct").Description("description")) method(): Promise> | null> { return null as never; } @@ -1342,7 +1344,7 @@ describe("@Returns", () => { it("should return oneOf array schema", () => { class Controller { - @Returns(200, Array).OneOf(ClassA, ClassB) + @(Returns(200, Array).OneOf(ClassA, ClassB)) @OperationPath("GET", "/") method() {} } @@ -1366,7 +1368,7 @@ describe("@Returns", () => { it("should return allOf array schema", () => { class Controller { - @Returns(200, Array).AllOf(ClassA, ClassB) + @(Returns(200, Array).AllOf(ClassA, ClassB)) @OperationPath("GET", "/") method() {} } @@ -1387,29 +1389,5 @@ describe("@Returns", () => { } }); }); - - it("should return allOf array schema", () => { - class Controller { - @Returns(200, Array).AnyOf(ClassA, ClassB) - @OperationPath("GET", "/") - method() {} - } - - const spec = getSpec(Controller, {specType: SpecTypes.OPENAPI}) as Partial; - - expect(spec.paths!["/"].get!.responses["200"].content!["application/json"].schema).toEqual({ - type: "array", - items: { - anyOf: [ - { - $ref: "#/components/schemas/ClassA" - }, - { - $ref: "#/components/schemas/ClassB" - } - ] - } - }); - }); }); }); diff --git a/packages/specs/schema/src/decorators/operations/returns.ts b/packages/specs/schema/src/decorators/operations/returns.ts index 3d3af9da560..ef0d2d152af 100644 --- a/packages/specs/schema/src/decorators/operations/returns.ts +++ b/packages/specs/schema/src/decorators/operations/returns.ts @@ -11,6 +11,7 @@ import { Type } from "@tsed/core"; import {OS3Example} from "@tsed/openspec"; + import {getStatusMessage} from "../../constants/httpStatusMessages.js"; import {DecoratorContext} from "../../domain/DecoratorContext.js"; import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; @@ -617,8 +618,7 @@ class ReturnDecoratorContext extends DecoratorContext * It's also possible to declare a nested generics models in order to have this type `Pagination>`: * * ```typescript - * import {Generics, Property, Returns} from "@tsed/schema"; - * import {Post} from "@tsed/common"; + * import {Post, Generics, Property, Returns} from "@tsed/schema"; * * class Controller { * @Post("/") diff --git a/packages/specs/schema/src/decorators/operations/route.spec.ts b/packages/specs/schema/src/decorators/operations/route.spec.ts index 4bce05076cf..c86a385e72b 100644 --- a/packages/specs/schema/src/decorators/operations/route.spec.ts +++ b/packages/specs/schema/src/decorators/operations/route.spec.ts @@ -69,7 +69,7 @@ describe("Route decorators", () => { // WHEN class Test { - @Get("/").UseBefore(beforeMiddleware).Use(middleware).UseAfter(afterMiddleware) + @(Get("/").UseBefore(beforeMiddleware).Use(middleware).UseAfter(afterMiddleware)) test() {} } @@ -105,7 +105,7 @@ describe("Route decorators", () => { it("should register route and middleware", () => { // WHEN class Test { - @Put("/").Id("operationId").Summary("Summary").Description("Description") + @(Put("/").Id("operationId").Summary("Summary").Description("Description")) test() {} } diff --git a/packages/specs/schema/src/decorators/operations/route.ts b/packages/specs/schema/src/decorators/operations/route.ts index 25e8dcf3c6f..e74fa9dd996 100644 --- a/packages/specs/schema/src/decorators/operations/route.ts +++ b/packages/specs/schema/src/decorators/operations/route.ts @@ -1,11 +1,6 @@ import {OperationVerbs} from "../../constants/OperationVerbs.js"; import {Operation} from "./operation.js"; -/** - * @deprecated Use Operation instead of Route - */ -export const Route = Operation; - /** * This method is just like the `router.METHOD()` methods, except that it matches all HTTP methods (verbs). * diff --git a/packages/specs/schema/src/decorators/operations/security.spec.ts b/packages/specs/schema/src/decorators/operations/security.spec.ts index cdf90e51172..a2201e9aba0 100644 --- a/packages/specs/schema/src/decorators/operations/security.spec.ts +++ b/packages/specs/schema/src/decorators/operations/security.spec.ts @@ -57,7 +57,7 @@ describe("Security", () => { it("should store multiple security schemes (method)", () => { class MyController { @OperationPath("POST", "/") - @Security([{ "A": ["scope-1"] }, { "B": [], "C": ["scope-2", "scope-3"]}]) + @Security([{A: ["scope-1"]}, {B: [], C: ["scope-2", "scope-3"]}]) post() {} } @@ -90,7 +90,7 @@ describe("Security", () => { } } } - }) + }); }); it("should store metadata (class)", () => { @Security("oauth", "user") diff --git a/packages/specs/schema/src/decorators/operations/security.ts b/packages/specs/schema/src/decorators/operations/security.ts index 1a2e1f3d7fc..7d8aed9fd30 100644 --- a/packages/specs/schema/src/decorators/operations/security.ts +++ b/packages/specs/schema/src/decorators/operations/security.ts @@ -1,7 +1,8 @@ import {decorateMethodsOf, DecoratorTypes, UnsupportedDecoratorType} from "@tsed/core"; -import {JsonEntityFn} from "../common/jsonEntityFn.js"; import {OpenSpecSecurity} from "@tsed/openspec"; +import {JsonEntityFn} from "../common/jsonEntityFn.js"; + /** * Add security metadata on the decorated method. * diff --git a/packages/specs/schema/src/decorators/operations/status.spec.ts b/packages/specs/schema/src/decorators/operations/status.spec.ts index ae7b32609b5..9754e589b5d 100644 --- a/packages/specs/schema/src/decorators/operations/status.spec.ts +++ b/packages/specs/schema/src/decorators/operations/status.spec.ts @@ -1,4 +1,5 @@ import "@tsed/platform-exceptions"; + import {SpecTypes} from "../../domain/SpecTypes.js"; import {getSpec} from "../../utils/getSpec.js"; import {CollectionOf} from "../collections/collectionOf.js"; @@ -12,7 +13,7 @@ describe("@Status", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Status(200, String).Description("description") + @(Status(200, String).Description("description")) method() {} } @@ -52,7 +53,7 @@ describe("@Status", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Status(200).Type(String).Description("description") + @(Status(200).Type(String).Description("description")) method() {} } @@ -92,7 +93,7 @@ describe("@Status", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Status(200, String) + @(Status(200, String) .Description("description") .Header("x-token", "token") .Header("x-header", { @@ -101,7 +102,7 @@ describe("@Status", () => { .Examples({test: "Examples"}) .Schema({ minLength: 3 - }) + })) method() {} } @@ -159,7 +160,7 @@ describe("@Status", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Status(200, String).Description("description").ContentType("text/html").Examples("Examples") + @(Status(200, String).Description("description").ContentType("text/html").Examples("Examples")) method() {} } @@ -200,9 +201,9 @@ describe("@Status", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Status(400).Description("Bad request") + @(Status(400).Description("Bad request")) @Status(401) - @Status(200).Description("Success") + @(Status(200).Description("Success")) method() {} } @@ -355,7 +356,7 @@ describe("@Status", () => { try { class Controller { @OperationPath("POST", "/") - @Status(200, String).Of(Array).Description("description") + @(Status(200, String).Of(Array).Description("description")) method() {} } } catch (er) { @@ -370,7 +371,7 @@ describe("@Status", () => { try { class Controller { @OperationPath("POST", "/") - @Status(200, Array).Nested(Set).Description("description") + @(Status(200, Array).Nested(Set).Description("description")) method() {} } } catch (er) { @@ -383,7 +384,7 @@ describe("@Status", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Status(200, Array).Of(String).Description("description") + @(Status(200, Array).Of(String).Description("description")) method() {} } @@ -431,7 +432,7 @@ describe("@Status", () => { class Controller { @OperationPath("POST", "/") - @Status(200, Array).Of(Model).Description("description") + @(Status(200, Array).Of(Model).Description("description")) method() {} } @@ -509,7 +510,7 @@ describe("@Status", () => { class Controller { @OperationPath("POST", "/") - @Status(200, Pagination).Of(Submission).Nested(Product).Description("description") + @(Status(200, Pagination).Of(Submission).Nested(Product).Description("description")) method(): Promise> | null> { return null as never; } diff --git a/packages/specs/schema/src/decorators/operations/status.ts b/packages/specs/schema/src/decorators/operations/status.ts index 96fd6ecf117..4c1c9ededea 100644 --- a/packages/specs/schema/src/decorators/operations/status.ts +++ b/packages/specs/schema/src/decorators/operations/status.ts @@ -1,4 +1,5 @@ import {Type} from "@tsed/core"; + import {Returns, ReturnsChainedDecorators} from "./returns.js"; /** @@ -91,8 +92,7 @@ import {Returns, ReturnsChainedDecorators} from "./returns.js"; * It's also possible to declare a nested generics models in order to have this type `Pagination>`: * * ```typescript - * import {Generics, Property, Returns} from "@tsed/schema"; - * import {Post} from "@tsed/common"; + * import {Post, Generics, Property, Returns} from "@tsed/schema"; * * class Controller { * @Post("/") diff --git a/packages/specs/schema/src/decorators/operations/subscribe.spec.ts b/packages/specs/schema/src/decorators/operations/subscribe.spec.ts index 8faf4ab3f86..4c42b019598 100644 --- a/packages/specs/schema/src/decorators/operations/subscribe.spec.ts +++ b/packages/specs/schema/src/decorators/operations/subscribe.spec.ts @@ -1,8 +1,9 @@ +import "../../index.js"; + import {OperationVerbs} from "../../constants/OperationVerbs.js"; import {JsonEntityStore} from "../../domain/JsonEntityStore.js"; import {Publish} from "./publish.js"; import {Subscribe} from "./subscribe.js"; -import "../../index.js"; describe("Subscribe", () => { it("should register operation with Subscribe verb", () => { diff --git a/packages/specs/schema/src/decorators/operations/summary.ts b/packages/specs/schema/src/decorators/operations/summary.ts index 8d3695efba3..c318e3c79ab 100644 --- a/packages/specs/schema/src/decorators/operations/summary.ts +++ b/packages/specs/schema/src/decorators/operations/summary.ts @@ -1,4 +1,5 @@ import {DecoratorTypes, UnsupportedDecoratorType} from "@tsed/core"; + import {JsonEntityFn} from "../common/jsonEntityFn.js"; /** diff --git a/packages/specs/schema/src/decorators/operations/tags.ts b/packages/specs/schema/src/decorators/operations/tags.ts index 8972d16fb5e..11e934ed99f 100644 --- a/packages/specs/schema/src/decorators/operations/tags.ts +++ b/packages/specs/schema/src/decorators/operations/tags.ts @@ -1,5 +1,6 @@ import {decorateMethodsOf, DecoratorTypes, UnsupportedDecoratorType} from "@tsed/core"; import {OpenSpecTag} from "@tsed/openspec"; + import {JsonEntityFn} from "../common/jsonEntityFn.js"; function mapTags(tags: (string | OpenSpecTag)[]) { diff --git a/packages/specs/schema/src/decorators/operations/view.spec.ts b/packages/specs/schema/src/decorators/operations/view.spec.ts index 6aaf6e4ddbf..2e0549b5797 100644 --- a/packages/specs/schema/src/decorators/operations/view.spec.ts +++ b/packages/specs/schema/src/decorators/operations/view.spec.ts @@ -13,16 +13,4 @@ describe("@View", () => { options: {test: "test"} }); }); - it("should set metadata", () => { - class Test { - @View("page", {test: "test"}) - test() {} - } - - const endpoint = JsonMethodStore.get(Test, "test"); - expect(endpoint.view).toEqual({ - path: "page", - options: {test: "test"} - }); - }); }); diff --git a/packages/specs/schema/src/domain/DecoratorContext.ts b/packages/specs/schema/src/domain/DecoratorContext.ts index 7a7cf19505f..f112770ce14 100644 --- a/packages/specs/schema/src/domain/DecoratorContext.ts +++ b/packages/specs/schema/src/domain/DecoratorContext.ts @@ -1,5 +1,6 @@ import {DecoratorParameters, DecoratorTypes} from "@tsed/core"; import {pascalCase} from "change-case"; + import {JsonEntityStore} from "./JsonEntityStore.js"; /** diff --git a/packages/specs/schema/src/domain/JsonClassStore.ts b/packages/specs/schema/src/domain/JsonClassStore.ts index 84a3f4fd37f..152769d4b7c 100644 --- a/packages/specs/schema/src/domain/JsonClassStore.ts +++ b/packages/specs/schema/src/domain/JsonClassStore.ts @@ -1,9 +1,10 @@ import {DecoratorTypes} from "@tsed/core"; + +import {JsonEntityComponent} from "../decorators/config/jsonEntityComponent.js"; +import {JsonEntityStore, JsonEntityStoreOptions} from "./JsonEntityStore.js"; import type {JsonMethodStore} from "./JsonMethodStore.js"; import type {JsonPropertyStore} from "./JsonPropertyStore.js"; -import {JsonEntityStore, JsonEntityStoreOptions} from "./JsonEntityStore.js"; import {JsonSchema} from "./JsonSchema.js"; -import {JsonEntityComponent} from "../decorators/config/jsonEntityComponent.js"; @JsonEntityComponent(DecoratorTypes.CLASS) export class JsonClassStore extends JsonEntityStore { diff --git a/packages/specs/schema/src/domain/JsonEntityStore.spec.ts b/packages/specs/schema/src/domain/JsonEntityStore.spec.ts index 62d0f2cf62f..65b0dc495b0 100644 --- a/packages/specs/schema/src/domain/JsonEntityStore.spec.ts +++ b/packages/specs/schema/src/domain/JsonEntityStore.spec.ts @@ -1,4 +1,5 @@ import { + Allow, In, JsonEntityStore, JsonMethodStore, @@ -7,8 +8,7 @@ import { JsonParameterStore, JsonPropertyStore, Property, - Required, - Allow + Required } from "../index.js"; describe("JsonEntityStore", () => { diff --git a/packages/specs/schema/src/domain/JsonEntityStore.ts b/packages/specs/schema/src/domain/JsonEntityStore.ts index 61ed2453fa9..6743a578720 100644 --- a/packages/specs/schema/src/domain/JsonEntityStore.ts +++ b/packages/specs/schema/src/domain/JsonEntityStore.ts @@ -18,6 +18,7 @@ import { Store, Type } from "@tsed/core"; + import type {JsonClassStore} from "./JsonClassStore.js"; import type {JsonMethodStore} from "./JsonMethodStore.js"; import type {JsonParameterStore} from "./JsonParameterStore.js"; diff --git a/packages/specs/schema/src/domain/JsonLazyRef.ts b/packages/specs/schema/src/domain/JsonLazyRef.ts index 8f42665d7a8..e93cba3fa59 100644 --- a/packages/specs/schema/src/domain/JsonLazyRef.ts +++ b/packages/specs/schema/src/domain/JsonLazyRef.ts @@ -1,4 +1,5 @@ import {nameOf, Type} from "@tsed/core"; + import {getJsonEntityStore} from "../utils/getJsonEntityStore.js"; export class JsonLazyRef { diff --git a/packages/specs/schema/src/domain/JsonMap.spec.ts b/packages/specs/schema/src/domain/JsonMap.spec.ts index f7505491b7b..5b30182e134 100644 --- a/packages/specs/schema/src/domain/JsonMap.spec.ts +++ b/packages/specs/schema/src/domain/JsonMap.spec.ts @@ -1,6 +1,7 @@ -import {JsonMap} from "./JsonMap.js"; import "../index.js"; +import {JsonMap} from "./JsonMap.js"; + describe("JsonMap", () => { it("should serialize a JsonMap", () => { const map = new JsonMap({ diff --git a/packages/specs/schema/src/domain/JsonMap.ts b/packages/specs/schema/src/domain/JsonMap.ts index 257f21d3922..21711746bd5 100644 --- a/packages/specs/schema/src/domain/JsonMap.ts +++ b/packages/specs/schema/src/domain/JsonMap.ts @@ -1,4 +1,5 @@ import {isFunction} from "@tsed/core"; + import {JsonSchemaOptions} from "../interfaces/JsonSchemaOptions.js"; import {execMapper} from "../registries/JsonSchemaMapperContainer.js"; diff --git a/packages/specs/schema/src/domain/JsonMedia.ts b/packages/specs/schema/src/domain/JsonMedia.ts index b59967b27e8..80884adbf89 100644 --- a/packages/specs/schema/src/domain/JsonMedia.ts +++ b/packages/specs/schema/src/domain/JsonMedia.ts @@ -1,4 +1,5 @@ import {OS3MediaType} from "@tsed/openspec"; + import {JsonMap} from "./JsonMap.js"; import {JsonSchema} from "./JsonSchema.js"; diff --git a/packages/specs/schema/src/domain/JsonMethodStore.spec.ts b/packages/specs/schema/src/domain/JsonMethodStore.spec.ts index 14f8bdfa63e..21ebec245ee 100644 --- a/packages/specs/schema/src/domain/JsonMethodStore.spec.ts +++ b/packages/specs/schema/src/domain/JsonMethodStore.spec.ts @@ -1,5 +1,7 @@ import {StoreSet} from "@tsed/core"; +// @ts-ignore import {Use, UseAfter, UseBefore} from "@tsed/platform-middlewares"; + import {OperationVerbs} from "../constants/OperationVerbs.js"; import {Property} from "../decorators/common/property.js"; import {In} from "../decorators/operations/in.js"; @@ -20,7 +22,7 @@ describe("JsonMethodStore", () => { class Test { @StoreSet("test", "value") - @Get("/").Use(middleware3).UseAfter(middleware1).UseBefore(middleware2) + @(Get("/").Use(middleware3).UseAfter(middleware1).UseBefore(middleware2)) method(): any {} } @@ -70,7 +72,7 @@ describe("JsonMethodStore", () => { expect(endpoint.acceptMimes).toEqual([]); }); }); - describe("endpoint declaration", () => { + describe("endpoint declaration (2)", () => { it("should return an endpoint metadata", () => { // GIVEN const middleware1 = () => {}; @@ -197,7 +199,7 @@ describe("JsonMethodStore", () => { it("should return the response options (200 + includes)", () => { class MyController { @Get("/") - @Returns(200, Object).AllowedGroups("summary") + @(Returns(200, Object).AllowedGroups("summary")) method(@In("path") param: string) {} } diff --git a/packages/specs/schema/src/domain/JsonMethodStore.ts b/packages/specs/schema/src/domain/JsonMethodStore.ts index d6ab2bc0612..e3f5d6ed1b9 100644 --- a/packages/specs/schema/src/domain/JsonMethodStore.ts +++ b/packages/specs/schema/src/domain/JsonMethodStore.ts @@ -1,4 +1,5 @@ import {DecoratorTypes, deepMerge, descriptorOf, isCollection, isFunction, isPromise, Metadata, prototypeOf, Store, Type} from "@tsed/core"; + import {JsonEntityComponent} from "../decorators/config/jsonEntityComponent.js"; import type {JsonClassStore} from "./JsonClassStore.js"; import {JsonEntityStore, JsonEntityStoreOptions} from "./JsonEntityStore.js"; diff --git a/packages/specs/schema/src/domain/JsonOperation.spec.ts b/packages/specs/schema/src/domain/JsonOperation.spec.ts index 8fc6ce649c4..df6b2f0bec6 100644 --- a/packages/specs/schema/src/domain/JsonOperation.spec.ts +++ b/packages/specs/schema/src/domain/JsonOperation.spec.ts @@ -1,4 +1,5 @@ import {descriptorOf} from "@tsed/core"; + import {execMapper, Get, getSpec, In, JsonEntityStore, OperationPath, Path, Redirect, Returns, SpecTypes} from "../index.js"; describe("JsonOperation", () => { @@ -6,8 +7,8 @@ describe("JsonOperation", () => { it("should return the status", () => { class MyController { @OperationPath("GET", "/") - @Returns(200).Header("x-token", "token") - @Returns(200).Header("x-token2", "token2") + @(Returns(200).Header("x-token", "token")) + @(Returns(200).Header("x-token2", "token2")) method() {} } @@ -72,7 +73,7 @@ describe("JsonOperation", () => { @Path("/") class MyController { @Get("/") - @Returns(200, String).ContentType("text/html") + @(Returns(200, String).ContentType("text/html")) test() {} } diff --git a/packages/specs/schema/src/domain/JsonOperation.ts b/packages/specs/schema/src/domain/JsonOperation.ts index 46a92e1a445..d671e60b45d 100644 --- a/packages/specs/schema/src/domain/JsonOperation.ts +++ b/packages/specs/schema/src/domain/JsonOperation.ts @@ -1,5 +1,6 @@ import {deepMerge, uniq, uniqBy} from "@tsed/core"; import {OpenSpecSecurity, OpenSpecTag, OS3Operation} from "@tsed/openspec"; + import {JsonHeader} from "../interfaces/JsonOpenSpec.js"; import {isRedirectionStatus, isSuccessStatus} from "../utils/isSuccessStatus.js"; import {JsonMap} from "./JsonMap.js"; diff --git a/packages/specs/schema/src/domain/JsonOperationRoute.spec.ts b/packages/specs/schema/src/domain/JsonOperationRoute.spec.ts index 4ed83535b06..603a89f1fd1 100644 --- a/packages/specs/schema/src/domain/JsonOperationRoute.spec.ts +++ b/packages/specs/schema/src/domain/JsonOperationRoute.spec.ts @@ -1,4 +1,5 @@ import {BodyParams} from "@tsed/platform-params"; + import {Name} from "../decorators/common/name.js"; import {Get} from "../decorators/operations/route.js"; import {JsonEntityStore} from "./JsonEntityStore.js"; diff --git a/packages/specs/schema/src/domain/JsonOperationRoute.ts b/packages/specs/schema/src/domain/JsonOperationRoute.ts index 134d48662c0..e1c4db9b1bc 100644 --- a/packages/specs/schema/src/domain/JsonOperationRoute.ts +++ b/packages/specs/schema/src/domain/JsonOperationRoute.ts @@ -1,7 +1,8 @@ import {Type} from "@tsed/core"; + +import {concatPath} from "../utils/concatPath.js"; import {JsonMethodStore} from "./JsonMethodStore.js"; import {JsonMethodPath, JsonOperation} from "./JsonOperation.js"; -import {concatPath} from "../utils/concatPath.js"; export class JsonOperationRoute { readonly token: Type; diff --git a/packages/specs/schema/src/domain/JsonParameter.ts b/packages/specs/schema/src/domain/JsonParameter.ts index 09103ee0083..4fb0dfe6f8b 100644 --- a/packages/specs/schema/src/domain/JsonParameter.ts +++ b/packages/specs/schema/src/domain/JsonParameter.ts @@ -1,5 +1,6 @@ import {Type} from "@tsed/core"; import {OpenSpecHash, OpenSpecRef, OS3Example, OS3Parameter} from "@tsed/openspec"; + import {JsonSchemaOptions} from "../interfaces/JsonSchemaOptions.js"; import {execMapper} from "../registries/JsonSchemaMapperContainer.js"; import {NestedGenerics} from "../utils/generics.js"; diff --git a/packages/specs/schema/src/domain/JsonParameterStore.spec.ts b/packages/specs/schema/src/domain/JsonParameterStore.spec.ts index a95796e5f38..710328320d3 100644 --- a/packages/specs/schema/src/domain/JsonParameterStore.spec.ts +++ b/packages/specs/schema/src/domain/JsonParameterStore.spec.ts @@ -1,4 +1,5 @@ import {prototypeOf, Store} from "@tsed/core"; + import {Allow} from "../decorators/common/allow.js"; import {Required} from "../decorators/common/required.js"; import {In} from "../decorators/operations/in.js"; @@ -61,18 +62,18 @@ describe("JsonParameterStore", () => { // GIVEN class BaseTest { @Get("/") - list(@In("query").Name("search") search: string) {} + list(@(In("query").Name("search")) search: string) {} @Get("/") - base(@In("query").Name("base") test: string) {} + base(@(In("query").Name("base")) test: string) {} } class Test extends BaseTest { @Get("/") - test(@In("query").Name("search") search: string) {} + test(@(In("query").Name("search")) search: string) {} @Get("/") - base(@In("query").Name("test") search: string) {} + base(@(In("query").Name("test")) search: string) {} } // WHEN diff --git a/packages/specs/schema/src/domain/JsonParameterStore.ts b/packages/specs/schema/src/domain/JsonParameterStore.ts index 7fa943356ff..9721bea1f52 100644 --- a/packages/specs/schema/src/domain/JsonParameterStore.ts +++ b/packages/specs/schema/src/domain/JsonParameterStore.ts @@ -1,9 +1,10 @@ import {ancestorsOf, DecoratorTypes, isClass, isCollection, isMethodDescriptor, Metadata, prototypeOf, Type} from "@tsed/core"; + +import {JsonEntityComponent} from "../decorators/config/jsonEntityComponent.js"; import {JsonEntityStore, JsonEntityStoreOptions} from "./JsonEntityStore.js"; import type {JsonMethodStore} from "./JsonMethodStore.js"; import {JsonParameter} from "./JsonParameter.js"; import {JsonSchema} from "./JsonSchema.js"; -import {JsonEntityComponent} from "../decorators/config/jsonEntityComponent.js"; export interface JsonParameterStoreOptions extends JsonEntityStoreOptions { dataPath?: string; diff --git a/packages/specs/schema/src/domain/JsonPropertyStore.spec.ts b/packages/specs/schema/src/domain/JsonPropertyStore.spec.ts index 17ea7006540..b2cf01be9b1 100644 --- a/packages/specs/schema/src/domain/JsonPropertyStore.spec.ts +++ b/packages/specs/schema/src/domain/JsonPropertyStore.spec.ts @@ -1,4 +1,5 @@ import {prototypeOf} from "@tsed/core"; + import {Allow, JsonClassStore, JsonPropertyStore, Required} from "../index.js"; import {getJsonEntityStore} from "../utils/getJsonEntityStore.js"; diff --git a/packages/specs/schema/src/domain/JsonPropertyStore.ts b/packages/specs/schema/src/domain/JsonPropertyStore.ts index 25486c19890..6439521539f 100644 --- a/packages/specs/schema/src/domain/JsonPropertyStore.ts +++ b/packages/specs/schema/src/domain/JsonPropertyStore.ts @@ -1,8 +1,9 @@ import {DecoratorTypes, Metadata, prototypeOf, Type} from "@tsed/core"; -import {JsonEntityStore} from "./JsonEntityStore.js"; -import {JsonSchema} from "./JsonSchema.js"; + import {JsonEntityComponent} from "../decorators/config/jsonEntityComponent.js"; import type {JsonClassStore} from "./JsonClassStore.js"; +import {JsonEntityStore} from "./JsonEntityStore.js"; +import {JsonSchema} from "./JsonSchema.js"; @JsonEntityComponent(DecoratorTypes.PROP) export class JsonPropertyStore extends JsonEntityStore { diff --git a/packages/specs/schema/src/domain/JsonRequestBody.ts b/packages/specs/schema/src/domain/JsonRequestBody.ts index 2bdb96d16be..411456d54fa 100644 --- a/packages/specs/schema/src/domain/JsonRequestBody.ts +++ b/packages/specs/schema/src/domain/JsonRequestBody.ts @@ -1,4 +1,5 @@ import {OpenSpecHash, OS3MediaType, OS3RequestBody} from "@tsed/openspec"; + import {toJsonMapCollection} from "../utils/toJsonMapCollection.js"; import {JsonMap} from "./JsonMap.js"; import {JsonSchema} from "./JsonSchema.js"; diff --git a/packages/specs/schema/src/domain/JsonResponse.spec.ts b/packages/specs/schema/src/domain/JsonResponse.spec.ts index d407e5bc580..e8d552a2a05 100644 --- a/packages/specs/schema/src/domain/JsonResponse.spec.ts +++ b/packages/specs/schema/src/domain/JsonResponse.spec.ts @@ -1,4 +1,4 @@ -import {JsonResponse} from "./JsonResponse"; +import {JsonResponse} from "./JsonResponse.js"; describe("JsonResponse", () => { describe("isBinary()", () => { diff --git a/packages/specs/schema/src/domain/JsonResponse.ts b/packages/specs/schema/src/domain/JsonResponse.ts index f13f0fed2a7..fbf24f113ad 100644 --- a/packages/specs/schema/src/domain/JsonResponse.ts +++ b/packages/specs/schema/src/domain/JsonResponse.ts @@ -1,4 +1,5 @@ import {OS3MediaType, OS3Response} from "@tsed/openspec"; + import {JsonHeader} from "../interfaces/JsonOpenSpec.js"; import {mapHeaders} from "../utils/mapHeaders.js"; import {toJsonMapCollection} from "../utils/toJsonMapCollection.js"; diff --git a/packages/specs/schema/src/domain/JsonSchema.spec.ts b/packages/specs/schema/src/domain/JsonSchema.spec.ts index 28af3a95bbe..e8e461f28e0 100644 --- a/packages/specs/schema/src/domain/JsonSchema.spec.ts +++ b/packages/specs/schema/src/domain/JsonSchema.spec.ts @@ -1,7 +1,9 @@ -import Ajv from "ajv"; -import {JsonSchema} from "./JsonSchema.js"; import "../index.js"; +import {Ajv} from "ajv"; + +import {JsonSchema} from "./JsonSchema.js"; + describe("JsonSchema", () => { describe("extra Props", () => { // https://json-schema.org/understanding-json-schema/basics.html @@ -1361,7 +1363,7 @@ describe("JsonSchema", () => { ] } }) - ); + ).toBeDefined(); }); }); describe("Alias", () => { diff --git a/packages/specs/schema/src/domain/JsonSchema.ts b/packages/specs/schema/src/domain/JsonSchema.ts index 63a6f5e0cae..2c9670f4f1c 100644 --- a/packages/specs/schema/src/domain/JsonSchema.ts +++ b/packages/specs/schema/src/domain/JsonSchema.ts @@ -13,6 +13,7 @@ import { ValueOf } from "@tsed/core"; import type {JSONSchema6, JSONSchema6Definition, JSONSchema6Type, JSONSchema6TypeName, JSONSchema6Version} from "json-schema"; + import {IgnoreCallback} from "../interfaces/IgnoreCallback.js"; import {JsonSchemaOptions} from "../interfaces/JsonSchemaOptions.js"; import {enumsRegistry} from "../registries/enumRegistries.js"; diff --git a/packages/specs/schema/src/hooks/alterOneOf.ts b/packages/specs/schema/src/hooks/alterOneOf.ts index 91c8293de80..deb3ea2359a 100644 --- a/packages/specs/schema/src/hooks/alterOneOf.ts +++ b/packages/specs/schema/src/hooks/alterOneOf.ts @@ -1,6 +1,7 @@ import {isArray, isBoolean, isNumber, isObject, isString} from "@tsed/core"; import type {JSONSchema6} from "json-schema"; import {filter} from "rxjs"; + import { ARRAY_PROPERTIES, BOOLEAN_PROPERTIES, diff --git a/packages/specs/schema/src/utils/from.spec.ts b/packages/specs/schema/src/utils/from.spec.ts index 001a568a4d7..bf7ef3eb6ac 100644 --- a/packages/specs/schema/src/utils/from.spec.ts +++ b/packages/specs/schema/src/utils/from.spec.ts @@ -1,3 +1,5 @@ +import "../index.js"; + import {CollectionOf} from "../decorators/collections/collectionOf.js"; import {Property} from "../decorators/common/property.js"; import { @@ -21,7 +23,6 @@ import { uri, url } from "./from.js"; -import "../index.js"; describe("from", () => { it("should declare a model", () => { diff --git a/packages/specs/schema/src/utils/from.ts b/packages/specs/schema/src/utils/from.ts index 3d46697456b..fa62f3de4a7 100644 --- a/packages/specs/schema/src/utils/from.ts +++ b/packages/specs/schema/src/utils/from.ts @@ -1,4 +1,5 @@ import {isClass, Type} from "@tsed/core"; + import {JsonEntityStore} from "../domain/JsonEntityStore.js"; import {JsonFormatTypes} from "../domain/JsonFormatTypes.js"; import {JsonLazyRef} from "../domain/JsonLazyRef.js"; diff --git a/packages/specs/schema/src/utils/generateSpec.spec.ts b/packages/specs/schema/src/utils/generateSpec.spec.ts index 20cb6b64583..a981a29ee06 100644 --- a/packages/specs/schema/src/utils/generateSpec.spec.ts +++ b/packages/specs/schema/src/utils/generateSpec.spec.ts @@ -1,6 +1,9 @@ +import {BodyParams} from "@tsed/platform-params"; import {join} from "path"; + import {validateSpec} from "../../test/helpers/validateSpec.js"; import {CollectionOf} from "../decorators/collections/collectionOf.js"; +import {AnyOf} from "../decorators/common/anyOf.js"; import {Description} from "../decorators/common/description.js"; import {Min} from "../decorators/common/minimum.js"; import {Name} from "../decorators/common/name.js"; @@ -11,13 +14,11 @@ import {In} from "../decorators/operations/in.js"; import {OperationPath} from "../decorators/operations/operationPath.js"; import {Path} from "../decorators/operations/path.js"; import {Returns} from "../decorators/operations/returns.js"; +import {Post} from "../decorators/operations/route.js"; import {SpecTypes} from "../domain/SpecTypes.js"; import {generateSpec} from "./generateSpec.js"; -import {AnyOf} from "../decorators/common/anyOf"; -import {Post} from "../decorators/operations/route"; -import {BodyParams} from "@tsed/platform-params"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build describe("generateSpec()", () => { describe("OS 3.0.1", () => { @@ -141,13 +142,7 @@ describe("generateSpec()", () => { it("should generate spec and correctly merge shared model with custom schema", async () => { class Model { - @AnyOf( - Number, - Boolean, - String, - { type: 'array', items: { type: 'number' } }, - { type: 'array', items: { type: 'string' } }, - ) + @AnyOf(Number, Boolean, String, {type: "array", items: {type: "number"}}, {type: "array", items: {type: "string"}}) test: number | boolean | string | number[] | string[]; } @@ -166,7 +161,7 @@ describe("generateSpec()", () => { const result = await generateSpec({ tokens: [ {token: Controller1, rootPath: "/rest"}, - {token: Controller2, rootPath: "/rest"}, + {token: Controller2, rootPath: "/rest"} ], specVersion: "3.0.1", specPath: join(rootDir, "__mock__", "spec.json") @@ -195,13 +190,13 @@ describe("generateSpec()", () => { parameters: [], requestBody: { content: { - 'application/json': { + "application/json": { schema: { - $ref: '#/components/schemas/Model' + $ref: "#/components/schemas/Model" } } }, - required: false, + required: false }, responses: { "200": { @@ -209,7 +204,7 @@ describe("generateSpec()", () => { } }, tags: ["Controller1"] - }, + } }, "/rest/controller2/post": { post: { @@ -217,13 +212,13 @@ describe("generateSpec()", () => { parameters: [], requestBody: { content: { - 'application/json': { + "application/json": { schema: { - $ref: '#/components/schemas/Model' + $ref: "#/components/schemas/Model" } } }, - required: false, + required: false }, responses: { "200": { @@ -231,7 +226,7 @@ describe("generateSpec()", () => { } }, tags: ["Controller2"] - }, + } } }, tags: [ @@ -240,20 +235,20 @@ describe("generateSpec()", () => { }, { name: "Controller2" - }, + } ], components: { schemas: { Model: { - type: 'object', + type: "object", properties: { test: { anyOf: [ - { type: 'number' }, - { type: 'boolean' }, - { type: 'string' }, - { type: 'array', items: { type: 'number' } }, - { type: 'array', items: { type: 'string' } }, + {type: "number"}, + {type: "boolean"}, + {type: "string"}, + {type: "array", items: {type: "number"}}, + {type: "array", items: {type: "string"}} ] } } @@ -1078,7 +1073,7 @@ describe("generateSpec()", () => { @Description("Class description") class Controller { @OperationPath("POST", "/") - @Returns(200, String).Description("description") + @(Returns(200, String).Description("description")) method() {} } @@ -1123,7 +1118,7 @@ describe("generateSpec()", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Returns(200, Array).Of(String).Description("description") + @(Returns(200, Array).Of(String).Description("description")) method() {} } @@ -1171,7 +1166,7 @@ describe("generateSpec()", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Returns(200, String) + @(Returns(200, String) .Description("description") .Header("x-token", "token") .Header("x-header", { @@ -1180,7 +1175,7 @@ describe("generateSpec()", () => { .Examples({test: "Examples"}) .Schema({ minLength: 3 - }) + })) method() {} } diff --git a/packages/specs/schema/src/utils/generateSpec.ts b/packages/specs/schema/src/utils/generateSpec.ts index 48c30e33f9d..4863bf79870 100644 --- a/packages/specs/schema/src/utils/generateSpec.ts +++ b/packages/specs/schema/src/utils/generateSpec.ts @@ -1,5 +1,6 @@ import {getValue} from "@tsed/core"; import {OpenSpec2, OpenSpec3} from "@tsed/openspec"; + import {SpecTypes} from "../domain/SpecTypes.js"; import {getSpec, JsonTokenOptions, SpecSerializerOptions} from "./getSpec.js"; import {getSpecTypeFromSpec} from "./getSpecType.js"; diff --git a/packages/specs/schema/src/utils/generics.ts b/packages/specs/schema/src/utils/generics.ts index 4e61939c08f..031e1741d77 100644 --- a/packages/specs/schema/src/utils/generics.ts +++ b/packages/specs/schema/src/utils/generics.ts @@ -1,4 +1,5 @@ import {Type} from "@tsed/core"; + import {JsonSchema} from "../domain/JsonSchema.js"; export type GenericValue = Type | JsonSchema | any; diff --git a/packages/specs/schema/src/utils/getInheritedStores.spec.ts b/packages/specs/schema/src/utils/getInheritedStores.spec.ts index d7c042a95bb..35130e7a178 100644 --- a/packages/specs/schema/src/utils/getInheritedStores.spec.ts +++ b/packages/specs/schema/src/utils/getInheritedStores.spec.ts @@ -1,4 +1,5 @@ import {StoreSet} from "@tsed/core"; + import {OperationPath} from "../decorators/operations/operationPath.js"; import {getInheritedStores} from "./getInheritedStores.js"; diff --git a/packages/specs/schema/src/utils/getInheritedStores.ts b/packages/specs/schema/src/utils/getInheritedStores.ts index 6708ea69922..50f7842dece 100644 --- a/packages/specs/schema/src/utils/getInheritedStores.ts +++ b/packages/specs/schema/src/utils/getInheritedStores.ts @@ -1,4 +1,5 @@ import {ancestorsOf, Type} from "@tsed/core"; + import type {JsonClassStore} from "../domain/JsonClassStore.js"; import {getJsonEntityStore} from "./getJsonEntityStore.js"; diff --git a/packages/specs/schema/src/utils/getJsonEntityStore.ts b/packages/specs/schema/src/utils/getJsonEntityStore.ts index fd4d1c1d332..e348ec1aea8 100644 --- a/packages/specs/schema/src/utils/getJsonEntityStore.ts +++ b/packages/specs/schema/src/utils/getJsonEntityStore.ts @@ -1,9 +1,10 @@ import {DecoratorTypes, Type} from "@tsed/core"; -import {JsonEntitiesContainer, JsonEntityStore} from "../domain/JsonEntityStore.js"; + import {JsonClassStore} from "../domain/JsonClassStore.js"; -import {JsonPropertyStore} from "../domain/JsonPropertyStore.js"; -import {JsonParameterStore} from "../domain/JsonParameterStore.js"; +import {JsonEntitiesContainer, JsonEntityStore} from "../domain/JsonEntityStore.js"; import {JsonMethodStore} from "../domain/JsonMethodStore.js"; +import {JsonParameterStore} from "../domain/JsonParameterStore.js"; +import {JsonPropertyStore} from "../domain/JsonPropertyStore.js"; JsonEntitiesContainer.set(DecoratorTypes.CLASS, JsonClassStore); JsonEntitiesContainer.set(DecoratorTypes.PROP, JsonPropertyStore); diff --git a/packages/specs/schema/src/utils/getJsonSchema.spec.ts b/packages/specs/schema/src/utils/getJsonSchema.spec.ts index 1db0bd8f70b..25945521119 100644 --- a/packages/specs/schema/src/utils/getJsonSchema.spec.ts +++ b/packages/specs/schema/src/utils/getJsonSchema.spec.ts @@ -1,4 +1,5 @@ import {ancestorsOf, nameOf, Type} from "@tsed/core"; + import {Post} from "../../test/helpers/Post.js"; import {CollectionOf, Email, Format, getJsonSchema, JsonEntityStore, MinLength, Name, Property, Required} from "../index.js"; diff --git a/packages/specs/schema/src/utils/getJsonSchema.ts b/packages/specs/schema/src/utils/getJsonSchema.ts index f0396aeef95..6e3f525546a 100644 --- a/packages/specs/schema/src/utils/getJsonSchema.ts +++ b/packages/specs/schema/src/utils/getJsonSchema.ts @@ -1,5 +1,7 @@ +import "../components/index.js"; + import {getValue, Type} from "@tsed/core"; -import "../components/index"; + import type {JsonEntityStore} from "../domain/JsonEntityStore.js"; import {SpecTypes} from "../domain/SpecTypes.js"; import {JsonSchemaOptions} from "../interfaces/JsonSchemaOptions.js"; diff --git a/packages/specs/schema/src/utils/getOperationsRoutes.spec.ts b/packages/specs/schema/src/utils/getOperationsRoutes.spec.ts index 3aa9cd765d0..ad8725c9056 100644 --- a/packages/specs/schema/src/utils/getOperationsRoutes.spec.ts +++ b/packages/specs/schema/src/utils/getOperationsRoutes.spec.ts @@ -1,4 +1,5 @@ import {StoreSet} from "@tsed/core"; + import {Children} from "../decorators/class/children.js"; import {In} from "../decorators/operations/in.js"; import {Path} from "../decorators/operations/path.js"; diff --git a/packages/specs/schema/src/utils/getOperationsRoutes.ts b/packages/specs/schema/src/utils/getOperationsRoutes.ts index 6cfbb187a0b..45d7d5f2b4f 100644 --- a/packages/specs/schema/src/utils/getOperationsRoutes.ts +++ b/packages/specs/schema/src/utils/getOperationsRoutes.ts @@ -1,4 +1,5 @@ import {Type} from "@tsed/core"; + import {OperationVerbs} from "../constants/OperationVerbs.js"; import {JsonEntityStore} from "../domain/JsonEntityStore.js"; import {JsonMethodStore} from "../domain/JsonMethodStore.js"; diff --git a/packages/specs/schema/src/utils/getOperationsStore.spec.ts b/packages/specs/schema/src/utils/getOperationsStore.spec.ts index ddb92802e73..263de02e0f5 100644 --- a/packages/specs/schema/src/utils/getOperationsStore.spec.ts +++ b/packages/specs/schema/src/utils/getOperationsStore.spec.ts @@ -1,4 +1,5 @@ import {StoreSet} from "@tsed/core"; + import {getOperationsStores, OperationPath} from "../index.js"; describe("getOperationsStore", () => { diff --git a/packages/specs/schema/src/utils/getOperationsStores.ts b/packages/specs/schema/src/utils/getOperationsStores.ts index ce04652ee5e..80f3f722102 100644 --- a/packages/specs/schema/src/utils/getOperationsStores.ts +++ b/packages/specs/schema/src/utils/getOperationsStores.ts @@ -1,6 +1,7 @@ import {Type} from "@tsed/core"; -import {JsonMethodStore} from "../domain/JsonMethodStore.js"; + import type {JsonClassStore} from "../domain/JsonClassStore.js"; +import {JsonMethodStore} from "../domain/JsonMethodStore.js"; import {JsonOperationPathsMap} from "../domain/JsonOperationPathsMap.js"; import {getInheritedStores} from "./getInheritedStores.js"; import {getJsonEntityStore} from "./getJsonEntityStore.js"; diff --git a/packages/specs/schema/src/utils/getPropertiesStores.spec.ts b/packages/specs/schema/src/utils/getPropertiesStores.spec.ts index 1d781527571..a27c55fa31a 100644 --- a/packages/specs/schema/src/utils/getPropertiesStores.spec.ts +++ b/packages/specs/schema/src/utils/getPropertiesStores.spec.ts @@ -110,7 +110,7 @@ describe("getProperties()", () => { }); describe("when is the Parent class", () => { - it("should have a property name metadata from Parent class", () => { + it("should have a property test metadata from Parent class", () => { const result = getProperties(Parent); expect(result.has("test")).toBe(false); }); diff --git a/packages/specs/schema/src/utils/getPropertiesStores.ts b/packages/specs/schema/src/utils/getPropertiesStores.ts index 377da5483e5..b82a00aaff0 100644 --- a/packages/specs/schema/src/utils/getPropertiesStores.ts +++ b/packages/specs/schema/src/utils/getPropertiesStores.ts @@ -1,4 +1,5 @@ import {isBoolean, Type} from "@tsed/core"; + import type {JsonClassStore} from "../domain/JsonClassStore.js"; import type {JsonPropertyStore} from "../domain/JsonPropertyStore.js"; import {alterIgnore} from "../hooks/alterIgnore.js"; diff --git a/packages/specs/schema/src/utils/getSpec.spec.ts b/packages/specs/schema/src/utils/getSpec.spec.ts index b73dc772d7c..6e9a863c979 100644 --- a/packages/specs/schema/src/utils/getSpec.spec.ts +++ b/packages/specs/schema/src/utils/getSpec.spec.ts @@ -526,7 +526,7 @@ describe("getSpec()", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Returns(200, String).Description("description") + @(Returns(200, String).Description("description")) method() {} } @@ -566,7 +566,7 @@ describe("getSpec()", () => { // WHEN class Controller { @OperationPath("POST", "/") - @Returns(200, Array).Of(String).Description("description") + @(Returns(200, Array).Of(String).Description("description")) method() {} } diff --git a/packages/specs/schema/src/utils/getSpec.ts b/packages/specs/schema/src/utils/getSpec.ts index 83dbe90f429..a02f240635d 100644 --- a/packages/specs/schema/src/utils/getSpec.ts +++ b/packages/specs/schema/src/utils/getSpec.ts @@ -1,5 +1,6 @@ import {cleanObject, isArray, Type, uniqBy} from "@tsed/core"; import {OpenSpec3} from "@tsed/openspec"; + import {SpecTypes} from "../domain/SpecTypes.js"; import {JsonSchemaOptions} from "../interfaces/JsonSchemaOptions.js"; import {execMapper} from "../registries/JsonSchemaMapperContainer.js"; diff --git a/packages/specs/schema/src/utils/getSpecType.ts b/packages/specs/schema/src/utils/getSpecType.ts index 4e3cd232432..be191b28229 100644 --- a/packages/specs/schema/src/utils/getSpecType.ts +++ b/packages/specs/schema/src/utils/getSpecType.ts @@ -1,4 +1,5 @@ import {OpenSpec2, OpenSpec3} from "@tsed/openspec"; + import {SpecTypes} from "../domain/SpecTypes.js"; /** diff --git a/packages/specs/schema/src/utils/isSuccessStatus.spec.ts b/packages/specs/schema/src/utils/isSuccessStatus.spec.ts index ef1066b0e4d..58b26a90d8c 100644 --- a/packages/specs/schema/src/utils/isSuccessStatus.spec.ts +++ b/packages/specs/schema/src/utils/isSuccessStatus.spec.ts @@ -13,7 +13,7 @@ describe("isSuccessStatus", () => { }); describe("isRedirectionStatus", () => { - it("should return the expected value for ", () => { + it("should return the expected value for", () => { expect(isRedirectionStatus("300")).toBe(true); expect(isRedirectionStatus(301)).toBe(true); expect(isRedirectionStatus(200)).toBe(false); diff --git a/packages/specs/schema/src/utils/mapHeaders.ts b/packages/specs/schema/src/utils/mapHeaders.ts index e0c7742714f..f809a958c45 100644 --- a/packages/specs/schema/src/utils/mapHeaders.ts +++ b/packages/specs/schema/src/utils/mapHeaders.ts @@ -1,4 +1,5 @@ import {cleanObject} from "@tsed/core"; + import {JsonHeader, JsonHeaders} from "../interfaces/JsonOpenSpec.js"; /** diff --git a/packages/specs/schema/src/utils/mapOpenSpec.ts b/packages/specs/schema/src/utils/mapOpenSpec.ts index 0b392d5ee2e..b0977a2c13f 100644 --- a/packages/specs/schema/src/utils/mapOpenSpec.ts +++ b/packages/specs/schema/src/utils/mapOpenSpec.ts @@ -1,8 +1,9 @@ import {getValue, setValue} from "@tsed/core"; import {OpenSpec2, OpenSpec3, OpenSpecVersions} from "@tsed/openspec"; + +import {SpecTypes} from "../domain/SpecTypes.js"; import {getSpecType} from "./getSpecType.js"; import {mapOpenSpec2} from "./mapOpenSpec2.js"; -import {SpecTypes} from "../domain/SpecTypes.js"; import {mapOpenSpec3} from "./mapOpenSpec3.js"; import {mergeSpec} from "./mergeSpec.js"; diff --git a/packages/specs/schema/src/utils/mapOpenSpec2.ts b/packages/specs/schema/src/utils/mapOpenSpec2.ts index 469adaaed70..49490b8ab61 100644 --- a/packages/specs/schema/src/utils/mapOpenSpec2.ts +++ b/packages/specs/schema/src/utils/mapOpenSpec2.ts @@ -1,5 +1,6 @@ import {getValue, uniq} from "@tsed/core"; import {OpenSpec2} from "@tsed/openspec"; + import {mapOpenSpecInfo} from "./mapOpenSpecInfo.js"; /** diff --git a/packages/specs/schema/src/utils/mapOpenSpec3.ts b/packages/specs/schema/src/utils/mapOpenSpec3.ts index 1557bbf0e75..6b5831f32dc 100644 --- a/packages/specs/schema/src/utils/mapOpenSpec3.ts +++ b/packages/specs/schema/src/utils/mapOpenSpec3.ts @@ -1,5 +1,6 @@ import {getValue} from "@tsed/core"; import {OpenSpec3} from "@tsed/openspec"; + import {mapOpenSpecInfo} from "./mapOpenSpecInfo.js"; /** diff --git a/packages/specs/schema/src/utils/mergeSpec.spec.ts b/packages/specs/schema/src/utils/mergeSpec.spec.ts index 8d1525db225..b75724ccee1 100644 --- a/packages/specs/schema/src/utils/mergeSpec.spec.ts +++ b/packages/specs/schema/src/utils/mergeSpec.spec.ts @@ -1,4 +1,5 @@ import {OpenSpec2, OpenSpec3} from "@tsed/openspec"; + import {mergeSpec} from "./mergeSpec.js"; describe("mergeSpec", () => { diff --git a/packages/specs/schema/src/utils/mergeSpec.ts b/packages/specs/schema/src/utils/mergeSpec.ts index c9ef6fa1a9a..a103bba71e6 100644 --- a/packages/specs/schema/src/utils/mergeSpec.ts +++ b/packages/specs/schema/src/utils/mergeSpec.ts @@ -4,15 +4,13 @@ import {OpenSpec2, OpenSpec3} from "@tsed/openspec"; /** * @ignore */ -export const schemesReducer = mergeReducerBuilder( - (current, value) => { - if (current.type && current.type && current.type === value.type && value.type === 'array') { - return JSON.stringify(current.items) === JSON.stringify(value.items); - } - - return (current.type && current.type === value.type) || (current.$ref && current.$ref === value.$ref) +export const schemesReducer = mergeReducerBuilder((current, value) => { + if (current.type && current.type && current.type === value.type && value.type === "array") { + return JSON.stringify(current.items) === JSON.stringify(value.items); } -); + + return (current.type && current.type === value.type) || (current.$ref && current.$ref === value.$ref); +}); /** * @ignore diff --git a/packages/specs/schema/src/utils/operationIdFormatter.ts b/packages/specs/schema/src/utils/operationIdFormatter.ts index 75c9d7a7c6a..ae1529ca252 100644 --- a/packages/specs/schema/src/utils/operationIdFormatter.ts +++ b/packages/specs/schema/src/utils/operationIdFormatter.ts @@ -1,4 +1,5 @@ import {camelCase} from "change-case"; + import {JsonSchemaOptions} from "../interfaces/JsonSchemaOptions.js"; const DEFAULT_PATTERN = "%c.%m"; diff --git a/packages/specs/schema/src/utils/ref.ts b/packages/specs/schema/src/utils/ref.ts index b994e444fbe..5c67089844d 100644 --- a/packages/specs/schema/src/utils/ref.ts +++ b/packages/specs/schema/src/utils/ref.ts @@ -1,5 +1,6 @@ import {cleanObject, setValue} from "@tsed/core"; import {pascalCase} from "change-case"; + import type {JsonSchema} from "../domain/JsonSchema.js"; import {SpecTypes} from "../domain/SpecTypes.js"; import {JsonSchemaOptions} from "../interfaces/JsonSchemaOptions.js"; diff --git a/packages/specs/schema/src/utils/transformToOS2.spec.ts b/packages/specs/schema/src/utils/transformToOS2.spec.ts index 8b925ce38a1..837003e0f67 100644 --- a/packages/specs/schema/src/utils/transformToOS2.spec.ts +++ b/packages/specs/schema/src/utils/transformToOS2.spec.ts @@ -1,30 +1,30 @@ -import {transformSecurity, transformToOS2} from "./transformToOS2.js"; -import commonParamsOS3 from "./__mock__/common_params/os3.spec.json"; import commonParamsOS2 from "./__mock__/common_params/os2.spec.json"; -import deprecatedOS3 from "./__mock__/deprecated/os3.spec.json"; +import commonParamsOS3 from "./__mock__/common_params/os3.spec.json"; import deprecatedOS2 from "./__mock__/deprecated/os2.spec.json"; -import formParamOS3 from "./__mock__/form_param/os3.spec.json"; +import deprecatedOS3 from "./__mock__/deprecated/os3.spec.json"; import formParamOS2 from "./__mock__/form_param/os2.spec.json"; -import minimalOS3 from "./__mock__/minimal/os3.spec.json"; +import formParamOS3 from "./__mock__/form_param/os3.spec.json"; import minimalOS2 from "./__mock__/minimal/os2.spec.json"; -import multipleRefOS3 from "./__mock__/multiple_ref/os3.spec.json"; +import minimalOS3 from "./__mock__/minimal/os3.spec.json"; import multipleRefOS2 from "./__mock__/multiple_ref/os2.spec.json"; -import nestedOneOfOS3 from "./__mock__/nested_oneof/os3.spec.json"; +import multipleRefOS3 from "./__mock__/multiple_ref/os3.spec.json"; import nestedOneOfOS2 from "./__mock__/nested_oneof/os2.spec.json"; -import nullableOS3 from "./__mock__/nullable/os3.spec.json"; +import nestedOneOfOS3 from "./__mock__/nested_oneof/os3.spec.json"; import nullableOS2 from "./__mock__/nullable/os2.spec.json"; -import paramSchemaRefOS3 from "./__mock__/param_schema_ref/os3.spec.json"; +import nullableOS3 from "./__mock__/nullable/os3.spec.json"; import paramSchemaRefOS2 from "./__mock__/param_schema_ref/os2.spec.json"; -import petstoreOS3 from "./__mock__/petstore/os3.spec.json"; +import paramSchemaRefOS3 from "./__mock__/param_schema_ref/os3.spec.json"; import petstoreOS2 from "./__mock__/petstore/os2.spec.json"; -import producesOS3 from "./__mock__/produces/os3.spec.json"; +import petstoreOS3 from "./__mock__/petstore/os3.spec.json"; import producesOS2 from "./__mock__/produces/os2.spec.json"; -import requestResponseRefOS3 from "./__mock__/request_response_ref/os3.spec.json"; +import producesOS3 from "./__mock__/produces/os3.spec.json"; import requestResponseRefOS2 from "./__mock__/request_response_ref/os2.spec.json"; -import serversOS3 from "./__mock__/servers/os3.spec.json"; +import requestResponseRefOS3 from "./__mock__/request_response_ref/os3.spec.json"; import serversOS2 from "./__mock__/servers/os2.spec.json"; -import slashRefOS3 from "./__mock__/slash_ref/os3.spec.json"; +import serversOS3 from "./__mock__/servers/os3.spec.json"; import slashRefOS2 from "./__mock__/slash_ref/os2.spec.json"; +import slashRefOS3 from "./__mock__/slash_ref/os3.spec.json"; +import {transformSecurity, transformToOS2} from "./transformToOS2.js"; describe("transform", () => { describe("transformSecurity()", () => { diff --git a/packages/specs/schema/src/utils/transformToOS2.ts b/packages/specs/schema/src/utils/transformToOS2.ts index 8706929167a..cc1dea7b17c 100644 --- a/packages/specs/schema/src/utils/transformToOS2.ts +++ b/packages/specs/schema/src/utils/transformToOS2.ts @@ -1,6 +1,6 @@ "use strict"; -import {OpenSpec2, OpenSpec3, OS3Operation} from "@tsed/openspec"; import {cleanObject} from "@tsed/core"; +import {OpenSpec2, OpenSpec3, OS3Operation} from "@tsed/openspec"; const HTTP_METHODS = ["get", "put", "post", "delete", "options", "head", "patch", "trace"]; const SCHEMA_PROPERTIES = [ diff --git a/packages/specs/schema/src/utils/withErrorMsg.ts b/packages/specs/schema/src/utils/withErrorMsg.ts index e16aae5b4ba..774f32c2fbe 100644 --- a/packages/specs/schema/src/utils/withErrorMsg.ts +++ b/packages/specs/schema/src/utils/withErrorMsg.ts @@ -1,4 +1,5 @@ import {deepMerge, useDecorators} from "@tsed/core"; + import {JsonEntityFn} from "../decorators/common/jsonEntityFn.js"; export interface ErrorChainedMethods { diff --git a/packages/specs/schema/test/helpers/validateModel.ts b/packages/specs/schema/test/helpers/validateModel.ts index 02606982087..2d4d4f3d9a5 100644 --- a/packages/specs/schema/test/helpers/validateModel.ts +++ b/packages/specs/schema/test/helpers/validateModel.ts @@ -1,8 +1,11 @@ -import {getJsonSchema} from "../../src/index.js"; -import Ajv, {Options} from "ajv"; -import AjvFormats from "ajv-formats"; +import {Ajv, Options} from "ajv"; import AjvErrors from "ajv-errors"; +import AjvFormats from "ajv-formats"; + import type {JsonSchemaOptions} from "../../src/index.js"; +import {getJsonSchema} from "../../src/index.js"; + +console.log(AjvErrors, Ajv); export function validateModel(data: any, model: any, options: JsonSchemaOptions & Options = {}) { const {errorFormatter, keywords = [], ...props} = options; @@ -19,8 +22,10 @@ export function validateModel(data: any, model: any, options: JsonSchemaOptions const ajv = new Ajv(opts); // add support for custom error messages + // @ts-ignore AjvErrors(ajv); + // @ts-ignore AjvFormats(ajv as any); const schema = getJsonSchema(model, { diff --git a/packages/specs/schema/test/helpers/validateSpec.ts b/packages/specs/schema/test/helpers/validateSpec.ts index 3500da5c7d1..27d4edbb036 100644 --- a/packages/specs/schema/test/helpers/validateSpec.ts +++ b/packages/specs/schema/test/helpers/validateSpec.ts @@ -1,9 +1,10 @@ import SwaggerParser from "@apidevtools/swagger-parser"; -import {SpecTypes} from "../../src/index.js"; import fs from "fs-extra"; import {v4} from "uuid"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +import {SpecTypes} from "../../src/index.js"; + +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build export const validateSpec = async (spec: any, version = SpecTypes.SWAGGER) => { const file = `${rootDir}/spec-${v4()}.json`; diff --git a/packages/specs/schema/test/integrations/allowed-groups.integration.spec.ts b/packages/specs/schema/test/integrations/allowed-groups.integration.spec.ts index c9cf331bdd4..c76be59621e 100644 --- a/packages/specs/schema/test/integrations/allowed-groups.integration.spec.ts +++ b/packages/specs/schema/test/integrations/allowed-groups.integration.spec.ts @@ -1,4 +1,5 @@ import {Controller} from "@tsed/di"; + import {Get, getSpec, Groups, Property, Returns} from "../../src/index.js"; class MyModel { @@ -21,7 +22,7 @@ class MyModel { @Controller("/controllers") class MyController { @Get("/:id") - @Returns(200, MyModel).AllowedGroups("summary", "details") + @(Returns(200, MyModel).AllowedGroups("summary", "details")) get() { return { id: "id", diff --git a/packages/specs/schema/test/integrations/body-params-any.integration.spec.ts b/packages/specs/schema/test/integrations/body-params-any.integration.spec.ts index d01e519c0d1..60d5109e9a2 100644 --- a/packages/specs/schema/test/integrations/body-params-any.integration.spec.ts +++ b/packages/specs/schema/test/integrations/body-params-any.integration.spec.ts @@ -1,6 +1,7 @@ import {MultipartFile, PlatformMulterFile} from "@tsed/common"; import {Controller} from "@tsed/di"; import {BodyParams} from "@tsed/platform-params"; + import {Any, CollectionOf, getSpec, Integer, Post, Property} from "../../src/index.js"; class MyModel { diff --git a/packages/specs/schema/test/integrations/body.integration.spec.ts b/packages/specs/schema/test/integrations/body.integration.spec.ts index 944963694c7..5eb02f161d0 100644 --- a/packages/specs/schema/test/integrations/body.integration.spec.ts +++ b/packages/specs/schema/test/integrations/body.integration.spec.ts @@ -1,5 +1,6 @@ -import {OperationPath, Path, getSpec, SpecTypes} from "../../src/index.js"; import {BodyParams, RawBodyParams} from "@tsed/platform-params"; + +import {getSpec, OperationPath, Path, SpecTypes} from "../../src/index.js"; import {validateSpec} from "../helpers/validateSpec.js"; @Path("/body") diff --git a/packages/specs/schema/test/integrations/deep-object-query-params.spec.ts b/packages/specs/schema/test/integrations/deep-object-query-params.spec.ts index 680225c4d87..b4d4358bfbb 100644 --- a/packages/specs/schema/test/integrations/deep-object-query-params.spec.ts +++ b/packages/specs/schema/test/integrations/deep-object-query-params.spec.ts @@ -1,6 +1,7 @@ -import {Default, GenericOf, Generics, getSpec, In, Maximum, Minimum, OperationPath, Path, Property, SpecTypes} from "../../src/index.js"; import {QueryParams} from "@tsed/platform-params"; +import {Default, GenericOf, Generics, getSpec, In, Maximum, Minimum, OperationPath, Path, Property, SpecTypes} from "../../src/index.js"; + describe("Deep Object QueryParams", () => { it("should generate the spec for deep object", () => { class DeepQueryObject { diff --git a/packages/specs/schema/test/integrations/discriminator.integration.spec.ts b/packages/specs/schema/test/integrations/discriminator.integration.spec.ts index 90702a01a8d..285d403e0d6 100644 --- a/packages/specs/schema/test/integrations/discriminator.integration.spec.ts +++ b/packages/specs/schema/test/integrations/discriminator.integration.spec.ts @@ -1,5 +1,6 @@ import {Controller} from "@tsed/di"; import {BodyParams, PathParams} from "@tsed/platform-params"; + import { DiscriminatorKey, DiscriminatorValue, @@ -336,7 +337,7 @@ describe("Discriminator", () => { @Controller("/") class MyTest { @Post("/") - @Returns(200, Array).OneOf(Event) + @(Returns(200, Array).OneOf(Event)) post(@BodyParams() @OneOf(Event) events: OneOfEvents[]) { return []; } @@ -434,7 +435,7 @@ describe("Discriminator", () => { @Controller("/") class MyTest { @Patch("/") - @Returns(200, Array).OneOf(Event) + @(Returns(200, Array).OneOf(Event)) patch(@BodyParams() @OneOf(Event) @Partial() event: OneOfEvents) { return []; } @@ -528,7 +529,7 @@ describe("Discriminator", () => { @Controller("/") class MyTest { @Post("/") - @Returns(200, Array).OneOf(Event) + @(Returns(200, Array).OneOf(Event)) post(@BodyParams() @OneOf(Event) @Partial() events: OneOfEvents[]) { return []; } @@ -734,7 +735,7 @@ describe("Discriminator", () => { @Controller("/") class MyTest { @Put("/:id") - @Returns(200).OneOf(Event) + @(Returns(200).OneOf(Event)) put(@PathParams(":id") id: string, @BodyParams() @OneOf(Event) event: OneOfEvents) { return []; } @@ -885,7 +886,7 @@ describe("Discriminator", () => { @Controller("/") class MyTest { @Put("/:id") - @Returns(200).OneOf(Event) + @(Returns(200).OneOf(Event)) put(@PathParams(":id") id: string, @BodyParams() @Partial() @OneOf(Event) event: OneOfEvents) { return []; } @@ -1094,7 +1095,7 @@ describe("Discriminator", () => { @Controller("/") class MyTest { @Get("/:id") - @Returns(200).OneOf(Event) + @(Returns(200).OneOf(Event)) get(@PathParams(":id") id: string) { return []; } @@ -1229,7 +1230,7 @@ describe("Discriminator", () => { @Controller("/") class MyTest { @Get("/:id") - @Returns(200).OneOf(Base) + @(Returns(200).OneOf(Base)) get(@PathParams(":id") id: string) { return []; } @@ -1335,7 +1336,7 @@ describe("Discriminator", () => { @Name("Test") class TestController { @Get() - @Returns(200, Array).Of(ParentModel) + @(Returns(200, Array).Of(ParentModel)) public get(): Promise { return null as any; } diff --git a/packages/specs/schema/test/integrations/dynamicurl.integration.spec.ts b/packages/specs/schema/test/integrations/dynamicurl.integration.spec.ts index cb80210056d..5da8043d149 100644 --- a/packages/specs/schema/test/integrations/dynamicurl.integration.spec.ts +++ b/packages/specs/schema/test/integrations/dynamicurl.integration.spec.ts @@ -4,7 +4,7 @@ import {validateSpec} from "../helpers/validateSpec.js"; @Path("/dynamic") class TestDynamicUrlCtrl { @OperationPath("GET", "/JQ=:id") - async get(@In("path").Name("id") id: string) {} + async get(@(In("path").Name("id")) id: string) {} } describe("Spec: DynamicUrl", () => { diff --git a/packages/specs/schema/test/integrations/generics.integration.spec.ts b/packages/specs/schema/test/integrations/generics.integration.spec.ts index 217dd35afb2..e55721a4ca8 100644 --- a/packages/specs/schema/test/integrations/generics.integration.spec.ts +++ b/packages/specs/schema/test/integrations/generics.integration.spec.ts @@ -638,7 +638,7 @@ describe("Generics", () => { class Controller { @OperationPath("POST", "/") - @Returns(200, Pagination).Of(Submission).Nested(Product).Description("description") + @(Returns(200, Pagination).Of(Submission).Nested(Product).Description("description")) method(): Promise> | null> { return null as never; } @@ -735,7 +735,7 @@ describe("Generics", () => { class MyController { @OperationPath("POST", "/") - @Returns(200, Pagination).Of(Submission).Nested(Product).Description("description") + @(Returns(200, Pagination).Of(Submission).Nested(Product).Description("description")) method(): Promise> | null> { return null as never; } @@ -834,7 +834,7 @@ describe("Generics", () => { class Controller { @OperationPath("POST", "/") - @Returns(200, Pagination).Of(Submission).Nested(Product).Description("description") + @(Returns(200, Pagination).Of(Submission).Nested(Product).Description("description")) method(): Promise> | null> { return null as never; } diff --git a/packages/specs/schema/test/integrations/inheritance.integration.spec.ts b/packages/specs/schema/test/integrations/inheritance.integration.spec.ts index d07be2bc34b..21bddd5c11d 100644 --- a/packages/specs/schema/test/integrations/inheritance.integration.spec.ts +++ b/packages/specs/schema/test/integrations/inheritance.integration.spec.ts @@ -1,6 +1,7 @@ -import {getSpec, In, Name, OperationPath, Path, SpecTypes} from "../../src/index.js"; import {decorateMethodsOf, DecoratorParameters, decoratorTypeOf, DecoratorTypes, StoreMerge, UnsupportedDecoratorType} from "@tsed/core"; +import {getSpec, In, Name, OperationPath, Path, SpecTypes} from "../../src/index.js"; + function UseAuth(): Function { return (...args: DecoratorParameters): TypedPropertyDescriptor | void => { switch (decoratorTypeOf(args)) { diff --git a/packages/specs/schema/test/integrations/lazyref.integration.spec.ts b/packages/specs/schema/test/integrations/lazyref.integration.spec.ts index f2aa53d14fe..1582b74f1e1 100644 --- a/packages/specs/schema/test/integrations/lazyref.integration.spec.ts +++ b/packages/specs/schema/test/integrations/lazyref.integration.spec.ts @@ -1,4 +1,5 @@ import {isArrowFn, Type, useDecorators} from "@tsed/core"; + import {getJsonSchema, JsonEntityFn, lazyRef, Property, string} from "../../src/index.js"; function Ref(model: string | (() => Type) | any): PropertyDecorator { diff --git a/packages/specs/schema/test/integrations/multipart.integration.spec.ts b/packages/specs/schema/test/integrations/multipart.integration.spec.ts index 14163ebe4a4..bc04ade5e69 100644 --- a/packages/specs/schema/test/integrations/multipart.integration.spec.ts +++ b/packages/specs/schema/test/integrations/multipart.integration.spec.ts @@ -1,6 +1,7 @@ import {MultipartFile, PlatformMulterFile} from "@tsed/common"; import {Controller} from "@tsed/di"; import {BodyParams} from "@tsed/platform-params"; + import {SpecTypes} from "../../src/index.js"; import {Description, getSpec, Post} from "../../src/index.js"; import {validateSpec} from "../helpers/validateSpec.js"; diff --git a/packages/specs/schema/test/integrations/pageable.integration.spec.ts b/packages/specs/schema/test/integrations/pageable.integration.spec.ts index 4f19f2080d8..fa478d6762a 100644 --- a/packages/specs/schema/test/integrations/pageable.integration.spec.ts +++ b/packages/specs/schema/test/integrations/pageable.integration.spec.ts @@ -9,9 +9,9 @@ import { getSpec, In, Integer, - Name, Min, MinLength, + Name, oneOf, OperationPath, Path, @@ -92,8 +92,8 @@ class Product { @Path("/pageable") class TestPageableCtrl { @OperationPath("GET", "/") - @Returns(206, Pagination).Of(Product).Title("PaginatedProduct") - @Returns(200, Pagination).Of(Product).Title("PaginatedProduct") + @(Returns(206, Pagination).Of(Product).Title("PaginatedProduct")) + @(Returns(200, Pagination).Of(Product).Title("PaginatedProduct")) get(@In("query") pageableOptions: Pageable, @In("query") @Name("all") all: boolean) { return new Pagination({ data: [ diff --git a/packages/specs/schema/test/integrations/partial.integration.spec.ts b/packages/specs/schema/test/integrations/partial.integration.spec.ts index c0a67cb1ca0..4b75db764e2 100644 --- a/packages/specs/schema/test/integrations/partial.integration.spec.ts +++ b/packages/specs/schema/test/integrations/partial.integration.spec.ts @@ -1,6 +1,7 @@ import {Controller} from "@tsed/di"; import {BodyParams} from "@tsed/platform-params"; -import {CollectionOf, Groups, Partial, Patch, Required, Post, getSpec} from "../../src/index.js"; + +import {CollectionOf, getSpec, Groups, Partial, Patch, Post, Required} from "../../src/index.js"; class Product { @Required() diff --git a/packages/specs/schema/test/integrations/petstore.integration.spec.ts b/packages/specs/schema/test/integrations/petstore.integration.spec.ts index 9c4b98f3116..4eb44244888 100644 --- a/packages/specs/schema/test/integrations/petstore.integration.spec.ts +++ b/packages/specs/schema/test/integrations/petstore.integration.spec.ts @@ -1,6 +1,9 @@ +import "../../src/index.js"; + import {Controller} from "@tsed/di"; import {Use} from "@tsed/platform-middlewares"; import {BodyParams, PathParams} from "@tsed/platform-params"; + import { CollectionOf, Delete, @@ -22,7 +25,6 @@ import { SpecTypes, Subscribe } from "../../src/index.js"; -import "@tsed/schema"; class PetCategory { @Required() @@ -68,7 +70,7 @@ class PetController { @Get("/:id") @Publish("pet.get") @Subscribe("pet.get") - @Returns(200, Pet).Description("Returns a pet") + @(Returns(200, Pet).Description("Returns a pet")) @Returns(404) get(@PathParams("id") id: string) { return null; @@ -77,7 +79,7 @@ class PetController { @Get("/") @Publish("pet.getAll") @Subscribe("pet.getAll") - @Returns(200, Array).Of(Pet).Description("Returns all pets") + @(Returns(200, Array).Of(Pet).Description("Returns all pets")) getAll() { return []; } @@ -85,7 +87,7 @@ class PetController { @Patch("/:id") @Publish("pet.patch") @Subscribe("pet.updated") - @Returns(200, Pet).Description("Returns a pet") + @(Returns(200, Pet).Description("Returns a pet")) @Returns(404) @Description("Patch a pet") patch(@PathParams("id") id: string, @BodyParams() @Partial() partial: Pet) { @@ -95,7 +97,7 @@ class PetController { @Post("/:id") @Publish("pet.update") @Subscribe("pet.created") - @Returns(200, Pet).Description("Returns a pet") + @(Returns(200, Pet).Description("Returns a pet")) @Returns(404) @Description("Update a pet") post(@BodyParams() @Groups("update") pet: Pet) { diff --git a/packages/specs/schema/test/integrations/query-model-examples.spec.ts b/packages/specs/schema/test/integrations/query-model-examples.spec.ts index 552a2456b5c..cdbe03842bd 100644 --- a/packages/specs/schema/test/integrations/query-model-examples.spec.ts +++ b/packages/specs/schema/test/integrations/query-model-examples.spec.ts @@ -1,3 +1,5 @@ +import {QueryParams} from "@tsed/platform-params"; + import { Default, Examples, @@ -12,7 +14,6 @@ import { Property, SpecTypes } from "../../src/index.js"; -import {QueryParams} from "@tsed/platform-params"; class QueryParamModel { @Property() diff --git a/packages/specs/schema/test/integrations/response.binary.integration.spec.ts b/packages/specs/schema/test/integrations/response.binary.integration.spec.ts index 1fd11cc2714..af7c561753e 100644 --- a/packages/specs/schema/test/integrations/response.binary.integration.spec.ts +++ b/packages/specs/schema/test/integrations/response.binary.integration.spec.ts @@ -1,11 +1,12 @@ import {QueryParams} from "@tsed/platform-params"; + import {getSpec, OperationPath, Path, Property, Returns, SpecTypes} from "../../src/index.js"; import {validateSpec} from "../helpers/validateSpec.js"; @Path("/responses") class TestResponseCtrl { @OperationPath("GET", "/:id") - @Returns(200).Binary() + @(Returns(200).Binary()) async scenario1(@QueryParams("id") id: string) {} } diff --git a/packages/specs/schema/test/integrations/response.integration.spec.ts b/packages/specs/schema/test/integrations/response.integration.spec.ts index 48aeab0edb3..b2efa7af716 100644 --- a/packages/specs/schema/test/integrations/response.integration.spec.ts +++ b/packages/specs/schema/test/integrations/response.integration.spec.ts @@ -1,4 +1,5 @@ import {QueryParams} from "@tsed/platform-params"; + import {getSpec, OperationPath, Path, Property, Returns, SpecTypes} from "../../src/index.js"; import {validateSpec} from "../helpers/validateSpec.js"; @@ -18,7 +19,7 @@ class Product { @Path("/responses") class TestResponseCtrl { @OperationPath("GET", "/:id") - @Returns(200, Product).Description("Product") + @(Returns(200, Product).Description("Product")) async scenario1(@QueryParams("id") id: string) {} @OperationPath("POST", "/") diff --git a/packages/specs/schema/test/integrations/union-types.integration.spec.ts b/packages/specs/schema/test/integrations/union-types.integration.spec.ts index bae444b9ece..075f3f4f466 100644 --- a/packages/specs/schema/test/integrations/union-types.integration.spec.ts +++ b/packages/specs/schema/test/integrations/union-types.integration.spec.ts @@ -1,4 +1,5 @@ -import Ajv from "ajv"; +import {Ajv} from "ajv"; + import {AdditionalProperties, AnyOf, array, Enum, getJsonSchema, string} from "../../src/index.js"; describe("Union on model", () => { diff --git a/packages/specs/schema/tsconfig.cjs.json b/packages/specs/schema/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/specs/schema/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/specs/schema/tsconfig.esm.json b/packages/specs/schema/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/specs/schema/tsconfig.esm.json +++ b/packages/specs/schema/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/specs/schema/tsconfig.json b/packages/specs/schema/tsconfig.json index c5fa94bd64b..232a0d3ea1e 100644 --- a/packages/specs/schema/tsconfig.json +++ b/packages/specs/schema/tsconfig.json @@ -12,9 +12,6 @@ { "path": "../openspec/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/specs/schema/tsconfig.spec.json b/packages/specs/schema/tsconfig.spec.json index ebaeec25491..ddec37a80e9 100644 --- a/packages/specs/schema/tsconfig.spec.json +++ b/packages/specs/schema/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../openspec/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../exceptions/src"], - "@tsed/json-mapper": ["../json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../openspec/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../exceptions/src/index.ts"], + "@tsed/json-mapper": ["../json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, - "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts", "vite.config.mts", "vitest.setup.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/specs/schema/webpack.config.js b/packages/specs/schema/webpack.config.cjs similarity index 100% rename from packages/specs/schema/webpack.config.js rename to packages/specs/schema/webpack.config.cjs diff --git a/packages/specs/swagger/package.json b/packages/specs/swagger/package.json index cda12b29dcd..21245190ad5 100644 --- a/packages/specs/swagger/package.json +++ b/packages/specs/swagger/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/swagger", "description": "Swagger package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -30,8 +29,8 @@ "@tsed/openspec": "workspace:*", "fs-extra": "11.2.0", "micromatch": "4.0.8", - "swagger-ui-dist": ">=5.17.1", - "tslib": "2.6.1" + "swagger-ui-dist": ">=5.17.14", + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -43,14 +42,14 @@ "@tsed/openspec": "workspace:*", "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", - "@types/swagger-ui-dist": "3.30.4", - "eslint": "^8.57.0", + "@types/swagger-ui-dist": "3.30.5", + "eslint": "9.12.0", "ts-node": "10.9.2", - "typescript": "4.9.5", - "vitest": "2.0.4" + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/common": "7.83.3" + "@tsed/common": "8.0.0-alpha.10" }, "peerDependenciesMeta": { "@tsed/common": { diff --git a/packages/specs/swagger/src/SwaggerModule.spec.ts b/packages/specs/swagger/src/SwaggerModule.spec.ts index 11ec0a7b489..988104c48a2 100644 --- a/packages/specs/swagger/src/SwaggerModule.spec.ts +++ b/packages/specs/swagger/src/SwaggerModule.spec.ts @@ -1,8 +1,9 @@ import {PlatformRouter, PlatformTest} from "@tsed/common"; import Fs from "fs"; -import {SwaggerModule} from "./SwaggerModule.js"; import {absolutePath} from "swagger-ui-dist"; +import {SwaggerModule} from "./SwaggerModule.js"; + describe("SwaggerModule", () => { beforeEach(() => PlatformTest.create({ diff --git a/packages/specs/swagger/src/SwaggerModule.ts b/packages/specs/swagger/src/SwaggerModule.ts index 816fa36c83d..a4531895422 100644 --- a/packages/specs/swagger/src/SwaggerModule.ts +++ b/packages/specs/swagger/src/SwaggerModule.ts @@ -14,6 +14,7 @@ import {normalizePath} from "@tsed/normalize-path"; import {PlatformRouter, useContextHandler} from "@tsed/platform-router"; import Fs from "fs"; import {join} from "path"; + import {ROOT_DIR, SWAGGER_UI_DIST} from "./constants.js"; import {SwaggerSettings} from "./interfaces/SwaggerSettings.js"; import {cssMiddleware} from "./middlewares/cssMiddleware.js"; diff --git a/packages/specs/swagger/src/constants.ts b/packages/specs/swagger/src/constants.ts index aacda450fe5..16c3342939c 100644 --- a/packages/specs/swagger/src/constants.ts +++ b/packages/specs/swagger/src/constants.ts @@ -1,4 +1,4 @@ import getAbsoluteFSPath from "swagger-ui-dist/absolute-path.js"; export const SWAGGER_UI_DIST = getAbsoluteFSPath(); -export const ROOT_DIR = __dirname; +export const ROOT_DIR = import.meta.dirname; diff --git a/packages/specs/swagger/src/middlewares/cssMiddleware.spec.ts b/packages/specs/swagger/src/middlewares/cssMiddleware.spec.ts index 26f9079943c..b8d53fcdbe8 100644 --- a/packages/specs/swagger/src/middlewares/cssMiddleware.spec.ts +++ b/packages/specs/swagger/src/middlewares/cssMiddleware.spec.ts @@ -1,5 +1,6 @@ import {PlatformTest} from "@tsed/common"; import Fs from "fs"; + import {cssMiddleware} from "./cssMiddleware.js"; describe("cssMiddleware", () => { diff --git a/packages/specs/swagger/src/middlewares/indexMiddleware.spec.ts b/packages/specs/swagger/src/middlewares/indexMiddleware.spec.ts index 8fa1f008282..900e231ec21 100644 --- a/packages/specs/swagger/src/middlewares/indexMiddleware.spec.ts +++ b/packages/specs/swagger/src/middlewares/indexMiddleware.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {indexMiddleware} from "./indexMiddleware.js"; describe("indexMiddleware and redirect", () => { diff --git a/packages/specs/swagger/src/middlewares/indexMiddleware.ts b/packages/specs/swagger/src/middlewares/indexMiddleware.ts index c76a457d55e..a965db2d495 100644 --- a/packages/specs/swagger/src/middlewares/indexMiddleware.ts +++ b/packages/specs/swagger/src/middlewares/indexMiddleware.ts @@ -1,4 +1,5 @@ import {PlatformContext} from "@tsed/common"; + import {SwaggerSettings} from "../interfaces/SwaggerSettings.js"; /** diff --git a/packages/specs/swagger/src/middlewares/jsMiddleware.spec.ts b/packages/specs/swagger/src/middlewares/jsMiddleware.spec.ts index 3f2fdcdef93..c2c7a924437 100644 --- a/packages/specs/swagger/src/middlewares/jsMiddleware.spec.ts +++ b/packages/specs/swagger/src/middlewares/jsMiddleware.spec.ts @@ -1,5 +1,6 @@ import {PlatformTest} from "@tsed/common"; import Fs from "fs"; + import {jsMiddleware} from "./jsMiddleware.js"; describe("jsMiddleware", () => { diff --git a/packages/specs/swagger/src/middlewares/redirectMiddleware.spec.ts b/packages/specs/swagger/src/middlewares/redirectMiddleware.spec.ts index 614c4d51a52..5e54361617a 100644 --- a/packages/specs/swagger/src/middlewares/redirectMiddleware.spec.ts +++ b/packages/specs/swagger/src/middlewares/redirectMiddleware.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {redirectMiddleware} from "./redirectMiddleware.js"; describe("redirectMiddleware and redirect", () => { diff --git a/packages/specs/swagger/src/services/SwaggerService.spec.ts b/packages/specs/swagger/src/services/SwaggerService.spec.ts index 00f79e5e2aa..0bdd185ea51 100644 --- a/packages/specs/swagger/src/services/SwaggerService.spec.ts +++ b/packages/specs/swagger/src/services/SwaggerService.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {SwaggerService} from "../index.js"; describe("SwaggerService", () => { diff --git a/packages/specs/swagger/src/services/SwaggerService.ts b/packages/specs/swagger/src/services/SwaggerService.ts index 1fa53740675..518b669f748 100644 --- a/packages/specs/swagger/src/services/SwaggerService.ts +++ b/packages/specs/swagger/src/services/SwaggerService.ts @@ -1,6 +1,8 @@ import {Configuration, Injectable, InjectorService, Platform} from "@tsed/common"; +import type {Type} from "@tsed/core"; import {OpenSpec2, OpenSpec3} from "@tsed/openspec"; import {generateSpec} from "@tsed/schema"; + import {SwaggerOS2Settings, SwaggerOS3Settings, SwaggerSettings} from "../interfaces/SwaggerSettings.js"; import {includeRoute} from "../utils/includeRoute.js"; @@ -29,7 +31,7 @@ export class SwaggerService { const tokens = this.platform .getMountedControllers() .filter(({routes, provider}) => [...routes.values()].some((route) => includeRoute(route, provider, conf))) - .map(({route, provider}) => ({token: provider.token, rootPath: route})); + .map(({route, provider}) => ({token: provider.token as Type, rootPath: route})); const spec = await generateSpec({ tokens, diff --git a/packages/specs/swagger/src/services/__snapshots__/SwaggerService.spec.ts.snap b/packages/specs/swagger/src/services/__snapshots__/SwaggerService.spec.ts.snap index 473fb5d051b..6a6d4a4c0c8 100644 --- a/packages/specs/swagger/src/services/__snapshots__/SwaggerService.spec.ts.snap +++ b/packages/specs/swagger/src/services/__snapshots__/SwaggerService.spec.ts.snap @@ -9,13 +9,3 @@ exports[`SwaggerService > getOpenAPISpec() > should compile spec only once time "openapi": "3.0.1", } `; - -exports[`SwaggerService getOpenAPISpec() should compile spec only once time 1`] = ` -Object { - "info": Object { - "title": "Api documentation", - "version": "1.0.0", - }, - "openapi": "3.0.1", -} -`; diff --git a/packages/specs/swagger/src/utils/includeRoute.spec.ts b/packages/specs/swagger/src/utils/includeRoute.spec.ts index 49abd3f4a85..ca3eeb6af4c 100644 --- a/packages/specs/swagger/src/utils/includeRoute.spec.ts +++ b/packages/specs/swagger/src/utils/includeRoute.spec.ts @@ -1,5 +1,6 @@ import {ControllerProvider} from "@tsed/common"; import {Hidden} from "@tsed/schema"; + import {Docs} from "../decorators/docs.js"; import {includeRoute} from "./includeRoute.js"; diff --git a/packages/specs/swagger/src/utils/includeRoute.ts b/packages/specs/swagger/src/utils/includeRoute.ts index 028068da236..3fe2d922d59 100644 --- a/packages/specs/swagger/src/utils/includeRoute.ts +++ b/packages/specs/swagger/src/utils/includeRoute.ts @@ -1,4 +1,5 @@ import {Provider} from "@tsed/di"; + import {SwaggerSettings} from "../interfaces/SwaggerSettings.js"; import {matchPath} from "./matchPath.js"; diff --git a/packages/specs/swagger/test/__snapshots__/swagger.integration.spec.ts.snap b/packages/specs/swagger/test/__snapshots__/swagger.integration.spec.ts.snap index 0534a3782d8..9bb14b0cb58 100644 --- a/packages/specs/swagger/test/__snapshots__/swagger.integration.spec.ts.snap +++ b/packages/specs/swagger/test/__snapshots__/swagger.integration.spec.ts.snap @@ -283,287 +283,3 @@ exports[`Swagger integration > OpenSpec3 > should swagger spec 1`] = ` ], } `; - -exports[`Swagger integration OpenSpec2 should swagger spec 1`] = ` -Object { - "consumes": Array [ - "application/json", - ], - "definitions": Object { - "Calendar": Object { - "properties": Object { - "id": Object { - "type": "string", - }, - "name": Object { - "minLength": 1, - "type": "string", - }, - }, - "required": Array [ - "name", - ], - "type": "object", - }, - }, - "info": Object { - "title": "Swagger title", - "version": "1.2.0", - }, - "paths": Object { - "/rest/calendars": Object { - "get": Object { - "operationId": "calendarsControllerGetAll", - "parameters": Array [], - "produces": Array [ - "application/json", - ], - "responses": Object { - "200": Object { - "description": "Success", - "schema": Object { - "items": Object { - "$ref": "#/definitions/Calendar", - }, - "type": "array", - }, - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - "/rest/calendars/csv": Object { - "post": Object { - "consumes": Array [ - "text/plain", - ], - "operationId": "calendarsControllerCsv", - "parameters": Array [ - Object { - "in": "body", - "name": "body", - "required": false, - "schema": Object { - "type": "string", - }, - }, - ], - "produces": Array [ - "text/plain", - ], - "responses": Object { - "200": Object { - "description": "Success", - "schema": Object { - "type": "string", - }, - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - "/rest/calendars/events": Object { - "get": Object { - "description": "Events", - "operationId": "eventCtrlGet", - "parameters": Array [], - "responses": Object { - "200": Object { - "description": "Success", - }, - }, - "tags": Array [ - "EventCtrl", - ], - }, - }, - "/rest/calendars/{id}": Object { - "get": Object { - "operationId": "calendarsControllerGet", - "parameters": Array [ - Object { - "description": "An ObjectID", - "in": "path", - "name": "id", - "pattern": "^[0-9a-fA-F]{24}$", - "required": true, - "type": "string", - }, - ], - "produces": Array [ - "application/json", - ], - "responses": Object { - "200": Object { - "description": "Success", - "schema": Object { - "$ref": "#/definitions/Calendar", - }, - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - }, - "produces": Array [ - "application/json", - ], - "swagger": "2.0", - "tags": Array [ - Object { - "name": "CalendarsController", - }, - Object { - "name": "EventCtrl", - }, - ], -} -`; - -exports[`Swagger integration OpenSpec3 should swagger spec 1`] = ` -Object { - "components": Object { - "schemas": Object { - "Calendar": Object { - "properties": Object { - "id": Object { - "type": "string", - }, - "name": Object { - "minLength": 1, - "type": "string", - }, - }, - "required": Array [ - "name", - ], - "type": "object", - }, - }, - }, - "info": Object { - "title": "Api documentation", - "version": "1.0.0", - }, - "openapi": "3.0.1", - "paths": Object { - "/rest/calendars": Object { - "get": Object { - "operationId": "calendarsControllerGetAll", - "parameters": Array [], - "responses": Object { - "200": Object { - "content": Object { - "application/json": Object { - "schema": Object { - "items": Object { - "$ref": "#/components/schemas/Calendar", - }, - "type": "array", - }, - }, - }, - "description": "Success", - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - "/rest/calendars/csv": Object { - "post": Object { - "operationId": "calendarsControllerCsv", - "parameters": Array [], - "requestBody": Object { - "content": Object { - "text/plain": Object { - "schema": Object { - "type": "string", - }, - }, - }, - "required": false, - }, - "responses": Object { - "200": Object { - "content": Object { - "text/plain": Object { - "schema": Object { - "type": "string", - }, - }, - }, - "description": "Success", - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - "/rest/calendars/events": Object { - "get": Object { - "description": "Events", - "operationId": "eventCtrlGet", - "parameters": Array [], - "responses": Object { - "200": Object { - "description": "Success", - }, - }, - "tags": Array [ - "EventCtrl", - ], - }, - }, - "/rest/calendars/{id}": Object { - "get": Object { - "operationId": "calendarsControllerGet", - "parameters": Array [ - Object { - "description": "An ObjectID", - "in": "path", - "name": "id", - "required": true, - "schema": Object { - "example": "5ce7ad3028890bd71749d477", - "pattern": "^[0-9a-fA-F]{24}$", - "type": "string", - }, - }, - ], - "responses": Object { - "200": Object { - "content": Object { - "application/json": Object { - "schema": Object { - "$ref": "#/components/schemas/Calendar", - }, - }, - }, - "description": "Success", - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - }, - "tags": Array [ - Object { - "name": "CalendarsController", - }, - Object { - "name": "EventCtrl", - }, - ], -} -`; diff --git a/packages/specs/swagger/test/__snapshots__/swagger.nested-controllers.spec.ts.snap b/packages/specs/swagger/test/__snapshots__/swagger.nested-controllers.spec.ts.snap index 6bc155b204b..08da996d536 100644 --- a/packages/specs/swagger/test/__snapshots__/swagger.nested-controllers.spec.ts.snap +++ b/packages/specs/swagger/test/__snapshots__/swagger.nested-controllers.spec.ts.snap @@ -225,229 +225,3 @@ exports[`Swagger - nested controllers > OpenSpec3 > should swagger spec 1`] = ` ], } `; - -exports[`Swagger - nested controllers OpenSpec3 should swagger spec 1`] = ` -Object { - "info": Object { - "title": "Api documentation", - "version": "1.0.0", - }, - "openapi": "3.0.1", - "paths": Object { - "/rest/domain/{contextID}": Object { - "get": Object { - "operationId": "domainControllerGet", - "parameters": Array [ - Object { - "in": "path", - "name": "contextID", - "required": true, - "schema": Object { - "type": "string", - }, - }, - ], - "responses": Object { - "200": Object { - "description": "Success", - }, - }, - "tags": Array [ - "DomainController", - ], - }, - }, - "/rest/domain/{contextID}/comments": Object { - "get": Object { - "operationId": "commentControllerGet", - "parameters": Array [ - Object { - "in": "path", - "name": "contextID", - "required": true, - "schema": Object { - "type": "string", - }, - }, - ], - "responses": Object { - "200": Object { - "description": "Success", - }, - }, - "tags": Array [ - "CommentController", - ], - }, - }, - "/rest/domain/{contextID}/comments/flag": Object { - "get": Object { - "operationId": "flaggedCommentControllerList", - "parameters": Array [ - Object { - "in": "path", - "name": "contextID", - "required": true, - "schema": Object { - "type": "string", - }, - }, - ], - "responses": Object { - "200": Object { - "description": "Success", - }, - }, - "tags": Array [ - "FlaggedCommentController", - ], - }, - }, - "/rest/domain/{contextID}/comments/{commentID}/flag": Object { - "post": Object { - "operationId": "flaggedCommentControllerCreate", - "parameters": Array [ - Object { - "in": "path", - "name": "contextID", - "required": true, - "schema": Object { - "type": "string", - }, - }, - Object { - "in": "path", - "name": "commentID", - "required": true, - "schema": Object { - "type": "string", - }, - }, - ], - "responses": Object { - "200": Object { - "description": "Success", - }, - }, - "tags": Array [ - "FlaggedCommentController", - ], - }, - }, - "/rest/platform/{platform}": Object { - "get": Object { - "operationId": "platformControllerGet", - "parameters": Array [ - Object { - "in": "path", - "name": "platform", - "required": true, - "schema": Object { - "type": "string", - }, - }, - ], - "responses": Object { - "200": Object { - "description": "Success", - }, - }, - "tags": Array [ - "PlatformController", - ], - }, - }, - "/rest/platform/{platform}/comments": Object { - "get": Object { - "operationId": "commentControllerGetByPlatform", - "parameters": Array [ - Object { - "in": "path", - "name": "platform", - "required": true, - "schema": Object { - "type": "string", - }, - }, - ], - "responses": Object { - "200": Object { - "description": "Success", - }, - }, - "tags": Array [ - "CommentController", - ], - }, - }, - "/rest/platform/{platform}/comments/flag": Object { - "get": Object { - "operationId": "flaggedCommentControllerListByPlatform", - "parameters": Array [ - Object { - "in": "path", - "name": "platform", - "required": true, - "schema": Object { - "type": "string", - }, - }, - ], - "responses": Object { - "200": Object { - "description": "Success", - }, - }, - "tags": Array [ - "FlaggedCommentController", - ], - }, - }, - "/rest/platform/{platform}/comments/{commentID}/flag": Object { - "post": Object { - "operationId": "flaggedCommentControllerCreateByPlatformCommentId", - "parameters": Array [ - Object { - "in": "path", - "name": "platform", - "required": true, - "schema": Object { - "type": "string", - }, - }, - Object { - "in": "path", - "name": "commentID", - "required": true, - "schema": Object { - "type": "string", - }, - }, - ], - "responses": Object { - "200": Object { - "description": "Success", - }, - }, - "tags": Array [ - "FlaggedCommentController", - ], - }, - }, - }, - "tags": Array [ - Object { - "name": "DomainController", - }, - Object { - "name": "CommentController", - }, - Object { - "name": "FlaggedCommentController", - }, - Object { - "name": "PlatformController", - }, - ], -} -`; diff --git a/packages/specs/swagger/test/__snapshots__/swagger.operationId.spec.ts.snap b/packages/specs/swagger/test/__snapshots__/swagger.operationId.spec.ts.snap index 2e77e6e9705..a827442bb5d 100644 --- a/packages/specs/swagger/test/__snapshots__/swagger.operationId.spec.ts.snap +++ b/packages/specs/swagger/test/__snapshots__/swagger.operationId.spec.ts.snap @@ -283,287 +283,3 @@ exports[`Swagger integration > OpenSpec > should swagger spec 3 1`] = ` ], } `; - -exports[`Swagger integration OpenSpec should swagger spec 2 1`] = ` -Object { - "consumes": Array [ - "application/json", - ], - "definitions": Object { - "Calendar": Object { - "properties": Object { - "id": Object { - "type": "string", - }, - "name": Object { - "minLength": 1, - "type": "string", - }, - }, - "required": Array [ - "name", - ], - "type": "object", - }, - }, - "info": Object { - "title": "Swagger title", - "version": "1.2.0", - }, - "paths": Object { - "/rest/calendars": Object { - "get": Object { - "operationId": "CalendarsController_getAll", - "parameters": Array [], - "produces": Array [ - "application/json", - ], - "responses": Object { - "200": Object { - "description": "Success", - "schema": Object { - "items": Object { - "$ref": "#/definitions/Calendar", - }, - "type": "array", - }, - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - "/rest/calendars/csv": Object { - "post": Object { - "consumes": Array [ - "text/plain", - ], - "operationId": "CalendarsController_csv", - "parameters": Array [ - Object { - "in": "body", - "name": "body", - "required": false, - "schema": Object { - "type": "string", - }, - }, - ], - "produces": Array [ - "text/plain", - ], - "responses": Object { - "200": Object { - "description": "Success", - "schema": Object { - "type": "string", - }, - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - "/rest/calendars/events": Object { - "get": Object { - "description": "Events", - "operationId": "EventCtrl_get", - "parameters": Array [], - "responses": Object { - "200": Object { - "description": "Success", - }, - }, - "tags": Array [ - "EventCtrl", - ], - }, - }, - "/rest/calendars/{id}": Object { - "get": Object { - "operationId": "CalendarsController_get", - "parameters": Array [ - Object { - "description": "An ObjectID", - "in": "path", - "name": "id", - "pattern": "^[0-9a-fA-F]{24}$", - "required": true, - "type": "string", - }, - ], - "produces": Array [ - "application/json", - ], - "responses": Object { - "200": Object { - "description": "Success", - "schema": Object { - "$ref": "#/definitions/Calendar", - }, - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - }, - "produces": Array [ - "application/json", - ], - "swagger": "2.0", - "tags": Array [ - Object { - "name": "CalendarsController", - }, - Object { - "name": "EventCtrl", - }, - ], -} -`; - -exports[`Swagger integration OpenSpec should swagger spec 3 1`] = ` -Object { - "components": Object { - "schemas": Object { - "Calendar": Object { - "properties": Object { - "id": Object { - "type": "string", - }, - "name": Object { - "minLength": 1, - "type": "string", - }, - }, - "required": Array [ - "name", - ], - "type": "object", - }, - }, - }, - "info": Object { - "title": "Api documentation", - "version": "1.0.0", - }, - "openapi": "3.0.1", - "paths": Object { - "/rest/calendars": Object { - "get": Object { - "operationId": "CalendarsController__getAll", - "parameters": Array [], - "responses": Object { - "200": Object { - "content": Object { - "application/json": Object { - "schema": Object { - "items": Object { - "$ref": "#/components/schemas/Calendar", - }, - "type": "array", - }, - }, - }, - "description": "Success", - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - "/rest/calendars/csv": Object { - "post": Object { - "operationId": "CalendarsController__csv", - "parameters": Array [], - "requestBody": Object { - "content": Object { - "text/plain": Object { - "schema": Object { - "type": "string", - }, - }, - }, - "required": false, - }, - "responses": Object { - "200": Object { - "content": Object { - "text/plain": Object { - "schema": Object { - "type": "string", - }, - }, - }, - "description": "Success", - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - "/rest/calendars/events": Object { - "get": Object { - "description": "Events", - "operationId": "EventCtrl__get", - "parameters": Array [], - "responses": Object { - "200": Object { - "description": "Success", - }, - }, - "tags": Array [ - "EventCtrl", - ], - }, - }, - "/rest/calendars/{id}": Object { - "get": Object { - "operationId": "CalendarsController__get", - "parameters": Array [ - Object { - "description": "An ObjectID", - "in": "path", - "name": "id", - "required": true, - "schema": Object { - "example": "5ce7ad3028890bd71749d477", - "pattern": "^[0-9a-fA-F]{24}$", - "type": "string", - }, - }, - ], - "responses": Object { - "200": Object { - "content": Object { - "application/json": Object { - "schema": Object { - "$ref": "#/components/schemas/Calendar", - }, - }, - }, - "description": "Success", - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - }, - "tags": Array [ - Object { - "name": "CalendarsController", - }, - Object { - "name": "EventCtrl", - }, - ], -} -`; diff --git a/packages/specs/swagger/test/__snapshots__/swagger.path-patterns.spec.ts.snap b/packages/specs/swagger/test/__snapshots__/swagger.path-patterns.spec.ts.snap index 8b893082df7..5a9b51228ad 100644 --- a/packages/specs/swagger/test/__snapshots__/swagger.path-patterns.spec.ts.snap +++ b/packages/specs/swagger/test/__snapshots__/swagger.path-patterns.spec.ts.snap @@ -287,291 +287,3 @@ exports[`Swagger integration: pathPatterns > OpenSpec3 > should swagger spec (or ], } `; - -exports[`Swagger integration: pathPatterns OpenSpec3 should swagger spec (admin) 1`] = ` -Object { - "components": Object { - "schemas": Object { - "Calendar": Object { - "properties": Object { - "id": Object { - "type": "string", - }, - "name": Object { - "minLength": 1, - "type": "string", - }, - }, - "required": Array [ - "name", - ], - "type": "object", - }, - }, - }, - "info": Object { - "title": "Api documentation", - "version": "1.0.0", - }, - "openapi": "3.0.1", - "paths": Object { - "/rest/admin/all": Object { - "get": Object { - "operationId": "adminCtrlGet", - "parameters": Array [], - "responses": Object { - "200": Object { - "description": "Success", - }, - }, - "tags": Array [ - "AdminCtrl", - ], - }, - }, - "/rest/admin/{id}": Object { - "post": Object { - "operationId": "adminCtrlPost", - "parameters": Array [ - Object { - "in": "path", - "name": "id", - "required": true, - "schema": Object { - "type": "string", - }, - }, - ], - "responses": Object { - "200": Object { - "description": "Success", - }, - }, - "tags": Array [ - "AdminCtrl", - ], - }, - }, - "/rest/orgs/calendars": Object { - "get": Object { - "operationId": "calendarsControllerGetAll", - "parameters": Array [], - "responses": Object { - "200": Object { - "content": Object { - "application/json": Object { - "schema": Object { - "items": Object { - "$ref": "#/components/schemas/Calendar", - }, - "type": "array", - }, - }, - }, - "description": "Success", - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - "/rest/orgs/calendars/csv": Object { - "post": Object { - "operationId": "calendarsControllerCsv", - "parameters": Array [], - "requestBody": Object { - "content": Object { - "text/plain": Object { - "schema": Object { - "type": "string", - }, - }, - }, - "required": false, - }, - "responses": Object { - "200": Object { - "content": Object { - "text/plain": Object { - "schema": Object { - "type": "string", - }, - }, - }, - "description": "Success", - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - "/rest/orgs/calendars/{id}": Object { - "get": Object { - "operationId": "calendarsControllerGet", - "parameters": Array [ - Object { - "description": "An ObjectID", - "in": "path", - "name": "id", - "required": true, - "schema": Object { - "example": "5ce7ad3028890bd71749d477", - "pattern": "^[0-9a-fA-F]{24}$", - "type": "string", - }, - }, - ], - "responses": Object { - "200": Object { - "content": Object { - "application/json": Object { - "schema": Object { - "$ref": "#/components/schemas/Calendar", - }, - }, - }, - "description": "Success", - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - }, - "tags": Array [ - Object { - "name": "CalendarsController", - }, - Object { - "name": "AdminCtrl", - }, - ], -} -`; - -exports[`Swagger integration: pathPatterns OpenSpec3 should swagger spec (orgs) 1`] = ` -Object { - "components": Object { - "schemas": Object { - "Calendar": Object { - "properties": Object { - "id": Object { - "type": "string", - }, - "name": Object { - "minLength": 1, - "type": "string", - }, - }, - "required": Array [ - "name", - ], - "type": "object", - }, - }, - }, - "info": Object { - "title": "Api documentation", - "version": "1.0.0", - }, - "openapi": "3.0.1", - "paths": Object { - "/rest/orgs/calendars": Object { - "get": Object { - "operationId": "calendarsControllerGetAll", - "parameters": Array [], - "responses": Object { - "200": Object { - "content": Object { - "application/json": Object { - "schema": Object { - "items": Object { - "$ref": "#/components/schemas/Calendar", - }, - "type": "array", - }, - }, - }, - "description": "Success", - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - "/rest/orgs/calendars/csv": Object { - "post": Object { - "operationId": "calendarsControllerCsv", - "parameters": Array [], - "requestBody": Object { - "content": Object { - "text/plain": Object { - "schema": Object { - "type": "string", - }, - }, - }, - "required": false, - }, - "responses": Object { - "200": Object { - "content": Object { - "text/plain": Object { - "schema": Object { - "type": "string", - }, - }, - }, - "description": "Success", - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - "/rest/orgs/calendars/{id}": Object { - "get": Object { - "operationId": "calendarsControllerGet", - "parameters": Array [ - Object { - "description": "An ObjectID", - "in": "path", - "name": "id", - "required": true, - "schema": Object { - "example": "5ce7ad3028890bd71749d477", - "pattern": "^[0-9a-fA-F]{24}$", - "type": "string", - }, - }, - ], - "responses": Object { - "200": Object { - "content": Object { - "application/json": Object { - "schema": Object { - "$ref": "#/components/schemas/Calendar", - }, - }, - }, - "description": "Success", - }, - }, - "tags": Array [ - "CalendarsController", - ], - }, - }, - }, - "tags": Array [ - Object { - "name": "CalendarsController", - }, - ], -} -`; diff --git a/packages/specs/swagger/test/app/Server.ts b/packages/specs/swagger/test/app/Server.ts index a21841b23df..9e2712c3e0d 100644 --- a/packages/specs/swagger/test/app/Server.ts +++ b/packages/specs/swagger/test/app/Server.ts @@ -1,12 +1,13 @@ -import {Configuration, Inject, PlatformApplication} from "@tsed/common"; import "@tsed/platform-express"; -import "@tsed/swagger"; +import "../../src/index.js"; + +import {Configuration, Inject, PlatformApplication} from "@tsed/common"; import bodyParser from "body-parser"; import compress from "compression"; import cookieParser from "cookie-parser"; import methodOverride from "method-override"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build @Configuration({ rootDir, diff --git a/packages/specs/swagger/test/app/class/classes.ts b/packages/specs/swagger/test/app/class/classes.ts index 5ae893fda8d..4dd25227c20 100644 --- a/packages/specs/swagger/test/app/class/classes.ts +++ b/packages/specs/swagger/test/app/class/classes.ts @@ -1,4 +1,4 @@ -import {Example, Any, CollectionOf, Description, Name, Property, Required, Title} from "@tsed/schema"; +import {Any, CollectionOf, Description, Example, Name, Property, Required, Title} from "@tsed/schema"; export class SwaNoDecoModel { public prop: string; diff --git a/packages/specs/swagger/test/app/index.ts b/packages/specs/swagger/test/app/index.ts index 502949ccd6d..2c4dac52883 100644 --- a/packages/specs/swagger/test/app/index.ts +++ b/packages/specs/swagger/test/app/index.ts @@ -1,7 +1,8 @@ -import {$log, BodyParams, Controller, Get, PathParams, Post, Put, QueryParams} from "@tsed/common"; +import {$log, BodyParams, Controller, PathParams, QueryParams} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; -import {DiscriminatorKey, DiscriminatorValue, OneOf, Property, Required, Returns} from "@tsed/schema"; -import {Hidden} from "@tsed/swagger"; +import {DiscriminatorKey, DiscriminatorValue, Get, OneOf, Post, Property, Put, Required, Returns} from "@tsed/schema"; + +import {Hidden} from "../../src/index.js"; import {Server} from "./Server.js"; if (process.env.NODE_ENV !== "test") { @@ -86,19 +87,19 @@ if (process.env.NODE_ENV !== "test") { @Controller("/one-of") class HelloOneOf { @Post("/") - @Returns(200, Array).OneOf(Event) + @(Returns(200, Array).OneOf(Event)) post(@BodyParams() @OneOf(Event) events: OneOfEvents[]) { return []; } @Put("/:id") - @Returns(200).OneOf(Event) + @(Returns(200).OneOf(Event)) put(@PathParams(":id") id: string, @BodyParams() @OneOf(Event) event: OneOfEvents) { return []; } @Get("/:id") - @Returns(200).OneOf(Event) + @(Returns(200).OneOf(Event)) get(@PathParams(":id") id: string) { return []; } diff --git a/packages/specs/swagger/test/swagger.anyof.spec.ts b/packages/specs/swagger/test/swagger.anyof.spec.ts index d3d156823c5..7930a2296f5 100644 --- a/packages/specs/swagger/test/swagger.anyof.spec.ts +++ b/packages/specs/swagger/test/swagger.anyof.spec.ts @@ -1,8 +1,9 @@ -import {Controller, Get, PathParams, PlatformTest} from "@tsed/common"; +import {Controller, PathParams, PlatformTest} from "@tsed/common"; import {ObjectID} from "@tsed/mongoose"; import {PlatformExpress} from "@tsed/platform-express"; -import {AnyOf, Required, Returns} from "@tsed/schema"; +import {AnyOf, Get, Required, Returns} from "@tsed/schema"; import SuperTest from "supertest"; + import {Server} from "./app/Server.js"; export class ListAbandonTask { diff --git a/packages/specs/swagger/test/swagger.bodyparams.spec.ts b/packages/specs/swagger/test/swagger.bodyparams.spec.ts index 132bbd6ad55..ea66ca24ee8 100644 --- a/packages/specs/swagger/test/swagger.bodyparams.spec.ts +++ b/packages/specs/swagger/test/swagger.bodyparams.spec.ts @@ -1,7 +1,8 @@ -import {BodyParams, Controller, PlatformTest, Post} from "@tsed/common"; +import {BodyParams, Controller, PlatformTest} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; -import {MaxLength, MinLength} from "@tsed/schema"; +import {MaxLength, MinLength, Post} from "@tsed/schema"; import SuperTest from "supertest"; + import {Server} from "./app/Server.js"; @Controller({ diff --git a/packages/specs/swagger/test/swagger.children.spec.ts b/packages/specs/swagger/test/swagger.children.spec.ts index 70dd668ec38..9658c3b2904 100644 --- a/packages/specs/swagger/test/swagger.children.spec.ts +++ b/packages/specs/swagger/test/swagger.children.spec.ts @@ -1,6 +1,8 @@ -import {Controller, Get, PlatformTest} from "@tsed/common"; +import {Controller, PlatformTest} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; +import {Get} from "@tsed/schema"; import SuperTest from "supertest"; + import {Server} from "./app/Server.js"; @Controller("/:campaignID/polls") diff --git a/packages/specs/swagger/test/swagger.errors.spec.ts b/packages/specs/swagger/test/swagger.errors.spec.ts index 1db1243af5a..2ec9f833b2b 100644 --- a/packages/specs/swagger/test/swagger.errors.spec.ts +++ b/packages/specs/swagger/test/swagger.errors.spec.ts @@ -1,7 +1,8 @@ -import {Controller, Get, PlatformTest} from "@tsed/common"; +import {Controller, PlatformTest} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; -import {Required, Returns} from "@tsed/schema"; +import {Get, Required, Returns} from "@tsed/schema"; import SuperTest from "supertest"; + import {Server} from "./app/Server.js"; export class TestModel200 { diff --git a/packages/specs/swagger/test/swagger.integration.spec.ts b/packages/specs/swagger/test/swagger.integration.spec.ts index 46e97f94b55..3e93da134ce 100644 --- a/packages/specs/swagger/test/swagger.integration.spec.ts +++ b/packages/specs/swagger/test/swagger.integration.spec.ts @@ -1,9 +1,10 @@ -import {BodyParams, Controller, Get, PathParams, PlatformTest, Post} from "@tsed/common"; +import {BodyParams, Controller, PathParams, PlatformTest} from "@tsed/common"; import {ObjectID} from "@tsed/mongoose"; import {PlatformExpress} from "@tsed/platform-express"; -import {Consumes, Description, Returns} from "@tsed/schema"; -import {Docs, Hidden} from "@tsed/swagger"; +import {Consumes, Description, Get, Post, Returns} from "@tsed/schema"; import SuperTest from "supertest"; + +import {Docs, Hidden} from "../src/index.js"; import {Calendar} from "./app/models/Calendar.js"; import {Server} from "./app/Server.js"; @@ -41,14 +42,14 @@ class CalendarsController { } @Get("/") - @Returns(200, Array).Of(Calendar) + @(Returns(200, Array).Of(Calendar)) getAll(): Promise { return Promise.resolve([new Calendar({id: 1, name: "name"}), new Calendar({id: 2, name: "name"})]); } @Post("/csv") @Consumes("text/plain") - @Returns(200, String).ContentType("text/plain") + @(Returns(200, String).ContentType("text/plain")) csv(@BodyParams() csvLines: string): Promise { return Promise.resolve(""); } diff --git a/packages/specs/swagger/test/swagger.nested-controllers.spec.ts b/packages/specs/swagger/test/swagger.nested-controllers.spec.ts index 5da58e0213b..9ca1c4f68fd 100644 --- a/packages/specs/swagger/test/swagger.nested-controllers.spec.ts +++ b/packages/specs/swagger/test/swagger.nested-controllers.spec.ts @@ -1,6 +1,8 @@ -import {Controller, Get, PlatformTest, Post} from "@tsed/common"; +import {Controller, PlatformTest} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; +import {Get, Post} from "@tsed/schema"; import SuperTest from "supertest"; + import {Server} from "./app/Server.js"; @Controller("/") diff --git a/packages/specs/swagger/test/swagger.operationId.spec.ts b/packages/specs/swagger/test/swagger.operationId.spec.ts index c5aec784181..a84df7d1025 100644 --- a/packages/specs/swagger/test/swagger.operationId.spec.ts +++ b/packages/specs/swagger/test/swagger.operationId.spec.ts @@ -1,9 +1,10 @@ -import {BodyParams, Controller, Get, PathParams, PlatformTest, Post} from "@tsed/common"; +import {BodyParams, Controller, PathParams, PlatformTest} from "@tsed/common"; import {ObjectID} from "@tsed/mongoose"; import {PlatformExpress} from "@tsed/platform-express"; -import {Consumes, Description, Returns} from "@tsed/schema"; -import {Docs, Hidden} from "@tsed/swagger"; +import {Consumes, Description, Get, Post, Returns} from "@tsed/schema"; import SuperTest from "supertest"; + +import {Docs, Hidden} from "../src/index.js"; import {Calendar} from "./app/models/Calendar.js"; import {Server} from "./app/Server.js"; @@ -41,14 +42,14 @@ class CalendarsController { } @Get("/") - @Returns(200, Array).Of(Calendar) + @(Returns(200, Array).Of(Calendar)) getAll(): Promise { return Promise.resolve([new Calendar({id: 1, name: "name"}), new Calendar({id: 2, name: "name"})]); } @Post("/csv") @Consumes("text/plain") - @Returns(200, String).ContentType("text/plain") + @(Returns(200, String).ContentType("text/plain")) csv(@BodyParams() csvLines: string): Promise { return Promise.resolve(""); } diff --git a/packages/specs/swagger/test/swagger.path-patterns.spec.ts b/packages/specs/swagger/test/swagger.path-patterns.spec.ts index 087be7b9171..36035a4e27b 100644 --- a/packages/specs/swagger/test/swagger.path-patterns.spec.ts +++ b/packages/specs/swagger/test/swagger.path-patterns.spec.ts @@ -1,8 +1,9 @@ -import {BodyParams, Controller, Get, PathParams, PlatformTest, Post} from "@tsed/common"; +import {BodyParams, Controller, PathParams, PlatformTest} from "@tsed/common"; import {ObjectID} from "@tsed/mongoose"; import {PlatformExpress} from "@tsed/platform-express"; -import {Consumes, Returns} from "@tsed/schema"; +import {Consumes, Get, Post, Returns} from "@tsed/schema"; import SuperTest from "supertest"; + import {Calendar} from "./app/models/Calendar.js"; import {Server} from "./app/Server.js"; @@ -26,14 +27,14 @@ class CalendarsController { } @Get("/") - @Returns(200, Array).Of(Calendar) + @(Returns(200, Array).Of(Calendar)) getAll(): Promise { return Promise.resolve([new Calendar({id: 1, name: "name"}), new Calendar({id: 2, name: "name"})]); } @Post("/csv") @Consumes("text/plain") - @Returns(200, String).ContentType("text/plain") + @(Returns(200, String).ContentType("text/plain")) csv(@BodyParams() csvLines: string): Promise { return Promise.resolve(""); } diff --git a/packages/specs/swagger/test/swagger.query.spec.ts b/packages/specs/swagger/test/swagger.query.spec.ts index a88d24f8f65..d7c18cdc778 100644 --- a/packages/specs/swagger/test/swagger.query.spec.ts +++ b/packages/specs/swagger/test/swagger.query.spec.ts @@ -1,7 +1,8 @@ -import {Controller, Get, PlatformTest, QueryParams} from "@tsed/common"; +import {Controller, PlatformTest, QueryParams} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; -import {MinLength, Property, Required} from "@tsed/schema"; +import {Get, MinLength, Property, Required} from "@tsed/schema"; import SuperTest from "supertest"; + import {Server} from "./app/Server.js"; class QueryParamModel { diff --git a/packages/specs/swagger/tsconfig.cjs.json b/packages/specs/swagger/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/specs/swagger/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/specs/swagger/tsconfig.esm.json b/packages/specs/swagger/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/specs/swagger/tsconfig.esm.json +++ b/packages/specs/swagger/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/specs/swagger/tsconfig.json b/packages/specs/swagger/tsconfig.json index 84b06b95fbe..832e5d70107 100644 --- a/packages/specs/swagger/tsconfig.json +++ b/packages/specs/swagger/tsconfig.json @@ -27,9 +27,6 @@ { "path": "../../utils/normalize-path/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/specs/swagger/tsconfig.spec.json b/packages/specs/swagger/tsconfig.spec.json index a63ff22c0c0..769316216a1 100644 --- a/packages/specs/swagger/tsconfig.spec.json +++ b/packages/specs/swagger/tsconfig.spec.json @@ -3,34 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../openspec/src"], - "@tsed/schema": ["../schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../exceptions/src"], - "@tsed/json-mapper": ["../json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../openspec/src/index.ts"], + "@tsed/schema": ["../schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../exceptions/src/index.ts"], + "@tsed/json-mapper": ["../json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"], + "@tsed/mongoose": ["../../orm/mongoose/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/third-parties/agenda/package.json b/packages/third-parties/agenda/package.json index bb3d53f3117..dadc68dee8e 100644 --- a/packages/third-parties/agenda/package.json +++ b/packages/third-parties/agenda/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/agenda", "description": "Agenda package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -28,7 +27,7 @@ } ], "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -37,9 +36,9 @@ "@tsed/di": "workspace:*", "@tsed/typescript": "workspace:*", "agenda": "^5.0.0", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { "agenda": ">=4" diff --git a/packages/third-parties/agenda/src/AgendaModule.spec.ts b/packages/third-parties/agenda/src/AgendaModule.spec.ts index c6adffd0cf9..fc14d24f878 100644 --- a/packages/third-parties/agenda/src/AgendaModule.spec.ts +++ b/packages/third-parties/agenda/src/AgendaModule.spec.ts @@ -1,6 +1,7 @@ import {PlatformTest} from "@tsed/common"; import {Inject} from "@tsed/di"; import type {Job} from "agenda"; + import {AgendaModule} from "./AgendaModule.js"; import {Agenda} from "./decorators/agenda.js"; import {Define} from "./decorators/define.js"; diff --git a/packages/third-parties/agenda/src/AgendaModule.ts b/packages/third-parties/agenda/src/AgendaModule.ts index f6a8a51ad21..18439c96a92 100644 --- a/packages/third-parties/agenda/src/AgendaModule.ts +++ b/packages/third-parties/agenda/src/AgendaModule.ts @@ -2,6 +2,7 @@ import {AfterListen, DIContext, Logger, OnDestroy, runInContext} from "@tsed/com import {Constant, Inject, InjectorService, Module, Provider} from "@tsed/di"; import {Job, Processor} from "agenda"; import {v4 as uuid} from "uuid"; + import {PROVIDER_TYPE_AGENDA} from "./constants/constants.js"; import {AgendaStore} from "./interfaces/AgendaStore.js"; import {AgendaService} from "./services/AgendaFactory.js"; diff --git a/packages/third-parties/agenda/src/decorators/agenda.spec.ts b/packages/third-parties/agenda/src/decorators/agenda.spec.ts index 3cd47074358..7ef86d67c14 100644 --- a/packages/third-parties/agenda/src/decorators/agenda.spec.ts +++ b/packages/third-parties/agenda/src/decorators/agenda.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {Agenda} from "./agenda.js"; describe("@Agenda()", () => { diff --git a/packages/third-parties/agenda/src/decorators/agenda.ts b/packages/third-parties/agenda/src/decorators/agenda.ts index 0a624183862..752a9dd27ce 100644 --- a/packages/third-parties/agenda/src/decorators/agenda.ts +++ b/packages/third-parties/agenda/src/decorators/agenda.ts @@ -1,5 +1,6 @@ import {StoreMerge, useDecorators} from "@tsed/core"; import {Injectable} from "@tsed/di"; + import {PROVIDER_TYPE_AGENDA} from "../constants/constants.js"; interface AgendaOptions { diff --git a/packages/third-parties/agenda/src/decorators/define.spec.ts b/packages/third-parties/agenda/src/decorators/define.spec.ts index 516ec82ce6d..1243bc7689a 100644 --- a/packages/third-parties/agenda/src/decorators/define.spec.ts +++ b/packages/third-parties/agenda/src/decorators/define.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {Agenda} from "./agenda.js"; import {Define} from "./define.js"; diff --git a/packages/third-parties/agenda/src/decorators/define.ts b/packages/third-parties/agenda/src/decorators/define.ts index 11fb8b648ff..84658741e6a 100644 --- a/packages/third-parties/agenda/src/decorators/define.ts +++ b/packages/third-parties/agenda/src/decorators/define.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {AgendaStore, DefineOptions} from "../interfaces/AgendaStore.js"; export function Define(options: DefineOptions = {}): MethodDecorator { diff --git a/packages/third-parties/agenda/src/decorators/every.spec.ts b/packages/third-parties/agenda/src/decorators/every.spec.ts index b60981b1b9b..aeb261ff15a 100644 --- a/packages/third-parties/agenda/src/decorators/every.spec.ts +++ b/packages/third-parties/agenda/src/decorators/every.spec.ts @@ -1,4 +1,5 @@ import {descriptorOf, Store} from "@tsed/core"; + import {Agenda} from "./agenda.js"; import {Every} from "./every.js"; diff --git a/packages/third-parties/agenda/src/decorators/every.ts b/packages/third-parties/agenda/src/decorators/every.ts index 644d5c74bb0..44b03def70f 100644 --- a/packages/third-parties/agenda/src/decorators/every.ts +++ b/packages/third-parties/agenda/src/decorators/every.ts @@ -1,6 +1,7 @@ import {Store, useDecorators} from "@tsed/core"; -import {Define} from "./define.js"; + import {AgendaStore, EveryOptions} from "../interfaces/AgendaStore.js"; +import {Define} from "./define.js"; export function Every(interval: string, options: EveryOptions = {}): MethodDecorator { return useDecorators(Define(options), (target: any, propertyKey: string) => { diff --git a/packages/third-parties/agenda/test/agenda-define-manually.integration.spec.ts b/packages/third-parties/agenda/test/agenda-define-manually.integration.spec.ts index 4b7d0d9e19d..ddf9a72462a 100644 --- a/packages/third-parties/agenda/test/agenda-define-manually.integration.spec.ts +++ b/packages/third-parties/agenda/test/agenda-define-manually.integration.spec.ts @@ -1,9 +1,10 @@ import {PlatformTest} from "@tsed/common"; import {Inject} from "@tsed/di"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; - import type {Job} from "agenda"; -import {AgendaModule, Agenda, AgendaService, Define} from "@tsed/agenda"; +import {afterAll, beforeAll, describe, expect, it} from "vitest"; + +import {Agenda, AgendaModule, AgendaService, Define} from "../src/index.js"; import {Server} from "./helpers/Server.js"; @Agenda({namespace: "test-nsp"}) @@ -45,7 +46,7 @@ describe("Agenda integration", () => { enabled: true, db: { address: options.url, - options: options.connectionOptions + options: options.connectionOptions as never } } }); @@ -55,7 +56,7 @@ describe("Agenda integration", () => { afterAll(async () => { const agenda = PlatformTest.get(AgendaService)!; await TestContainersMongo.reset(); - await agenda._db.close(); + await agenda._db?.close(); }); it("should have job definitions", () => { @@ -108,7 +109,7 @@ describe("Agenda integration", () => { disableJobProcessing: true, db: { address: options.url, - options: options.connectionOptions + options: options.connectionOptions as never } } }); diff --git a/packages/third-parties/agenda/test/agenda-define.integration.spec.ts b/packages/third-parties/agenda/test/agenda-define.integration.spec.ts index 8f5d9e25e19..5d59eb93d03 100644 --- a/packages/third-parties/agenda/test/agenda-define.integration.spec.ts +++ b/packages/third-parties/agenda/test/agenda-define.integration.spec.ts @@ -1,5 +1,6 @@ import {PlatformTest} from "@tsed/common"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; + import {Agenda, AgendaService, Define, Every} from "../src/index.js"; import {Server} from "./helpers/Server.js"; @@ -27,7 +28,7 @@ describe("Agenda integration", () => { enabled: true, db: { address: options.url, - options: options.connectionOptions + options: options.connectionOptions as never } } }); @@ -71,7 +72,7 @@ describe("Agenda integration", () => { const bstrp = PlatformTest.bootstrap(Server, { mongoose: [options], - agenda: false + agenda: false as never }); await bstrp(); @@ -96,7 +97,7 @@ describe("Agenda integration", () => { disableJobProcessing: true, db: { address: options.url, - options: options.connectionOptions + options: options.connectionOptions as never } } }); diff --git a/packages/third-parties/agenda/test/agenda-every.integration.spec.ts b/packages/third-parties/agenda/test/agenda-every.integration.spec.ts index 00996276dc7..aaf7798d538 100644 --- a/packages/third-parties/agenda/test/agenda-every.integration.spec.ts +++ b/packages/third-parties/agenda/test/agenda-every.integration.spec.ts @@ -1,5 +1,6 @@ import {PlatformTest} from "@tsed/common"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; + import {Agenda, AgendaService, Every} from "../src/index.js"; import {Server} from "./helpers/Server.js"; @@ -22,7 +23,7 @@ describe("Agenda integration", () => { enabled: true, db: { address: options.url, - options: options.connectionOptions + options: options.connectionOptions as never } } }); diff --git a/packages/third-parties/agenda/test/helpers/Server.ts b/packages/third-parties/agenda/test/helpers/Server.ts index 417b27bd231..e4fba42af51 100644 --- a/packages/third-parties/agenda/test/helpers/Server.ts +++ b/packages/third-parties/agenda/test/helpers/Server.ts @@ -1,12 +1,13 @@ -import {Configuration, Inject, PlatformApplication} from "@tsed/common"; import "@tsed/platform-express"; -import "@tsed/agenda"; -import cookieParser from "cookie-parser"; +import "../../src/index.js"; + +import {Configuration, Inject, PlatformApplication} from "@tsed/common"; import bodyParser from "body-parser"; import compress from "compression"; +import cookieParser from "cookie-parser"; import methodOverride from "method-override"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build @Configuration({ rootDir, diff --git a/packages/third-parties/agenda/tsconfig.cjs.json b/packages/third-parties/agenda/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/third-parties/agenda/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/agenda/tsconfig.esm.json b/packages/third-parties/agenda/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/third-parties/agenda/tsconfig.esm.json +++ b/packages/third-parties/agenda/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/third-parties/agenda/tsconfig.json b/packages/third-parties/agenda/tsconfig.json index 2dbe3ec968d..4540f314a24 100644 --- a/packages/third-parties/agenda/tsconfig.json +++ b/packages/third-parties/agenda/tsconfig.json @@ -15,9 +15,6 @@ { "path": "../../di/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/third-parties/agenda/tsconfig.spec.json b/packages/third-parties/agenda/tsconfig.spec.json index b2e248f2c69..df5434b7af1 100644 --- a/packages/third-parties/agenda/tsconfig.spec.json +++ b/packages/third-parties/agenda/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/third-parties/agenda/vitest.config.mts b/packages/third-parties/agenda/vitest.config.mts index f8dc9b023ac..69d33025271 100644 --- a/packages/third-parties/agenda/vitest.config.mts +++ b/packages/third-parties/agenda/vitest.config.mts @@ -12,12 +12,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 100, + branches: 100, + functions: 100, + lines: 100 } } } } -); +); \ No newline at end of file diff --git a/packages/third-parties/bullmq/package.json b/packages/third-parties/bullmq/package.json index 6be3f911fc5..e7dc7004333 100644 --- a/packages/third-parties/bullmq/package.json +++ b/packages/third-parties/bullmq/package.json @@ -1,22 +1,21 @@ { "name": "@tsed/bullmq", "description": "BullMQ integration for Ts.ED", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "keywords": [ "Ts.ED", "BullMQ" ], "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -27,7 +26,7 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -37,10 +36,10 @@ "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", "bullmq": "^4.12.3 || ^5.1.1", - "eslint": "^8.57.0", + "eslint": "9.12.0", "ts-mockito": "^2.6.1", - "typescript": "4.9.5", - "vitest": "2.0.4" + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { "bullmq": "^4.12.3 || ^5.1.1" diff --git a/packages/third-parties/bullmq/src/BullMQModule.spec.ts b/packages/third-parties/bullmq/src/BullMQModule.spec.ts index 1f58b6bb271..db652544f17 100644 --- a/packages/third-parties/bullmq/src/BullMQModule.spec.ts +++ b/packages/third-parties/bullmq/src/BullMQModule.spec.ts @@ -1,9 +1,10 @@ +import "./BullMQModule.js"; + import {Inject, PlatformTest} from "@tsed/common"; import {catchAsyncError} from "@tsed/core"; import {Queue, Worker} from "bullmq"; import {anything, instance, mock, verify, when} from "ts-mockito"; -import "./BullMQModule"; import {BullMQModule} from "./BullMQModule.js"; import {type BullMQConfig} from "./config/config.js"; import {JobMethods} from "./contracts/index.js"; diff --git a/packages/third-parties/bullmq/src/BullMQModule.ts b/packages/third-parties/bullmq/src/BullMQModule.ts index 7b83a18c639..3a91b3c714e 100644 --- a/packages/third-parties/bullmq/src/BullMQModule.ts +++ b/packages/third-parties/bullmq/src/BullMQModule.ts @@ -3,6 +3,7 @@ import {InjectorService, Module} from "@tsed/di"; import {getComputedType} from "@tsed/schema"; import {Job, Queue, Worker} from "bullmq"; import {v4} from "uuid"; + import {BullMQConfig} from "./config/config.js"; import {BullMQTypes} from "./constants/BullMQTypes.js"; import {BULLMQ} from "./constants/constants.js"; diff --git a/packages/third-parties/bullmq/src/config/config.ts b/packages/third-parties/bullmq/src/config/config.ts index b951a8b0fac..c9cb9beed8d 100644 --- a/packages/third-parties/bullmq/src/config/config.ts +++ b/packages/third-parties/bullmq/src/config/config.ts @@ -11,11 +11,6 @@ export type BullMQConfig = { */ connection: ConnectionOptions; - /** - * @deprecated Use defaultQueueOptions instead. Will be removed in the next major release - */ - defaultJobOptions?: DefaultJobOptions; - /** * Default queue options which are applied to every queue * diff --git a/packages/third-parties/bullmq/src/decorators/InjectQueue.ts b/packages/third-parties/bullmq/src/decorators/InjectQueue.ts index e94bf5fd215..a150a21da05 100644 --- a/packages/third-parties/bullmq/src/decorators/InjectQueue.ts +++ b/packages/third-parties/bullmq/src/decorators/InjectQueue.ts @@ -1,4 +1,5 @@ import {Inject} from "@tsed/common"; + import {getQueueToken} from "../utils/getQueueToken.js"; export function InjectQueue(name: string) { diff --git a/packages/third-parties/bullmq/src/decorators/InjectWorker.ts b/packages/third-parties/bullmq/src/decorators/InjectWorker.ts index a528e64eed2..258f568280b 100644 --- a/packages/third-parties/bullmq/src/decorators/InjectWorker.ts +++ b/packages/third-parties/bullmq/src/decorators/InjectWorker.ts @@ -1,4 +1,5 @@ import {Inject} from "@tsed/common"; + import {getWorkerToken} from "../utils/getWorkerToken.js"; export function InjectWorker(name: string) { diff --git a/packages/third-parties/bullmq/src/decorators/JobController.spec.ts b/packages/third-parties/bullmq/src/decorators/JobController.spec.ts index ad5e00eb479..f5618407738 100644 --- a/packages/third-parties/bullmq/src/decorators/JobController.spec.ts +++ b/packages/third-parties/bullmq/src/decorators/JobController.spec.ts @@ -1,7 +1,8 @@ -import {FallbackJobController, JobController} from "./JobController.js"; import {Store} from "@tsed/core"; import {GlobalProviders} from "@tsed/di"; +import {FallbackJobController, JobController} from "./JobController.js"; + describe("JobController", () => { afterEach(() => GlobalProviders.clear()); @@ -48,7 +49,7 @@ describe("JobController", () => { const store = Store.from(CustomCronJob).get("bullmq"); - expect(store); + expect(store).toBeDefined(); }); }); diff --git a/packages/third-parties/bullmq/src/decorators/JobController.ts b/packages/third-parties/bullmq/src/decorators/JobController.ts index b93e2cd7ca6..6ea87966c7c 100644 --- a/packages/third-parties/bullmq/src/decorators/JobController.ts +++ b/packages/third-parties/bullmq/src/decorators/JobController.ts @@ -1,6 +1,7 @@ import {StoreMerge, useDecorators} from "@tsed/core"; import {Injectable} from "@tsed/di"; import {JobsOptions} from "bullmq"; + import {BullMQTypes} from "../constants/BullMQTypes.js"; import {BULLMQ} from "../constants/constants.js"; import {getFallbackJobToken, getJobToken} from "../utils/getJobToken.js"; diff --git a/packages/third-parties/bullmq/src/dispatchers/JobDispatcher.spec.ts b/packages/third-parties/bullmq/src/dispatchers/JobDispatcher.spec.ts index 6079e097f7f..679f69d273b 100644 --- a/packages/third-parties/bullmq/src/dispatchers/JobDispatcher.spec.ts +++ b/packages/third-parties/bullmq/src/dispatchers/JobDispatcher.spec.ts @@ -1,9 +1,10 @@ import {InjectorService} from "@tsed/di"; -import {JobDispatcher} from "./JobDispatcher.js"; +import {Queue} from "bullmq"; +import {anything, capture, instance, mock, objectContaining, spy, verify, when} from "ts-mockito"; + import {JobMethods} from "../contracts/index.js"; import {JobController} from "../decorators/index.js"; -import {Queue} from "bullmq"; -import {instance, mock, verify, when, objectContaining, capture, anything, spy} from "ts-mockito"; +import {JobDispatcher} from "./JobDispatcher.js"; @JobController("example-job-with-custom-id-from-job-methods") class ExampleJobWithCustomJobIdFromJobMethods implements JobMethods { diff --git a/packages/third-parties/bullmq/src/dispatchers/JobDispatcher.ts b/packages/third-parties/bullmq/src/dispatchers/JobDispatcher.ts index c6b409f3fd9..355158ccf76 100644 --- a/packages/third-parties/bullmq/src/dispatchers/JobDispatcher.ts +++ b/packages/third-parties/bullmq/src/dispatchers/JobDispatcher.ts @@ -1,7 +1,7 @@ -/* eslint-disable require-await */ import {Store, Type} from "@tsed/core"; import {Injectable, InjectorService} from "@tsed/di"; import {Job as BullMQJob, JobsOptions, Queue} from "bullmq"; + import {BULLMQ} from "../constants/constants.js"; import {JobMethods, type JobStore} from "../contracts/index.js"; import {getJobToken} from "../utils/getJobToken.js"; diff --git a/packages/third-parties/bullmq/src/utils/createQueueProvider.ts b/packages/third-parties/bullmq/src/utils/createQueueProvider.ts index a0e36ad3a93..29aa7ae655c 100644 --- a/packages/third-parties/bullmq/src/utils/createQueueProvider.ts +++ b/packages/third-parties/bullmq/src/utils/createQueueProvider.ts @@ -1,5 +1,6 @@ import {InjectorService} from "@tsed/di"; import {Queue, QueueOptions} from "bullmq"; + import {BullMQTypes} from "../constants/BullMQTypes.js"; import {getQueueToken} from "./getQueueToken.js"; diff --git a/packages/third-parties/bullmq/src/utils/createWorkerProvider.ts b/packages/third-parties/bullmq/src/utils/createWorkerProvider.ts index bad468ebc5b..4b9fa3aac51 100644 --- a/packages/third-parties/bullmq/src/utils/createWorkerProvider.ts +++ b/packages/third-parties/bullmq/src/utils/createWorkerProvider.ts @@ -1,5 +1,6 @@ import {InjectorService} from "@tsed/di"; import {Job, Worker, WorkerOptions} from "bullmq"; + import {BullMQTypes} from "../constants/BullMQTypes.js"; import {getWorkerToken} from "./getWorkerToken.js"; diff --git a/packages/third-parties/bullmq/src/utils/mapQueueOptions.ts b/packages/third-parties/bullmq/src/utils/mapQueueOptions.ts index b671fc7cc14..a8bf5dd757f 100644 --- a/packages/third-parties/bullmq/src/utils/mapQueueOptions.ts +++ b/packages/third-parties/bullmq/src/utils/mapQueueOptions.ts @@ -1,12 +1,12 @@ import {deepMerge} from "@tsed/core"; import type {QueueOptions} from "bullmq"; + import {BullMQConfig} from "../config/config.js"; export function mapQueueOptions(queue: string, bullMQConfig: BullMQConfig): QueueOptions { return deepMerge( { connection: bullMQConfig.connection, - defaultJobOptions: bullMQConfig.defaultJobOptions, ...bullMQConfig.defaultQueueOptions }, bullMQConfig.queueOptions?.[queue] diff --git a/packages/third-parties/bullmq/src/utils/mapWorkerOptions.ts b/packages/third-parties/bullmq/src/utils/mapWorkerOptions.ts index 3c5cc82f8be..ca8440c371c 100644 --- a/packages/third-parties/bullmq/src/utils/mapWorkerOptions.ts +++ b/packages/third-parties/bullmq/src/utils/mapWorkerOptions.ts @@ -1,5 +1,6 @@ import {deepMerge} from "@tsed/core"; import type {WorkerOptions} from "bullmq"; + import {BullMQConfig} from "../config/config.js"; export function mapWorkerOptions(queue: string, bullMQConfig: BullMQConfig): WorkerOptions { diff --git a/packages/third-parties/bullmq/tsconfig.cjs.json b/packages/third-parties/bullmq/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/third-parties/bullmq/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/bullmq/tsconfig.esm.json b/packages/third-parties/bullmq/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/third-parties/bullmq/tsconfig.esm.json +++ b/packages/third-parties/bullmq/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/third-parties/bullmq/tsconfig.json b/packages/third-parties/bullmq/tsconfig.json index 89ec5fbddca..3f1a761d34b 100644 --- a/packages/third-parties/bullmq/tsconfig.json +++ b/packages/third-parties/bullmq/tsconfig.json @@ -18,9 +18,6 @@ { "path": "../../specs/schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/third-parties/bullmq/tsconfig.spec.json b/packages/third-parties/bullmq/tsconfig.spec.json index b2e248f2c69..df5434b7af1 100644 --- a/packages/third-parties/bullmq/tsconfig.spec.json +++ b/packages/third-parties/bullmq/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/third-parties/bullmq/vitest.config.mts b/packages/third-parties/bullmq/vitest.config.mts index d759e817941..f974fc8a8aa 100644 --- a/packages/third-parties/bullmq/vitest.config.mts +++ b/packages/third-parties/bullmq/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 98.93, + branches: 98.55, + functions: 100, + lines: 98.93 } } } } -); +); \ No newline at end of file diff --git a/packages/third-parties/components-scan/package.json b/packages/third-parties/components-scan/package.json index 7a273d226fc..41848cc57a0 100644 --- a/packages/third-parties/components-scan/package.json +++ b/packages/third-parties/components-scan/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/components-scan", "description": "Components scan utilities for Ts.ED Framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -24,20 +23,20 @@ }, "dependencies": { "@tsed/normalize-path": "workspace:*", - "globby": "11.1.0", - "tslib": "2.6.1" + "globby": "^14.0.2", + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", "@tsed/core": "workspace:*", "@tsed/di": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/core": "7.83.3" + "@tsed/core": "8.0.0-alpha.10" }, "peerDependenciesMeta": { "@tsed/core": { diff --git a/packages/third-parties/components-scan/src/__mock__/module1/Module1.ts b/packages/third-parties/components-scan/src/__mock__/module1/Module1.ts index b11f274fed0..7ef951e3dc1 100644 --- a/packages/third-parties/components-scan/src/__mock__/module1/Module1.ts +++ b/packages/third-parties/components-scan/src/__mock__/module1/Module1.ts @@ -1,6 +1,7 @@ -import {SubModule} from "./submodule/SubModule.js"; import {Module} from "@tsed/di"; + import {M1Ctrl1} from "./controllers/M1Ctrl1.js"; +import {SubModule} from "./submodule/SubModule.js"; @Module({ mount: { diff --git a/packages/third-parties/components-scan/src/__mock__/module1/controllers/M1Ctrl1.ts b/packages/third-parties/components-scan/src/__mock__/module1/controllers/M1Ctrl1.ts index 9df9d6d10ee..7c387877f6a 100644 --- a/packages/third-parties/components-scan/src/__mock__/module1/controllers/M1Ctrl1.ts +++ b/packages/third-parties/components-scan/src/__mock__/module1/controllers/M1Ctrl1.ts @@ -1,4 +1,5 @@ import {Controller} from "@tsed/di"; + import {M1Service} from "../services/M1Service.js"; @Controller("/m1") diff --git a/packages/third-parties/components-scan/src/__mock__/module1/services/M1Service.ts b/packages/third-parties/components-scan/src/__mock__/module1/services/M1Service.ts index 492b676997a..0da88b4618d 100644 --- a/packages/third-parties/components-scan/src/__mock__/module1/services/M1Service.ts +++ b/packages/third-parties/components-scan/src/__mock__/module1/services/M1Service.ts @@ -1,4 +1,5 @@ import {Injectable} from "@tsed/di"; + import {SubService} from "../submodule/SubService.js"; @Injectable() diff --git a/packages/third-parties/components-scan/src/__mock__/module1/submodule/SubModule.ts b/packages/third-parties/components-scan/src/__mock__/module1/submodule/SubModule.ts index ef297540849..980c2d10095 100644 --- a/packages/third-parties/components-scan/src/__mock__/module1/submodule/SubModule.ts +++ b/packages/third-parties/components-scan/src/__mock__/module1/submodule/SubModule.ts @@ -1,4 +1,5 @@ import {Module} from "@tsed/di"; + import {SubService} from "./SubService.js"; @Module({ diff --git a/packages/third-parties/components-scan/src/__mock__/module2/Module2.ts b/packages/third-parties/components-scan/src/__mock__/module2/Module2.ts index 2b6c78c8253..15b97098d00 100644 --- a/packages/third-parties/components-scan/src/__mock__/module2/Module2.ts +++ b/packages/third-parties/components-scan/src/__mock__/module2/Module2.ts @@ -1,4 +1,5 @@ import {Module} from "@tsed/di"; + import {M2Ctrl} from "./controllers/M2Ctrl.js"; @Module({ diff --git a/packages/third-parties/components-scan/src/cleanGlobPatterns.spec.ts b/packages/third-parties/components-scan/src/cleanGlobPatterns.spec.ts index ad5fa1e47b6..9d12767cfd3 100644 --- a/packages/third-parties/components-scan/src/cleanGlobPatterns.spec.ts +++ b/packages/third-parties/components-scan/src/cleanGlobPatterns.spec.ts @@ -13,7 +13,7 @@ describe("cleanGlobPatterns()", () => { expect(cleanGlobPatterns("file.ts", ["!**.spec.ts"])[0]).toContain("file.js"); }); - it("should return file.js", () => { + it("should return file.ts,js", () => { expect(cleanGlobPatterns("file{.ts,.js}", ["!**.spec.ts"])[0]).toContain("file.js"); }); diff --git a/packages/third-parties/components-scan/src/cleanGlobPatterns.ts b/packages/third-parties/components-scan/src/cleanGlobPatterns.ts index e98aecf8355..2243b2d4d53 100644 --- a/packages/third-parties/components-scan/src/cleanGlobPatterns.ts +++ b/packages/third-parties/components-scan/src/cleanGlobPatterns.ts @@ -1,7 +1,8 @@ -import {resolve} from "path"; -import {isTsEnv} from "./isTsEnv.js"; // @ts-ignore import {normalizePath} from "@tsed/normalize-path"; +import {resolve} from "path"; + +import {isTsEnv} from "./isTsEnv.js"; function mapExcludes(excludes: string[]) { return excludes.map((s: string) => `!${s.replace(/!/gi, "")}`); diff --git a/packages/third-parties/components-scan/src/importFiles.spec.ts b/packages/third-parties/components-scan/src/importFiles.spec.ts index 5a050d54b0f..d31038dc017 100644 --- a/packages/third-parties/components-scan/src/importFiles.spec.ts +++ b/packages/third-parties/components-scan/src/importFiles.spec.ts @@ -1,9 +1,10 @@ import {join} from "path"; + import {Test1} from "./__mock__/Test1.js"; import {Test2} from "./__mock__/Test2.js"; import {importFiles} from "./importFiles.js"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build describe("importFiles", () => { it("should import symbols", async () => { diff --git a/packages/third-parties/components-scan/src/importFiles.ts b/packages/third-parties/components-scan/src/importFiles.ts index bcd3c0ec0c6..1823c60f403 100644 --- a/packages/third-parties/components-scan/src/importFiles.ts +++ b/packages/third-parties/components-scan/src/importFiles.ts @@ -1,8 +1,9 @@ import {importPackage} from "@tsed/core"; + import {cleanGlobPatterns} from "./cleanGlobPatterns.js"; export async function importFiles(patterns: string | string[], exclude: string[]): Promise { - const {default: globby} = await import("globby"); + const {globby} = await import("globby"); const files = await globby(cleanGlobPatterns(patterns, exclude)); const symbols: any[] = []; diff --git a/packages/third-parties/components-scan/src/importProviders.spec.ts b/packages/third-parties/components-scan/src/importProviders.spec.ts index 6297014aca4..b3b3b0be8cb 100644 --- a/packages/third-parties/components-scan/src/importProviders.spec.ts +++ b/packages/third-parties/components-scan/src/importProviders.spec.ts @@ -1,8 +1,9 @@ import {nameOf} from "@tsed/core"; import {resolveControllers} from "@tsed/di"; + import {importProviders} from "./importProviders.js"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build describe("importProviders", () => { it("should load providers and merge configuration", async () => { diff --git a/packages/third-parties/components-scan/src/importProviders.ts b/packages/third-parties/components-scan/src/importProviders.ts index c9bf626c224..b95cc360546 100644 --- a/packages/third-parties/components-scan/src/importProviders.ts +++ b/packages/third-parties/components-scan/src/importProviders.ts @@ -1,5 +1,6 @@ -import {GlobalProviders, ProviderType} from "@tsed/di"; import {isArray, isClass, isString} from "@tsed/core"; +import {GlobalProviders, ProviderType} from "@tsed/di"; + import {importFiles} from "./importFiles.js"; const lookup = ["imports", "componentsScan", "mount"]; diff --git a/packages/third-parties/components-scan/tsconfig.cjs.json b/packages/third-parties/components-scan/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/third-parties/components-scan/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/components-scan/tsconfig.esm.json b/packages/third-parties/components-scan/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/third-parties/components-scan/tsconfig.esm.json +++ b/packages/third-parties/components-scan/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/third-parties/components-scan/tsconfig.json b/packages/third-parties/components-scan/tsconfig.json index b2db1cddcf2..5c4ed14eb23 100644 --- a/packages/third-parties/components-scan/tsconfig.json +++ b/packages/third-parties/components-scan/tsconfig.json @@ -15,9 +15,6 @@ { "path": "../../utils/normalize-path/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/third-parties/components-scan/tsconfig.spec.json b/packages/third-parties/components-scan/tsconfig.spec.json index 866be5b0238..a18c83a17ad 100644 --- a/packages/third-parties/components-scan/tsconfig.spec.json +++ b/packages/third-parties/components-scan/tsconfig.spec.json @@ -3,34 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/third-parties/event-emitter/package.json b/packages/third-parties/event-emitter/package.json index 15b6a5d1dd8..24a6142c913 100644 --- a/packages/third-parties/event-emitter/package.json +++ b/packages/third-parties/event-emitter/package.json @@ -1,15 +1,15 @@ { "name": "@tsed/event-emitter", "description": "EventEmitter package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "contributors": [ { "name": "Oliver Christen" } ], "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "browser": "./lib/browser/event-emitter.umd.min.js", @@ -18,8 +18,7 @@ "types": "./lib/types/index.d.ts", "browser": "./lib/browser/event-emitter.umd.min.js", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -31,7 +30,7 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -39,10 +38,10 @@ "@tsed/core": "workspace:*", "@tsed/di": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", + "eslint": "9.12.0", "eventemitter2": "^6.4.9", - "typescript": "4.9.5", - "vitest": "2.0.4", + "typescript": "5.4.5", + "vitest": "2.1.2", "webpack": "^5.75.0" }, "peerDependencies": { diff --git a/packages/third-parties/event-emitter/src/EventEmitterModule.ts b/packages/third-parties/event-emitter/src/EventEmitterModule.ts index e1abc06428a..fe0aefddf7a 100644 --- a/packages/third-parties/event-emitter/src/EventEmitterModule.ts +++ b/packages/third-parties/event-emitter/src/EventEmitterModule.ts @@ -1,5 +1,6 @@ import {Constant, Inject, InjectorService, LOGGER, Module, Provider} from "@tsed/di"; import {ListenerFn} from "eventemitter2"; + import {EventEmitterStore} from "./interfaces/EventEmitterStore.js"; import {EventEmitterService} from "./services/EventEmitterFactory.js"; diff --git a/packages/third-parties/event-emitter/src/decorators/onAny.spec.ts b/packages/third-parties/event-emitter/src/decorators/onAny.spec.ts index fefc704aa64..5cadcbdefb0 100644 --- a/packages/third-parties/event-emitter/src/decorators/onAny.spec.ts +++ b/packages/third-parties/event-emitter/src/decorators/onAny.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {OnAny} from "./onAny.js"; describe("@OnAny()", () => { diff --git a/packages/third-parties/event-emitter/src/decorators/onAny.ts b/packages/third-parties/event-emitter/src/decorators/onAny.ts index dceecb7ff53..877bfc23e90 100644 --- a/packages/third-parties/event-emitter/src/decorators/onAny.ts +++ b/packages/third-parties/event-emitter/src/decorators/onAny.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {EventEmitterStore} from "../interfaces/EventEmitterStore.js"; export function OnAny(): MethodDecorator { diff --git a/packages/third-parties/event-emitter/src/decorators/onEvent.spec.ts b/packages/third-parties/event-emitter/src/decorators/onEvent.spec.ts index 4a50aedb23a..e4e2576d8c2 100644 --- a/packages/third-parties/event-emitter/src/decorators/onEvent.spec.ts +++ b/packages/third-parties/event-emitter/src/decorators/onEvent.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {OnEvent} from "../decorators/onEvent.js"; describe("@OnEvent()", () => { diff --git a/packages/third-parties/event-emitter/src/decorators/onEvent.ts b/packages/third-parties/event-emitter/src/decorators/onEvent.ts index 2409e71d17d..1d58809a3ad 100644 --- a/packages/third-parties/event-emitter/src/decorators/onEvent.ts +++ b/packages/third-parties/event-emitter/src/decorators/onEvent.ts @@ -1,5 +1,6 @@ import {Store} from "@tsed/core"; import {event, eventNS, OnOptions} from "eventemitter2"; + import {EventEmitterStore} from "../interfaces/EventEmitterStore.js"; export function OnEvent(event: event | eventNS, options?: boolean | OnOptions): MethodDecorator { diff --git a/packages/third-parties/event-emitter/src/services/EventEmitterFactory.ts b/packages/third-parties/event-emitter/src/services/EventEmitterFactory.ts index fe7eddaabd4..785ca51f069 100644 --- a/packages/third-parties/event-emitter/src/services/EventEmitterFactory.ts +++ b/packages/third-parties/event-emitter/src/services/EventEmitterFactory.ts @@ -1,6 +1,6 @@ import {Configuration, registerProvider} from "@tsed/di"; import type {ConstructorOptions} from "eventemitter2"; -import EventEmitter2 from "eventemitter2"; +import {EventEmitter2} from "eventemitter2"; export const EventEmitterService = EventEmitter2; export type EventEmitterService = EventEmitter2; diff --git a/packages/third-parties/event-emitter/test/helpers/Server.ts b/packages/third-parties/event-emitter/test/helpers/Server.ts index 3d33e4a5d62..d39314cc7fd 100644 --- a/packages/third-parties/event-emitter/test/helpers/Server.ts +++ b/packages/third-parties/event-emitter/test/helpers/Server.ts @@ -1,13 +1,13 @@ +import "@tsed/platform-express"; +import "../../src/EventEmitterModule.js"; + import {Configuration, Inject, PlatformApplication} from "@tsed/common"; import bodyParser from "body-parser"; import compress from "compression"; - import cookieParser from "cookie-parser"; import methodOverride from "method-override"; -import "@tsed/platform-express"; -import "../../src/EventEmitterModule"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build @Configuration({ rootDir, diff --git a/packages/third-parties/event-emitter/test/integration.spec.ts b/packages/third-parties/event-emitter/test/integration.spec.ts index 1d870020f69..1f6cabf10ac 100644 --- a/packages/third-parties/event-emitter/test/integration.spec.ts +++ b/packages/third-parties/event-emitter/test/integration.spec.ts @@ -1,4 +1,5 @@ import {Injectable, PlatformTest} from "@tsed/common"; + import {OnAny} from "../src/decorators/onAny.js"; import {OnEvent} from "../src/decorators/onEvent.js"; import {EventEmitterModule} from "../src/EventEmitterModule.js"; @@ -35,7 +36,7 @@ describe("EventEmitter integration", () => { describe("enabled", () => { beforeEach(async () => { vi.spyOn(Test.prototype, "test").mockReturnValue(); - vi.spyOn(Test.prototype, "test2").mockReturnValue(); + vi.spyOn(Test.prototype, "test2").mockResolvedValue(23); vi.spyOn(TestTwo.prototype, "test3").mockReturnValue(); vi.spyOn(TestTwo.prototype, "test4").mockReturnValue(); vi.spyOn(EventEmitterModule.prototype, "printEvents").mockReturnValue(); diff --git a/packages/third-parties/event-emitter/tsconfig.cjs.json b/packages/third-parties/event-emitter/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/third-parties/event-emitter/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/event-emitter/tsconfig.esm.json b/packages/third-parties/event-emitter/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/third-parties/event-emitter/tsconfig.esm.json +++ b/packages/third-parties/event-emitter/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/third-parties/event-emitter/tsconfig.json b/packages/third-parties/event-emitter/tsconfig.json index 2dbe3ec968d..4540f314a24 100644 --- a/packages/third-parties/event-emitter/tsconfig.json +++ b/packages/third-parties/event-emitter/tsconfig.json @@ -15,9 +15,6 @@ { "path": "../../di/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/third-parties/event-emitter/tsconfig.spec.json b/packages/third-parties/event-emitter/tsconfig.spec.json index b2e248f2c69..df5434b7af1 100644 --- a/packages/third-parties/event-emitter/tsconfig.spec.json +++ b/packages/third-parties/event-emitter/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/third-parties/event-emitter/vitest.config.mts b/packages/third-parties/event-emitter/vitest.config.mts index d759e817941..2cf728e554b 100644 --- a/packages/third-parties/event-emitter/vitest.config.mts +++ b/packages/third-parties/event-emitter/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 80, + branches: 96, + functions: 83.33, + lines: 80 } } } } -); +); \ No newline at end of file diff --git a/packages/third-parties/event-emitter/webpack.config.js b/packages/third-parties/event-emitter/webpack.config.cjs similarity index 100% rename from packages/third-parties/event-emitter/webpack.config.js rename to packages/third-parties/event-emitter/webpack.config.cjs diff --git a/packages/third-parties/formio-types/package.json b/packages/third-parties/formio-types/package.json index 91afbcbb999..5c7535aad67 100644 --- a/packages/third-parties/formio-types/package.json +++ b/packages/third-parties/formio-types/package.json @@ -1,8 +1,8 @@ { "name": "@tsed/formio-types", - "version": "7.83.3", "description": "Formio types definition package for Ts.ED framework", - "type": "commonjs", + "type": "module", + "version": "8.0.0-alpha.10", "keywords": [ "Formio", "Ts.ED", @@ -12,15 +12,14 @@ "express" ], "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -30,7 +29,7 @@ "build:ts": "tsc --build tsconfig.json" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "peerDependencies": { "formiojs": ">=4.0.0" @@ -38,7 +37,7 @@ "devDependencies": { "@tsed/barrels": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5" + "eslint": "9.12.0", + "typescript": "5.4.5" } } diff --git a/packages/third-parties/formio-types/src/domain/FormioComponent.ts b/packages/third-parties/formio-types/src/domain/FormioComponent.ts index 678381d599f..721e8495a40 100644 --- a/packages/third-parties/formio-types/src/domain/FormioComponent.ts +++ b/packages/third-parties/formio-types/src/domain/FormioComponent.ts @@ -1,6 +1,7 @@ -import {FormioForm} from "./FormioForm.js"; import type {ExtendedComponentSchema} from "formiojs"; +import {FormioForm} from "./FormioForm.js"; + export interface FormioComponent extends ExtendedComponentSchema { type: string; key: string; diff --git a/packages/third-parties/formio-types/tsconfig.cjs.json b/packages/third-parties/formio-types/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/third-parties/formio-types/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/formio-types/tsconfig.esm.json b/packages/third-parties/formio-types/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/third-parties/formio-types/tsconfig.esm.json +++ b/packages/third-parties/formio-types/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/third-parties/formio-types/tsconfig.json b/packages/third-parties/formio-types/tsconfig.json index 85b162f8ee8..7529eb44635 100644 --- a/packages/third-parties/formio-types/tsconfig.json +++ b/packages/third-parties/formio-types/tsconfig.json @@ -6,9 +6,6 @@ }, "include": [], "references": [ - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" } diff --git a/packages/third-parties/formio/package.json b/packages/third-parties/formio/package.json index 44d9d42ec76..42a118bdd20 100644 --- a/packages/third-parties/formio/package.json +++ b/packages/third-parties/formio/package.json @@ -1,8 +1,8 @@ { "name": "@tsed/formio", "description": "Formio package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "keywords": [ "Formio", "Ts.ED", @@ -12,15 +12,14 @@ "express" ], "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -34,7 +33,7 @@ "dependencies": { "@tsed/formio-types": "workspace:*", "@tsed/normalize-path": "workspace:*", - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -44,21 +43,21 @@ "@tsed/mongoose": "workspace:*", "@tsed/typescript": "workspace:*", "@types/async": "3.2.24", - "eslint": "^8.57.0", - "express": "^4.19.1", - "formio": "3.5.0", - "mongodb": "*", - "mongoose": "^6.12.7", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "express": "^4.21.0", + "formio": "4.2.5", + "mongodb": "^6.9.0", + "mongoose": "8.7.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/common": "7.83.3", + "@tsed/common": "8.0.0-alpha.10", "express": "^4.17.1", "formio": ">=2.0.0", "lodash": "^4.17.21", "mongodb": "*", - "mongoose": "^6.1.7" + "mongoose": "^8.7.0" }, "peerDependenciesMeta": { "@tsed/common": { diff --git a/packages/third-parties/formio/src/FormioModule.spec.ts b/packages/third-parties/formio/src/FormioModule.spec.ts index 71b4753db15..cfbd16c09ca 100644 --- a/packages/third-parties/formio/src/FormioModule.spec.ts +++ b/packages/third-parties/formio/src/FormioModule.spec.ts @@ -1,5 +1,6 @@ -import faker from "@faker-js/faker"; +import {faker} from "@faker-js/faker"; import {PlatformApplication, PlatformRouteDetails, PlatformTest} from "@tsed/common"; + import {FormioModule} from "./FormioModule.js"; import {FormioInstaller} from "./services/FormioInstaller.js"; import {FormioService} from "./services/FormioService.js"; @@ -103,7 +104,7 @@ describe("FormioModule", () => { method: "get", methodClassName: "operationId", name: "operationId", - url: "/path/to" + url: "/projects/path/to" } ]); }); diff --git a/packages/third-parties/formio/src/FormioModule.ts b/packages/third-parties/formio/src/FormioModule.ts index 0b4dc57f7ad..4da3b0e8a89 100644 --- a/packages/third-parties/formio/src/FormioModule.ts +++ b/packages/third-parties/formio/src/FormioModule.ts @@ -2,6 +2,7 @@ import {Constant, Inject, InjectorService, OnReady, OnRoutesInit, PlatformApplic import {deepClone} from "@tsed/core"; import {Module} from "@tsed/di"; import {normalizePath} from "@tsed/normalize-path"; + import {AlterActions} from "./components/AlterActions.js"; import {AlterAudit} from "./components/AlterAudit.js"; import {AlterHost} from "./components/AlterHost.js"; diff --git a/packages/third-parties/formio/src/builder/FormioMapper.spec.ts b/packages/third-parties/formio/src/builder/FormioMapper.spec.ts index a44553fdf7b..555efd39736 100644 --- a/packages/third-parties/formio/src/builder/FormioMapper.spec.ts +++ b/packages/third-parties/formio/src/builder/FormioMapper.spec.ts @@ -1,5 +1,6 @@ import {toMap as tMap} from "@tsed/core"; import {MongooseDocument} from "@tsed/mongoose"; + import {FormioMapper} from "./FormioMapper.js"; function toMap(list: any[]) { diff --git a/packages/third-parties/formio/src/components/AlterActions.spec.ts b/packages/third-parties/formio/src/components/AlterActions.spec.ts index 8c324c21a04..c389612cbae 100644 --- a/packages/third-parties/formio/src/components/AlterActions.spec.ts +++ b/packages/third-parties/formio/src/components/AlterActions.spec.ts @@ -1,6 +1,7 @@ import {Context, PlatformContext, PlatformTest} from "@tsed/common"; import {BadRequest} from "@tsed/exceptions"; import {FormioActionInfo, FormioComponent} from "@tsed/formio-types"; + import {Action} from "../decorators/action.js"; import {ActionCtx} from "../decorators/actionCtx.js"; import {ActionMethods} from "../domain/FormioAction.js"; diff --git a/packages/third-parties/formio/src/components/AlterActions.ts b/packages/third-parties/formio/src/components/AlterActions.ts index a7390a81cb6..6d4f5110327 100644 --- a/packages/third-parties/formio/src/components/AlterActions.ts +++ b/packages/third-parties/formio/src/components/AlterActions.ts @@ -5,6 +5,7 @@ import {FormioActionInfo} from "@tsed/formio-types"; import {PlatformParams} from "@tsed/platform-params"; import {PlatformResponseFilter} from "@tsed/platform-response-filter"; import {EndpointMetadata} from "@tsed/schema"; + import {Alter} from "../decorators/alter.js"; import {AlterHook} from "../domain/AlterHook.js"; import {SetActionItemMessage} from "../domain/FormioAction.js"; diff --git a/packages/third-parties/formio/src/components/AlterAudit.spec.ts b/packages/third-parties/formio/src/components/AlterAudit.spec.ts index 56b5f525b60..2c3b2ecef44 100644 --- a/packages/third-parties/formio/src/components/AlterAudit.spec.ts +++ b/packages/third-parties/formio/src/components/AlterAudit.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {AlterAudit} from "./AlterAudit.js"; describe("AlterAudit", () => { diff --git a/packages/third-parties/formio/src/components/AlterAudit.ts b/packages/third-parties/formio/src/components/AlterAudit.ts index e0fbe260f8c..157de179f5f 100644 --- a/packages/third-parties/formio/src/components/AlterAudit.ts +++ b/packages/third-parties/formio/src/components/AlterAudit.ts @@ -1,4 +1,5 @@ import {DIContext} from "@tsed/di"; + import {Alter} from "../decorators/alter.js"; import {AlterHook} from "../domain/AlterHook.js"; diff --git a/packages/third-parties/formio/src/components/AlterHost.spec.ts b/packages/third-parties/formio/src/components/AlterHost.spec.ts index 76722bd6f6d..ea6a3d7e999 100644 --- a/packages/third-parties/formio/src/components/AlterHost.spec.ts +++ b/packages/third-parties/formio/src/components/AlterHost.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {AlterHost} from "./AlterHost.js"; describe("AlterHost", () => { diff --git a/packages/third-parties/formio/src/components/AlterHost.ts b/packages/third-parties/formio/src/components/AlterHost.ts index 6a811ef7ca4..47360232fed 100644 --- a/packages/third-parties/formio/src/components/AlterHost.ts +++ b/packages/third-parties/formio/src/components/AlterHost.ts @@ -1,4 +1,5 @@ import {PlatformContext} from "@tsed/common"; + import {Alter} from "../decorators/alter.js"; import {AlterHook} from "../domain/AlterHook.js"; diff --git a/packages/third-parties/formio/src/components/AlterLog.spec.ts b/packages/third-parties/formio/src/components/AlterLog.spec.ts index de98a484c76..20b64a55a4d 100644 --- a/packages/third-parties/formio/src/components/AlterLog.spec.ts +++ b/packages/third-parties/formio/src/components/AlterLog.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {AlterLog} from "./AlterLog.js"; describe("AlterLog", () => { diff --git a/packages/third-parties/formio/src/components/AlterLog.ts b/packages/third-parties/formio/src/components/AlterLog.ts index 20f722592ae..f1e56e12399 100644 --- a/packages/third-parties/formio/src/components/AlterLog.ts +++ b/packages/third-parties/formio/src/components/AlterLog.ts @@ -1,4 +1,5 @@ import {PlatformContext} from "@tsed/common"; + import {Alter} from "../decorators/alter.js"; import {AlterHook} from "../domain/AlterHook.js"; diff --git a/packages/third-parties/formio/src/components/AlterSkip.spec.ts b/packages/third-parties/formio/src/components/AlterSkip.spec.ts index ece2d282e3e..88a4c48f7ab 100644 --- a/packages/third-parties/formio/src/components/AlterSkip.spec.ts +++ b/packages/third-parties/formio/src/components/AlterSkip.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {AlterSkip} from "./AlterSkip.js"; describe("AlterSkip", () => { diff --git a/packages/third-parties/formio/src/components/AlterSkip.ts b/packages/third-parties/formio/src/components/AlterSkip.ts index b09cd9687fe..7ee91a15f7d 100644 --- a/packages/third-parties/formio/src/components/AlterSkip.ts +++ b/packages/third-parties/formio/src/components/AlterSkip.ts @@ -1,5 +1,6 @@ import {Constant, PlatformContext} from "@tsed/common"; import {normalizePath} from "@tsed/normalize-path"; + import {Alter} from "../decorators/alter.js"; import {AlterHook} from "../domain/AlterHook.js"; diff --git a/packages/third-parties/formio/src/components/AlterTemplateExportSteps.spec.ts b/packages/third-parties/formio/src/components/AlterTemplateExportSteps.spec.ts index e74fb6857f7..8d5060950b5 100644 --- a/packages/third-parties/formio/src/components/AlterTemplateExportSteps.spec.ts +++ b/packages/third-parties/formio/src/components/AlterTemplateExportSteps.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {FormioDatabase} from "../services/FormioDatabase.js"; import {AlterTemplateExportSteps} from "./AlterTemplateExportSteps.js"; diff --git a/packages/third-parties/formio/src/components/AlterTemplateExportSteps.ts b/packages/third-parties/formio/src/components/AlterTemplateExportSteps.ts index c6be01fc53d..d55d84e8eec 100644 --- a/packages/third-parties/formio/src/components/AlterTemplateExportSteps.ts +++ b/packages/third-parties/formio/src/components/AlterTemplateExportSteps.ts @@ -1,13 +1,14 @@ import {getValue} from "@tsed/core"; import {Inject} from "@tsed/di"; import {MongooseDocument} from "@tsed/mongoose"; +import async from "async"; + import {FormioMapper} from "../builder/FormioMapper.js"; import {Alter} from "../decorators/alter.js"; import {AlterHook} from "../domain/AlterHook.js"; import {FormioSubmission} from "../domain/FormioModels.js"; import {FormioTemplate} from "../domain/FormioTemplate.js"; import {FormioDatabase} from "../services/FormioDatabase.js"; -import async from "async"; @Alter("templateExportSteps") export class AlterTemplateExportSteps implements AlterHook { diff --git a/packages/third-parties/formio/src/components/AlterTemplateImportSteps.spec.ts b/packages/third-parties/formio/src/components/AlterTemplateImportSteps.spec.ts index ee447fb5b58..b3d38c36b4d 100644 --- a/packages/third-parties/formio/src/components/AlterTemplateImportSteps.spec.ts +++ b/packages/third-parties/formio/src/components/AlterTemplateImportSteps.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {FormioDatabase} from "../services/FormioDatabase.js"; import {AlterTemplateImportSteps} from "./AlterTemplateImportSteps.js"; diff --git a/packages/third-parties/formio/src/components/AlterTemplateImportSteps.ts b/packages/third-parties/formio/src/components/AlterTemplateImportSteps.ts index 02074a2dcac..4cbd5627b24 100644 --- a/packages/third-parties/formio/src/components/AlterTemplateImportSteps.ts +++ b/packages/third-parties/formio/src/components/AlterTemplateImportSteps.ts @@ -1,11 +1,12 @@ import {Inject} from "@tsed/di"; +import async from "async"; + import {FormioMapper} from "../builder/FormioMapper.js"; import {Alter} from "../decorators/alter.js"; import {AlterHook} from "../domain/AlterHook.js"; import {FormioSubmission} from "../domain/FormioModels.js"; import {FormioTemplate} from "../domain/FormioTemplate.js"; import {FormioDatabase} from "../services/FormioDatabase.js"; -import async from "async"; @Alter("templateImportSteps") export class AlterTemplateImportSteps implements AlterHook { diff --git a/packages/third-parties/formio/src/decorators/action.ts b/packages/third-parties/formio/src/decorators/action.ts index 3cbe6831642..407b0cf1b28 100644 --- a/packages/third-parties/formio/src/decorators/action.ts +++ b/packages/third-parties/formio/src/decorators/action.ts @@ -8,10 +8,13 @@ import {FormioActionInfo} from "@tsed/formio-types"; * @decorator */ export function Action(options: FormioActionInfo): ClassDecorator { - return useDecorators((target: any) => { - registerProvider({ - provide: target, - type: "formio:action" - }); - }, StoreSet("formio:action", options)); + return useDecorators( + (target: any) => { + registerProvider({ + provide: target, + type: "formio:action" + }); + }, + StoreSet("formio:action", options) + ); } diff --git a/packages/third-parties/formio/src/decorators/actionCtx.spec.ts b/packages/third-parties/formio/src/decorators/actionCtx.spec.ts index c5e0202939b..3118ecc2c1d 100644 --- a/packages/third-parties/formio/src/decorators/actionCtx.spec.ts +++ b/packages/third-parties/formio/src/decorators/actionCtx.spec.ts @@ -1,6 +1,7 @@ -import {ActionCtx} from "./actionCtx.js"; import {JsonParameterStore} from "@tsed/schema"; +import {ActionCtx} from "./actionCtx.js"; + describe("@ActionCtx", () => { it("should inject ActionCtx", () => { class CustomAction { diff --git a/packages/third-parties/formio/src/decorators/actionCtx.ts b/packages/third-parties/formio/src/decorators/actionCtx.ts index f30cbbbe62c..e026b237dc5 100644 --- a/packages/third-parties/formio/src/decorators/actionCtx.ts +++ b/packages/third-parties/formio/src/decorators/actionCtx.ts @@ -1,7 +1,8 @@ import {Context} from "@tsed/common"; -import {SetActionItemMessage} from "../domain/FormioAction.js"; import {FormioAction} from "@tsed/formio-types"; +import {SetActionItemMessage} from "../domain/FormioAction.js"; + /** * Return the current action context with the following data: * diff --git a/packages/third-parties/formio/src/decorators/alter.spec.ts b/packages/third-parties/formio/src/decorators/alter.spec.ts index 1939d4d5112..a18a810974a 100644 --- a/packages/third-parties/formio/src/decorators/alter.spec.ts +++ b/packages/third-parties/formio/src/decorators/alter.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {AlterHook} from "../domain/AlterHook.js"; import {Alter} from "./alter.js"; diff --git a/packages/third-parties/formio/src/decorators/alter.ts b/packages/third-parties/formio/src/decorators/alter.ts index cdb9b823f3c..6ba707e38d6 100644 --- a/packages/third-parties/formio/src/decorators/alter.ts +++ b/packages/third-parties/formio/src/decorators/alter.ts @@ -7,10 +7,13 @@ import {registerProvider} from "@tsed/di"; * @constructor */ export function Alter(name: string): ClassDecorator { - return useDecorators((target: any) => { - registerProvider({ - provide: target, - type: "formio:alter" - }); - }, StoreSet("formio:alter:name", name)); + return useDecorators( + (target: any) => { + registerProvider({ + provide: target, + type: "formio:alter" + }); + }, + StoreSet("formio:alter:name", name) + ); } diff --git a/packages/third-parties/formio/src/decorators/on.spec.ts b/packages/third-parties/formio/src/decorators/on.spec.ts index 36955b1e94f..076972dbf02 100644 --- a/packages/third-parties/formio/src/decorators/on.spec.ts +++ b/packages/third-parties/formio/src/decorators/on.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {OnHook} from "../domain/OnHook.js"; import {On} from "./on.js"; diff --git a/packages/third-parties/formio/src/decorators/on.ts b/packages/third-parties/formio/src/decorators/on.ts index d26907217fe..2b91e6808b8 100644 --- a/packages/third-parties/formio/src/decorators/on.ts +++ b/packages/third-parties/formio/src/decorators/on.ts @@ -7,10 +7,13 @@ import {registerProvider} from "@tsed/di"; * @constructor */ export function On(name: string): ClassDecorator { - return useDecorators((target: any) => { - registerProvider({ - provide: target, - type: "formio:on" - }); - }, StoreSet("formio:on:name", name)); + return useDecorators( + (target: any) => { + registerProvider({ + provide: target, + type: "formio:on" + }); + }, + StoreSet("formio:on:name", name) + ); } diff --git a/packages/third-parties/formio/src/decorators/useFormioAuth.spec.ts b/packages/third-parties/formio/src/decorators/useFormioAuth.spec.ts index 2a38064e5c4..d02e4e69e7b 100644 --- a/packages/third-parties/formio/src/decorators/useFormioAuth.spec.ts +++ b/packages/third-parties/formio/src/decorators/useFormioAuth.spec.ts @@ -1,4 +1,5 @@ import {EndpointMetadata} from "@tsed/common"; + import {FormioAuthMiddleware} from "../middlewares/FormioAuthMiddleware.js"; import {UseFormioAuth} from "./useFormioAuth.js"; diff --git a/packages/third-parties/formio/src/decorators/useFormioAuth.ts b/packages/third-parties/formio/src/decorators/useFormioAuth.ts index 9314fe6377e..c8ef5375e3d 100644 --- a/packages/third-parties/formio/src/decorators/useFormioAuth.ts +++ b/packages/third-parties/formio/src/decorators/useFormioAuth.ts @@ -1,4 +1,5 @@ import {UseAuth} from "@tsed/common"; + import {FormioAuthMiddleware} from "../middlewares/FormioAuthMiddleware.js"; /** diff --git a/packages/third-parties/formio/src/domain/Formio.ts b/packages/third-parties/formio/src/domain/Formio.ts index 234a5be3535..a3f3531926e 100644 --- a/packages/third-parties/formio/src/domain/Formio.ts +++ b/packages/third-parties/formio/src/domain/Formio.ts @@ -2,6 +2,7 @@ import {EventEmitter} from "events"; import {NextFunction, Request, Response} from "express"; import {Db} from "mongodb"; import {Mongoose, Schema} from "mongoose"; + import {FormioActionModelCtor} from "./FormioAction.js"; import {FormioActionsIndex} from "./FormioActionsIndex.js"; import {FormioAuth} from "./FormioAuth.js"; diff --git a/packages/third-parties/formio/src/domain/FormioAction.ts b/packages/third-parties/formio/src/domain/FormioAction.ts index 680c701c9c5..dfe49716d52 100644 --- a/packages/third-parties/formio/src/domain/FormioAction.ts +++ b/packages/third-parties/formio/src/domain/FormioAction.ts @@ -1,7 +1,8 @@ +import {FormioAction, FormioActionInfo} from "@tsed/formio-types"; import {Request, Response} from "express"; + import {FormioMongooseSchema} from "./FormioBaseModel.js"; import {FormioComponent} from "./FormioModels.js"; -import {FormioAction, FormioActionInfo} from "@tsed/formio-types"; export interface FormioActionModel extends FormioAction { resolve(handler: string, method: string, req: Request, res: Response, next: Function, setActionItemMessage: SetActionItemMessage): void; diff --git a/packages/third-parties/formio/src/domain/FormioActionsIndex.ts b/packages/third-parties/formio/src/domain/FormioActionsIndex.ts index cc1750d4e3a..11e872ca0fd 100644 --- a/packages/third-parties/formio/src/domain/FormioActionsIndex.ts +++ b/packages/third-parties/formio/src/domain/FormioActionsIndex.ts @@ -1,4 +1,5 @@ import {Type} from "@tsed/core"; + import {FormioActionModelCtor} from "./FormioAction.js"; export interface FormioActions { diff --git a/packages/third-parties/formio/src/domain/FormioAuth.ts b/packages/third-parties/formio/src/domain/FormioAuth.ts index 1f60ebb5491..a577c5c374f 100644 --- a/packages/third-parties/formio/src/domain/FormioAuth.ts +++ b/packages/third-parties/formio/src/domain/FormioAuth.ts @@ -1,4 +1,5 @@ import {Next, Req, Res} from "@tsed/common"; + import {FormioDecodedToken, FormioPayloadToken} from "./FormioDecodedToken.js"; import {FormioForm} from "./FormioModels.js"; diff --git a/packages/third-parties/formio/src/domain/FormioBaseModel.ts b/packages/third-parties/formio/src/domain/FormioBaseModel.ts index 48b8f32a524..b11d52c053e 100644 --- a/packages/third-parties/formio/src/domain/FormioBaseModel.ts +++ b/packages/third-parties/formio/src/domain/FormioBaseModel.ts @@ -1,5 +1,5 @@ import {MongooseDocument} from "@tsed/mongoose"; -import {Schema, Document} from "mongoose"; +import {Document, Schema} from "mongoose"; export type FormioMongooseSchema = Schema> & { machineName(document: MongooseDocument, done: Function): void; diff --git a/packages/third-parties/formio/src/domain/FormioCtxMapper.ts b/packages/third-parties/formio/src/domain/FormioCtxMapper.ts index e7d338c4a65..7d1e1e22909 100644 --- a/packages/third-parties/formio/src/domain/FormioCtxMapper.ts +++ b/packages/third-parties/formio/src/domain/FormioCtxMapper.ts @@ -1,5 +1,5 @@ -import {MongooseDocument} from "@tsed/mongoose"; import {FormioAction, FormioForm, FormioRole} from "@tsed/formio-types"; +import {MongooseDocument} from "@tsed/mongoose"; export interface FormioCtxMapper { forms: Map>; diff --git a/packages/third-parties/formio/src/domain/FormioHooks.ts b/packages/third-parties/formio/src/domain/FormioHooks.ts index ac9990b969f..a213490db94 100644 --- a/packages/third-parties/formio/src/domain/FormioHooks.ts +++ b/packages/third-parties/formio/src/domain/FormioHooks.ts @@ -1,6 +1,7 @@ import {MongooseDocument} from "@tsed/mongoose"; import {Request, Response} from "express"; import {FilterQuery, Schema, SchemaDefinition} from "mongoose"; + import {Formio} from "./Formio.js"; import {FormioActions} from "./FormioActionsIndex.js"; import {FormioConfig} from "./FormioConfig.js"; diff --git a/packages/third-parties/formio/src/domain/FormioModels.ts b/packages/third-parties/formio/src/domain/FormioModels.ts index 2d8c5c59a31..cafa948e474 100644 --- a/packages/third-parties/formio/src/domain/FormioModels.ts +++ b/packages/third-parties/formio/src/domain/FormioModels.ts @@ -1,8 +1,9 @@ +import {FormioActionItem, FormioForm, FormioRole, FormioSchema, FormioSubmission, FormioToken} from "@tsed/formio-types"; import {MongooseDocument} from "@tsed/mongoose"; import {Schema} from "mongoose"; + import {FormioActionModelCtor, FormioActionMongooseSchema} from "./FormioAction.js"; import {FormioBaseModel, FormioModel, FormioMongooseSchema} from "./FormioBaseModel.js"; -import {FormioActionItem, FormioForm, FormioRole, FormioSchema, FormioSubmission, FormioToken} from "@tsed/formio-types"; export * from "@tsed/formio-types"; diff --git a/packages/third-parties/formio/src/domain/FormioRouter.ts b/packages/third-parties/formio/src/domain/FormioRouter.ts index 9006276f676..60f03ee444a 100644 --- a/packages/third-parties/formio/src/domain/FormioRouter.ts +++ b/packages/third-parties/formio/src/domain/FormioRouter.ts @@ -1,4 +1,5 @@ import {Router} from "express"; + import {Formio, FormioBase} from "./Formio.js"; import {FormioHooks} from "./FormioHooks.js"; diff --git a/packages/third-parties/formio/src/domain/FormioUpdate.ts b/packages/third-parties/formio/src/domain/FormioUpdate.ts index d438045133b..c14fdb69e05 100644 --- a/packages/third-parties/formio/src/domain/FormioUpdate.ts +++ b/packages/third-parties/formio/src/domain/FormioUpdate.ts @@ -1,5 +1,6 @@ import {NextFunction, Request, Response} from "express"; import {Db} from "mongodb"; + import {Formio} from "./Formio.js"; export interface FormioUpdate { diff --git a/packages/third-parties/formio/src/domain/FormioUtils.ts b/packages/third-parties/formio/src/domain/FormioUtils.ts index 4dccd6ba4c5..b52fefc833a 100644 --- a/packages/third-parties/formio/src/domain/FormioUtils.ts +++ b/packages/third-parties/formio/src/domain/FormioUtils.ts @@ -1,4 +1,5 @@ import {Request, Response} from "express"; + import {FormioErrors} from "./FormioErrors.js"; import {FormioJs} from "./FormioJs.js"; @@ -97,7 +98,7 @@ export interface FormioUtil { * @returns {Promise} The promise with the node-fetch response object. */ fetch: any; - /* eslint-disable new-cap */ + base64: { /** * Base64 encode the given data. @@ -303,8 +304,6 @@ export interface FormioUtil { */ idToString(_id: string | any): string; - /* eslint-enable new-cap */ - /** * Ensures that a submission data has MongoDB ObjectID's for all "id" fields. * @param data diff --git a/packages/third-parties/formio/src/domain/Resource.ts b/packages/third-parties/formio/src/domain/Resource.ts index 27c911b6636..b1ef06b0e1f 100644 --- a/packages/third-parties/formio/src/domain/Resource.ts +++ b/packages/third-parties/formio/src/domain/Resource.ts @@ -1,4 +1,4 @@ -import {Request, Response, NextFunction} from "express"; +import {NextFunction, Request, Response} from "express"; export type ResourceHttpHandler = (req: Request, res: Response, next: NextFunction) => void; diff --git a/packages/third-parties/formio/src/middlewares/FormioAuthMiddleware.spec.ts b/packages/third-parties/formio/src/middlewares/FormioAuthMiddleware.spec.ts index 236445d84e3..2303a61cc70 100644 --- a/packages/third-parties/formio/src/middlewares/FormioAuthMiddleware.spec.ts +++ b/packages/third-parties/formio/src/middlewares/FormioAuthMiddleware.spec.ts @@ -1,6 +1,7 @@ import {PlatformTest} from "@tsed/common"; import {catchAsyncError} from "@tsed/core"; import {Unauthorized} from "@tsed/exceptions"; + import {FormioService} from "../services/FormioService.js"; import {FormioAuthMiddleware} from "./FormioAuthMiddleware.js"; diff --git a/packages/third-parties/formio/src/middlewares/FormioAuthMiddleware.ts b/packages/third-parties/formio/src/middlewares/FormioAuthMiddleware.ts index 4fc3cacd6c7..539dbbd4788 100644 --- a/packages/third-parties/formio/src/middlewares/FormioAuthMiddleware.ts +++ b/packages/third-parties/formio/src/middlewares/FormioAuthMiddleware.ts @@ -2,6 +2,7 @@ import {Context, Inject, Middleware} from "@tsed/common"; import {getValue} from "@tsed/core"; import {Unauthorized} from "@tsed/exceptions"; import {promisify} from "util"; + import {FormioService} from "../services/FormioService.js"; /** diff --git a/packages/third-parties/formio/src/services/FormioAuthService.spec.ts b/packages/third-parties/formio/src/services/FormioAuthService.spec.ts index 6c6e2155aab..b9d93e23deb 100644 --- a/packages/third-parties/formio/src/services/FormioAuthService.spec.ts +++ b/packages/third-parties/formio/src/services/FormioAuthService.spec.ts @@ -1,6 +1,7 @@ import {PlatformTest} from "@tsed/common"; import {catchAsyncError} from "@tsed/core"; import {BadRequest} from "@tsed/exceptions"; + import {FormioAuthService} from "./FormioAuthService.js"; import {FormioHooksService} from "./FormioHooksService.js"; import {FormioService} from "./FormioService.js"; diff --git a/packages/third-parties/formio/src/services/FormioAuthService.ts b/packages/third-parties/formio/src/services/FormioAuthService.ts index 866c2f21211..0a5838c2e11 100644 --- a/packages/third-parties/formio/src/services/FormioAuthService.ts +++ b/packages/third-parties/formio/src/services/FormioAuthService.ts @@ -3,6 +3,7 @@ import {isFunction} from "@tsed/core"; import {Inject, Injectable} from "@tsed/di"; import {BadRequest, NotFound, Unauthorized} from "@tsed/exceptions"; import {promisify} from "util"; + import {FormioPayloadToken} from "../domain/FormioDecodedToken.js"; import {FormioForm, FormioSubmission, WithID} from "../domain/FormioModels.js"; import {FormioDatabase} from "./FormioDatabase.js"; diff --git a/packages/third-parties/formio/src/services/FormioDatabase.spec.ts b/packages/third-parties/formio/src/services/FormioDatabase.spec.ts index 1036b41ddd4..7acd12e5550 100644 --- a/packages/third-parties/formio/src/services/FormioDatabase.spec.ts +++ b/packages/third-parties/formio/src/services/FormioDatabase.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {FormioDatabase} from "./FormioDatabase.js"; import {FormioService} from "./FormioService.js"; diff --git a/packages/third-parties/formio/src/services/FormioDatabase.ts b/packages/third-parties/formio/src/services/FormioDatabase.ts index 4c26d957b20..482a8b8361a 100644 --- a/packages/third-parties/formio/src/services/FormioDatabase.ts +++ b/packages/third-parties/formio/src/services/FormioDatabase.ts @@ -1,9 +1,10 @@ import {isArray, isObject, isString, toMap as tMap} from "@tsed/core"; import {Inject, Injectable} from "@tsed/di"; +import {FormioAction, FormioActionItem, FormioForm, FormioRole, FormioSubmission, FormioToken} from "@tsed/formio-types"; import {MongooseDocument, MongooseModel} from "@tsed/mongoose"; +import omit from "lodash/omit.js"; import type {FilterQuery} from "mongoose"; -import omit from "lodash/omit"; -import {FormioAction, FormioActionItem, FormioForm, FormioRole, FormioSubmission, FormioToken} from "@tsed/formio-types"; + import {FormioMapper} from "../builder/FormioMapper.js"; import {isMongoId} from "../utils/isMongoId.js"; import {FormioService} from "./FormioService.js"; diff --git a/packages/third-parties/formio/src/services/FormioHooksService.spec.ts b/packages/third-parties/formio/src/services/FormioHooksService.spec.ts index 7b5ab429327..18f3fa94c2c 100644 --- a/packages/third-parties/formio/src/services/FormioHooksService.spec.ts +++ b/packages/third-parties/formio/src/services/FormioHooksService.spec.ts @@ -1,5 +1,6 @@ import {PlatformTest, Provider} from "@tsed/common"; import {Store} from "@tsed/core"; + import {FormioHooksService} from "./FormioHooksService.js"; import {FormioService} from "./FormioService.js"; diff --git a/packages/third-parties/formio/src/services/FormioHooksService.ts b/packages/third-parties/formio/src/services/FormioHooksService.ts index 64e3568d80d..9ecafa5a74e 100644 --- a/packages/third-parties/formio/src/services/FormioHooksService.ts +++ b/packages/third-parties/formio/src/services/FormioHooksService.ts @@ -1,8 +1,9 @@ import {Inject, Injectable, InjectorService} from "@tsed/common"; +import {Request} from "express"; import {promisify} from "util"; + import {FormioHooks} from "../domain/FormioHooks.js"; import {FormioService} from "./FormioService.js"; -import {Request} from "express"; @Injectable() export class FormioHooksService { diff --git a/packages/third-parties/formio/src/services/FormioInstaller.spec.ts b/packages/third-parties/formio/src/services/FormioInstaller.spec.ts index 67bd47b063a..142a1562229 100644 --- a/packages/third-parties/formio/src/services/FormioInstaller.spec.ts +++ b/packages/third-parties/formio/src/services/FormioInstaller.spec.ts @@ -1,5 +1,6 @@ -import faker from "@faker-js/faker"; +import {faker} from "@faker-js/faker"; import {PlatformTest} from "@tsed/common"; + import {FormioInstaller} from "./FormioInstaller.js"; import {FormioService} from "./FormioService.js"; @@ -56,19 +57,19 @@ describe("FormioImporter", () => { const template = { resources: { admin: { - _id: faker.datatype.uuid() + _id: faker.string.uuid() } }, roles: { administrator: { - _id: faker.datatype.uuid() + _id: faker.string.uuid() } } }; const user = { email: faker.internet.email(), - password: faker.internet.password(12) + password: faker.internet.password({length: 12}) }; expect(await service.createRootUser(user, template as any)).toEqual({ @@ -89,19 +90,19 @@ describe("FormioImporter", () => { const template = { resources: { admin: { - _id: faker.datatype.uuid() + _id: faker.string.uuid() } }, roles: { administrator: { - _id: faker.datatype.uuid() + _id: faker.string.uuid() } } }; const user = { email: faker.internet.email(), - password: faker.internet.password(12) + password: faker.internet.password({length: 12}) }; let actualError: any; @@ -119,19 +120,19 @@ describe("FormioImporter", () => { const template = { resources: { admin: { - _id: faker.datatype.uuid() + _id: faker.string.uuid() } }, roles: { administrator: { - _id: faker.datatype.uuid() + _id: faker.string.uuid() } } }; const user = { email: faker.internet.email(), - password: faker.internet.password(12) + password: faker.internet.password({length: 12}) }; vi.spyOn(service, "createRootUser"); diff --git a/packages/third-parties/formio/src/services/FormioInstaller.ts b/packages/third-parties/formio/src/services/FormioInstaller.ts index b12fe86d5e7..bd7a2fccb20 100644 --- a/packages/third-parties/formio/src/services/FormioInstaller.ts +++ b/packages/third-parties/formio/src/services/FormioInstaller.ts @@ -1,5 +1,6 @@ import {Inject, Injectable} from "@tsed/di"; import {Logger} from "@tsed/logger"; + import {FormioSubmission} from "../domain/FormioModels.js"; import {FormioTemplate} from "../domain/FormioTemplate.js"; import {FormioDatabase} from "./FormioDatabase.js"; diff --git a/packages/third-parties/formio/src/services/FormioRepository.spec.ts b/packages/third-parties/formio/src/services/FormioRepository.spec.ts index 90c2ef97c76..1be53f3db28 100644 --- a/packages/third-parties/formio/src/services/FormioRepository.spec.ts +++ b/packages/third-parties/formio/src/services/FormioRepository.spec.ts @@ -1,4 +1,5 @@ import {Injectable, PlatformTest} from "@tsed/common"; + import {FormioDatabase} from "./FormioDatabase.js"; import {FormioRepository} from "./FormioRepository.js"; diff --git a/packages/third-parties/formio/src/services/FormioRepository.ts b/packages/third-parties/formio/src/services/FormioRepository.ts index 36b26520f5b..6e8044c7e06 100644 --- a/packages/third-parties/formio/src/services/FormioRepository.ts +++ b/packages/third-parties/formio/src/services/FormioRepository.ts @@ -1,6 +1,7 @@ -import type {FilterQuery} from "mongoose"; import {Inject} from "@tsed/di"; import {MongooseDocument, MongooseModel} from "@tsed/mongoose"; +import type {FilterQuery} from "mongoose"; + import {FormioSubmission} from "../domain/FormioModels.js"; import {FormioDatabase} from "./FormioDatabase.js"; diff --git a/packages/third-parties/formio/src/services/FormioService.spec.ts b/packages/third-parties/formio/src/services/FormioService.spec.ts index 75248a0652f..cf8e220b4ce 100644 --- a/packages/third-parties/formio/src/services/FormioService.spec.ts +++ b/packages/third-parties/formio/src/services/FormioService.spec.ts @@ -1,5 +1,7 @@ +import "../components/AlterAudit.js"; + import {PlatformTest} from "@tsed/common"; -import "../components/AlterAudit"; + import {AlterAudit} from "../components/AlterAudit.js"; import {FormioHooksService} from "./FormioHooksService.js"; import {FormioService} from "./FormioService.js"; @@ -81,7 +83,7 @@ describe("FormioService", () => { expect(service.isInit()).toEqual(true); }); - it("should return true", async () => { + it("should return false", async () => { const {service} = await createFormioFixture(); await service.init({} as any); diff --git a/packages/third-parties/formio/src/services/FormioService.ts b/packages/third-parties/formio/src/services/FormioService.ts index f00e447aeef..a74449a3cbe 100644 --- a/packages/third-parties/formio/src/services/FormioService.ts +++ b/packages/third-parties/formio/src/services/FormioService.ts @@ -1,8 +1,15 @@ import {Inject, Injectable, InjectorService} from "@tsed/common"; import {MongooseConnectionOptions} from "@tsed/mongoose"; +// @ts-ignore +import createRouter from "formio"; +// @ts-ignore +import swagger from "formio/src/util/swagger.js"; +// @ts-ignore +import util from "formio/src/util/util.js"; import {Db} from "mongodb"; import {Mongoose} from "mongoose"; import {promisify} from "util"; + import {Formio} from "../domain/Formio.js"; import {FormioConfig} from "../domain/FormioConfig.js"; import {FormioHook, FormioHooks} from "../domain/FormioHooks.js"; @@ -10,12 +17,6 @@ import {FormioSchemas} from "../domain/FormioModels.js"; import {FormioRouter} from "../domain/FormioRouter.js"; import {FormioTemplate} from "../domain/FormioTemplate.js"; import {FormioExportOptions} from "../domain/FormioTemplateUtil.js"; -// @ts-ignore -import createRouter from "formio"; -// @ts-ignore -import swagger from "formio/src/util/swagger.js"; -// @ts-ignore -import util from "formio/src/util/util.js"; @Injectable() export class FormioService { diff --git a/packages/third-parties/formio/test/app/Server.ts b/packages/third-parties/formio/test/app/Server.ts index df06d0a6721..e456d1082fd 100644 --- a/packages/third-parties/formio/test/app/Server.ts +++ b/packages/third-parties/formio/test/app/Server.ts @@ -1,18 +1,20 @@ -import {FileSyncAdapter} from "@tsed/adapters"; import "@tsed/ajv"; -import {Constant, PlatformApplication} from "@tsed/common"; -import {Configuration, Inject} from "@tsed/di"; import "@tsed/mongoose"; import "@tsed/swagger"; +import "../../src/index.js"; + +import {FileSyncAdapter} from "@tsed/adapters"; +import {Constant, PlatformApplication} from "@tsed/common"; +import {Configuration, Inject} from "@tsed/di"; import bodyParser from "body-parser"; import compress from "compression"; import cookieParser from "cookie-parser"; import session from "express-session"; import methodOverride from "method-override"; -import "../../src"; + import template from "../template/project.json"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build export {rootDir}; @Configuration({ diff --git a/packages/third-parties/formio/test/app/controllers/pages/IndexCtrl.ts b/packages/third-parties/formio/test/app/controllers/pages/IndexCtrl.ts index a16b9b928f8..d1567c2c2b5 100644 --- a/packages/third-parties/formio/test/app/controllers/pages/IndexCtrl.ts +++ b/packages/third-parties/formio/test/app/controllers/pages/IndexCtrl.ts @@ -1,6 +1,6 @@ -import {Constant, Controller, Get, HeaderParams, View} from "@tsed/common"; -import {Returns} from "@tsed/schema"; -import {Hidden, SwaggerSettings} from "@tsed/swagger"; +import {Constant, Controller, HeaderParams} from "@tsed/common"; +import {Get, Hidden, Returns, View} from "@tsed/schema"; +import {SwaggerSettings} from "@tsed/swagger"; @Hidden() @Controller("/") @@ -10,7 +10,7 @@ export class IndexCtrl { @Get("/") @View("index.ejs") - @Returns(200, String).ContentType("text/html") + @(Returns(200, String).ContentType("text/html")) get(@HeaderParams("x-forwarded-proto") protocol: string, @HeaderParams("host") host: string) { const hostUrl = `${protocol || "http"}://${host}`; diff --git a/packages/third-parties/formio/test/app/controllers/rest/VersionCtrl.ts b/packages/third-parties/formio/test/app/controllers/rest/VersionCtrl.ts index 5ab85f7ef4a..90fe2fff359 100644 --- a/packages/third-parties/formio/test/app/controllers/rest/VersionCtrl.ts +++ b/packages/third-parties/formio/test/app/controllers/rest/VersionCtrl.ts @@ -1,12 +1,12 @@ -import {Controller, Get} from "@tsed/common"; -import {object, Returns, string} from "@tsed/schema"; +import {Controller} from "@tsed/di"; +import {Get, object, Returns, string} from "@tsed/schema"; @Controller("/version") export class VersionCtrl { @Get("/") - @Returns(200) + @(Returns(200) .ContentType("application/json") - .Schema(object().properties({name: string(), version: string()})) + .Schema(object().properties({name: string(), version: string()}))) async get() { const {name, version} = await import("../../../../package.json"); return { diff --git a/packages/third-parties/formio/test/app/index.ts b/packages/third-parties/formio/test/app/index.ts index 9b9b475a3b8..ea9bbc2bca7 100644 --- a/packages/third-parties/formio/test/app/index.ts +++ b/packages/third-parties/formio/test/app/index.ts @@ -1,5 +1,6 @@ import {$log} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; + import {IndexCtrl} from "./controllers/pages/IndexCtrl.js"; import {VersionCtrl} from "./controllers/rest/VersionCtrl.js"; import {Server} from "./Server.js"; diff --git a/packages/third-parties/formio/tsconfig.cjs.json b/packages/third-parties/formio/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/third-parties/formio/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/formio/tsconfig.esm.json b/packages/third-parties/formio/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/third-parties/formio/tsconfig.esm.json +++ b/packages/third-parties/formio/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/third-parties/formio/tsconfig.json b/packages/third-parties/formio/tsconfig.json index ac80f8124da..735ba47c4a6 100644 --- a/packages/third-parties/formio/tsconfig.json +++ b/packages/third-parties/formio/tsconfig.json @@ -24,9 +24,6 @@ { "path": "../../utils/normalize-path/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/third-parties/formio/tsconfig.spec.json b/packages/third-parties/formio/tsconfig.spec.json index b2e248f2c69..df5434b7af1 100644 --- a/packages/third-parties/formio/tsconfig.spec.json +++ b/packages/third-parties/formio/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/third-parties/formio/vitest.config.mts b/packages/third-parties/formio/vitest.config.mts index d759e817941..eb13aa1edb9 100644 --- a/packages/third-parties/formio/vitest.config.mts +++ b/packages/third-parties/formio/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 95.76, + branches: 96.66, + functions: 96.85, + lines: 95.76 } } } } -); +); \ No newline at end of file diff --git a/packages/third-parties/pulse/package.json b/packages/third-parties/pulse/package.json index 3cd96bd9651..7373d8cea11 100644 --- a/packages/third-parties/pulse/package.json +++ b/packages/third-parties/pulse/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/pulse", "description": "@pulsecron/pulse package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -28,18 +27,18 @@ } ], "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { - "@pulsecron/pulse": "^1.6.1", + "@pulsecron/pulse": "^1.6.3", "@tsed/barrels": "workspace:*", "@tsed/common": "workspace:*", "@tsed/core": "workspace:*", "@tsed/di": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { "@pulsecron/pulse": ">=1" diff --git a/packages/third-parties/pulse/src/PulseModule.spec.ts b/packages/third-parties/pulse/src/PulseModule.spec.ts index 4458b9e8f79..0cab30c42a6 100644 --- a/packages/third-parties/pulse/src/PulseModule.spec.ts +++ b/packages/third-parties/pulse/src/PulseModule.spec.ts @@ -1,10 +1,11 @@ +import type {Job} from "@pulsecron/pulse"; import {PlatformTest} from "@tsed/common"; import {Inject} from "@tsed/di"; -import type {Job} from "@pulsecron/pulse"; -import {PulseModule} from "./PulseModule"; -import {Pulse} from "./decorators/pulse"; + import {Define} from "./decorators/define.js"; import {Every} from "./decorators/every.js"; +import {Pulse} from "./decorators/pulse.js"; +import {PulseModule} from "./PulseModule.js"; vi.mock("@pulsecron/pulse", () => { return { diff --git a/packages/third-parties/pulse/src/PulseModule.ts b/packages/third-parties/pulse/src/PulseModule.ts index 5c67bb6f057..b1c12fc7930 100644 --- a/packages/third-parties/pulse/src/PulseModule.ts +++ b/packages/third-parties/pulse/src/PulseModule.ts @@ -1,10 +1,11 @@ +import {DefineOptions, Job, JobAttributesData, Processor} from "@pulsecron/pulse"; import {AfterListen, DIContext, Logger, OnDestroy, runInContext} from "@tsed/common"; import {Constant, Inject, InjectorService, Module, Provider} from "@tsed/di"; -import {Job, Processor, DefineOptions, JobAttributesData} from "@pulsecron/pulse"; import {v4 as uuid} from "uuid"; + import {PROVIDER_TYPE_PULSE} from "./constants/constants.js"; -import {PulseStore} from "./interfaces/PulseStore"; -import {PulseService} from "./services/PulseFactory"; +import {PulseStore} from "./interfaces/PulseStore.js"; +import {PulseService} from "./services/PulseFactory.js"; @Module() export class PulseModule implements OnDestroy, AfterListen { @@ -77,17 +78,21 @@ export class PulseModule implements OnDestroy, AfterListen { } define(name: string, processor: Processor, options?: DefineOptions) { - return this.pulse.define(name, (job: Job, ...rest) => { - const $ctx = new DIContext({ - injector: this.injector, - id: uuid(), - logger: this.injector.logger - }); + return this.pulse.define( + name, + (job: Job, ...rest) => { + const $ctx = new DIContext({ + injector: this.injector, + id: uuid(), + logger: this.injector.logger + }); - $ctx.set("job", job); + $ctx.set("job", job); - return runInContext($ctx, () => processor(job, ...rest)); - }, options); + return runInContext($ctx, () => processor(job, ...rest)); + }, + options + ); } every(interval: string, name: string, data?: any, options?: any) { diff --git a/packages/third-parties/pulse/src/decorators/define.spec.ts b/packages/third-parties/pulse/src/decorators/define.spec.ts index 8c1c5d5b36a..7aa4bea495b 100644 --- a/packages/third-parties/pulse/src/decorators/define.spec.ts +++ b/packages/third-parties/pulse/src/decorators/define.spec.ts @@ -1,6 +1,7 @@ import {Store} from "@tsed/core"; -import {Pulse} from "./pulse"; + import {Define} from "./define.js"; +import {Pulse} from "./pulse.js"; describe("@Define()", () => { it("should set empty metadata", () => { @@ -30,7 +31,7 @@ describe("@Define()", () => { class Test { @Define({ name: "testDefineDecoratorCustomName", - priority: 'highest' + priority: "highest" }) test() { // test @@ -41,7 +42,7 @@ describe("@Define()", () => { expect(store.get("pulse").define).toEqual({ test: { name: "testDefineDecoratorCustomName", - priority: 'highest' + priority: "highest" } }); }); diff --git a/packages/third-parties/pulse/src/decorators/define.ts b/packages/third-parties/pulse/src/decorators/define.ts index 84689a01d53..154fc6eca1f 100644 --- a/packages/third-parties/pulse/src/decorators/define.ts +++ b/packages/third-parties/pulse/src/decorators/define.ts @@ -1,5 +1,6 @@ import {Store} from "@tsed/core"; -import {PulseStore, DefineOptions} from "../interfaces/PulseStore"; + +import {DefineOptions, PulseStore} from "../interfaces/PulseStore.js"; export function Define(options: DefineOptions = {}): MethodDecorator { return (target: any, propertyKey: string) => { diff --git a/packages/third-parties/pulse/src/decorators/every.spec.ts b/packages/third-parties/pulse/src/decorators/every.spec.ts index a6c9e203473..868111bab36 100644 --- a/packages/third-parties/pulse/src/decorators/every.spec.ts +++ b/packages/third-parties/pulse/src/decorators/every.spec.ts @@ -1,6 +1,7 @@ -import {descriptorOf, Store} from "@tsed/core"; -import {Pulse} from "./pulse"; +import {Store} from "@tsed/core"; + import {Every} from "./every.js"; +import {Pulse} from "./pulse.js"; describe("@Every()", () => { it("should set metadata", () => { diff --git a/packages/third-parties/pulse/src/decorators/every.ts b/packages/third-parties/pulse/src/decorators/every.ts index fccfb3bda97..f2438d07b90 100644 --- a/packages/third-parties/pulse/src/decorators/every.ts +++ b/packages/third-parties/pulse/src/decorators/every.ts @@ -1,6 +1,7 @@ import {Store, useDecorators} from "@tsed/core"; + +import {EveryOptions, PulseStore} from "../interfaces/PulseStore.js"; import {Define} from "./define.js"; -import {PulseStore, EveryOptions} from "../interfaces/PulseStore"; export function Every(interval: string, options: EveryOptions = {}): MethodDecorator { return useDecorators(Define(options), (target: any, propertyKey: string) => { diff --git a/packages/third-parties/pulse/src/decorators/pulse.spec.ts b/packages/third-parties/pulse/src/decorators/pulse.spec.ts index 0cbee919b0b..b7ec38d5aa6 100644 --- a/packages/third-parties/pulse/src/decorators/pulse.spec.ts +++ b/packages/third-parties/pulse/src/decorators/pulse.spec.ts @@ -1,5 +1,6 @@ import {Store} from "@tsed/core"; -import {Pulse} from "./pulse"; + +import {Pulse} from "./pulse.js"; describe("@Pulse()", () => { it("should set empty metadata", () => { diff --git a/packages/third-parties/pulse/src/decorators/pulse.ts b/packages/third-parties/pulse/src/decorators/pulse.ts index 3e6c40ab192..6bf8699f133 100644 --- a/packages/third-parties/pulse/src/decorators/pulse.ts +++ b/packages/third-parties/pulse/src/decorators/pulse.ts @@ -1,5 +1,6 @@ import {StoreMerge, useDecorators} from "@tsed/core"; import {Injectable} from "@tsed/di"; + import {PROVIDER_TYPE_PULSE} from "../constants/constants.js"; interface PulseOptions { diff --git a/packages/third-parties/pulse/src/services/PulseFactory.ts b/packages/third-parties/pulse/src/services/PulseFactory.ts index c7d0477f2dd..2a481b2c7c9 100644 --- a/packages/third-parties/pulse/src/services/PulseFactory.ts +++ b/packages/third-parties/pulse/src/services/PulseFactory.ts @@ -1,5 +1,5 @@ -import {Configuration, registerProvider} from "@tsed/di"; import {Pulse, PulseConfig} from "@pulsecron/pulse"; +import {Configuration, registerProvider} from "@tsed/di"; // create Alias to avoid confusing import between Pulse from "@pulsecron/pulse" and Pulse decorator export const PulseService = Pulse; diff --git a/packages/third-parties/pulse/test/helpers/Server.ts b/packages/third-parties/pulse/test/helpers/Server.ts index b2847947913..e4fba42af51 100644 --- a/packages/third-parties/pulse/test/helpers/Server.ts +++ b/packages/third-parties/pulse/test/helpers/Server.ts @@ -1,12 +1,13 @@ -import {Configuration, Inject, PlatformApplication} from "@tsed/common"; import "@tsed/platform-express"; -import "@tsed/pulse"; -import cookieParser from "cookie-parser"; +import "../../src/index.js"; + +import {Configuration, Inject, PlatformApplication} from "@tsed/common"; import bodyParser from "body-parser"; import compress from "compression"; +import cookieParser from "cookie-parser"; import methodOverride from "method-override"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build @Configuration({ rootDir, diff --git a/packages/third-parties/pulse/test/pulse-define-manually.integration.spec.ts b/packages/third-parties/pulse/test/pulse-define-manually.integration.spec.ts index c909e414a92..2e740a1ffc1 100644 --- a/packages/third-parties/pulse/test/pulse-define-manually.integration.spec.ts +++ b/packages/third-parties/pulse/test/pulse-define-manually.integration.spec.ts @@ -1,9 +1,9 @@ +import {Job} from "@pulsecron/pulse"; import {PlatformTest} from "@tsed/common"; import {Inject} from "@tsed/di"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; -import {Job} from "@pulsecron/pulse"; -import {PulseModule, Pulse, PulseService, Define} from "../src/index.js"; +import {Define, Pulse, PulseModule, PulseService} from "../src/index.js"; import {Server} from "./helpers/Server.js"; @Pulse({namespace: "test-nsp"}) @@ -45,7 +45,7 @@ describe("Pulse integration", () => { enabled: true, db: { address: options.url, - options: options.connectionOptions + options: options.connectionOptions as never } } }); @@ -107,7 +107,7 @@ describe("Pulse integration", () => { disableJobProcessing: true, db: { address: options.url, - options: options.connectionOptions + options: options.connectionOptions as never } } }); diff --git a/packages/third-parties/pulse/test/pulse-define.integration.spec.ts b/packages/third-parties/pulse/test/pulse-define.integration.spec.ts index 97194cf49cd..c0beda487fc 100644 --- a/packages/third-parties/pulse/test/pulse-define.integration.spec.ts +++ b/packages/third-parties/pulse/test/pulse-define.integration.spec.ts @@ -1,6 +1,7 @@ import {PlatformTest} from "@tsed/common"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; -import {Pulse, PulseService, Define, Every} from "../src/index.js"; + +import {Define, Every, Pulse, PulseService} from "../src/index.js"; import {Server} from "./helpers/Server.js"; @Pulse({namespace: "test-nsp"}) @@ -27,7 +28,7 @@ describe("Pulse integration", () => { enabled: true, db: { address: options.url, - options: options.connectionOptions + options: options.connectionOptions as never } } }); @@ -96,7 +97,7 @@ describe("Pulse integration", () => { disableJobProcessing: true, db: { address: options.url, - options: options.connectionOptions + options: options.connectionOptions as never } } }); diff --git a/packages/third-parties/pulse/test/pulse-every.integration.spec.ts b/packages/third-parties/pulse/test/pulse-every.integration.spec.ts index 6c988ca11b3..0fc3f5e93cf 100644 --- a/packages/third-parties/pulse/test/pulse-every.integration.spec.ts +++ b/packages/third-parties/pulse/test/pulse-every.integration.spec.ts @@ -1,6 +1,7 @@ import {PlatformTest} from "@tsed/common"; import {TestContainersMongo} from "@tsed/testcontainers-mongo"; -import {Pulse, PulseService, Every} from "../src/index.js"; + +import {Every, Pulse, PulseService} from "../src/index.js"; import {Server} from "./helpers/Server.js"; @Pulse() @@ -22,7 +23,7 @@ describe("Pulse integration", () => { enabled: true, db: { address: options.url, - options: options.connectionOptions + options: options.connectionOptions as never } } }); diff --git a/packages/third-parties/pulse/tsconfig.cjs.json b/packages/third-parties/pulse/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/third-parties/pulse/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/pulse/tsconfig.esm.json b/packages/third-parties/pulse/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/third-parties/pulse/tsconfig.esm.json +++ b/packages/third-parties/pulse/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/third-parties/pulse/tsconfig.json b/packages/third-parties/pulse/tsconfig.json index 2dbe3ec968d..4540f314a24 100644 --- a/packages/third-parties/pulse/tsconfig.json +++ b/packages/third-parties/pulse/tsconfig.json @@ -15,9 +15,6 @@ { "path": "../../di/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/third-parties/pulse/tsconfig.spec.json b/packages/third-parties/pulse/tsconfig.spec.json index b2e248f2c69..df5434b7af1 100644 --- a/packages/third-parties/pulse/tsconfig.spec.json +++ b/packages/third-parties/pulse/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/third-parties/pulse/vitest.config.mts b/packages/third-parties/pulse/vitest.config.mts index f8dc9b023ac..69d33025271 100644 --- a/packages/third-parties/pulse/vitest.config.mts +++ b/packages/third-parties/pulse/vitest.config.mts @@ -12,12 +12,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 100, + branches: 100, + functions: 100, + lines: 100 } } } } -); +); \ No newline at end of file diff --git a/packages/third-parties/schema-formio/package.json b/packages/third-parties/schema-formio/package.json index 0624f045d53..c9a61b569de 100644 --- a/packages/third-parties/schema-formio/package.json +++ b/packages/third-parties/schema-formio/package.json @@ -1,10 +1,10 @@ { "name": "@tsed/schema-formio", "description": "Transform Ts.ED Schema & JsonSchema to a valid Formio schema", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "browser": "./lib/browser/schema-formio.umd.min.js", @@ -13,8 +13,7 @@ "types": "./lib/types/index.d.ts", "browser": "./lib/browser/schema-formio.umd.min.js", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -40,8 +39,8 @@ ], "dependencies": { "@tsed/formio-types": "workspace:*", - "change-case": "4.1.2", - "tslib": "2.6.1" + "change-case": "^5.4.4", + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -49,14 +48,14 @@ "@tsed/openspec": "workspace:*", "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/core": "7.83.3", - "@tsed/openspec": "7.83.3", - "@tsed/schema": "7.83.3", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/openspec": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10", "formiojs": ">=4.0.0", "lodash": ">=4.0.0", "moment": ">=2.0.0" diff --git a/packages/third-parties/schema-formio/src/components/arrayToComponent.ts b/packages/third-parties/schema-formio/src/components/arrayToComponent.ts index c72baca4434..73de188793c 100644 --- a/packages/third-parties/schema-formio/src/components/arrayToComponent.ts +++ b/packages/third-parties/schema-formio/src/components/arrayToComponent.ts @@ -1,4 +1,5 @@ import {cleanObject} from "@tsed/core"; + import {execMapper, registerFormioMapper} from "../registries/FormioMappersContainer.js"; import {getRef} from "../utils/getRef.js"; diff --git a/packages/third-parties/schema-formio/src/components/booleanToComponent.ts b/packages/third-parties/schema-formio/src/components/booleanToComponent.ts index f86eac58b79..e0df9ac8b5d 100644 --- a/packages/third-parties/schema-formio/src/components/booleanToComponent.ts +++ b/packages/third-parties/schema-formio/src/components/booleanToComponent.ts @@ -1,4 +1,5 @@ import {cleanObject} from "@tsed/core"; + import {execMapper, registerFormioMapper} from "../registries/FormioMappersContainer.js"; function booleanToComponent(schema: any, options: any) { diff --git a/packages/third-parties/schema-formio/src/components/dateToComponent.ts b/packages/third-parties/schema-formio/src/components/dateToComponent.ts index 147b39996f8..d71cd362c0e 100644 --- a/packages/third-parties/schema-formio/src/components/dateToComponent.ts +++ b/packages/third-parties/schema-formio/src/components/dateToComponent.ts @@ -1,4 +1,5 @@ import {getValue} from "@tsed/core"; + import {execMapper, registerFormioMapper} from "../registries/FormioMappersContainer.js"; function dateToComponent(schema: any, options: any) { diff --git a/packages/third-parties/schema-formio/src/components/defaultToComponent.ts b/packages/third-parties/schema-formio/src/components/defaultToComponent.ts index b25890ad493..eba83a2b82d 100644 --- a/packages/third-parties/schema-formio/src/components/defaultToComponent.ts +++ b/packages/third-parties/schema-formio/src/components/defaultToComponent.ts @@ -1,4 +1,5 @@ import {cleanObject} from "@tsed/core"; + import {registerFormioMapper} from "../registries/FormioMappersContainer.js"; import {getFormioProps} from "../utils/getFormioProps.js"; diff --git a/packages/third-parties/schema-formio/src/components/enumToComponent.ts b/packages/third-parties/schema-formio/src/components/enumToComponent.ts index e9a08e59e62..fe7eeea77b2 100644 --- a/packages/third-parties/schema-formio/src/components/enumToComponent.ts +++ b/packages/third-parties/schema-formio/src/components/enumToComponent.ts @@ -1,4 +1,5 @@ import {cleanObject} from "@tsed/core"; + import {execMapper, registerFormioMapper} from "../registries/FormioMappersContainer.js"; export function enumToComponent(schema: any, options: any) { diff --git a/packages/third-parties/schema-formio/src/components/nestedToComponent.ts b/packages/third-parties/schema-formio/src/components/nestedToComponent.ts index c66025fa7aa..8e8d734758f 100644 --- a/packages/third-parties/schema-formio/src/components/nestedToComponent.ts +++ b/packages/third-parties/schema-formio/src/components/nestedToComponent.ts @@ -1,4 +1,5 @@ import {sentenceCase} from "change-case"; + import {execMapper, registerFormioMapper} from "../registries/FormioMappersContainer.js"; export function nestedToComponent(schema: any, options: any) { diff --git a/packages/third-parties/schema-formio/src/components/numberToComponent.ts b/packages/third-parties/schema-formio/src/components/numberToComponent.ts index 51e4142ade9..b475d9f7da2 100644 --- a/packages/third-parties/schema-formio/src/components/numberToComponent.ts +++ b/packages/third-parties/schema-formio/src/components/numberToComponent.ts @@ -1,4 +1,5 @@ import {cleanObject, getValue} from "@tsed/core"; + import {execMapper, registerFormioMapper} from "../registries/FormioMappersContainer.js"; export function numberToComponent(schema: any, options: any) { diff --git a/packages/third-parties/schema-formio/src/components/propertiesToComponents.ts b/packages/third-parties/schema-formio/src/components/propertiesToComponents.ts index 3a2e9ba0ea4..dd1cb3aee81 100644 --- a/packages/third-parties/schema-formio/src/components/propertiesToComponents.ts +++ b/packages/third-parties/schema-formio/src/components/propertiesToComponents.ts @@ -1,6 +1,7 @@ import {cleanObject, isFunction} from "@tsed/core"; import {FormioComponent, FormioForm} from "@tsed/formio-types"; import {sentenceCase} from "change-case"; + import {execMapper, registerFormioMapper} from "../registries/FormioMappersContainer.js"; function bindResolvers(component: FormioComponent, options: any) { diff --git a/packages/third-parties/schema-formio/src/components/stringToComponent.ts b/packages/third-parties/schema-formio/src/components/stringToComponent.ts index dd80947e272..60f6fe8a573 100644 --- a/packages/third-parties/schema-formio/src/components/stringToComponent.ts +++ b/packages/third-parties/schema-formio/src/components/stringToComponent.ts @@ -1,4 +1,5 @@ import {cleanObject} from "@tsed/core"; + import {execMapper, registerFormioMapper} from "../registries/FormioMappersContainer.js"; export function stringToComponent(schema: any, options: any) { diff --git a/packages/third-parties/schema-formio/src/decorators/customConditional.ts b/packages/third-parties/schema-formio/src/decorators/customConditional.ts index 24e43d595bc..d18a6d9d190 100644 --- a/packages/third-parties/schema-formio/src/decorators/customConditional.ts +++ b/packages/third-parties/schema-formio/src/decorators/customConditional.ts @@ -1,9 +1,10 @@ +import {isArrowFn} from "@tsed/core"; import {FormioComponent, FormioForm, FormioSubmission} from "@tsed/formio-types"; -import type {Moment} from "moment"; -import type {LoDashStatic} from "lodash"; import type {Utils} from "formiojs"; +import type {LoDashStatic} from "lodash"; +import type {Moment} from "moment"; + import {Component} from "./component.js"; -import {isArrowFn} from "@tsed/core"; export interface CustomConditionalCtx { /** diff --git a/packages/third-parties/schema-formio/src/decorators/dataSourceJson.ts b/packages/third-parties/schema-formio/src/decorators/dataSourceJson.ts index 8b9df25ea95..64b9bc161b9 100644 --- a/packages/third-parties/schema-formio/src/decorators/dataSourceJson.ts +++ b/packages/third-parties/schema-formio/src/decorators/dataSourceJson.ts @@ -1,7 +1,8 @@ -import {Component} from "./component.js"; -import {FormioDataResolver, FormioDataResolverCtx} from "../domain/FormioDataResolver.js"; import {isFunction} from "@tsed/core"; +import {FormioDataResolver, FormioDataResolverCtx} from "../domain/FormioDataResolver.js"; +import {Component} from "./component.js"; + const wrap = (resolver: FormioDataResolver) => async (opts: FormioDataResolverCtx) => { const result = await resolver(opts); return JSON.stringify(result); diff --git a/packages/third-parties/schema-formio/src/decorators/dataSourceUrl.ts b/packages/third-parties/schema-formio/src/decorators/dataSourceUrl.ts index fc55e105211..50a534f4155 100644 --- a/packages/third-parties/schema-formio/src/decorators/dataSourceUrl.ts +++ b/packages/third-parties/schema-formio/src/decorators/dataSourceUrl.ts @@ -1,5 +1,5 @@ -import {Component} from "./component.js"; import {FormioDataResolver} from "../domain/FormioDataResolver.js"; +import {Component} from "./component.js"; /** * Set URL data on the current component. diff --git a/packages/third-parties/schema-formio/src/decorators/form.ts b/packages/third-parties/schema-formio/src/decorators/form.ts index c19b2bd95ee..2690011e260 100644 --- a/packages/third-parties/schema-formio/src/decorators/form.ts +++ b/packages/third-parties/schema-formio/src/decorators/form.ts @@ -1,7 +1,8 @@ import {nameOf, StoreSet, useDecorators} from "@tsed/core"; import {FormioForm} from "@tsed/formio-types"; import {Name} from "@tsed/schema"; -import {paramCase} from "change-case"; +import {kebabCase} from "change-case"; + import {FormsContainer} from "../registries/FormsContainer.js"; import {Label} from "./label.js"; @@ -13,7 +14,7 @@ export function Form(form: Partial> = {}) return useDecorators( (target: any) => { const name = form.name || nameOf(target); - const machineName = paramCase(name); + const machineName = kebabCase(name); FormsContainer.set(name, target as any); FormsContainer.set(machineName, target as any); }, diff --git a/packages/third-parties/schema-formio/src/decorators/inputTags.ts b/packages/third-parties/schema-formio/src/decorators/inputTags.ts index 0f466e05d8d..1c5ac8c549d 100644 --- a/packages/third-parties/schema-formio/src/decorators/inputTags.ts +++ b/packages/third-parties/schema-formio/src/decorators/inputTags.ts @@ -1,5 +1,6 @@ import {useDecorators} from "@tsed/core"; import {CollectionOf} from "@tsed/schema"; + import {Component} from "./component.js"; /** * Configure the property as Tags component. diff --git a/packages/third-parties/schema-formio/src/decorators/label.ts b/packages/third-parties/schema-formio/src/decorators/label.ts index e5e1a54a6c0..9479b19c953 100644 --- a/packages/third-parties/schema-formio/src/decorators/label.ts +++ b/packages/third-parties/schema-formio/src/decorators/label.ts @@ -1,4 +1,5 @@ import {CustomKey, JsonEntityFn} from "@tsed/schema"; + import {Component} from "./component.js"; /** diff --git a/packages/third-parties/schema-formio/src/decorators/select.spec.ts b/packages/third-parties/schema-formio/src/decorators/select.spec.ts index 5ad7c26901e..7066e313cee 100644 --- a/packages/third-parties/schema-formio/src/decorators/select.spec.ts +++ b/packages/third-parties/schema-formio/src/decorators/select.spec.ts @@ -1,4 +1,5 @@ import {Enum} from "@tsed/schema"; + import {getFormioSchema} from "../utils/getFormioSchema.js"; import {Select} from "./select.js"; diff --git a/packages/third-parties/schema-formio/src/utils/getFormioSchema.spec.ts b/packages/third-parties/schema-formio/src/utils/getFormioSchema.spec.ts index 40bbef133a2..26edf4d686e 100644 --- a/packages/third-parties/schema-formio/src/utils/getFormioSchema.spec.ts +++ b/packages/third-parties/schema-formio/src/utils/getFormioSchema.spec.ts @@ -1,4 +1,5 @@ import {JsonEntityStore, Property} from "@tsed/schema"; + import {Form} from "../decorators/form.js"; import {getFormioSchema} from "../utils/getFormioSchema.js"; diff --git a/packages/third-parties/schema-formio/src/utils/getFormioSchema.ts b/packages/third-parties/schema-formio/src/utils/getFormioSchema.ts index fc1f2bf567d..7800673cb84 100644 --- a/packages/third-parties/schema-formio/src/utils/getFormioSchema.ts +++ b/packages/third-parties/schema-formio/src/utils/getFormioSchema.ts @@ -1,22 +1,24 @@ +import "../components/anyToComponent.js"; +import "../components/arrayToComponent.js"; +import "../components/booleanToComponent.js"; +import "../components/dateToComponent.js"; +import "../components/defaultToComponent.js"; +import "../components/enumToComponent.js"; +import "../components/mapToComponent.js"; +import "../components/nestedToComponent.js"; +import "../components/numberToComponent.js"; +import "../components/objectToEditGrid.js"; +import "../components/panelToComponent.js"; +import "../components/propertiesToComponents.js"; +import "../components/stringToComponent.js"; + import {isString, Type} from "@tsed/core"; -import {getJsonSchema, JsonEntityStore, JsonSchemaOptions} from "@tsed/schema"; import {FormioForm} from "@tsed/formio-types"; +import {getJsonSchema, JsonEntityStore, JsonSchemaOptions} from "@tsed/schema"; +import {kebabCase} from "change-case"; + import {execMapper} from "../registries/FormioMappersContainer.js"; import {FormsContainer} from "../registries/FormsContainer.js"; -import {paramCase} from "change-case"; -import "../components/anyToComponent"; -import "../components/arrayToComponent"; -import "../components/booleanToComponent"; -import "../components/dateToComponent"; -import "../components/defaultToComponent"; -import "../components/enumToComponent"; -import "../components/mapToComponent"; -import "../components/nestedToComponent"; -import "../components/numberToComponent"; -import "../components/objectToEditGrid"; -import "../components/panelToComponent"; -import "../components/propertiesToComponents"; -import "../components/stringToComponent"; export async function getFormioSchema( model: string | any | undefined, @@ -37,7 +39,7 @@ export async function getFormioSchema( }); const name = entity.schema.getName(); - const machineName = paramCase(name); + const machineName = kebabCase(name); const resolvers: Promise[] = []; const components = execMapper("properties", schema, {...options, definitions: schema.definitions, resolvers}); const form = { diff --git a/packages/third-parties/schema-formio/test/__snapshots__/basic.integration.spec.ts.snap b/packages/third-parties/schema-formio/test/__snapshots__/basic.integration.spec.ts.snap index f880a12e090..3eb0e7fa936 100644 --- a/packages/third-parties/schema-formio/test/__snapshots__/basic.integration.spec.ts.snap +++ b/packages/third-parties/schema-formio/test/__snapshots__/basic.integration.spec.ts.snap @@ -391,395 +391,3 @@ exports[`Basic > should generate the correct schema 1`] = ` "type": "form", } `; - -exports[`Basic should generate the correct schema 1`] = ` -Object { - "access": Array [], - "components": Array [ - Object { - "datePicker": Object { - "disableWeekdays": false, - "disableWeekends": false, - }, - "disabled": true, - "enableMaxDateInput": false, - "enableMinDateInput": false, - "input": true, - "key": "created", - "label": "Created", - "timePicker": Object { - "showMeridian": false, - }, - "type": "datetime", - "validate": Object { - "required": false, - }, - "widget": Object { - "allowInput": true, - "disableWeekdays": false, - "disableWeekends": false, - "displayInTimezone": "viewer", - "enableTime": true, - "hourIncrement": 1, - "locale": "en", - "maxDate": null, - "minDate": null, - "minuteIncrement": 1, - "mode": "single", - "noCalendar": false, - "time_24hr": true, - "type": "calendar", - "useLocaleSettings": false, - }, - }, - Object { - "datePicker": Object { - "disableWeekdays": false, - "disableWeekends": false, - }, - "disabled": true, - "enableMaxDateInput": false, - "enableMinDateInput": false, - "input": true, - "key": "modified", - "label": "Modified", - "timePicker": Object { - "showMeridian": false, - }, - "type": "datetime", - "validate": Object { - "required": false, - }, - "widget": Object { - "allowInput": true, - "disableWeekdays": false, - "disableWeekends": false, - "displayInTimezone": "viewer", - "enableTime": true, - "hourIncrement": 1, - "locale": "en", - "maxDate": null, - "minDate": null, - "minuteIncrement": 1, - "mode": "single", - "noCalendar": false, - "time_24hr": true, - "type": "calendar", - "useLocaleSettings": false, - }, - }, - Object { - "disabled": false, - "input": true, - "key": "clientName", - "label": "Client name", - "tableView": true, - "type": "textfield", - "validate": Object { - "required": true, - }, - }, - Object { - "disabled": true, - "input": true, - "key": "clientId", - "label": "Client id", - "tableView": true, - "type": "textfield", - "validate": Object { - "required": true, - }, - }, - Object { - "disabled": true, - "input": true, - "key": "clientSecret", - "label": "Client secret", - "type": "textfield", - "validate": Object { - "required": true, - }, - }, - Object { - "defaultValue": false, - "disabled": false, - "input": true, - "key": "trusted", - "label": "Trusted", - "type": "checkbox", - "validate": Object { - "required": false, - }, - }, - Object { - "disabled": false, - "input": true, - "key": "clientUri", - "label": "Client uri", - "type": "url", - "validate": Object { - "required": false, - }, - }, - Object { - "disabled": false, - "input": true, - "key": "logoUri", - "label": "Logo uri", - "tableView": true, - "type": "url", - "validate": Object { - "required": false, - }, - }, - Object { - "defaultValue": "web", - "disabled": false, - "key": "applicationType", - "label": "Application type", - "type": "radio", - "validate": Object { - "required": true, - }, - "values": Array [ - Object { - "label": "web", - "shortcut": "", - "value": "web", - }, - Object { - "label": "native", - "shortcut": "", - "value": "native", - }, - Object { - "label": "service", - "shortcut": "", - "value": "service", - }, - ], - }, - Object { - "disabled": false, - "input": true, - "key": "redirectUris", - "label": "Redirect uris", - "multiple": true, - "type": "url", - "validate": Object { - "required": false, - }, - }, - Object { - "disabled": false, - "inline": false, - "key": "responseTypes", - "label": "Response types", - "type": "selectboxes", - "validate": Object { - "required": false, - }, - "values": Array [ - Object { - "label": "code", - "shortcut": "", - "value": "code", - }, - Object { - "label": "id_token token", - "shortcut": "", - "value": "id_token token", - }, - Object { - "label": "code id_token token", - "shortcut": "", - "value": "code id_token token", - }, - Object { - "label": "token", - "shortcut": "", - "value": "token", - }, - Object { - "label": "none", - "shortcut": "", - "value": "none", - }, - ], - }, - Object { - "disabled": false, - "inline": false, - "key": "grantTypes", - "label": "Grant types", - "type": "selectboxes", - "validate": Object { - "required": false, - }, - "values": Array [ - Object { - "label": "authorization_code", - "shortcut": "", - "value": "authorization_code", - }, - Object { - "label": "implicit", - "shortcut": "", - "value": "implicit", - }, - Object { - "label": "refresh_token", - "shortcut": "", - "value": "refresh_token", - }, - Object { - "label": "client_credentials", - "shortcut": "", - "value": "client_credentials", - }, - ], - }, - Object { - "defaultValue": "client_secret_basic", - "disabled": false, - "key": "tokenEndpointAuthMethod", - "label": "Token endpoint auth method", - "type": "radio", - "validate": Object { - "required": false, - }, - "values": Array [ - Object { - "label": "client_secret_post", - "shortcut": "", - "value": "client_secret_post", - }, - Object { - "label": "client_secret_basic", - "shortcut": "", - "value": "client_secret_basic", - }, - Object { - "label": "client_secret_jwt", - "shortcut": "", - "value": "client_secret_jwt", - }, - Object { - "label": "private_key_jwt", - "shortcut": "", - "value": "private_key_jwt", - }, - Object { - "label": "none", - "shortcut": "", - "value": "none", - }, - ], - }, - Object { - "defaultValue": 3600, - "delimiter": false, - "disabled": false, - "input": true, - "inputFormat": "plain", - "key": "defaultMaxAge", - "label": "Default max age", - "mask": false, - "requireDecimal": false, - "type": "number", - "validate": Object { - "required": false, - }, - }, - Object { - "disabled": false, - "input": true, - "key": "postLogoutRedirectUris", - "label": "Post logout redirect uris", - "multiple": true, - "type": "url", - "validate": Object { - "required": false, - }, - }, - Object { - "disabled": false, - "input": true, - "key": "scopes", - "label": "Scopes", - "storeas": "array", - "tableView": true, - "type": "tags", - "validate": Object { - "required": false, - }, - }, - Object { - "defaultValue": "clubmed", - "description": "Change the template display on OIDC group1", - "disabled": false, - "key": "theme", - "label": "Theme", - "type": "radio", - "validate": Object { - "required": false, - }, - "values": Array [ - Object { - "label": "clubmed", - "shortcut": "", - "value": "clubmed", - }, - Object { - "label": "myclubmed", - "shortcut": "", - "value": "myclubmed", - }, - ], - }, - Object { - "defaultValue": true, - "description": "Import Google tags scripts for this client on OIDC group1 Login page", - "disabled": false, - "input": true, - "key": "enableGoogleAd", - "label": "Enable Google Tags", - "type": "checkbox", - "validate": Object { - "required": false, - }, - }, - Object { - "defaultValue": true, - "description": "Display socials login buttons for this client on OIDC group1 Login page", - "disabled": false, - "input": true, - "key": "enableConnectionProvider", - "label": "Enable Social Login", - "type": "checkbox", - "validate": Object { - "required": false, - }, - }, - Object { - "defaultValue": false, - "description": "Disable the account creation link on OIDC group1", - "disabled": false, - "input": true, - "key": "hideAccountCreation", - "label": "Hide account creation link", - "type": "checkbox", - "validate": Object { - "required": false, - }, - }, - ], - "display": "form", - "machineName": "oidc-client", - "name": "oidc-client", - "submissionAccess": Array [], - "tags": Array [], - "title": "OIDCClient", - "type": "form", -} -`; diff --git a/packages/third-parties/schema-formio/test/__snapshots__/date.integration.spec.ts.snap b/packages/third-parties/schema-formio/test/__snapshots__/date.integration.spec.ts.snap index fbc4e2acdcf..ed2896ba2ed 100644 --- a/packages/third-parties/schema-formio/test/__snapshots__/date.integration.spec.ts.snap +++ b/packages/third-parties/schema-formio/test/__snapshots__/date.integration.spec.ts.snap @@ -50,54 +50,3 @@ exports[`Date integration > should generate date-time field 1`] = ` "type": "form", } `; - -exports[`Date integration should generate date-time field 1`] = ` -Object { - "access": Array [], - "components": Array [ - Object { - "datePicker": Object { - "disableWeekdays": false, - "disableWeekends": false, - }, - "disabled": false, - "enableMaxDateInput": false, - "enableMinDateInput": false, - "input": true, - "key": "test", - "label": "Test", - "timePicker": Object { - "showMeridian": false, - }, - "type": "datetime", - "validate": Object { - "required": false, - }, - "widget": Object { - "allowInput": true, - "disableWeekdays": false, - "disableWeekends": false, - "displayInTimezone": "viewer", - "enableTime": true, - "hourIncrement": 1, - "locale": "en", - "maxDate": null, - "minDate": null, - "minuteIncrement": 1, - "mode": "single", - "noCalendar": false, - "time_24hr": true, - "type": "calendar", - "useLocaleSettings": false, - }, - }, - ], - "display": "form", - "machineName": "model", - "name": "model", - "submissionAccess": Array [], - "tags": Array [], - "title": "Model", - "type": "form", -} -`; diff --git a/packages/third-parties/schema-formio/test/__snapshots__/deep-nested-form.integration.spec.ts.snap b/packages/third-parties/schema-formio/test/__snapshots__/deep-nested-form.integration.spec.ts.snap index 72ea0a23d61..20cf92e094c 100644 --- a/packages/third-parties/schema-formio/test/__snapshots__/deep-nested-form.integration.spec.ts.snap +++ b/packages/third-parties/schema-formio/test/__snapshots__/deep-nested-form.integration.spec.ts.snap @@ -186,190 +186,3 @@ exports[`Deep Nested form integration > should generate form and nested form 1`] "type": "form", } `; - -exports[`Deep Nested form integration should generate form and nested form 1`] = ` -Object { - "access": Array [], - "components": Array [ - Object { - "components": Array [ - Object { - "collapsible": false, - "components": Array [ - Object { - "components": Array [ - Object { - "collapsible": false, - "components": Array [ - Object { - "defaultValue": true, - "disabled": false, - "input": true, - "key": "deliverNotifications", - "label": "Remind subscribers", - "type": "checkbox", - "validate": Object { - "required": false, - }, - }, - ], - "disabled": false, - "input": false, - "key": "panel", - "label": "One hour before this maintenance", - "tableView": false, - }, - ], - "disabled": false, - "display": "form", - "input": true, - "key": "oneHourBefore", - "tableView": false, - "type": "form", - "validate": Object { - "required": false, - }, - }, - Object { - "components": Array [ - Object { - "collapsible": false, - "components": Array [ - Object { - "defaultValue": true, - "disabled": false, - "input": true, - "key": "updateStatus", - "label": "Set status to 'In Progress'", - "type": "checkbox", - "validate": Object { - "required": false, - }, - }, - Object { - "defaultValue": true, - "disabled": false, - "input": true, - "key": "setComponentStatus", - "label": "Set affected components' status to 'Under Maintenance'", - "type": "checkbox", - "validate": Object { - "required": false, - }, - }, - Object { - "defaultValue": true, - "disabled": false, - "input": true, - "key": "deliverNotifications", - "label": "Notify subscribers", - "type": "checkbox", - "validate": Object { - "required": false, - }, - }, - ], - "disabled": false, - "input": false, - "key": "panel", - "label": "At the start time for this maintenance", - "tableView": false, - }, - ], - "disabled": false, - "display": "form", - "input": true, - "key": "atStartTime", - "tableView": false, - "type": "form", - "validate": Object { - "required": false, - }, - }, - Object { - "components": Array [ - Object { - "collapsible": false, - "components": Array [ - Object { - "defaultValue": true, - "disabled": false, - "input": true, - "key": "updateStatus", - "label": "Set status to 'Completed'", - "type": "checkbox", - "validate": Object { - "required": false, - }, - }, - Object { - "defaultValue": true, - "disabled": false, - "input": true, - "key": "setComponentStatus", - "label": "Set affected components' status to 'Under Maintenance'", - "type": "checkbox", - "validate": Object { - "required": false, - }, - }, - Object { - "defaultValue": true, - "disabled": false, - "input": true, - "key": "deliverNotifications", - "label": "Notify subscribers", - "type": "checkbox", - "validate": Object { - "required": false, - }, - }, - ], - "disabled": false, - "input": false, - "key": "panel", - "label": "At the end of time for this maintenance", - "tableView": false, - }, - ], - "disabled": false, - "display": "form", - "input": true, - "key": "atEndTime", - "tableView": false, - "type": "form", - "validate": Object { - "required": false, - }, - }, - ], - "disabled": false, - "input": false, - "key": "panel", - "label": "Automation options test", - "tableView": false, - }, - ], - "disabled": false, - "display": "form", - "input": true, - "key": "automationOptions", - "tableView": false, - "type": "form", - "validate": Object { - "required": false, - }, - }, - ], - "display": "form", - "included": Object { - "components": "/components", - }, - "machineName": "scheduled-maintenance", - "name": "scheduled-maintenance", - "submissionAccess": Array [], - "tags": Array [], - "title": "ScheduledMaintenance", - "type": "form", -} -`; diff --git a/packages/third-parties/schema-formio/test/__snapshots__/editgrid.integration.spec.ts.snap b/packages/third-parties/schema-formio/test/__snapshots__/editgrid.integration.spec.ts.snap index 18e7775ce68..8d34f71286e 100644 --- a/packages/third-parties/schema-formio/test/__snapshots__/editgrid.integration.spec.ts.snap +++ b/packages/third-parties/schema-formio/test/__snapshots__/editgrid.integration.spec.ts.snap @@ -39,43 +39,3 @@ exports[`EditGrid integration > should generate form with minItems/maxItems 1`] "type": "form", } `; - -exports[`EditGrid integration should generate form with minItems/maxItems 1`] = ` -Object { - "access": Array [], - "components": Array [ - Object { - "components": Array [ - Object { - "disabled": false, - "input": true, - "key": "id", - "label": "Id", - "type": "textfield", - "validate": Object { - "required": false, - }, - }, - ], - "disabled": false, - "input": true, - "key": "test", - "label": "Test", - "rowDrafts": false, - "type": "editgrid", - "validate": Object { - "max": 10, - "min": 1, - "required": false, - }, - }, - ], - "display": "form", - "machineName": "model", - "name": "model", - "submissionAccess": Array [], - "tags": Array [], - "title": "Model", - "type": "form", -} -`; diff --git a/packages/third-parties/schema-formio/test/__snapshots__/enums.integration.spec.ts.snap b/packages/third-parties/schema-formio/test/__snapshots__/enums.integration.spec.ts.snap index a17f1827aa7..2d286b3e57e 100644 --- a/packages/third-parties/schema-formio/test/__snapshots__/enums.integration.spec.ts.snap +++ b/packages/third-parties/schema-formio/test/__snapshots__/enums.integration.spec.ts.snap @@ -103,107 +103,3 @@ exports[`Enum > should generate the correct schema with select custom value 1`] "type": "form", } `; - -exports[`Enum should generate the correct schema with enum 1`] = ` -Object { - "access": Array [], - "components": Array [ - Object { - "disabled": false, - "key": "test", - "label": "Test", - "type": "radio", - "validate": Object { - "required": false, - }, - "values": Array [ - Object { - "label": "VALUE1", - "shortcut": "", - "value": "VALUE1", - }, - Object { - "label": "VALUE2", - "shortcut": "", - "value": "VALUE2", - }, - ], - }, - ], - "display": "form", - "machineName": "test", - "name": "test", - "submissionAccess": Array [], - "tags": Array [], - "title": "Test", - "type": "form", -} -`; - -exports[`Enum should generate the correct schema with select 1`] = ` -Object { - "access": Array [], - "components": Array [ - Object { - "data": Object { - "json": "[{\\"label\\":\\"VALUE1\\",\\"value\\":\\"VALUE1\\"},{\\"label\\":\\"VALUE2\\",\\"value\\":\\"VALUE2\\"}]", - }, - "dataSrc": "json", - "disabled": false, - "idPath": "value", - "input": true, - "key": "test", - "label": "Test", - "selectThreshold": 0.3, - "template": "{{ item.label }}", - "type": "select", - "validate": Object { - "required": false, - }, - "valueProperty": "value", - "widget": "choicesjs", - }, - ], - "display": "form", - "machineName": "test", - "name": "test", - "submissionAccess": Array [], - "tags": Array [], - "title": "Test", - "type": "form", -} -`; - -exports[`Enum should generate the correct schema with select custom value 1`] = ` -Object { - "access": Array [], - "components": Array [ - Object { - "data": Object { - "json": "[{\\"label\\":\\"label VALUE1\\",\\"value\\":\\"VALUE1\\"},{\\"label\\":\\"label VALUE2\\",\\"value\\":\\"VALUE2\\"}]", - }, - "dataSrc": "json", - "disabled": false, - "idPath": "value", - "input": true, - "key": "test", - "label": "Test", - "selectThreshold": 0.3, - "template": "{{ item.label }}", - "type": "select", - "validate": Object { - "required": false, - }, - "valueProperty": "value", - "widget": "choicesjs", - }, - ], - "display": "form", - "machineName": "test", - "name": "test", - "submissionAccess": Array [], - "tags": Array [], - "title": "Test", - "type": "form", -} -`; diff --git a/packages/third-parties/schema-formio/test/__snapshots__/tabs.integration.spec.ts.snap b/packages/third-parties/schema-formio/test/__snapshots__/tabs.integration.spec.ts.snap index 9a4ba34fd6a..71af3242345 100644 --- a/packages/third-parties/schema-formio/test/__snapshots__/tabs.integration.spec.ts.snap +++ b/packages/third-parties/schema-formio/test/__snapshots__/tabs.integration.spec.ts.snap @@ -425,429 +425,3 @@ exports[`Tabs integration > should generate the correct schema 1`] = ` "type": "form", } `; - -exports[`Tabs integration should generate the correct schema 1`] = ` -Object { - "access": Array [], - "components": Array [ - Object { - "datePicker": Object { - "disableWeekdays": false, - "disableWeekends": false, - }, - "disabled": true, - "enableMaxDateInput": false, - "enableMinDateInput": false, - "input": true, - "key": "created", - "label": "Created", - "timePicker": Object { - "showMeridian": false, - }, - "type": "datetime", - "validate": Object { - "required": false, - }, - "widget": Object { - "allowInput": true, - "disableWeekdays": false, - "disableWeekends": false, - "displayInTimezone": "viewer", - "enableTime": true, - "hourIncrement": 1, - "locale": "en", - "maxDate": null, - "minDate": null, - "minuteIncrement": 1, - "mode": "single", - "noCalendar": false, - "time_24hr": true, - "type": "calendar", - "useLocaleSettings": false, - }, - }, - Object { - "datePicker": Object { - "disableWeekdays": false, - "disableWeekends": false, - }, - "disabled": true, - "enableMaxDateInput": false, - "enableMinDateInput": false, - "input": true, - "key": "modified", - "label": "Modified", - "timePicker": Object { - "showMeridian": false, - }, - "type": "datetime", - "validate": Object { - "required": false, - }, - "widget": Object { - "allowInput": true, - "disableWeekdays": false, - "disableWeekends": false, - "displayInTimezone": "viewer", - "enableTime": true, - "hourIncrement": 1, - "locale": "en", - "maxDate": null, - "minDate": null, - "minuteIncrement": 1, - "mode": "single", - "noCalendar": false, - "time_24hr": true, - "type": "calendar", - "useLocaleSettings": false, - }, - }, - Object { - "components": Array [ - Object { - "components": Array [ - Object { - "disabled": false, - "input": true, - "key": "clientName", - "label": "Client name", - "tableView": true, - "type": "textfield", - "validate": Object { - "required": true, - }, - }, - Object { - "disabled": true, - "input": true, - "key": "clientId", - "label": "Client id", - "tableView": true, - "type": "textfield", - "validate": Object { - "required": true, - }, - }, - Object { - "disabled": true, - "input": true, - "key": "clientSecret", - "label": "Client secret", - "type": "textfield", - "validate": Object { - "required": true, - }, - }, - Object { - "defaultValue": false, - "disabled": false, - "input": true, - "key": "trusted", - "label": "Trusted", - "type": "checkbox", - "validate": Object { - "required": false, - }, - }, - Object { - "disabled": false, - "input": true, - "key": "clientUri", - "label": "Client uri", - "type": "url", - "validate": Object { - "required": false, - }, - }, - Object { - "disabled": false, - "input": true, - "key": "logoUri", - "label": "Logo uri", - "tableView": true, - "type": "url", - "validate": Object { - "required": false, - }, - }, - Object { - "defaultValue": "web", - "disabled": false, - "key": "applicationType", - "label": "Application type", - "type": "radio", - "validate": Object { - "required": true, - }, - "values": Array [ - Object { - "label": "web", - "shortcut": "", - "value": "web", - }, - Object { - "label": "native", - "shortcut": "", - "value": "native", - }, - Object { - "label": "service", - "shortcut": "", - "value": "service", - }, - ], - }, - Object { - "disabled": false, - "inline": false, - "key": "responseTypes", - "label": "Response types:", - "type": "selectboxes", - "validate": Object { - "required": false, - }, - "values": Array [ - Object { - "label": "code", - "shortcut": "", - "value": "code", - }, - Object { - "label": "id_token token", - "shortcut": "", - "value": "id_token token", - }, - Object { - "label": "code id_token token", - "shortcut": "", - "value": "code id_token token", - }, - Object { - "label": "token", - "shortcut": "", - "value": "token", - }, - Object { - "label": "none", - "shortcut": "", - "value": "none", - }, - ], - }, - Object { - "disabled": false, - "inline": false, - "key": "grantTypes", - "label": "Grant Types:", - "type": "selectboxes", - "validate": Object { - "required": false, - }, - "values": Array [ - Object { - "label": "authorization_code", - "shortcut": "", - "value": "authorization_code", - }, - Object { - "label": "implicit", - "shortcut": "", - "value": "implicit", - }, - Object { - "label": "refresh_token", - "shortcut": "", - "value": "refresh_token", - }, - Object { - "label": "client_credentials", - "shortcut": "", - "value": "client_credentials", - }, - ], - }, - Object { - "defaultValue": "client_secret_basic", - "disabled": false, - "key": "tokenEndpointAuthMethod", - "label": "Token endpoint auth method", - "type": "radio", - "validate": Object { - "required": false, - }, - "values": Array [ - Object { - "label": "client_secret_post", - "shortcut": "", - "value": "client_secret_post", - }, - Object { - "label": "client_secret_basic", - "shortcut": "", - "value": "client_secret_basic", - }, - Object { - "label": "client_secret_jwt", - "shortcut": "", - "value": "client_secret_jwt", - }, - Object { - "label": "private_key_jwt", - "shortcut": "", - "value": "private_key_jwt", - }, - Object { - "label": "none", - "shortcut": "", - "value": "none", - }, - ], - }, - Object { - "defaultValue": 3600, - "delimiter": false, - "disabled": false, - "input": true, - "inputFormat": "plain", - "key": "defaultMaxAge", - "label": "Default max age", - "mask": false, - "requireDecimal": false, - "type": "number", - "validate": Object { - "required": false, - }, - }, - ], - "key": "parameters", - "label": "Parameters", - }, - Object { - "components": Array [ - Object { - "disabled": false, - "input": true, - "key": "redirectUris", - "label": "Redirect uris", - "multiple": true, - "type": "url", - "validate": Object { - "required": false, - }, - }, - Object { - "disabled": false, - "input": true, - "key": "postLogoutRedirectUris", - "label": "Post logout redirect uris", - "multiple": true, - "type": "url", - "validate": Object { - "required": false, - }, - }, - ], - "key": "redirectUris", - "label": "Redirect Uris", - }, - Object { - "components": Array [ - Object { - "disabled": false, - "input": true, - "key": "scopes", - "label": "Scopes", - "storeas": "array", - "tableView": true, - "type": "tags", - "validate": Object { - "required": false, - }, - }, - ], - "key": "scopes", - "label": "Scopes", - }, - Object { - "components": Array [ - Object { - "defaultValue": "clubmed", - "description": "Change the template display on OIDC group1", - "disabled": false, - "key": "theme", - "label": "Theme", - "type": "radio", - "validate": Object { - "required": false, - }, - "values": Array [ - Object { - "label": "clubmed", - "shortcut": "", - "value": "clubmed", - }, - Object { - "label": "myclubmed", - "shortcut": "", - "value": "myclubmed", - }, - ], - }, - Object { - "defaultValue": true, - "description": "Import Google tags scripts for this client on OIDC group1 Login page", - "disabled": false, - "input": true, - "key": "enableGoogleAd", - "label": "Enable Google Tags", - "type": "checkbox", - "validate": Object { - "required": false, - }, - }, - Object { - "defaultValue": true, - "description": "Display socials login buttons for this client on OIDC group1 Login page", - "disabled": false, - "input": true, - "key": "enableConnectionProvider", - "label": "Enable Social Login", - "type": "checkbox", - "validate": Object { - "required": false, - }, - }, - Object { - "defaultValue": false, - "description": "Disable the account creation link on OIDC group1", - "disabled": false, - "input": true, - "key": "hideAccountCreation", - "label": "Hide account creation link", - "type": "checkbox", - "validate": Object { - "required": false, - }, - }, - ], - "key": "themes", - "label": "Themes", - }, - ], - "input": false, - "key": "tabs", - "label": "Tabs", - "pushed": true, - "tableView": false, - "type": "tabs", - }, - ], - "display": "form", - "machineName": "oidc-client", - "name": "oidc-client", - "submissionAccess": Array [], - "tags": Array [], - "title": "OIDCClient", - "type": "form", -} -`; diff --git a/packages/third-parties/schema-formio/test/array.integration.spec.ts b/packages/third-parties/schema-formio/test/array.integration.spec.ts index 142a757916a..912ce2414ba 100644 --- a/packages/third-parties/schema-formio/test/array.integration.spec.ts +++ b/packages/third-parties/schema-formio/test/array.integration.spec.ts @@ -1,4 +1,5 @@ import {CollectionOf} from "@tsed/schema"; + import {getFormioSchema} from "../src/index.js"; describe("Array", () => { diff --git a/packages/third-parties/schema-formio/test/basic.integration.spec.ts b/packages/third-parties/schema-formio/test/basic.integration.spec.ts index 0b42660e24f..2d6a0efd037 100644 --- a/packages/third-parties/schema-formio/test/basic.integration.spec.ts +++ b/packages/third-parties/schema-formio/test/basic.integration.spec.ts @@ -12,6 +12,7 @@ import { Title, Uri } from "@tsed/schema"; + import {getFormioSchema, InputTags, TableView} from "../src/index.js"; export enum OIDCResponseTypes { diff --git a/packages/third-parties/schema-formio/test/datamap.integration.spec.ts b/packages/third-parties/schema-formio/test/datamap.integration.spec.ts index e5ec5f8fa68..8622b1f2489 100644 --- a/packages/third-parties/schema-formio/test/datamap.integration.spec.ts +++ b/packages/third-parties/schema-formio/test/datamap.integration.spec.ts @@ -1,4 +1,5 @@ import {CollectionOf} from "@tsed/schema"; + import {getFormioSchema} from "../src/index.js"; describe("DataMap integration", () => { diff --git a/packages/third-parties/schema-formio/test/date.integration.spec.ts b/packages/third-parties/schema-formio/test/date.integration.spec.ts index 5fdf441b362..b6ecb314ae1 100644 --- a/packages/third-parties/schema-formio/test/date.integration.spec.ts +++ b/packages/third-parties/schema-formio/test/date.integration.spec.ts @@ -1,4 +1,5 @@ import {DateFormat, DateTime} from "@tsed/schema"; + import {Component, getFormioSchema} from "../src/index.js"; describe("Date integration", () => { diff --git a/packages/third-parties/schema-formio/test/deep-nested-form.integration.spec.ts b/packages/third-parties/schema-formio/test/deep-nested-form.integration.spec.ts index 88e05cb7664..898b7497eb7 100644 --- a/packages/third-parties/schema-formio/test/deep-nested-form.integration.spec.ts +++ b/packages/third-parties/schema-formio/test/deep-nested-form.integration.spec.ts @@ -1,4 +1,5 @@ import {Default, Property} from "@tsed/schema"; + import {Form, getFormioSchema, Label} from "../src/index.js"; @Form({label: "One hour before this maintenance"}) diff --git a/packages/third-parties/schema-formio/test/editgrid.integration.spec.ts b/packages/third-parties/schema-formio/test/editgrid.integration.spec.ts index a740eec34ba..ec1a94b32de 100644 --- a/packages/third-parties/schema-formio/test/editgrid.integration.spec.ts +++ b/packages/third-parties/schema-formio/test/editgrid.integration.spec.ts @@ -1,6 +1,7 @@ import {CollectionOf, MaxItems, MinItems, Property} from "@tsed/schema"; -import {getFormioSchema} from "../src/index.js"; + import {OpenWhenEmpty} from "../src/decorators/openWhenEmpty.js"; +import {getFormioSchema} from "../src/index.js"; describe("EditGrid integration", () => { it("should generate form", async () => { diff --git a/packages/third-parties/schema-formio/test/email.integration.spec.ts b/packages/third-parties/schema-formio/test/email.integration.spec.ts index f8bcf6ff3ab..1562c38e518 100644 --- a/packages/third-parties/schema-formio/test/email.integration.spec.ts +++ b/packages/third-parties/schema-formio/test/email.integration.spec.ts @@ -1,4 +1,5 @@ import {Email} from "@tsed/schema"; + import {getFormioSchema} from "../src/index.js"; describe("Email integration", () => { diff --git a/packages/third-parties/schema-formio/test/enums.integration.spec.ts b/packages/third-parties/schema-formio/test/enums.integration.spec.ts index 470418943e5..7814c07619a 100644 --- a/packages/third-parties/schema-formio/test/enums.integration.spec.ts +++ b/packages/third-parties/schema-formio/test/enums.integration.spec.ts @@ -1,4 +1,5 @@ import {Enum} from "@tsed/schema"; + import {DataSourceJson, getFormioSchema, Select} from "../src/index.js"; enum TestEnum { diff --git a/packages/third-parties/schema-formio/test/nested-form.integration.spec.ts b/packages/third-parties/schema-formio/test/nested-form.integration.spec.ts index e2a9138e1f2..9d66d4c8dee 100644 --- a/packages/third-parties/schema-formio/test/nested-form.integration.spec.ts +++ b/packages/third-parties/schema-formio/test/nested-form.integration.spec.ts @@ -1,4 +1,5 @@ import {Property, ReadOnly, Required} from "@tsed/schema"; + import {Currency, getFormioSchema, Hidden, TableView, Textarea} from "../src/index.js"; describe("Nested form integration", () => { diff --git a/packages/third-parties/schema-formio/test/number.integration.spec.ts b/packages/third-parties/schema-formio/test/number.integration.spec.ts index 58c3f48f7d6..2bdb168c2a3 100644 --- a/packages/third-parties/schema-formio/test/number.integration.spec.ts +++ b/packages/third-parties/schema-formio/test/number.integration.spec.ts @@ -1,4 +1,5 @@ import {Maximum, Minimum, Property} from "@tsed/schema"; + import {getFormioSchema} from "../src/index.js"; describe("Number", () => { diff --git a/packages/third-parties/schema-formio/test/object.integration.spec.ts b/packages/third-parties/schema-formio/test/object.integration.spec.ts index 07a4d9cb864..9d497b4e188 100644 --- a/packages/third-parties/schema-formio/test/object.integration.spec.ts +++ b/packages/third-parties/schema-formio/test/object.integration.spec.ts @@ -1,4 +1,5 @@ import {Property} from "@tsed/schema"; + import {getFormioSchema} from "../src/index.js"; describe("Object", () => { diff --git a/packages/third-parties/schema-formio/test/required.integration.spec.ts b/packages/third-parties/schema-formio/test/required.integration.spec.ts index c9a6a120f4a..ff8e88dc75e 100644 --- a/packages/third-parties/schema-formio/test/required.integration.spec.ts +++ b/packages/third-parties/schema-formio/test/required.integration.spec.ts @@ -1,4 +1,5 @@ import {MinLength, Required} from "@tsed/schema"; + import {getFormioSchema} from "../src/index.js"; describe("Required", () => { diff --git a/packages/third-parties/schema-formio/test/string.integration.spec.ts b/packages/third-parties/schema-formio/test/string.integration.spec.ts index 3d38657ec68..63b98b99607 100644 --- a/packages/third-parties/schema-formio/test/string.integration.spec.ts +++ b/packages/third-parties/schema-formio/test/string.integration.spec.ts @@ -1,4 +1,5 @@ import {MaxLength, MinLength, Pattern, Property} from "@tsed/schema"; + import {getFormioSchema} from "../src/index.js"; describe("String", () => { diff --git a/packages/third-parties/schema-formio/test/tabs.integration.spec.ts b/packages/third-parties/schema-formio/test/tabs.integration.spec.ts index 2132342aa08..d87cd4af9fb 100644 --- a/packages/third-parties/schema-formio/test/tabs.integration.spec.ts +++ b/packages/third-parties/schema-formio/test/tabs.integration.spec.ts @@ -13,8 +13,9 @@ import { Title, Uri } from "@tsed/schema"; -import {getFormioSchema, InputTags, TableView} from "../src/index.js"; + import {Tabs} from "../src/decorators/tabs.js"; +import {getFormioSchema, InputTags, TableView} from "../src/index.js"; export enum OIDCResponseTypes { CODE = "code", diff --git a/packages/third-parties/schema-formio/tsconfig.cjs.json b/packages/third-parties/schema-formio/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/third-parties/schema-formio/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/schema-formio/tsconfig.esm.json b/packages/third-parties/schema-formio/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/third-parties/schema-formio/tsconfig.esm.json +++ b/packages/third-parties/schema-formio/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/third-parties/schema-formio/tsconfig.json b/packages/third-parties/schema-formio/tsconfig.json index 08748acb934..7c7c590b346 100644 --- a/packages/third-parties/schema-formio/tsconfig.json +++ b/packages/third-parties/schema-formio/tsconfig.json @@ -18,9 +18,6 @@ { "path": "../formio-types/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/third-parties/schema-formio/tsconfig.spec.json b/packages/third-parties/schema-formio/tsconfig.spec.json index b2e248f2c69..df5434b7af1 100644 --- a/packages/third-parties/schema-formio/tsconfig.spec.json +++ b/packages/third-parties/schema-formio/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/third-parties/schema-formio/webpack.config.js b/packages/third-parties/schema-formio/webpack.config.cjs similarity index 100% rename from packages/third-parties/schema-formio/webpack.config.js rename to packages/third-parties/schema-formio/webpack.config.cjs diff --git a/packages/third-parties/socketio-testing/package.json b/packages/third-parties/socketio-testing/package.json index 9415e77fc56..cf37c05fed0 100644 --- a/packages/third-parties/socketio-testing/package.json +++ b/packages/third-parties/socketio-testing/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/socketio-testing", "description": "Socket.io testing package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -21,21 +20,21 @@ "build:ts": "tsc --build tsconfig.json" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", "@tsed/common": "workspace:*", "@tsed/di": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "socket.io-client": "^4.7.5", - "typescript": "4.9.5" + "eslint": "9.12.0", + "socket.io-client": "^4.8.0", + "typescript": "5.4.5" }, "peerDependencies": { - "@tsed/common": "7.83.3", - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", + "@tsed/common": "8.0.0-alpha.10", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", "socket.io-client": "^4.0.1" } } diff --git a/packages/third-parties/socketio-testing/tsconfig.cjs.json b/packages/third-parties/socketio-testing/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/third-parties/socketio-testing/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/socketio-testing/tsconfig.esm.json b/packages/third-parties/socketio-testing/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/third-parties/socketio-testing/tsconfig.esm.json +++ b/packages/third-parties/socketio-testing/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/third-parties/socketio-testing/tsconfig.json b/packages/third-parties/socketio-testing/tsconfig.json index 250467edb65..a518f91af34 100644 --- a/packages/third-parties/socketio-testing/tsconfig.json +++ b/packages/third-parties/socketio-testing/tsconfig.json @@ -15,9 +15,6 @@ { "path": "../../di/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" } diff --git a/packages/third-parties/socketio/.nycrc b/packages/third-parties/socketio/.nycrc deleted file mode 100644 index 3c499e50bb6..00000000000 --- a/packages/third-parties/socketio/.nycrc +++ /dev/null @@ -1,27 +0,0 @@ -{ - "include": [ - "src/**/*.ts" - ], - "exclude": [ - "**/*.spec.ts", - "**/*.d.ts", - "node_modules", - "**/interfaces/**", - "**/index.ts" - ], - "extension": [ - ".ts" - ], - "require": [], - "reporter": [ - "text-summary", - "html", - "lcov", - "json" - ], - "check-coverage": true, - "statements": 100, - "branches": 81.56, - "functions": 97.33, - "lines": 100 -} diff --git a/packages/third-parties/socketio/package.json b/packages/third-parties/socketio/package.json index 5099dbbaa98..53c74619ab2 100644 --- a/packages/third-parties/socketio/package.json +++ b/packages/third-parties/socketio/package.json @@ -1,8 +1,8 @@ { "name": "@tsed/socketio", "description": "Socket.io package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "keywords": [ "tsed", "socket.io", @@ -11,15 +11,14 @@ "realtime" ], "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -31,7 +30,7 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -44,19 +43,19 @@ "@tsed/schema": "workspace:*", "@tsed/socketio-testing": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "express": "^4.19.1", - "socket.io": "4.7.5", - "socket.io-client": "^4.7.5", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "express": "^4.21.0", + "socket.io": "4.8.0", + "socket.io-client": "^4.8.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/di": "7.83.3", - "@tsed/json-mapper": "7.83.3", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/json-mapper": "8.0.0-alpha.10", "@tsed/logger": ">=6.7.5", - "@tsed/platform-middlewares": "7.83.3", - "@tsed/schema": "7.83.3", + "@tsed/platform-middlewares": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10", "socket.io": ">=4.0.0" }, "peerDependenciesMeta": { diff --git a/packages/third-parties/socketio/src/SocketIOModule.spec.ts b/packages/third-parties/socketio/src/SocketIOModule.spec.ts index da47a39a10d..54812899f72 100644 --- a/packages/third-parties/socketio/src/SocketIOModule.spec.ts +++ b/packages/third-parties/socketio/src/SocketIOModule.spec.ts @@ -1,6 +1,7 @@ import {PlatformConfiguration, PlatformTest} from "@tsed/common"; import Http from "http"; import Https from "https"; + import {SocketIOModule, SocketIOServer, SocketIOService} from "./index.js"; async function createModuleFixture() { @@ -51,9 +52,9 @@ describe("SocketIOModule", () => { expect(socketIOServer.attach).toHaveBeenCalledTimes(2); - expect((socketIOModule as any).getWebsocketServices).toBeCalledWith(); - expect(socketIOServer.adapter).toBeCalled(); - expect(socketIOService.addSocketProvider).toBeCalledWith({provider: "provider"}); + expect((socketIOModule as any).getWebsocketServices).toHaveBeenCalledWith(); + expect(socketIOServer.adapter).toHaveBeenCalled(); + expect(socketIOService.addSocketProvider).toHaveBeenCalledWith({provider: "provider"}); }); }); describe("with https server", () => { @@ -75,10 +76,10 @@ describe("SocketIOModule", () => { // WHEN await socketIOModule.$afterListen(); - expect(socketIOServer.attach).toBeCalled(); + expect(socketIOServer.attach).toHaveBeenCalled(); - expect((socketIOModule as any).getWebsocketServices).toBeCalledWith(); - expect(socketIOService.addSocketProvider).toBeCalledWith({provider: "provider"}); + expect((socketIOModule as any).getWebsocketServices).toHaveBeenCalledWith(); + expect(socketIOService.addSocketProvider).toHaveBeenCalledWith({provider: "provider"}); }); }); }); diff --git a/packages/third-parties/socketio/src/SocketIOModule.ts b/packages/third-parties/socketio/src/SocketIOModule.ts index aba61874179..8db51d0e6ab 100644 --- a/packages/third-parties/socketio/src/SocketIOModule.ts +++ b/packages/third-parties/socketio/src/SocketIOModule.ts @@ -1,13 +1,14 @@ import {$log, AfterListen, Constant, InjectorService, Module, OnDestroy, Provider} from "@tsed/common"; import {nameOf} from "@tsed/core"; +import {Inject} from "@tsed/di"; +import Http from "http"; +import Https from "https"; import {Server, ServerOptions} from "socket.io"; + import {SocketProviderMetadata} from "./class/SocketProviderMetadata.js"; // tslint:disable-line: no-unused-variable import {PROVIDER_TYPE_SOCKET_SERVICE} from "./constants/constants.js"; import {IO} from "./decorators/io.js"; import {SocketIOService} from "./services/SocketIOService.js"; -import Http from "http"; -import Https from "https"; -import {Inject} from "@tsed/di"; /** * @ignore diff --git a/packages/third-parties/socketio/src/class/SocketHandlersBuilder.spec.ts b/packages/third-parties/socketio/src/class/SocketHandlersBuilder.spec.ts index 2839e01c12a..dff9e1d0293 100644 --- a/packages/third-parties/socketio/src/class/SocketHandlersBuilder.spec.ts +++ b/packages/third-parties/socketio/src/class/SocketHandlersBuilder.spec.ts @@ -1,6 +1,7 @@ import {DIContext, getContext, PlatformTest} from "@tsed/common"; import {Store} from "@tsed/core"; import {InjectorService, ProviderType} from "@tsed/di"; + import {SocketFilters} from "../interfaces/SocketFilters.js"; import {SocketReturnsTypes} from "../interfaces/SocketReturnsTypes.js"; import {SocketHandlersBuilder} from "./SocketHandlersBuilder.js"; @@ -91,7 +92,7 @@ describe("SocketHandlersBuilder", () => { }); it("should call $onNamespaceInit hook", () => { const {instance} = createServiceFixture(); - expect(instance.$onNamespaceInit).toBeCalledWith("namespace1"); + expect(instance.$onNamespaceInit).toHaveBeenCalledWith("namespace1"); }); it("should add namespace1", () => { const {instance} = createServiceFixture(); @@ -144,8 +145,8 @@ describe("SocketHandlersBuilder", () => { await builder.onConnection(socketStub, nspStub); - expect(buildHandlersStub).toBeCalledWith(socketStub, nspStub); - expect(invokeStub).toBeCalledWith( + expect(buildHandlersStub).toHaveBeenCalledWith(socketStub, nspStub); + expect(invokeStub).toHaveBeenCalledWith( instance, {eventName: "connection", methodClassName: "$onConnection"}, { @@ -235,7 +236,7 @@ describe("SocketHandlersBuilder", () => { await builder.onDisconnect(socketStub, nspStub); - expect(invokeStub).toBeCalledWith( + expect(invokeStub).toHaveBeenCalledWith( instance, {eventName: "disconnect", methodClassName: "$onDisconnect"}, { @@ -281,7 +282,7 @@ describe("SocketHandlersBuilder", () => { await builder.onDisconnect(socketStub, nspStub, reason); - expect(invokeStub).toBeCalledWith( + expect(invokeStub).toHaveBeenCalledWith( instance, {eventName: "disconnect", methodClassName: "$onDisconnect"}, { @@ -363,8 +364,8 @@ describe("SocketHandlersBuilder", () => { await builder.buildHandlers(socketStub, "ws"); - expect(socketStub.on).toBeCalledWith("eventName", expect.any(Function)); - expect(builder.runQueue).toBeCalledWith(metadata.handlers.testHandler, ["arg1"], socketStub, "ws"); + expect(socketStub.on).toHaveBeenCalledWith("eventName", expect.any(Function)); + expect(builder.runQueue).toHaveBeenCalledWith(metadata.handlers.testHandler, ["arg1"], socketStub, "ws"); }); it("should call the method instance in the context", async () => { @@ -431,11 +432,11 @@ describe("SocketHandlersBuilder", () => { builder.invoke(instance, metadata.handlers.testHandler, {scope: "scope"}); - expect(buildParametersStub).toBeCalledWith(["param"], { + expect(buildParametersStub).toHaveBeenCalledWith(["param"], { scope: "scope" }); - expect(instance.testHandler).toBeCalledWith("argMapped"); + expect(instance.testHandler).toHaveBeenCalledWith("argMapped"); }); }); describe("buildParameters()", () => { @@ -656,7 +657,7 @@ describe("SocketHandlersBuilder", () => { {nsp: nspStub} )({response: "response"}); - expect(nspStub.emit).toBeCalledWith("eventName", {response: "response"}); + expect(nspStub.emit).toHaveBeenCalledWith("eventName", {response: "response"}); }); }); describe("when BROADCAST_OTHERS", () => { @@ -677,7 +678,7 @@ describe("SocketHandlersBuilder", () => { {socket: socketStub} )({response: "response"}); - expect(socketStub.broadcast.emit).toBeCalledWith("eventName", {response: "response"}); + expect(socketStub.broadcast.emit).toHaveBeenCalledWith("eventName", {response: "response"}); }); }); @@ -697,7 +698,7 @@ describe("SocketHandlersBuilder", () => { {socket: socketStub} )({response: "response"}); - expect(socketStub.emit).toBeCalledWith("eventName", {response: "response"}); + expect(socketStub.emit).toHaveBeenCalledWith("eventName", {response: "response"}); }); }); }); @@ -742,7 +743,7 @@ describe("SocketHandlersBuilder", () => { await builder.runQueue(handlerMetadata, ["arg1"], "socket", "nsp"); - expect((builder as any).bindMiddleware).nthCalledWith( + expect((builder as any).bindMiddleware).toHaveBeenNthCalledWith( 1, {target: "target before global"}, { @@ -754,7 +755,7 @@ describe("SocketHandlersBuilder", () => { expect.any(Object) ); - expect((builder as any).bindMiddleware).nthCalledWith( + expect((builder as any).bindMiddleware).toHaveBeenNthCalledWith( 2, {target: "target before"}, { @@ -766,21 +767,21 @@ describe("SocketHandlersBuilder", () => { expect.any(Object) ); - expect(builder.invoke).toBeCalledWith(instance, handlerMetadata, { + expect(builder.invoke).toHaveBeenCalledWith(instance, handlerMetadata, { eventName: "eventName", args: ["arg1"], socket: "socket", nsp: "nsp" }); - expect((SocketHandlersBuilder as any).bindResponseMiddleware).toBeCalledWith(handlerMetadata, { + expect((SocketHandlersBuilder as any).bindResponseMiddleware).toHaveBeenCalledWith(handlerMetadata, { eventName: "eventName", args: ["arg1"], socket: "socket", nsp: "nsp" }); - expect((builder as any).bindMiddleware).nthCalledWith( + expect((builder as any).bindMiddleware).toHaveBeenNthCalledWith( 3, {target: "target after"}, { @@ -792,7 +793,7 @@ describe("SocketHandlersBuilder", () => { expect.any(Object) ); - expect((builder as any).bindMiddleware).nthCalledWith( + expect((builder as any).bindMiddleware).toHaveBeenNthCalledWith( 4, {target: "target after global"}, { @@ -804,7 +805,7 @@ describe("SocketHandlersBuilder", () => { expect.any(Object) ); - expect(builder.deserialize).toBeCalledWith(handlerMetadata, { + expect(builder.deserialize).toHaveBeenCalledWith(handlerMetadata, { eventName: "eventName", args: ["arg1"], socket: "socket", @@ -841,8 +842,8 @@ describe("SocketHandlersBuilder", () => { builder.bindMiddleware({target: "target"}, scope, Promise.resolve()); - expect(injector.get).toBeCalledWith({target: "target"}); - expect(builder.invoke).not.toBeCalled(); + expect(injector.get).toHaveBeenCalledWith({target: "target"}); + expect(builder.invoke).not.toHaveBeenCalled(); }); }); @@ -877,8 +878,8 @@ describe("SocketHandlersBuilder", () => { await builder.bindMiddleware({target: "target"}, scope, Promise.resolve()); // THEN - expect(injector.get).toBeCalledWith({target: "target"}); - expect(builder.invoke).toBeCalledWith(instance, "use", scope); + expect(injector.get).toHaveBeenCalledWith({target: "target"}); + expect(builder.invoke).toHaveBeenCalledWith(instance, "use", scope); expect(scope.args).toEqual([{result: "result"}]); }); }); @@ -920,8 +921,8 @@ describe("SocketHandlersBuilder", () => { await builder.bindMiddleware({target: "target"}, scope, Promise.reject(error)); // THEN - expect(injector.get).toBeCalledWith({target: "target"}); - expect(builder.invoke).toBeCalledWith(instance, "use", {error, ...scope}); + expect(injector.get).toHaveBeenCalledWith({target: "target"}); + expect(builder.invoke).toHaveBeenCalledWith(instance, "use", {error, ...scope}); }); }); }); diff --git a/packages/third-parties/socketio/src/class/SocketHandlersBuilder.ts b/packages/third-parties/socketio/src/class/SocketHandlersBuilder.ts index ca92186a8ca..5053f62f88c 100644 --- a/packages/third-parties/socketio/src/class/SocketHandlersBuilder.ts +++ b/packages/third-parties/socketio/src/class/SocketHandlersBuilder.ts @@ -3,6 +3,8 @@ import {DIContext, InjectorService, Provider, runInContext} from "@tsed/di"; import {deserialize} from "@tsed/json-mapper"; import {$log} from "@tsed/logger"; import {Namespace, Socket} from "socket.io"; +import {v4} from "uuid"; + import {SocketFilters} from "../interfaces/SocketFilters.js"; import {SocketHandlerMetadata} from "../interfaces/SocketHandlerMetadata.js"; import {SocketInjectableNsp} from "../interfaces/SocketInjectableNsp.js"; @@ -11,7 +13,6 @@ import {SocketProviderTypes} from "../interfaces/SocketProviderTypes.js"; import {SocketReturnsTypes} from "../interfaces/SocketReturnsTypes.js"; import {SocketProviderMetadata} from "./SocketProviderMetadata.js"; import {SocketSessionData} from "./SocketSessionData.js"; -import {v4} from "uuid"; /** * @ignore diff --git a/packages/third-parties/socketio/src/decorators/args.spec.ts b/packages/third-parties/socketio/src/decorators/args.spec.ts index ae153e43472..5db26d63887 100644 --- a/packages/third-parties/socketio/src/decorators/args.spec.ts +++ b/packages/third-parties/socketio/src/decorators/args.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {Args} from "../index.js"; describe("Args", () => { diff --git a/packages/third-parties/socketio/src/decorators/args.ts b/packages/third-parties/socketio/src/decorators/args.ts index b2b2993c087..1b8b1f386a7 100644 --- a/packages/third-parties/socketio/src/decorators/args.ts +++ b/packages/third-parties/socketio/src/decorators/args.ts @@ -1,4 +1,5 @@ import {isCollection, Metadata, Store} from "@tsed/core"; + import {SocketFilters} from "../interfaces/SocketFilters.js"; /** diff --git a/packages/third-parties/socketio/src/decorators/broadcast.spec.ts b/packages/third-parties/socketio/src/decorators/broadcast.spec.ts index de82f9661fd..2b248b7c95b 100644 --- a/packages/third-parties/socketio/src/decorators/broadcast.spec.ts +++ b/packages/third-parties/socketio/src/decorators/broadcast.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {Broadcast} from "../index.js"; describe("Broadcast", () => { diff --git a/packages/third-parties/socketio/src/decorators/broadcastOthers.spec.ts b/packages/third-parties/socketio/src/decorators/broadcastOthers.spec.ts index 9fa1839ff31..d81ba9a1915 100644 --- a/packages/third-parties/socketio/src/decorators/broadcastOthers.spec.ts +++ b/packages/third-parties/socketio/src/decorators/broadcastOthers.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {BroadcastOthers} from "../index.js"; describe("BroadcastOthers", () => { diff --git a/packages/third-parties/socketio/src/decorators/emit.spec.ts b/packages/third-parties/socketio/src/decorators/emit.spec.ts index a088531344b..f0d0f43e3d4 100644 --- a/packages/third-parties/socketio/src/decorators/emit.spec.ts +++ b/packages/third-parties/socketio/src/decorators/emit.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {Emit} from "../index.js"; describe("Emit", () => { diff --git a/packages/third-parties/socketio/src/decorators/input.spec.ts b/packages/third-parties/socketio/src/decorators/input.spec.ts index 74d24524187..b1ccc2eeb13 100644 --- a/packages/third-parties/socketio/src/decorators/input.spec.ts +++ b/packages/third-parties/socketio/src/decorators/input.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {Input} from "../index.js"; describe("Input", () => { diff --git a/packages/third-parties/socketio/src/decorators/inputAndBroadcast.spec.ts b/packages/third-parties/socketio/src/decorators/inputAndBroadcast.spec.ts index c417103a226..6e7771c5476 100644 --- a/packages/third-parties/socketio/src/decorators/inputAndBroadcast.spec.ts +++ b/packages/third-parties/socketio/src/decorators/inputAndBroadcast.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {InputAndBroadcast} from "../index.js"; describe("InputAndBroadcast", () => { diff --git a/packages/third-parties/socketio/src/decorators/inputAndBroadcastOthers.spec.ts b/packages/third-parties/socketio/src/decorators/inputAndBroadcastOthers.spec.ts index ca63f92f95b..4b3f9dd3e68 100644 --- a/packages/third-parties/socketio/src/decorators/inputAndBroadcastOthers.spec.ts +++ b/packages/third-parties/socketio/src/decorators/inputAndBroadcastOthers.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {InputAndBroadcastOthers} from "../index.js"; describe("InputAndBroadcastOthers", () => { diff --git a/packages/third-parties/socketio/src/decorators/inputAndEmit.spec.ts b/packages/third-parties/socketio/src/decorators/inputAndEmit.spec.ts index 03ce5faf09e..086fa958a7f 100644 --- a/packages/third-parties/socketio/src/decorators/inputAndEmit.spec.ts +++ b/packages/third-parties/socketio/src/decorators/inputAndEmit.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {InputAndEmit} from "../index.js"; describe("InputAndEmit", () => { diff --git a/packages/third-parties/socketio/src/decorators/io.ts b/packages/third-parties/socketio/src/decorators/io.ts index cc5ca73b649..add57f8c1b5 100644 --- a/packages/third-parties/socketio/src/decorators/io.ts +++ b/packages/third-parties/socketio/src/decorators/io.ts @@ -1,5 +1,6 @@ -import {Inject} from "@tsed/di"; import {Type} from "@tsed/core"; +import {Inject} from "@tsed/di"; + import {Server} from "../services/SocketIOServer.js"; /** diff --git a/packages/third-parties/socketio/src/decorators/nsp.spec.ts b/packages/third-parties/socketio/src/decorators/nsp.spec.ts index 535279d3daa..fce00f18293 100644 --- a/packages/third-parties/socketio/src/decorators/nsp.spec.ts +++ b/packages/third-parties/socketio/src/decorators/nsp.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {Nsp} from "../index.js"; describe("Nsp", () => { diff --git a/packages/third-parties/socketio/src/decorators/nsp.ts b/packages/third-parties/socketio/src/decorators/nsp.ts index 3be79c5d1bb..7ef5fa89635 100644 --- a/packages/third-parties/socketio/src/decorators/nsp.ts +++ b/packages/third-parties/socketio/src/decorators/nsp.ts @@ -1,5 +1,6 @@ -import {decoratorTypeOf, DecoratorTypes, Store, isRegExp} from "@tsed/core"; +import {decoratorTypeOf, DecoratorTypes, isRegExp, Store} from "@tsed/core"; import {Namespace as NamespaceType} from "socket.io"; + import {SocketFilters} from "../interfaces/SocketFilters.js"; import {SocketFilter} from "./socketFilter.js"; diff --git a/packages/third-parties/socketio/src/decorators/reason.spec.ts b/packages/third-parties/socketio/src/decorators/reason.spec.ts index 7794cc7307b..814bc07396a 100644 --- a/packages/third-parties/socketio/src/decorators/reason.spec.ts +++ b/packages/third-parties/socketio/src/decorators/reason.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {Nsp, SocketErr} from "../index.js"; import {Reason} from "./reason.js"; diff --git a/packages/third-parties/socketio/src/decorators/reason.ts b/packages/third-parties/socketio/src/decorators/reason.ts index ef79148e2af..df4e1de7053 100644 --- a/packages/third-parties/socketio/src/decorators/reason.ts +++ b/packages/third-parties/socketio/src/decorators/reason.ts @@ -1,5 +1,5 @@ -import {SocketFilter} from "./socketFilter.js"; import {SocketFilters} from "../interfaces/SocketFilters.js"; +import {SocketFilter} from "./socketFilter.js"; /** * Inject the disconnection reason into the decorated parameter. diff --git a/packages/third-parties/socketio/src/decorators/socket.spec.ts b/packages/third-parties/socketio/src/decorators/socket.spec.ts index 2a8079f4d00..f5c79d72a01 100644 --- a/packages/third-parties/socketio/src/decorators/socket.spec.ts +++ b/packages/third-parties/socketio/src/decorators/socket.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {Socket} from "../index.js"; describe("Socket", () => { diff --git a/packages/third-parties/socketio/src/decorators/socket.ts b/packages/third-parties/socketio/src/decorators/socket.ts index 35677c1727a..bcf81e67976 100644 --- a/packages/third-parties/socketio/src/decorators/socket.ts +++ b/packages/third-parties/socketio/src/decorators/socket.ts @@ -1,4 +1,5 @@ import {Socket as SocketType} from "socket.io"; + import {SocketFilters} from "../interfaces/SocketFilters.js"; import {SocketFilter} from "./socketFilter.js"; diff --git a/packages/third-parties/socketio/src/decorators/socketErr.spec.ts b/packages/third-parties/socketio/src/decorators/socketErr.spec.ts index 6119d66470c..12ebe689011 100644 --- a/packages/third-parties/socketio/src/decorators/socketErr.spec.ts +++ b/packages/third-parties/socketio/src/decorators/socketErr.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {SocketErr} from "../index.js"; describe("@SocketErr", () => { diff --git a/packages/third-parties/socketio/src/decorators/socketEventName.spec.ts b/packages/third-parties/socketio/src/decorators/socketEventName.spec.ts index 69cf1d9b7e3..4bf5d0dfbfb 100644 --- a/packages/third-parties/socketio/src/decorators/socketEventName.spec.ts +++ b/packages/third-parties/socketio/src/decorators/socketEventName.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {SocketEventName} from "../index.js"; describe("@SocketEventName", () => { diff --git a/packages/third-parties/socketio/src/decorators/socketFilter.ts b/packages/third-parties/socketio/src/decorators/socketFilter.ts index a670959619d..385fd4047ee 100644 --- a/packages/third-parties/socketio/src/decorators/socketFilter.ts +++ b/packages/third-parties/socketio/src/decorators/socketFilter.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {SocketFilters} from "../interfaces/SocketFilters.js"; /** diff --git a/packages/third-parties/socketio/src/decorators/socketMiddleware.spec.ts b/packages/third-parties/socketio/src/decorators/socketMiddleware.spec.ts index 5d07bc465af..5949cecc653 100644 --- a/packages/third-parties/socketio/src/decorators/socketMiddleware.spec.ts +++ b/packages/third-parties/socketio/src/decorators/socketMiddleware.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {SocketMiddleware, SocketProviderTypes} from "../index.js"; describe("@SocketMiddleware", () => { diff --git a/packages/third-parties/socketio/src/decorators/socketMiddleware.ts b/packages/third-parties/socketio/src/decorators/socketMiddleware.ts index 627b3bde0fa..f070661a02b 100644 --- a/packages/third-parties/socketio/src/decorators/socketMiddleware.ts +++ b/packages/third-parties/socketio/src/decorators/socketMiddleware.ts @@ -1,5 +1,6 @@ -import {Middleware} from "@tsed/platform-middlewares"; import {Store, Type} from "@tsed/core"; +import {Middleware} from "@tsed/platform-middlewares"; + import {SocketProviderTypes} from "../interfaces/SocketProviderTypes.js"; /** diff --git a/packages/third-parties/socketio/src/decorators/socketMiddlewareError.spec.ts b/packages/third-parties/socketio/src/decorators/socketMiddlewareError.spec.ts index ca37db89a6a..aad422dd765 100644 --- a/packages/third-parties/socketio/src/decorators/socketMiddlewareError.spec.ts +++ b/packages/third-parties/socketio/src/decorators/socketMiddlewareError.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {SocketMiddlewareError, SocketProviderTypes} from "../index.js"; describe("@SocketMiddlewareError", () => { diff --git a/packages/third-parties/socketio/src/decorators/socketMiddlewareError.ts b/packages/third-parties/socketio/src/decorators/socketMiddlewareError.ts index 518dd48983b..9cb0c178be0 100644 --- a/packages/third-parties/socketio/src/decorators/socketMiddlewareError.ts +++ b/packages/third-parties/socketio/src/decorators/socketMiddlewareError.ts @@ -1,5 +1,6 @@ -import {Middleware} from "@tsed/platform-middlewares"; import {Store, Type} from "@tsed/core"; +import {Middleware} from "@tsed/platform-middlewares"; + import {SocketProviderTypes} from "../interfaces/SocketProviderTypes.js"; /** diff --git a/packages/third-parties/socketio/src/decorators/socketNsp.spec.ts b/packages/third-parties/socketio/src/decorators/socketNsp.spec.ts index 279c290b236..be4e01c9c74 100644 --- a/packages/third-parties/socketio/src/decorators/socketNsp.spec.ts +++ b/packages/third-parties/socketio/src/decorators/socketNsp.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {SocketNsp} from "../index.js"; describe("SocketNsp", () => { diff --git a/packages/third-parties/socketio/src/decorators/socketNsp.ts b/packages/third-parties/socketio/src/decorators/socketNsp.ts index d86aa666dd2..639779a46f3 100644 --- a/packages/third-parties/socketio/src/decorators/socketNsp.ts +++ b/packages/third-parties/socketio/src/decorators/socketNsp.ts @@ -1,5 +1,5 @@ -import {Namespace} from "./nsp.js"; import {SocketFilters} from "../interfaces/SocketFilters.js"; +import {Namespace} from "./nsp.js"; import {SocketFilter} from "./socketFilter.js"; export type SocketNsp = Namespace; diff --git a/packages/third-parties/socketio/src/decorators/socketReturns.ts b/packages/third-parties/socketio/src/decorators/socketReturns.ts index 73efa839f0d..fba726c5670 100644 --- a/packages/third-parties/socketio/src/decorators/socketReturns.ts +++ b/packages/third-parties/socketio/src/decorators/socketReturns.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {SocketReturnsTypes} from "../interfaces/SocketReturnsTypes.js"; /** diff --git a/packages/third-parties/socketio/src/decorators/socketService.spec.ts b/packages/third-parties/socketio/src/decorators/socketService.spec.ts index af179c1b709..5bac83f696a 100644 --- a/packages/third-parties/socketio/src/decorators/socketService.spec.ts +++ b/packages/third-parties/socketio/src/decorators/socketService.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {SocketService} from "./socketService.js"; describe("SocketService", () => { diff --git a/packages/third-parties/socketio/src/decorators/socketService.ts b/packages/third-parties/socketio/src/decorators/socketService.ts index 94d8408d048..524c9b582ba 100644 --- a/packages/third-parties/socketio/src/decorators/socketService.ts +++ b/packages/third-parties/socketio/src/decorators/socketService.ts @@ -1,7 +1,8 @@ import {StoreMerge, useDecorators} from "@tsed/core"; import {Injectable} from "@tsed/di"; -import {SocketProviderTypes} from "../interfaces/SocketProviderTypes.js"; + import {PROVIDER_TYPE_SOCKET_SERVICE} from "../constants/constants.js"; +import {SocketProviderTypes} from "../interfaces/SocketProviderTypes.js"; /** * The decorators `@SocketService()` declare a new socket service (and service) can be injected in other service or controller on there `constructor`. diff --git a/packages/third-parties/socketio/src/decorators/socketSession.spec.ts b/packages/third-parties/socketio/src/decorators/socketSession.spec.ts index 68008063e64..02c5235d62a 100644 --- a/packages/third-parties/socketio/src/decorators/socketSession.spec.ts +++ b/packages/third-parties/socketio/src/decorators/socketSession.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {RawSocketSession, SocketFilters, SocketSession} from "../index.js"; describe("SocketSession", () => { diff --git a/packages/third-parties/socketio/src/decorators/socketUseAfter.spec.ts b/packages/third-parties/socketio/src/decorators/socketUseAfter.spec.ts index 480079c33c5..cfb8b27decb 100644 --- a/packages/third-parties/socketio/src/decorators/socketUseAfter.spec.ts +++ b/packages/third-parties/socketio/src/decorators/socketUseAfter.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {SocketUseAfter} from "../index.js"; describe("@SocketUseAfter", () => { diff --git a/packages/third-parties/socketio/src/decorators/socketUseBefore.spec.ts b/packages/third-parties/socketio/src/decorators/socketUseBefore.spec.ts index 015b51d0eea..b63d9aa4589 100644 --- a/packages/third-parties/socketio/src/decorators/socketUseBefore.spec.ts +++ b/packages/third-parties/socketio/src/decorators/socketUseBefore.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {SocketUseBefore} from "../index.js"; describe("@SocketUseBefore", () => { diff --git a/packages/third-parties/socketio/src/interfaces/SocketParamMetadata.ts b/packages/third-parties/socketio/src/interfaces/SocketParamMetadata.ts index b02c00aaaaf..d88d575ada9 100644 --- a/packages/third-parties/socketio/src/interfaces/SocketParamMetadata.ts +++ b/packages/third-parties/socketio/src/interfaces/SocketParamMetadata.ts @@ -1,4 +1,5 @@ import {MetadataTypes} from "@tsed/core"; + import {SocketFilters} from "./SocketFilters.js"; export interface SocketParamMetadata extends Partial { diff --git a/packages/third-parties/socketio/src/services/SocketIOServer.spec.ts b/packages/third-parties/socketio/src/services/SocketIOServer.spec.ts index a102d16163a..8a94d193c5f 100644 --- a/packages/third-parties/socketio/src/services/SocketIOServer.spec.ts +++ b/packages/third-parties/socketio/src/services/SocketIOServer.spec.ts @@ -1,5 +1,6 @@ import {PlatformTest} from "@tsed/common"; -import {SocketIOServer, Server} from "./SocketIOServer.js"; + +import {Server, SocketIOServer} from "./SocketIOServer.js"; describe("SocketIOServer", () => { describe("when there is configuration", () => { diff --git a/packages/third-parties/socketio/src/services/SocketIOService.spec.ts b/packages/third-parties/socketio/src/services/SocketIOService.spec.ts index e167e36516b..29034a7a179 100644 --- a/packages/third-parties/socketio/src/services/SocketIOService.spec.ts +++ b/packages/third-parties/socketio/src/services/SocketIOService.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {SocketIOService} from "../index.js"; import {Server} from "./SocketIOServer.js"; @@ -43,11 +44,11 @@ describe("SocketIOService", () => { namespace.on.mock.calls[0][1](socket); socket.on.mock.calls[0][1](reason); - expect(ioStub.of).toBeCalledWith(input); - expect(namespace.on).toBeCalledWith("connection", expect.any(Function)); - expect(instance.onConnection).toBeCalledWith(socket, namespace); - expect(socket.on).toBeCalledWith("disconnect", expect.any(Function)); - expect(instance.onDisconnect).toBeCalledWith(socket, namespace, reason); + expect(ioStub.of).toHaveBeenCalledWith(input); + expect(namespace.on).toHaveBeenCalledWith("connection", expect.any(Function)); + expect(instance.onConnection).toHaveBeenCalledWith(socket, namespace); + expect(socket.on).toHaveBeenCalledWith("disconnect", expect.any(Function)); + expect(instance.onDisconnect).toHaveBeenCalledWith(socket, namespace, reason); }); }); }); diff --git a/packages/third-parties/socketio/src/services/SocketIOService.ts b/packages/third-parties/socketio/src/services/SocketIOService.ts index 4c6c87ce29b..a8930c423bc 100644 --- a/packages/third-parties/socketio/src/services/SocketIOService.ts +++ b/packages/third-parties/socketio/src/services/SocketIOService.ts @@ -1,5 +1,6 @@ import {InjectorService, Provider, Service} from "@tsed/common"; import * as SocketIO from "socket.io"; // tslint:disable-line: no-unused-variable + import {SocketHandlersBuilder} from "../class/SocketHandlersBuilder.js"; import {SocketProviderMetadata} from "../class/SocketProviderMetadata.js"; import {IO} from "../decorators/io.js"; diff --git a/packages/third-parties/socketio/test/app/Server.ts b/packages/third-parties/socketio/test/app/Server.ts index 1d4418bb000..09624bd53ae 100644 --- a/packages/third-parties/socketio/test/app/Server.ts +++ b/packages/third-parties/socketio/test/app/Server.ts @@ -1,14 +1,17 @@ import "@tsed/ajv"; -import {Configuration, Inject, PlatformApplication} from "@tsed/common"; import "@tsed/platform-express"; -import "@tsed/socketio"; +import "@tsed/platform-log-request"; +import "../../src/index.js"; + +import {Configuration, Inject, PlatformApplication} from "@tsed/common"; import bodyParser from "body-parser"; import compress from "compression"; import cookieParser from "cookie-parser"; import methodOverride from "method-override"; + import {SocketPageCtrl} from "./controllers/pages/SocketPageCtrl.js"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build export {rootDir}; @@ -17,8 +20,7 @@ export {rootDir}; httpPort: 8001, httpsPort: false, logger: { - level: "info", - logRequest: true + level: "info" }, mount: { "/": [SocketPageCtrl] diff --git a/packages/third-parties/socketio/test/app/controllers/pages/SocketPageCtrl.ts b/packages/third-parties/socketio/test/app/controllers/pages/SocketPageCtrl.ts index 10a8dd88e4e..1f6471408aa 100644 --- a/packages/third-parties/socketio/test/app/controllers/pages/SocketPageCtrl.ts +++ b/packages/third-parties/socketio/test/app/controllers/pages/SocketPageCtrl.ts @@ -1,7 +1,5 @@ -import {Controller, Get} from "@tsed/common"; -import {Returns} from "@tsed/schema"; -import {Hidden} from "@tsed/swagger"; -import {View} from "@tsed/platform-views"; +import {Controller} from "@tsed/common"; +import {Get, Hidden, Returns, View} from "@tsed/schema"; import fs from "fs"; @Controller("/") @@ -14,7 +12,7 @@ export class SocketPageCtrl { } @Get("/socket/socket.io.js") - @Returns(200).ContentType("application/javascript") + @(Returns(200).ContentType("application/javascript")) public getScript() { return fs.readFileSync(require.resolve("socket.io-client/dist/socket.io.js"), {encoding: "utf8"}); } diff --git a/packages/third-parties/socketio/test/app/index.ts b/packages/third-parties/socketio/test/app/index.ts index b10c5bdd06d..fdd368deaf2 100644 --- a/packages/third-parties/socketio/test/app/index.ts +++ b/packages/third-parties/socketio/test/app/index.ts @@ -1,5 +1,6 @@ import {$log} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; + import {Server} from "./Server.js"; if (process.env.NODE_ENV !== "test") { diff --git a/packages/third-parties/socketio/test/app/middlewares/AuthSocketMiddleware.ts b/packages/third-parties/socketio/test/app/middlewares/AuthSocketMiddleware.ts index beed559bd2c..b36b72a42a6 100644 --- a/packages/third-parties/socketio/test/app/middlewares/AuthSocketMiddleware.ts +++ b/packages/third-parties/socketio/test/app/middlewares/AuthSocketMiddleware.ts @@ -1,4 +1,4 @@ -import {Args, SocketMiddleware, SocketSession} from "@tsed/socketio"; +import {Args, SocketMiddleware, SocketSession} from "../../../src/index.js"; @SocketMiddleware() export class AuthSocketMiddleware { diff --git a/packages/third-parties/socketio/test/app/middlewares/ConverterUserSocketMiddleware.ts b/packages/third-parties/socketio/test/app/middlewares/ConverterUserSocketMiddleware.ts index fcf1bc0c0bf..ea1eb93dc24 100644 --- a/packages/third-parties/socketio/test/app/middlewares/ConverterUserSocketMiddleware.ts +++ b/packages/third-parties/socketio/test/app/middlewares/ConverterUserSocketMiddleware.ts @@ -1,7 +1,8 @@ -import {Args, SocketMiddleware, SocketSession} from "@tsed/socketio"; -import {User} from "../models/User.js"; import {deserialize} from "@tsed/json-mapper"; +import {Args, SocketMiddleware, SocketSession} from "../../../src/index.js"; +import {User} from "../models/User.js"; + @SocketMiddleware() export class ConverterUserSocketMiddleware { use(@Args(0) user: any[], @SocketSession session: SocketSession) { diff --git a/packages/third-parties/socketio/test/app/middlewares/ErrorHandlerSocketMiddleware.ts b/packages/third-parties/socketio/test/app/middlewares/ErrorHandlerSocketMiddleware.ts index 6fcb7620d13..edb3beb1c25 100644 --- a/packages/third-parties/socketio/test/app/middlewares/ErrorHandlerSocketMiddleware.ts +++ b/packages/third-parties/socketio/test/app/middlewares/ErrorHandlerSocketMiddleware.ts @@ -1,4 +1,4 @@ -import {Socket, SocketErr, SocketMiddlewareError} from "@tsed/socketio"; +import {Socket, SocketErr, SocketMiddlewareError} from "../../../src/index.js"; @SocketMiddlewareError() export class ErrorHandlerSocketMiddleware { diff --git a/packages/third-parties/socketio/test/app/middlewares/InitSessionMiddleware.ts b/packages/third-parties/socketio/test/app/middlewares/InitSessionMiddleware.ts index 59f39f3b6f4..98717badd3f 100644 --- a/packages/third-parties/socketio/test/app/middlewares/InitSessionMiddleware.ts +++ b/packages/third-parties/socketio/test/app/middlewares/InitSessionMiddleware.ts @@ -1,4 +1,5 @@ import {Middleware, Request} from "@tsed/common"; + import {IUser} from "../models/User.js"; declare global { diff --git a/packages/third-parties/socketio/test/app/middlewares/ThrowErrorSocketMiddleware.ts b/packages/third-parties/socketio/test/app/middlewares/ThrowErrorSocketMiddleware.ts index ecba7a3fa67..9d741510738 100644 --- a/packages/third-parties/socketio/test/app/middlewares/ThrowErrorSocketMiddleware.ts +++ b/packages/third-parties/socketio/test/app/middlewares/ThrowErrorSocketMiddleware.ts @@ -1,5 +1,5 @@ -import {Args} from "@tsed/socketio"; -import {SocketMiddleware} from "@tsed/socketio"; +import {Args} from "../../../src/index.js"; +import {SocketMiddleware} from "../../../src/index.js"; @SocketMiddleware() export class ThrowErrorSocketMiddleware { diff --git a/packages/third-parties/socketio/test/app/models/User.ts b/packages/third-parties/socketio/test/app/models/User.ts index 69ae10f45d1..2cf189a243b 100644 --- a/packages/third-parties/socketio/test/app/models/User.ts +++ b/packages/third-parties/socketio/test/app/models/User.ts @@ -1,6 +1,6 @@ +import {Indexed, Model, ObjectID, Unique} from "@tsed/mongoose"; import {Allow, Email, Ignore, MinLength, Property, Required} from "@tsed/schema"; import {Hidden} from "@tsed/swagger"; -import {Indexed, Model, ObjectID, Unique} from "@tsed/mongoose"; export interface IUser { name: string; diff --git a/packages/third-parties/socketio/test/app/services/RoomWS.ts b/packages/third-parties/socketio/test/app/services/RoomWS.ts index d5f7eda3341..bf056938d0e 100644 --- a/packages/third-parties/socketio/test/app/services/RoomWS.ts +++ b/packages/third-parties/socketio/test/app/services/RoomWS.ts @@ -1,6 +1,7 @@ import {getClass, nameOf} from "@tsed/core"; -import {Args, Emit, Input, IO, Nsp, Socket, SocketService, SocketSession, SocketUseAfter, SocketUseBefore} from "@tsed/socketio"; import {Namespace, Server, Socket as IOSocket} from "socket.io"; + +import {Args, Emit, Input, IO, Nsp, Socket, SocketService, SocketSession, SocketUseAfter, SocketUseBefore} from "../../../src/index.js"; import {AuthSocketMiddleware} from "../middlewares/AuthSocketMiddleware.js"; import {ConverterUserSocketMiddleware} from "../middlewares/ConverterUserSocketMiddleware.js"; import {ErrorHandlerSocketMiddleware} from "../middlewares/ErrorHandlerSocketMiddleware.js"; diff --git a/packages/third-parties/socketio/test/socket.integration.spec.ts b/packages/third-parties/socketio/test/socket.integration.spec.ts index 08590495501..f37802dda06 100644 --- a/packages/third-parties/socketio/test/socket.integration.spec.ts +++ b/packages/third-parties/socketio/test/socket.integration.spec.ts @@ -1,8 +1,9 @@ import {Inject, PlatformTest} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; -import {Emit, Input, Nsp, SocketNsp, SocketIOServer, SocketService, SocketSession, SocketUseBefore} from "../src/index.js"; import {SocketClientService} from "@tsed/socketio-testing"; import {Namespace, Socket as IOSocket} from "socket.io"; + +import {Emit, Input, Nsp, SocketIOServer, SocketNsp, SocketService, SocketSession, SocketUseBefore} from "../src/index.js"; import {ConverterUserSocketMiddleware} from "./app/middlewares/ConverterUserSocketMiddleware.js"; import {Server} from "./app/Server.js"; @@ -117,7 +118,7 @@ describe("Socket integration: custom path", () => { const client = await service.get("/test", CUSTOM_WS_PATH); return new Promise((resolve: any) => { - client.emit("input:scenario1", (result) => { + client.emit("input:scenario1", (result: any) => { expect(result).toEqual("my Message"); resolve(); }); diff --git a/packages/third-parties/socketio/test/socketio.spec.ts b/packages/third-parties/socketio/test/socketio.spec.ts index 44fd2be6562..0dc65cfe675 100644 --- a/packages/third-parties/socketio/test/socketio.spec.ts +++ b/packages/third-parties/socketio/test/socketio.spec.ts @@ -1,7 +1,9 @@ -import {Controller, Get, PlatformTest} from "@tsed/common"; +import {Controller, PlatformTest} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; -import {Nsp, SocketService} from "@tsed/socketio"; +import {Get} from "@tsed/schema"; import SuperTest from "supertest"; + +import {Nsp, SocketService} from "../src/index.js"; import {Server} from "./app/Server.js"; @SocketService("/my-namespace") diff --git a/packages/third-parties/socketio/tsconfig.cjs.json b/packages/third-parties/socketio/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/third-parties/socketio/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/socketio/tsconfig.esm.json b/packages/third-parties/socketio/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/third-parties/socketio/tsconfig.esm.json +++ b/packages/third-parties/socketio/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/third-parties/socketio/tsconfig.json b/packages/third-parties/socketio/tsconfig.json index 033124cc77f..5b691cff932 100644 --- a/packages/third-parties/socketio/tsconfig.json +++ b/packages/third-parties/socketio/tsconfig.json @@ -30,9 +30,6 @@ { "path": "../socketio-testing/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/third-parties/socketio/tsconfig.spec.json b/packages/third-parties/socketio/tsconfig.spec.json index b2e248f2c69..df5434b7af1 100644 --- a/packages/third-parties/socketio/tsconfig.spec.json +++ b/packages/third-parties/socketio/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/third-parties/socketio/vitest.config.mts b/packages/third-parties/socketio/vitest.config.mts index d759e817941..925ce4d0745 100644 --- a/packages/third-parties/socketio/vitest.config.mts +++ b/packages/third-parties/socketio/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 99.6, + branches: 99.44, + functions: 100, + lines: 99.6 } } } } -); +); \ No newline at end of file diff --git a/packages/third-parties/sse/.nycrc b/packages/third-parties/sse/.nycrc deleted file mode 100644 index 3c499e50bb6..00000000000 --- a/packages/third-parties/sse/.nycrc +++ /dev/null @@ -1,27 +0,0 @@ -{ - "include": [ - "src/**/*.ts" - ], - "exclude": [ - "**/*.spec.ts", - "**/*.d.ts", - "node_modules", - "**/interfaces/**", - "**/index.ts" - ], - "extension": [ - ".ts" - ], - "require": [], - "reporter": [ - "text-summary", - "html", - "lcov", - "json" - ], - "check-coverage": true, - "statements": 100, - "branches": 81.56, - "functions": 97.33, - "lines": 100 -} diff --git a/packages/third-parties/sse/package.json b/packages/third-parties/sse/package.json index 01c35a092bb..a6f51a225bc 100644 --- a/packages/third-parties/sse/package.json +++ b/packages/third-parties/sse/package.json @@ -1,8 +1,8 @@ { "name": "@tsed/sse", "description": "Server-sent events package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "keywords": [ "tsed", "server-sent events", @@ -11,15 +11,14 @@ "realtime" ], "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -31,7 +30,7 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", @@ -44,17 +43,17 @@ "@tsed/schema": "workspace:*", "@tsed/socketio-testing": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "express": "^4.19.1", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "express": "^4.21.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/di": "7.83.3", - "@tsed/json-mapper": "7.83.3", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/json-mapper": "8.0.0-alpha.10", "@tsed/logger": ">=6.7.5", - "@tsed/platform-middlewares": "7.83.3", - "@tsed/schema": "7.83.3" + "@tsed/platform-middlewares": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10" }, "peerDependenciesMeta": { "@tsed/di": { diff --git a/packages/third-parties/sse/src/decorators/eventStream.ts b/packages/third-parties/sse/src/decorators/eventStream.ts index 2c4256f624b..8a55d8c3bd4 100644 --- a/packages/third-parties/sse/src/decorators/eventStream.ts +++ b/packages/third-parties/sse/src/decorators/eventStream.ts @@ -1,7 +1,8 @@ import {StoreSet, useDecorators} from "@tsed/core"; import {Use} from "@tsed/platform-middlewares"; -import {Header, AcceptMime} from "@tsed/schema"; -import {EventStreamMiddleware} from "../middlewares/EventStreamMiddleware"; +import {AcceptMime, Header} from "@tsed/schema"; + +import {EventStreamMiddleware} from "../middlewares/EventStreamMiddleware.js"; export interface EventStreamOpts { headers?: Record; diff --git a/packages/third-parties/sse/src/decorators/eventStreamCtx.ts b/packages/third-parties/sse/src/decorators/eventStreamCtx.ts index a38eac5fa36..453f0a07c4a 100644 --- a/packages/third-parties/sse/src/decorators/eventStreamCtx.ts +++ b/packages/third-parties/sse/src/decorators/eventStreamCtx.ts @@ -1,5 +1,6 @@ import {Context} from "@tsed/platform-params"; -import type {EventStreamContext} from "../domain/EventStreamContext"; + +import type {EventStreamContext} from "../domain/EventStreamContext.js"; export type EventStreamCtx = EventStreamContext; diff --git a/packages/third-parties/sse/src/domain/EventStreamContext.ts b/packages/third-parties/sse/src/domain/EventStreamContext.ts index 6e2bd2dedf6..52845ff05ee 100644 --- a/packages/third-parties/sse/src/domain/EventStreamContext.ts +++ b/packages/third-parties/sse/src/domain/EventStreamContext.ts @@ -3,7 +3,8 @@ import {isBoolean, isDate, isNumber, isString} from "@tsed/core"; import {PlatformResponseFilter} from "@tsed/platform-response-filter"; import type {EventEmitter} from "events"; import type {Observable} from "rxjs"; -import type {EventStreamOpts} from "../decorators/eventStream"; + +import type {EventStreamOpts} from "../decorators/eventStream.js"; export type EventStreamContextOptions = { $ctx: PlatformContext; diff --git a/packages/third-parties/sse/src/interceptors/EventStreamInterceptor.ts b/packages/third-parties/sse/src/interceptors/EventStreamInterceptor.ts index de90cdf1a23..a071a5efb2e 100644 --- a/packages/third-parties/sse/src/interceptors/EventStreamInterceptor.ts +++ b/packages/third-parties/sse/src/interceptors/EventStreamInterceptor.ts @@ -1,10 +1,11 @@ import type {PlatformContext} from "@tsed/common"; import {InjectContext} from "@tsed/common"; -import {isStream, isObservable} from "@tsed/core"; +import {isObservable, isStream} from "@tsed/core"; import type {InterceptorContext, InterceptorMethods} from "@tsed/di"; import {Injectable} from "@tsed/di"; import type {Observable} from "rxjs"; -import {EventStreamContext} from "../domain/EventStreamContext"; + +import {EventStreamContext} from "../domain/EventStreamContext.js"; @Injectable() export class EventStreamInterceptor implements InterceptorMethods { diff --git a/packages/third-parties/sse/src/middlewares/EventStreamMiddleware.ts b/packages/third-parties/sse/src/middlewares/EventStreamMiddleware.ts index dd2be85eb4e..326df27cc9a 100644 --- a/packages/third-parties/sse/src/middlewares/EventStreamMiddleware.ts +++ b/packages/third-parties/sse/src/middlewares/EventStreamMiddleware.ts @@ -1,6 +1,7 @@ import {Context, PlatformContext} from "@tsed/common"; import {Middleware} from "@tsed/platform-middlewares"; -import {EventStreamContext} from "../domain/EventStreamContext"; + +import {EventStreamContext} from "../domain/EventStreamContext.js"; @Middleware() export class EventStreamMiddleware { diff --git a/packages/third-parties/sse/src/sse.integration.spec.ts b/packages/third-parties/sse/src/sse.integration.spec.ts index d91224e4997..1e3a273f944 100644 --- a/packages/third-parties/sse/src/sse.integration.spec.ts +++ b/packages/third-parties/sse/src/sse.integration.spec.ts @@ -1,9 +1,10 @@ import {Context, PlatformContext, PlatformTest} from "@tsed/common"; import {Controller} from "@tsed/di"; import {Get, getSpec, JsonEntityStore, Name, Returns} from "@tsed/schema"; -import {EventStream} from "./decorators/eventStream"; -import {EventStreamCtx} from "./decorators/eventStreamCtx"; -import {EventStreamContext} from "./domain/EventStreamContext"; + +import {EventStream} from "./decorators/eventStream.js"; +import {EventStreamCtx} from "./decorators/eventStreamCtx.js"; +import {EventStreamContext} from "./domain/EventStreamContext.js"; function make(eventStream: EventStreamCtx, cb: () => any) { let intervalId: ReturnType; @@ -58,7 +59,7 @@ export class MyCtrl { @Get("/scenario5") @EventStream() - @Returns(200).Type(Model) + @(Returns(200).Type(Model)) scenario5(@EventStreamCtx() eventStream: EventStreamCtx, @Context() $ctx: PlatformContext) { make(eventStream, () => { const model = new Model(); diff --git a/packages/third-parties/sse/tsconfig.cjs.json b/packages/third-parties/sse/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/third-parties/sse/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/sse/tsconfig.esm.json b/packages/third-parties/sse/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/third-parties/sse/tsconfig.esm.json +++ b/packages/third-parties/sse/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/third-parties/sse/tsconfig.json b/packages/third-parties/sse/tsconfig.json index 033124cc77f..5b691cff932 100644 --- a/packages/third-parties/sse/tsconfig.json +++ b/packages/third-parties/sse/tsconfig.json @@ -30,9 +30,6 @@ { "path": "../socketio-testing/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/third-parties/sse/tsconfig.spec.json b/packages/third-parties/sse/tsconfig.spec.json index 72ed09f60ce..df5434b7af1 100644 --- a/packages/third-parties/sse/tsconfig.spec.json +++ b/packages/third-parties/sse/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, - "include": ["src/**/*.spec.ts", "test/**/*.spec.ts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/third-parties/sse/vitest.config.mts b/packages/third-parties/sse/vitest.config.mts index d759e817941..398e2dca6cd 100644 --- a/packages/third-parties/sse/vitest.config.mts +++ b/packages/third-parties/sse/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 51.61, + branches: 75, + functions: 64.28, + lines: 51.61 } } } } -); +); \ No newline at end of file diff --git a/packages/third-parties/stripe/.nycrc b/packages/third-parties/stripe/.nycrc deleted file mode 100644 index 94e60948f71..00000000000 --- a/packages/third-parties/stripe/.nycrc +++ /dev/null @@ -1,26 +0,0 @@ -{ - "include": [ - "src/**/*.ts" - ], - "exclude": [ - "**/*.d.ts", - "node_modules", - "**/interfaces/**", - "**/index.ts" - ], - "extension": [ - ".ts" - ], - "require": [], - "reporter": [ - "text-summary", - "html", - "lcov", - "json" - ], - "check-coverage": true, - "statements": 99, - "branches": 75, - "functions": 93.33, - "lines": 98.96 -} diff --git a/packages/third-parties/stripe/package.json b/packages/third-parties/stripe/package.json index b7702f3d959..354fba521c0 100644 --- a/packages/third-parties/stripe/package.json +++ b/packages/third-parties/stripe/package.json @@ -1,8 +1,8 @@ { "name": "@tsed/stripe", "description": "Stripe package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "keywords": [ "Stripe", "Ts.ED", @@ -13,15 +13,14 @@ "koa" ], "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -32,9 +31,10 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { + "@tsed/adapters": "workspace:*", "@tsed/barrels": "workspace:*", "@tsed/core": "workspace:*", "@tsed/di": "workspace:*", @@ -43,16 +43,16 @@ "@tsed/platform-params": "workspace:*", "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "stripe": "^8.129.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "stripe": "^8.222.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/exceptions": "7.83.3", - "@tsed/platform-middlewares": "7.83.3", - "@tsed/platform-params": "7.83.3", - "@tsed/schema": "7.83.3", + "@tsed/exceptions": "8.0.0-alpha.10", + "@tsed/platform-middlewares": "8.0.0-alpha.10", + "@tsed/platform-params": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10", "@types/body-parser": "^1.19.0", "body-parser": "^1.19.0", "stripe": "^9.16.0" diff --git a/packages/third-parties/stripe/src/decorators/webhookEvent.ts b/packages/third-parties/stripe/src/decorators/webhookEvent.ts index f597b7a3026..6c5a6fee78a 100644 --- a/packages/third-parties/stripe/src/decorators/webhookEvent.ts +++ b/packages/third-parties/stripe/src/decorators/webhookEvent.ts @@ -1,7 +1,8 @@ +import {StoreSet, useDecorators, useMethodDecorators} from "@tsed/core"; import {UseBefore} from "@tsed/platform-middlewares"; import {Context} from "@tsed/platform-params"; -import {StoreSet, useDecorators, useMethodDecorators} from "@tsed/core"; import {In} from "@tsed/schema"; + import {STRIPE_WEBHOOK_EVENT} from "../constants/constants.js"; import {WebhookEventMiddleware, WebhookEventOptions} from "../middlewares/WebhookEventMiddleware.js"; diff --git a/packages/third-parties/stripe/src/middlewares/WebhookEventMiddleware.spec.ts b/packages/third-parties/stripe/src/middlewares/WebhookEventMiddleware.spec.ts index ce1c8588721..fcb966f573e 100644 --- a/packages/third-parties/stripe/src/middlewares/WebhookEventMiddleware.spec.ts +++ b/packages/third-parties/stripe/src/middlewares/WebhookEventMiddleware.spec.ts @@ -1,7 +1,9 @@ +import "../index.js"; + import {EndpointMetadata, PlatformTest} from "@tsed/common"; import {catchError} from "@tsed/core"; -import "../index"; import {Stripe} from "stripe"; + import {STRIPE_WEBHOOK_EVENT, STRIPE_WEBHOOK_SIGNATURE} from "../constants/constants.js"; import {WebhookEventMiddleware} from "./WebhookEventMiddleware.js"; diff --git a/packages/third-parties/stripe/src/middlewares/WebhookEventMiddleware.ts b/packages/third-parties/stripe/src/middlewares/WebhookEventMiddleware.ts index d8a9c52b73b..b9b297f30f6 100644 --- a/packages/third-parties/stripe/src/middlewares/WebhookEventMiddleware.ts +++ b/packages/third-parties/stripe/src/middlewares/WebhookEventMiddleware.ts @@ -1,10 +1,12 @@ -import {Context, HeaderParams, RawBodyParams} from "@tsed/platform-params"; -import {Middleware, MiddlewareMethods} from "@tsed/platform-middlewares"; +import "../services/StripeFactory.js"; + import {Constant, Inject} from "@tsed/di"; import {BadRequest, InternalServerError} from "@tsed/exceptions"; +import {Middleware, MiddlewareMethods} from "@tsed/platform-middlewares"; +import {Context, HeaderParams, RawBodyParams} from "@tsed/platform-params"; import {Stripe} from "stripe"; + import {STRIPE_WEBHOOK_EVENT, STRIPE_WEBHOOK_SIGNATURE} from "../constants/constants.js"; -import "../services/StripeFactory"; export interface WebhookEventOptions { secret: string; diff --git a/packages/third-parties/stripe/src/services/StripeFactory.spec.ts b/packages/third-parties/stripe/src/services/StripeFactory.spec.ts index 9ee9e1eca83..4d48757df62 100644 --- a/packages/third-parties/stripe/src/services/StripeFactory.spec.ts +++ b/packages/third-parties/stripe/src/services/StripeFactory.spec.ts @@ -1,5 +1,6 @@ +import "../index.js"; + import {PlatformTest} from "@tsed/common"; -import "../index"; import {Stripe} from "stripe"; describe("StripeFactory", () => { diff --git a/packages/third-parties/stripe/src/services/StripeFactory.ts b/packages/third-parties/stripe/src/services/StripeFactory.ts index 203a10ca34b..43afcc6f141 100644 --- a/packages/third-parties/stripe/src/services/StripeFactory.ts +++ b/packages/third-parties/stripe/src/services/StripeFactory.ts @@ -1,5 +1,6 @@ import {Configuration, registerProvider} from "@tsed/di"; import {Stripe} from "stripe"; + import {StripeSettings} from "../domain/StripeSettings.js"; export const StripeFactory = Stripe; diff --git a/packages/third-parties/stripe/test/app/Server.ts b/packages/third-parties/stripe/test/app/Server.ts index aaeed23dd47..8d1b71547fd 100644 --- a/packages/third-parties/stripe/test/app/Server.ts +++ b/packages/third-parties/stripe/test/app/Server.ts @@ -1,10 +1,11 @@ -import {FileSyncAdapter} from "@tsed/adapters"; import "@tsed/ajv"; -import {Configuration} from "@tsed/di"; -import "@tsed/stripe"; +import "../../src/index.js"; import "@tsed/swagger"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +import {FileSyncAdapter} from "@tsed/adapters"; +import {Configuration} from "@tsed/di"; + +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build export {rootDir}; @Configuration({ diff --git a/packages/third-parties/stripe/test/app/controllers/pages/IndexCtrl.ts b/packages/third-parties/stripe/test/app/controllers/pages/IndexCtrl.ts index a16b9b928f8..d1567c2c2b5 100644 --- a/packages/third-parties/stripe/test/app/controllers/pages/IndexCtrl.ts +++ b/packages/third-parties/stripe/test/app/controllers/pages/IndexCtrl.ts @@ -1,6 +1,6 @@ -import {Constant, Controller, Get, HeaderParams, View} from "@tsed/common"; -import {Returns} from "@tsed/schema"; -import {Hidden, SwaggerSettings} from "@tsed/swagger"; +import {Constant, Controller, HeaderParams} from "@tsed/common"; +import {Get, Hidden, Returns, View} from "@tsed/schema"; +import {SwaggerSettings} from "@tsed/swagger"; @Hidden() @Controller("/") @@ -10,7 +10,7 @@ export class IndexCtrl { @Get("/") @View("index.ejs") - @Returns(200, String).ContentType("text/html") + @(Returns(200, String).ContentType("text/html")) get(@HeaderParams("x-forwarded-proto") protocol: string, @HeaderParams("host") host: string) { const hostUrl = `${protocol || "http"}://${host}`; diff --git a/packages/third-parties/stripe/test/app/controllers/rest/StripeWebhooksCtrl.ts b/packages/third-parties/stripe/test/app/controllers/rest/StripeWebhooksCtrl.ts index 6067100d67f..72c2b71e5eb 100644 --- a/packages/third-parties/stripe/test/app/controllers/rest/StripeWebhooksCtrl.ts +++ b/packages/third-parties/stripe/test/app/controllers/rest/StripeWebhooksCtrl.ts @@ -1,7 +1,9 @@ -import {Controller, Post} from "@tsed/common"; -import {WebhookEvent} from "@tsed/stripe"; +import {Controller} from "@tsed/di"; +import {Post} from "@tsed/schema"; import Stripe from "stripe"; +import {WebhookEvent} from "../../../../src/index.js"; + @Controller("/webhooks") export class StripeWebhooksCtrl { @Post("/callback") diff --git a/packages/third-parties/stripe/test/app/controllers/rest/VersionCtrl.ts b/packages/third-parties/stripe/test/app/controllers/rest/VersionCtrl.ts index 5ab85f7ef4a..90fe2fff359 100644 --- a/packages/third-parties/stripe/test/app/controllers/rest/VersionCtrl.ts +++ b/packages/third-parties/stripe/test/app/controllers/rest/VersionCtrl.ts @@ -1,12 +1,12 @@ -import {Controller, Get} from "@tsed/common"; -import {object, Returns, string} from "@tsed/schema"; +import {Controller} from "@tsed/di"; +import {Get, object, Returns, string} from "@tsed/schema"; @Controller("/version") export class VersionCtrl { @Get("/") - @Returns(200) + @(Returns(200) .ContentType("application/json") - .Schema(object().properties({name: string(), version: string()})) + .Schema(object().properties({name: string(), version: string()}))) async get() { const {name, version} = await import("../../../../package.json"); return { diff --git a/packages/third-parties/stripe/test/app/index.ts b/packages/third-parties/stripe/test/app/index.ts index 66e13bef429..32bcd2496ca 100644 --- a/packages/third-parties/stripe/test/app/index.ts +++ b/packages/third-parties/stripe/test/app/index.ts @@ -1,5 +1,6 @@ import {$log} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; + import {InteractionsCtrl} from "./controllers/oidc/InteractionsCtrl.js"; import {IndexCtrl} from "./controllers/pages/IndexCtrl.js"; import {VersionCtrl} from "./controllers/rest/VersionCtrl.js"; diff --git a/packages/third-parties/stripe/test/stripe.integration.spec.ts b/packages/third-parties/stripe/test/stripe.integration.spec.ts index 5968b232603..47e2b56568b 100644 --- a/packages/third-parties/stripe/test/stripe.integration.spec.ts +++ b/packages/third-parties/stripe/test/stripe.integration.spec.ts @@ -3,6 +3,7 @@ import {PlatformExpress} from "@tsed/platform-express"; import {PlatformTestSdk} from "@tsed/platform-test-sdk"; import {Stripe} from "stripe"; import SuperTest from "supertest"; + import {StripeWebhooksCtrl} from "./app/controllers/rest/StripeWebhooksCtrl.js"; import {rootDir, Server} from "./app/Server.js"; diff --git a/packages/third-parties/stripe/tsconfig.cjs.json b/packages/third-parties/stripe/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/third-parties/stripe/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/stripe/tsconfig.esm.json b/packages/third-parties/stripe/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/third-parties/stripe/tsconfig.esm.json +++ b/packages/third-parties/stripe/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/third-parties/stripe/tsconfig.json b/packages/third-parties/stripe/tsconfig.json index 182d1be2631..762a5d04129 100644 --- a/packages/third-parties/stripe/tsconfig.json +++ b/packages/third-parties/stripe/tsconfig.json @@ -24,9 +24,6 @@ { "path": "../../di/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/third-parties/stripe/tsconfig.spec.json b/packages/third-parties/stripe/tsconfig.spec.json index b2e248f2c69..41eac1d0234 100644 --- a/packages/third-parties/stripe/tsconfig.spec.json +++ b/packages/third-parties/stripe/tsconfig.spec.json @@ -3,35 +3,35 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"], + "@tsed/adapters": ["../../orm/adapters/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/third-parties/stripe/vitest.config.mts b/packages/third-parties/stripe/vitest.config.mts index d759e817941..d2598fb346b 100644 --- a/packages/third-parties/stripe/vitest.config.mts +++ b/packages/third-parties/stripe/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 100, + branches: 100, + functions: 100, + lines: 100 } } } } -); +); \ No newline at end of file diff --git a/packages/third-parties/temporal/package.json b/packages/third-parties/temporal/package.json index 2d74432a272..eb2c59b5710 100644 --- a/packages/third-parties/temporal/package.json +++ b/packages/third-parties/temporal/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/temporal", "description": "Temporal.io package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -28,7 +27,7 @@ } ], "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@temporalio/client": "1.8.4", @@ -40,9 +39,9 @@ "@tsed/di": "workspace:*", "@tsed/typescript": "workspace:*", "cross-env": "7.0.3", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { "@temporalio/client": "^1.8.4", diff --git a/packages/third-parties/temporal/src/TemporalModule.ts b/packages/third-parties/temporal/src/TemporalModule.ts index b95f423ff0d..5925720f1ae 100644 --- a/packages/third-parties/temporal/src/TemporalModule.ts +++ b/packages/third-parties/temporal/src/TemporalModule.ts @@ -1,8 +1,9 @@ -import {classOf} from "@tsed/core"; import {Logger} from "@tsed/common"; +import {classOf} from "@tsed/core"; import {Inject, InjectorService, Module, Provider} from "@tsed/di"; + import {PROVIDER_TYPE_TEMPORAL} from "./constants.js"; -import {TemporalStore, TEMPORAL_STORE_KEY} from "./interfaces/TemporalStore.js"; +import {TEMPORAL_STORE_KEY, TemporalStore} from "./interfaces/TemporalStore.js"; import {TemporalClient} from "./services/TemporalFactory.js"; @Module() diff --git a/packages/third-parties/temporal/src/decorators/activity.spec.ts b/packages/third-parties/temporal/src/decorators/activity.spec.ts index 1f01d768c32..cce00e3fd45 100644 --- a/packages/third-parties/temporal/src/decorators/activity.spec.ts +++ b/packages/third-parties/temporal/src/decorators/activity.spec.ts @@ -1,4 +1,5 @@ import {Store} from "@tsed/core"; + import {Activity} from "./activity.js"; import {Temporal} from "./temporal.js"; diff --git a/packages/third-parties/temporal/src/decorators/activity.ts b/packages/third-parties/temporal/src/decorators/activity.ts index 1873e7abb1e..b5fc3ca94d5 100644 --- a/packages/third-parties/temporal/src/decorators/activity.ts +++ b/packages/third-parties/temporal/src/decorators/activity.ts @@ -1,5 +1,6 @@ import {Store} from "@tsed/core"; -import {TemporalStore, ActivityOptions, TEMPORAL_STORE_KEY} from "../interfaces/TemporalStore.js"; + +import {ActivityOptions, TEMPORAL_STORE_KEY, TemporalStore} from "../interfaces/TemporalStore.js"; export function Activity(options: ActivityOptions = {}): MethodDecorator { return (target: any, propertyKey: string | symbol) => { diff --git a/packages/third-parties/temporal/src/decorators/temporal.spec.ts b/packages/third-parties/temporal/src/decorators/temporal.spec.ts index e3e1b6a49c4..9096a36f3cc 100644 --- a/packages/third-parties/temporal/src/decorators/temporal.spec.ts +++ b/packages/third-parties/temporal/src/decorators/temporal.spec.ts @@ -1,4 +1,5 @@ import {GlobalProviders} from "@tsed/di"; + import {Temporal} from "./temporal.js"; describe("@Activity()", () => { diff --git a/packages/third-parties/temporal/src/decorators/temporal.ts b/packages/third-parties/temporal/src/decorators/temporal.ts index 204b85ab262..d27c343af92 100644 --- a/packages/third-parties/temporal/src/decorators/temporal.ts +++ b/packages/third-parties/temporal/src/decorators/temporal.ts @@ -1,5 +1,6 @@ import {useDecorators} from "@tsed/core"; import {Injectable} from "@tsed/di"; + import {PROVIDER_TYPE_TEMPORAL} from "../constants.js"; export function Temporal(): ClassDecorator { diff --git a/packages/third-parties/temporal/src/interfaces/interfaces.ts b/packages/third-parties/temporal/src/interfaces/interfaces.ts index 51fe40dbcf9..e81a3d46c28 100644 --- a/packages/third-parties/temporal/src/interfaces/interfaces.ts +++ b/packages/third-parties/temporal/src/interfaces/interfaces.ts @@ -1,7 +1,6 @@ import {ClientOptions, ConnectionOptions} from "@temporalio/client"; declare global { - // eslint-disable-next-line @typescript-eslint/no-namespace namespace TsED { interface Configuration { temporal?: { diff --git a/packages/third-parties/temporal/src/services/TemporalFactory.ts b/packages/third-parties/temporal/src/services/TemporalFactory.ts index c74c815bb67..00b16502416 100644 --- a/packages/third-parties/temporal/src/services/TemporalFactory.ts +++ b/packages/third-parties/temporal/src/services/TemporalFactory.ts @@ -1,6 +1,6 @@ -import {Configuration, registerProvider} from "@tsed/di"; import {Client, Connection} from "@temporalio/client"; import {Logger} from "@tsed/common"; +import {Configuration, registerProvider} from "@tsed/di"; export const TemporalConnection = Connection; export type TemporalConnection = Connection; diff --git a/packages/third-parties/temporal/src/utils/worker.ts b/packages/third-parties/temporal/src/utils/worker.ts index 0771dd1884f..b3b9fdc4304 100644 --- a/packages/third-parties/temporal/src/utils/worker.ts +++ b/packages/third-parties/temporal/src/utils/worker.ts @@ -1,7 +1,7 @@ +import {NativeConnection, NativeConnectionOptions, Worker, WorkerOptions} from "@temporalio/worker"; import {PlatformBuilderSettings, PlatformTest} from "@tsed/common"; import {$log} from "@tsed/logger"; -import {NativeConnection, NativeConnectionOptions, Worker, WorkerOptions} from "@temporalio/worker"; import {TemporalModule} from "../TemporalModule.js"; type BootstrapWorkerOptions = { diff --git a/packages/third-parties/temporal/test/client.integration.spec.ts b/packages/third-parties/temporal/test/client.integration.spec.ts index 9bf0d186323..64417c8f63b 100644 --- a/packages/third-parties/temporal/test/client.integration.spec.ts +++ b/packages/third-parties/temporal/test/client.integration.spec.ts @@ -1,6 +1,7 @@ import {getEphemeralServerTarget} from "@temporalio/core-bridge"; import {Runtime} from "@temporalio/worker"; import {PlatformTest} from "@tsed/common"; + import {TemporalClient} from "../src/index.js"; import {Server} from "./helpers/Server.js"; diff --git a/packages/third-parties/temporal/test/helpers/Server.ts b/packages/third-parties/temporal/test/helpers/Server.ts index de6a24b16fc..e4fba42af51 100644 --- a/packages/third-parties/temporal/test/helpers/Server.ts +++ b/packages/third-parties/temporal/test/helpers/Server.ts @@ -1,12 +1,13 @@ -import {Configuration, Inject, PlatformApplication} from "@tsed/common"; import "@tsed/platform-express"; -import "@tsed/temporal"; -import cookieParser from "cookie-parser"; +import "../../src/index.js"; + +import {Configuration, Inject, PlatformApplication} from "@tsed/common"; import bodyParser from "body-parser"; import compress from "compression"; +import cookieParser from "cookie-parser"; import methodOverride from "method-override"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build @Configuration({ rootDir, diff --git a/packages/third-parties/temporal/test/worker.integration.spec.ts b/packages/third-parties/temporal/test/worker.integration.spec.ts index df733a39b58..4b32eaaacc6 100644 --- a/packages/third-parties/temporal/test/worker.integration.spec.ts +++ b/packages/third-parties/temporal/test/worker.integration.spec.ts @@ -1,5 +1,7 @@ -import {TestWorkflowEnvironment} from "@temporalio/testing"; import {join} from "node:path"; + +import {TestWorkflowEnvironment} from "@temporalio/testing"; + import {Activity, bootstrapWorker, Temporal} from "../src/index.js"; import {Server} from "./helpers/Server.js"; @@ -25,7 +27,7 @@ describe("Temporal Worker", () => { it("should start a worker and execute decorated activities", async () => { const worker = await bootstrapWorker(Server, { worker: { - workflowsPath: join(__dirname, "workflows"), + workflowsPath: join(import.meta.dirname, "workflows"), taskQueue: "test" }, connection: testEnv.nativeConnection diff --git a/packages/third-parties/temporal/tsconfig.cjs.json b/packages/third-parties/temporal/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/third-parties/temporal/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/temporal/tsconfig.esm.json b/packages/third-parties/temporal/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/third-parties/temporal/tsconfig.esm.json +++ b/packages/third-parties/temporal/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/third-parties/temporal/tsconfig.json b/packages/third-parties/temporal/tsconfig.json index 2dbe3ec968d..4540f314a24 100644 --- a/packages/third-parties/temporal/tsconfig.json +++ b/packages/third-parties/temporal/tsconfig.json @@ -15,9 +15,6 @@ { "path": "../../di/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/third-parties/temporal/tsconfig.spec.json b/packages/third-parties/temporal/tsconfig.spec.json index b2e248f2c69..df5434b7af1 100644 --- a/packages/third-parties/temporal/tsconfig.spec.json +++ b/packages/third-parties/temporal/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/third-parties/temporal/vitest.config.mts b/packages/third-parties/temporal/vitest.config.mts index d759e817941..91534d98e1e 100644 --- a/packages/third-parties/temporal/vitest.config.mts +++ b/packages/third-parties/temporal/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 91.93, + branches: 78.26, + functions: 88.88, + lines: 91.93 } } } } -); +); \ No newline at end of file diff --git a/packages/third-parties/terminus/package.json b/packages/third-parties/terminus/package.json index 4a3386eed83..6f59cb4af63 100644 --- a/packages/third-parties/terminus/package.json +++ b/packages/third-parties/terminus/package.json @@ -1,19 +1,18 @@ { "name": "@tsed/terminus", "description": "Adds graceful shutdown and Kubernetes readiness / liveness checks for any HTTP applications.", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "author": "Emilien Leroy ", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -25,7 +24,7 @@ "test:ci": "vitest run --coverage.thresholds.autoUpdate=true" }, "dependencies": { - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@godaddy/terminus": "^4.12.1", @@ -35,16 +34,16 @@ "@tsed/di": "workspace:*", "@tsed/schema": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" }, "peerDependencies": { "@godaddy/terminus": "^4.7.1", - "@tsed/common": "7.83.3", - "@tsed/core": "7.83.3", - "@tsed/di": "7.83.3", - "@tsed/schema": "7.83.3" + "@tsed/common": "8.0.0-alpha.10", + "@tsed/core": "8.0.0-alpha.10", + "@tsed/di": "8.0.0-alpha.10", + "@tsed/schema": "8.0.0-alpha.10" }, "peerDependenciesMeta": { "@godaddy/terminus": { diff --git a/packages/third-parties/terminus/src/TerminusModule.spec.ts b/packages/third-parties/terminus/src/TerminusModule.spec.ts index 04b50653ffc..54199d35ee1 100644 --- a/packages/third-parties/terminus/src/TerminusModule.spec.ts +++ b/packages/third-parties/terminus/src/TerminusModule.spec.ts @@ -1,4 +1,5 @@ import {Injectable, PlatformTest} from "@tsed/common"; + import {Health} from "./decorators/health.js"; import {TerminusModule} from "./TerminusModule.js"; diff --git a/packages/third-parties/terminus/src/TerminusModule.ts b/packages/third-parties/terminus/src/TerminusModule.ts index d76496c7063..e6a40e208cd 100644 --- a/packages/third-parties/terminus/src/TerminusModule.ts +++ b/packages/third-parties/terminus/src/TerminusModule.ts @@ -4,6 +4,7 @@ import {Constant, Inject, InjectorService, Module, OnInit, Provider} from "@tsed import {concatPath} from "@tsed/schema"; import Http from "http"; import Https from "https"; + import {TerminusSettings} from "./interfaces/TerminusSettings.js"; @Module() diff --git a/packages/third-parties/terminus/test/app/Server.ts b/packages/third-parties/terminus/test/app/Server.ts index 9536fe8db11..b85c93538ca 100644 --- a/packages/third-parties/terminus/test/app/Server.ts +++ b/packages/third-parties/terminus/test/app/Server.ts @@ -1,14 +1,15 @@ import "@tsed/ajv"; +import "../../src/index.js"; +import "./services/MongoClient.js"; +import "./services/RedisClient.js"; + import {PlatformApplication} from "@tsed/common"; import {Configuration, Inject} from "@tsed/di"; -import "@tsed/terminus"; import bodyParser from "body-parser"; import cookieParser from "cookie-parser"; import {Application} from "express"; -import "./services/MongoClient"; -import "./services/RedisClient"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build export {rootDir}; @Configuration({ diff --git a/packages/third-parties/terminus/test/app/index.ts b/packages/third-parties/terminus/test/app/index.ts index db0368e02b0..afecbbec913 100644 --- a/packages/third-parties/terminus/test/app/index.ts +++ b/packages/third-parties/terminus/test/app/index.ts @@ -1,5 +1,6 @@ import {$log} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; + import {Server} from "./Server.js"; if (process.env.NODE_ENV !== "test") { diff --git a/packages/third-parties/terminus/test/app/services/MongoClient.ts b/packages/third-parties/terminus/test/app/services/MongoClient.ts index c1370b2b08d..e00112daaf7 100644 --- a/packages/third-parties/terminus/test/app/services/MongoClient.ts +++ b/packages/third-parties/terminus/test/app/services/MongoClient.ts @@ -1,5 +1,6 @@ import {Injectable} from "@tsed/di"; -import {Health} from "@tsed/terminus"; + +import {Health} from "../../../src/index.js"; @Injectable() class MongoClient { diff --git a/packages/third-parties/terminus/test/app/services/RedisClient.ts b/packages/third-parties/terminus/test/app/services/RedisClient.ts index d07e422304b..bd21ea3fdf9 100644 --- a/packages/third-parties/terminus/test/app/services/RedisClient.ts +++ b/packages/third-parties/terminus/test/app/services/RedisClient.ts @@ -1,5 +1,6 @@ import {Injectable} from "@tsed/di"; -import {Health} from "@tsed/terminus"; + +import {Health} from "../../../src/index.js"; @Injectable() class RedisClient { diff --git a/packages/third-parties/terminus/tsconfig.cjs.json b/packages/third-parties/terminus/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/third-parties/terminus/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/terminus/tsconfig.esm.json b/packages/third-parties/terminus/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/third-parties/terminus/tsconfig.esm.json +++ b/packages/third-parties/terminus/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/third-parties/terminus/tsconfig.json b/packages/third-parties/terminus/tsconfig.json index 89ec5fbddca..3f1a761d34b 100644 --- a/packages/third-parties/terminus/tsconfig.json +++ b/packages/third-parties/terminus/tsconfig.json @@ -18,9 +18,6 @@ { "path": "../../specs/schema/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/third-parties/terminus/tsconfig.spec.json b/packages/third-parties/terminus/tsconfig.spec.json index b2e248f2c69..df5434b7af1 100644 --- a/packages/third-parties/terminus/tsconfig.spec.json +++ b/packages/third-parties/terminus/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/third-parties/terminus/vitest.config.mts b/packages/third-parties/terminus/vitest.config.mts index d759e817941..bd4ecd3985f 100644 --- a/packages/third-parties/terminus/vitest.config.mts +++ b/packages/third-parties/terminus/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 99.15, + branches: 95.83, + functions: 92.3, + lines: 99.15 } } } } -); +); \ No newline at end of file diff --git a/packages/third-parties/vike/package.json b/packages/third-parties/vike/package.json index d22ca3f5d38..d3c8018462c 100644 --- a/packages/third-parties/vike/package.json +++ b/packages/third-parties/vike/package.json @@ -1,23 +1,22 @@ { "name": "@tsed/vike", "description": "Vike package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "contributors": [ { "name": "romakita" } ], "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -37,14 +36,14 @@ "@tsed/di": "workspace:*", "@tsed/exceptions": "workspace:*", "@tsed/typescript": "workspace:*", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vike": "0.4.160", - "vite": "5.4.1", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vike": "0.4.198", + "vite": "5.4.8", + "vitest": "2.1.2" }, "peerDependencies": { - "@tsed/common": "7.83.3", + "@tsed/common": "8.0.0-alpha.10", "vike": ">=0.4.160", "vite": ">=4" }, diff --git a/packages/third-parties/vike/src/interfaces/ViteConfig.ts b/packages/third-parties/vike/src/interfaces/ViteConfig.ts index 8e952e1a8bf..dc11d36d9a6 100644 --- a/packages/third-parties/vike/src/interfaces/ViteConfig.ts +++ b/packages/third-parties/vike/src/interfaces/ViteConfig.ts @@ -1,5 +1,4 @@ import {Options} from "sirv"; - // @ts-ignore import type {InlineConfig} from "vite"; diff --git a/packages/third-parties/vike/src/middlewares/ViteRendererMiddleware.spec.ts b/packages/third-parties/vike/src/middlewares/ViteRendererMiddleware.spec.ts index 9819ee29f69..79f67f509df 100644 --- a/packages/third-parties/vike/src/middlewares/ViteRendererMiddleware.spec.ts +++ b/packages/third-parties/vike/src/middlewares/ViteRendererMiddleware.spec.ts @@ -1,8 +1,9 @@ import {PlatformTest} from "@tsed/common"; + import {ViteService} from "../services/ViteService.js"; import {ViteRendererMiddleware} from "./ViteRendererMiddleware.js"; -const rootDir = __dirname; // automatically replaced by import.meta.dirname on build +const rootDir = import.meta.dirname; // automatically replaced by import.meta.dirname on build describe("ViteRenderMiddleware", () => { describe("use()", () => { diff --git a/packages/third-parties/vike/src/services/ViteServer.spec.ts b/packages/third-parties/vike/src/services/ViteServer.spec.ts index add7dd07b74..397cc2f21a8 100644 --- a/packages/third-parties/vike/src/services/ViteServer.spec.ts +++ b/packages/third-parties/vike/src/services/ViteServer.spec.ts @@ -1,6 +1,7 @@ import {PlatformTest} from "@tsed/common"; import {Env} from "@tsed/core"; import sirv from "sirv"; + import {VITE_SERVER} from "./ViteServer.js"; vi.mock("sirv", () => { diff --git a/packages/third-parties/vike/src/services/ViteServer.ts b/packages/third-parties/vike/src/services/ViteServer.ts index 41e4e149451..e4dba55276f 100644 --- a/packages/third-parties/vike/src/services/ViteServer.ts +++ b/packages/third-parties/vike/src/services/ViteServer.ts @@ -1,9 +1,9 @@ import {Logger} from "@tsed/common"; import {Env} from "@tsed/core"; import {Configuration, registerProvider} from "@tsed/di"; - // @ts-ignore import type {InlineConfig, ViteDevServer} from "vite"; + import {ViteConfig} from "../interfaces/ViteConfig.js"; export const VITE_SERVER = Symbol.for("VITE_DEV_SERVER"); diff --git a/packages/third-parties/vike/src/services/ViteService.spec.ts b/packages/third-parties/vike/src/services/ViteService.spec.ts index efd902101ee..2669ea88539 100644 --- a/packages/third-parties/vike/src/services/ViteService.spec.ts +++ b/packages/third-parties/vike/src/services/ViteService.spec.ts @@ -1,4 +1,5 @@ import {PlatformTest} from "@tsed/common"; + import {ViteService} from "./ViteService.js"; vi.mock("vike/server", () => { diff --git a/packages/third-parties/vike/src/services/ViteService.ts b/packages/third-parties/vike/src/services/ViteService.ts index 11fa2e67b92..31932bf843f 100644 --- a/packages/third-parties/vike/src/services/ViteService.ts +++ b/packages/third-parties/vike/src/services/ViteService.ts @@ -1,6 +1,7 @@ import {Constant, PlatformContext} from "@tsed/common"; import {Injectable} from "@tsed/di"; import {Writable} from "stream"; + import {ViteConfig} from "../interfaces/ViteConfig.js"; import {ViteRenderContext} from "../interfaces/ViteRenderContext.js"; diff --git a/packages/third-parties/vike/tsconfig.cjs.json b/packages/third-parties/vike/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/third-parties/vike/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/vike/tsconfig.esm.json b/packages/third-parties/vike/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/third-parties/vike/tsconfig.esm.json +++ b/packages/third-parties/vike/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/third-parties/vike/tsconfig.json b/packages/third-parties/vike/tsconfig.json index 7b438b2d2e1..0450d79f186 100644 --- a/packages/third-parties/vike/tsconfig.json +++ b/packages/third-parties/vike/tsconfig.json @@ -18,9 +18,6 @@ { "path": "../../specs/exceptions/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/third-parties/vike/tsconfig.spec.json b/packages/third-parties/vike/tsconfig.spec.json index b2e248f2c69..df5434b7af1 100644 --- a/packages/third-parties/vike/tsconfig.spec.json +++ b/packages/third-parties/vike/tsconfig.spec.json @@ -3,35 +3,34 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/normalize-path": ["../../utils/normalize-path/src/index.ts"], + "@tsed/components-scan": ["../components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/packages/third-parties/vike/vitest.config.mts b/packages/third-parties/vike/vitest.config.mts index d759e817941..80449143385 100644 --- a/packages/third-parties/vike/vitest.config.mts +++ b/packages/third-parties/vike/vitest.config.mts @@ -10,12 +10,12 @@ export default defineConfig( coverage: { ...presets.test.coverage, thresholds: { - statements: 0, - branches: 0, - functions: 0, - lines: 0 + statements: 98.48, + branches: 96, + functions: 90.9, + lines: 98.48 } } } } -); +); \ No newline at end of file diff --git a/packages/third-parties/vite-ssr-plugin/.npmignore b/packages/third-parties/vite-ssr-plugin/.npmignore deleted file mode 100644 index 672ed765244..00000000000 --- a/packages/third-parties/vite-ssr-plugin/.npmignore +++ /dev/null @@ -1,8 +0,0 @@ -src -test -coverage -tsconfig.json -tsconfig.*.json -__mock__ -*.spec.js -*.tsbuildinfo diff --git a/packages/third-parties/vite-ssr-plugin/package.json b/packages/third-parties/vite-ssr-plugin/package.json deleted file mode 100644 index bc9cc840659..00000000000 --- a/packages/third-parties/vite-ssr-plugin/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "@tsed/vite-ssr-plugin", - "description": "Vite SSR plugin package for Ts.ED framework", - "type": "commonjs", - "version": "7.83.3", - "contributors": [ - { - "name": "romakita" - } - ], - "source": "./src/index.ts", - "main": "./lib/cjs/index.js", - "module": "./lib/esm/index.js", - "typings": "./lib/types/index.d.ts", - "exports": { - ".": { - "types": "./lib/types/index.d.ts", - "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" - } - }, - "scripts": { - "build": "yarn build:ts", - "build:ts": "tsc --build tsconfig.json" - }, - "dependencies": { - "@tsed/vike": "workspace:*" - }, - "peerDependencies": { - "vite-plugin-ssr": ">=0.4.114" - }, - "devDependencies": { - "@tsed/barrels": "workspace:*", - "@tsed/typescript": "workspace:*", - "typescript": "4.9.5" - } -} diff --git a/packages/third-parties/vite-ssr-plugin/readme.md b/packages/third-parties/vite-ssr-plugin/readme.md deleted file mode 100644 index a945f7a0a90..00000000000 --- a/packages/third-parties/vite-ssr-plugin/readme.md +++ /dev/null @@ -1,70 +0,0 @@ -

- Ts.ED logo -

- -
-

Vite SSR plugin

- -[![Build & Release](https://github.com/tsedio/tsed/workflows/Build%20&%20Release/badge.svg)](https://github.com/tsedio/tsed/actions?query=workflow%3A%22Build+%26+Release%22) -[![PR Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/tsedio/tsed/blob/master/CONTRIBUTING.md) -[![npm version](https://badge.fury.io/js/%40tsed%2Fcommon.svg)](https://badge.fury.io/js/%40tsed%2Fcommon) -[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release) -[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) -[![github](https://img.shields.io/static/v1?label=Github%20sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/romakita) -[![opencollective](https://img.shields.io/static/v1?label=OpenCollective%20sponsor&message=%E2%9D%A4&logo=OpenCollective&color=%23fe8e86)](https://opencollective.com/tsed) - -
- -
- Website -   •   - Getting started -   •   - Slack -   •   - Twitter -
- -
- -A package of Ts.ED framework. See website: https://tsed.io/tutorials/vite-ssr-plugin - -## Feature - -- Render page using @View with Vite - -## Installation - -To begin, install the oidc-provider module for TS.ED: - -```bash -npm install --save @tsed/vite-ssr-plugin vite@4 vite-ssr-plugin -``` - -## Contributors - -Please read [contributing guidelines here](https://tsed.io/contributing.html) - - - -## Backers - -Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/tsed#backer)] - - - -## Sponsors - -Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/tsed#sponsor)] - -## License - -The MIT License (MIT) - -Copyright (c) 2016 - 2022 Romain Lenzotti - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/packages/third-parties/vite-ssr-plugin/src/index.ts b/packages/third-parties/vite-ssr-plugin/src/index.ts deleted file mode 100644 index ab3fa0cc834..00000000000 --- a/packages/third-parties/vite-ssr-plugin/src/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -import {ViteService} from "@tsed/vike"; - -export * from "@tsed/vike"; - -ViteService.moduleName = "vite-ssr-plugin"; diff --git a/packages/third-parties/vite-ssr-plugin/tsconfig.cjs.json b/packages/third-parties/vite-ssr-plugin/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/third-parties/vite-ssr-plugin/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/vite-ssr-plugin/tsconfig.esm.json b/packages/third-parties/vite-ssr-plugin/tsconfig.esm.json deleted file mode 100644 index ce32a9e0718..00000000000 --- a/packages/third-parties/vite-ssr-plugin/tsconfig.esm.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", - "rootDir": "src", - "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", - "declaration": true, - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/third-parties/vite-ssr-plugin/tsconfig.json b/packages/third-parties/vite-ssr-plugin/tsconfig.json deleted file mode 100644 index 4ecedc1b796..00000000000 --- a/packages/third-parties/vite-ssr-plugin/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "noEmit": true - }, - "include": [], - "references": [ - { - "path": "../vike/tsconfig.json" - }, - { - "path": "./tsconfig.cjs.json" - }, - { - "path": "./tsconfig.esm.json" - } - ] -} diff --git a/packages/utils/normalize-path/package.json b/packages/utils/normalize-path/package.json index 366f49aae16..75475a1b761 100644 --- a/packages/utils/normalize-path/package.json +++ b/packages/utils/normalize-path/package.json @@ -1,18 +1,17 @@ { "name": "@tsed/normalize-path", "description": "Utils to normalize path", - "type": "commonjs", - "version": "7.83.3", + "type": "module", + "version": "8.0.0-alpha.10", "source": "./src/index.ts", - "main": "./lib/cjs/index.js", + "main": "./lib/esm/index.js", "module": "./lib/esm/index.js", "typings": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js", - "default": "./lib/cjs/index.js" + "default": "./lib/esm/index.js" } }, "scripts": { @@ -24,14 +23,14 @@ }, "dependencies": { "normalize-path": "3.0.0", - "tslib": "2.6.1" + "tslib": "2.7.0" }, "devDependencies": { "@tsed/barrels": "workspace:*", "@tsed/typescript": "workspace:*", "@types/normalize-path": "^3.0.2", - "eslint": "^8.57.0", - "typescript": "4.9.5", - "vitest": "2.0.4" + "eslint": "9.12.0", + "typescript": "5.4.5", + "vitest": "2.1.2" } } diff --git a/packages/utils/normalize-path/tsconfig.cjs.json b/packages/utils/normalize-path/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/packages/utils/normalize-path/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/packages/utils/normalize-path/tsconfig.esm.json b/packages/utils/normalize-path/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/packages/utils/normalize-path/tsconfig.esm.json +++ b/packages/utils/normalize-path/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/packages/utils/normalize-path/tsconfig.json b/packages/utils/normalize-path/tsconfig.json index d2f0c1fcdbd..ffa3a8cd7e1 100644 --- a/packages/utils/normalize-path/tsconfig.json +++ b/packages/utils/normalize-path/tsconfig.json @@ -6,9 +6,6 @@ }, "include": [], "references": [ - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" }, diff --git a/packages/utils/normalize-path/tsconfig.spec.json b/packages/utils/normalize-path/tsconfig.spec.json index 21485bab96d..1c5e9cafd41 100644 --- a/packages/utils/normalize-path/tsconfig.spec.json +++ b/packages/utils/normalize-path/tsconfig.spec.json @@ -3,35 +3,33 @@ "compilerOptions": { "baseUrl": ".", "rootDir": "../..", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true, "paths": { - "@tsed/openspec": ["../../specs/openspec/src"], - "@tsed/schema": ["../../specs/schema/src"], - "@tsed/di": ["../../di/src"], - "@tsed/exceptions": ["../../specs/exceptions/src"], - "@tsed/json-mapper": ["../../specs/json-mapper/src"], - "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src"], - "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src"], - "@tsed/platform-params": ["../../platform/platform-params/src"], - "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src"], - "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src"], - "@tsed/platform-router": ["../../platform/platform-router/src"], - "@tsed/platform-views": ["../../platform/platform-views/src"], - "@tsed/components-scan": ["../../third-parties/components-scan/src"], - "@tsed/common": ["../../platform/common/src"], - "@tsed/ajv": ["../../specs/ajv/src"], - "@tsed/platform-cache": ["../../platform/platform-cache/src"], - "@tsed/swagger": ["../../specs/swagger/src"], - "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src"], - "@tsed/platform-express": ["../../platform/platform-express/src"], - "@tsed/platform-koa": ["../../platform/platform-koa/src"] + "@tsed/openspec": ["../../specs/openspec/src/index.ts"], + "@tsed/schema": ["../../specs/schema/src/index.ts"], + "@tsed/di": ["../../di/src/index.ts"], + "@tsed/exceptions": ["../../specs/exceptions/src/index.ts"], + "@tsed/json-mapper": ["../../specs/json-mapper/src/index.ts"], + "@tsed/platform-exceptions": ["../../platform/platform-exceptions/src/index.ts"], + "@tsed/platform-middlewares": ["../../platform/platform-middlewares/src/index.ts"], + "@tsed/platform-params": ["../../platform/platform-params/src/index.ts"], + "@tsed/platform-log-middleware": ["../../platform/platform-log-middleware/src/index.ts"], + "@tsed/platform-response-filter": ["../../platform/platform-response-filter/src/index.ts"], + "@tsed/platform-router": ["../../platform/platform-router/src/index.ts"], + "@tsed/platform-views": ["../../platform/platform-views/src/index.ts"], + "@tsed/components-scan": ["../../third-parties/components-scan/src/index.ts"], + "@tsed/common": ["../../platform/common/src/index.ts"], + "@tsed/ajv": ["../../specs/ajv/src/index.ts"], + "@tsed/platform-cache": ["../../platform/platform-cache/src/index.ts"], + "@tsed/swagger": ["../../specs/swagger/src/index.ts"], + "@tsed/platform-test-sdk": ["../../platform/platform-test-sdk/src/index.ts"], + "@tsed/platform-express": ["../../platform/platform-express/src/index.ts"], + "@tsed/platform-koa": ["../../platform/platform-koa/src/index.ts"] }, "types": ["vite/client", "vitest/globals"] }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts", "vitest.config.mts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/scripts/npm/generate-package.sh b/scripts/npm/generate-package.sh deleted file mode 100644 index dcd64e1148c..00000000000 --- a/scripts/npm/generate-package.sh +++ /dev/null @@ -1,10 +0,0 @@ -cat >./lib/cjs/package.json <./lib/esm/package.json < process.exit(0)) .catch(() => process.exit(1)); diff --git a/tools/github-sponsors/package.json b/tools/github-sponsors/package.json index 5173d090ef0..e6f488e14f1 100644 --- a/tools/github-sponsors/package.json +++ b/tools/github-sponsors/package.json @@ -1,7 +1,8 @@ { "name": "@tsed/github-sponsors", - "version": "7.83.3", + "version": "8.0.0-alpha.10", "private": true, + "type": "module", "scripts": { "sponsors": "node ./bin/github-sponsors.js" }, @@ -10,6 +11,6 @@ "test": "__tests__" }, "devDependencies": { - "yaml": "^2.0.1" + "yaml": "^2.5.1" } } diff --git a/tools/github-sponsors/src/index.js b/tools/github-sponsors/src/index.js index bff9438d1ad..59fce9a7ab3 100644 --- a/tools/github-sponsors/src/index.js +++ b/tools/github-sponsors/src/index.js @@ -1,17 +1,13 @@ -/* eslint-disable no-console */ +import {shouldHideMessage} from "./utils/misc.js"; +import {parseFundingFile} from "./utils/parse.js"; +import {printDonationMessage} from "./utils/print.js"; -const {parseFundingFile} = require("./utils/parse"); -const {printDonationMessage} = require("./utils/print"); -const {shouldHideMessage} = require("./utils/misc"); - -async function init(path = process.cwd(), hideMessage = shouldHideMessage()) { +export async function init(path = process.cwd(), hideMessage = shouldHideMessage()) { if (hideMessage) return; try { const fundingConfig = await parseFundingFile(path); - printDonationMessage(fundingConfig, path); + await printDonationMessage(fundingConfig, path); } catch (e) { console.error(e); } } - -exports.init = init; diff --git a/tools/github-sponsors/src/utils/misc.js b/tools/github-sponsors/src/utils/misc.js index 7a18699ecab..a01fc34da42 100644 --- a/tools/github-sponsors/src/utils/misc.js +++ b/tools/github-sponsors/src/utils/misc.js @@ -1,4 +1,4 @@ -exports.shouldHideMessage = (env = process.env) => { +export function shouldHideMessage(env = process.env) { // Show message if it is forced if (env.GITHUB_SPONSORS_FORCE) { return false; @@ -16,4 +16,4 @@ exports.shouldHideMessage = (env = process.env) => { // Only show in dev environment return Boolean(env.NODE_ENV) && !["dev", "development"].includes(env.NODE_ENV); -}; +} diff --git a/tools/github-sponsors/src/utils/parse.js b/tools/github-sponsors/src/utils/parse.js index 23383edbd32..3d34a9d3ccb 100644 --- a/tools/github-sponsors/src/utils/parse.js +++ b/tools/github-sponsors/src/utils/parse.js @@ -1,6 +1,6 @@ -const fs = require("fs"); -const {promisify} = require("util"); -const YAML = require("yaml"); +import fs from "fs"; +import {promisify} from "util"; +import YAML from "yaml"; const readFile = promisify(fs.readFile); const access = promisify(fs.access); @@ -8,7 +8,7 @@ const access = promisify(fs.access); const FUNDING_FILENAME = "FUNDING.yml"; // Parse the FUNDING.yml and return the content -exports.parseFundingFile = async (path = process.cwd()) => { +export async function parseFundingFile(path = process.cwd()) { const pathToFile = `${path}/.github/${FUNDING_FILENAME}`; try { await access(pathToFile, fs.constants.R_OK); @@ -17,6 +17,5 @@ exports.parseFundingFile = async (path = process.cwd()) => { } const fileContent = await readFile(pathToFile, "utf-8"); - const yamlDoc = YAML.parse(fileContent); - return yamlDoc; -}; + return YAML.parse(fileContent); +} diff --git a/tools/github-sponsors/src/utils/print.js b/tools/github-sponsors/src/utils/print.js index b91d3896d7b..c3578f1b5d6 100644 --- a/tools/github-sponsors/src/utils/print.js +++ b/tools/github-sponsors/src/utils/print.js @@ -1,13 +1,9 @@ -/* eslint-disable no-console */ -/* eslint-disable no-control-regex */ - -const {execSync} = require("child_process"); -const chalk = require("chalk"); -const path = require("path"); - +import chalk from "chalk"; +import {execSync} from "child_process"; +import path from "path"; // from nuxt/opencollective -exports.retrieveCols = (() => { +export const retrieveCols = (() => { let result = false; return () => { @@ -27,10 +23,9 @@ exports.retrieveCols = (() => { }; })(); -exports.print = - (color = null) => - (str = "") => { - const terminalCols = exports.retrieveCols(); +export function print(color = null) { + return (str = "") => { + const terminalCols = retrieveCols(); const strLength = str.replace(/\u001b\[[0-9]{2}m/g, "").length; const leftPaddingLength = Math.floor((terminalCols - strLength) / 2); const leftPadding = " ".repeat(Math.max(leftPaddingLength, 0)); @@ -40,12 +35,13 @@ exports.print = console.log(leftPadding, str); }; +} -exports.printDonationMessage = (fundingConfig, pkgPath) => { - const packageJson = require(path.resolve(pkgPath) + "/package.json"); - const dim = exports.print("dim"); - const yellow = exports.print("yellow"); - const emptyLine = exports.print(); +export async function printDonationMessage(fundingConfig, pkgPath) { + const packageJson = await import(path.resolve(pkgPath) + "/package.json", {assert: {type: "json"}}); + const dim = print("dim"); + const yellow = print("yellow"); + const emptyLine = print(); yellow(`Thanks for installing ${packageJson.name}`); dim("Please consider donating to help us maintain this package."); @@ -54,27 +50,27 @@ exports.printDonationMessage = (fundingConfig, pkgPath) => { for (const [platform, value] of Object.entries(fundingConfig)) { switch (platform) { case "github": - exports.printGithub(value); + printGithub(value); break; case "patreon": - exports.print()(chalk.bold("Patreon")); - exports.print()(`${chalk.underline(`https://patreon.com/${value}`)}`); + print()(chalk.bold("Patreon")); + print()(`${chalk.underline(`https://patreon.com/${value}`)}`); break; case "open_collective": - exports.print()(chalk.bold("Open Collective")); - exports.print()(`${chalk.underline(`https://opencollective.com/${value}`)}`); + print()(chalk.bold("Open Collective")); + print()(`${chalk.underline(`https://opencollective.com/${value}`)}`); break; case "ko_fi": - exports.print()(chalk.bold("Ko Fi")); - exports.print()(`${chalk.underline(`https://ko-fi.com/${value}`)}`); + print()(chalk.bold("Ko Fi")); + print()(`${chalk.underline(`https://ko-fi.com/${value}`)}`); break; case "tidelift": - exports.print()(chalk.bold("Tidelift")); - exports.print()(`${chalk.underline(`https://tidelift.com/funding/github/${value}`)}`); + print()(chalk.bold("Tidelift")); + print()(`${chalk.underline(`https://tidelift.com/funding/github/${value}`)}`); break; case "custom": - exports.print()(chalk.bold("Sponsorship")); - exports.print()(`${chalk.underline(value)}`); + print()(chalk.bold("Sponsorship")); + print()(`${chalk.underline(value)}`); break; default: break; @@ -82,15 +78,15 @@ exports.printDonationMessage = (fundingConfig, pkgPath) => { } emptyLine(); -}; +} -exports.printGithub = (githubUsers) => { - exports.print()(chalk.bold("GitHub")); +export function printGithub(githubUsers) { + print()(chalk.bold("GitHub")); if (typeof githubUsers === "string") { githubUsers = [githubUsers]; } githubUsers.forEach((user) => { const link = `https://github.com/users/${user}/sponsorship`; - exports.print()(`${user}: ${chalk.underline(link)}`); + print()(`${user}: ${chalk.underline(link)}`); }); -}; +} diff --git a/tools/integration/package.json b/tools/integration/package.json index 688d9c38367..b89c8d7a31d 100644 --- a/tools/integration/package.json +++ b/tools/integration/package.json @@ -1,9 +1,9 @@ { "name": "@tsed/integration", - "type": "commonjs", - "version": "7.83.3", - "source": "src/index.ts", - "main": "src/index.js", + "type": "module", + "version": "8.0.0-alpha.10", + "source": "./src/index.ts", + "main": "./lib/esm/index.js", "private": true, "scripts": { "build": "tsc --build tsconfig.json", @@ -20,6 +20,11 @@ "@tsed/schema": "workspace:*", "@tsed/swagger": "workspace:*", "@tsed/typescript": "workspace:*", - "typescript": "4.9.5" + "typescript": "5.4.5" + }, + "module": "./lib/esm/index.js", + "typings": "./lib/types/index.d.ts", + "exports": { + ".": {} } } diff --git a/tools/integration/src/Server.ts b/tools/integration/src/Server.ts index 23acff6149f..a38385c9a9b 100644 --- a/tools/integration/src/Server.ts +++ b/tools/integration/src/Server.ts @@ -1,17 +1,19 @@ -import {join} from "path"; -import {Configuration, Inject} from "@tsed/di"; -import {PlatformApplication} from "@tsed/common"; import "@tsed/platform-express"; // /!\ keep this import +import "@tsed/ajv"; +import "@tsed/swagger"; + +import {PlatformApplication} from "@tsed/common"; +import {Configuration, Inject} from "@tsed/di"; import bodyParser from "body-parser"; import compress from "compression"; import cookieParser from "cookie-parser"; -import methodOverride from "method-override"; import cors from "cors"; -import "@tsed/ajv"; -import "@tsed/swagger"; +import methodOverride from "method-override"; +import {join} from "path"; + import {config} from "./config/index.js"; -import * as rest from "./controllers/rest/index.js"; import * as pages from "./controllers/pages/index.js"; +import * as rest from "./controllers/rest/index.js"; @Configuration({ ...config, diff --git a/tools/integration/src/config/logger/index.ts b/tools/integration/src/config/logger/index.ts index ec76acfe478..b0d6c7f2c6c 100644 --- a/tools/integration/src/config/logger/index.ts +++ b/tools/integration/src/config/logger/index.ts @@ -1,4 +1,6 @@ -import {$log, PlatformLoggerSettings} from "@tsed/common"; +import {$log} from "@tsed/common"; +import type {DILoggerOptions} from "@tsed/di"; + import {isProduction} from "../envs/index.js"; if (isProduction) { @@ -19,6 +21,6 @@ if (isProduction) { }); } -export default { +export default { disableRoutesSummary: isProduction }; diff --git a/tools/integration/src/controllers/pages/IndexController.ts b/tools/integration/src/controllers/pages/IndexController.ts index 48ebbcb91a4..6e7d2b66983 100644 --- a/tools/integration/src/controllers/pages/IndexController.ts +++ b/tools/integration/src/controllers/pages/IndexController.ts @@ -1,8 +1,8 @@ import {Constant, Controller} from "@tsed/di"; import {HeaderParams} from "@tsed/platform-params"; import {View} from "@tsed/platform-views"; +import {Get, Hidden, Returns} from "@tsed/schema"; import {SwaggerSettings} from "@tsed/swagger"; -import {Hidden, Get, Returns} from "@tsed/schema"; @Hidden() @Controller("/") @@ -12,7 +12,7 @@ export class IndexController { @Get("/") @View("swagger.ejs") - @Returns(200, String).ContentType("text/html") + @(Returns(200, String).ContentType("text/html")) get(@HeaderParams("x-forwarded-proto") protocol: string, @HeaderParams("host") host: string) { const hostUrl = `${protocol || "http"}://${host}`; diff --git a/tools/integration/src/index.ts b/tools/integration/src/index.ts index e145ec24a61..2549e74a2c3 100644 --- a/tools/integration/src/index.ts +++ b/tools/integration/src/index.ts @@ -1,5 +1,6 @@ import {$log} from "@tsed/common"; import {PlatformExpress} from "@tsed/platform-express"; + import {Server} from "./Server.js"; async function bootstrap() { diff --git a/tools/integration/tsconfig.cjs.json b/tools/integration/tsconfig.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/tools/integration/tsconfig.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/tools/integration/tsconfig.esm.json b/tools/integration/tsconfig.esm.json index ce32a9e0718..8954049da4a 100644 --- a/tools/integration/tsconfig.esm.json +++ b/tools/integration/tsconfig.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/tools/integration/tsconfig.json b/tools/integration/tsconfig.json index 7501be49465..21e28e995eb 100644 --- a/tools/integration/tsconfig.json +++ b/tools/integration/tsconfig.json @@ -33,9 +33,6 @@ { "path": "../../packages/specs/swagger/tsconfig.json" }, - { - "path": "./tsconfig.cjs.json" - }, { "path": "./tsconfig.esm.json" } diff --git a/tools/typescript/index.js b/tools/typescript/index.js index 6ac00276635..08dc7a398c7 100644 --- a/tools/typescript/index.js +++ b/tools/typescript/index.js @@ -1,9 +1,11 @@ -import {findPackages, MonoRepo} from "@tsed/monorepo-utils"; import {dirname, join, relative} from "node:path"; -import cloneDeep from "lodash/cloneDeep.js"; -import omit from "lodash/omit.js"; + +import {findPackages, MonoRepo} from "@tsed/monorepo-utils"; import fs from "fs-extra"; import globby from "globby"; +import cloneDeep from "lodash/cloneDeep.js"; +import get from "lodash/get.js"; +import omit from "lodash/omit.js"; const scriptDir = import.meta.dirname; @@ -18,7 +20,6 @@ async function main() { const tsConfigRootPath = join(monoRepo.rootDir, "tsconfig.json"); const tsConfigTemplate = await fs.readJson(join(scriptDir, "./tsconfig.template.json")); - const tsConfigTemplateCjsPath = join(scriptDir, "./tsconfig.template.cjs.json"); const tsConfigTemplateEsmPath = join(scriptDir, "./tsconfig.template.esm.json"); const tsConfigTemplateSpecPath = join(scriptDir, "./tsconfig.template.spec.json"); const tsConfigTemplateSpec = await fs.readJson(tsConfigTemplateSpecPath); @@ -44,7 +45,6 @@ async function main() { const tsConfig = cloneDeep(tsConfigTemplate); const tsConfigPath = join(path, "tsconfig.json"); const tsConfigBuildEsmPath = join(path, "tsconfig.esm.json"); - const tsConfigBuildCjsPath = join(path, "tsconfig.cjs.json"); const tsConfigBuildSpecPath = join(path, "tsconfig.spec.json"); const npmignore = join(path, ".npmignore"); const vitestPath = join(path, "vitest.config.mts"); @@ -73,14 +73,9 @@ async function main() { }); }); - tsConfig.references.push( - { - path: "./tsconfig.cjs.json" - }, - { - path: "./tsconfig.esm.json" - } - ); + tsConfig.references.push({ + path: "./tsconfig.esm.json" + }); if (hasFiles.length) { tsConfig.references.push({ @@ -95,13 +90,14 @@ async function main() { ((dep.path.includes("/platform") && !dep.path.includes("serverless")) || dep.path.includes("/components-scan") || dep.path.includes("/spec") || + dep.path.includes("/normalize-path") || dep.path.includes("/di")) && !deps.has(dep.name) && pkg.name !== dep.name ); }) .forEach((dep) => { - paths["@tsed/" + dep.name] = [relative(dirname(pkg.path), dirname(dep.path)) + "/src"]; + paths["@tsed/" + dep.name] = [relative(dirname(pkg.path), dirname(dep.path)) + "/src/index.ts"]; }); const tsCopy = cloneDeep(tsConfigTemplateSpec); tsCopy.compilerOptions.paths = paths; @@ -121,7 +117,6 @@ async function main() { await fs.writeJson(tsConfigPath, tsConfig, {spaces: 2}); await fs.copy(tsConfigTemplateEsmPath, tsConfigBuildEsmPath); - await fs.copy(tsConfigTemplateCjsPath, tsConfigBuildCjsPath); await fs.copy(npmIgnoreTemplatePath, npmignore); tsConfigRoot.references.push({ @@ -173,22 +168,19 @@ async function main() { // pkg.pkg.main = pkg.pkg.main.replace("cjs/", "esm/"); - if (pkg.pkg.exports && !pkg.pkg.exports["."]) { - pkg.pkg.exports = { - ".": { - ...pkg.pkg.exports - } - }; - } + pkg.pkg.type = "module"; + pkg.pkg.source = "./src/index.ts"; + pkg.pkg.main = "./lib/esm/index.js"; + pkg.pkg.module = "./lib/esm/index.js"; + pkg.pkg.typings = "./lib/types/index.d.ts"; + pkg.pkg.exports = { + ".": omit(get(pkg, 'pkg.exports["."]', {}), ["require"]) + }; await fs.writeJson(pkg.path, pkg.pkg, {spaces: 2}); - // try { - // fs.removeSync(join(path, "tsconfig.compile.esm.json")); - // fs.removeSync(join(path, "tsconfig.compile.json")); - // fs.removeSync(join(path, "tsconfig.cjs.json")); - // // fs.removeSync(join(path, "tsconfig.esm.json")); - // } catch { - // } + try { + fs.removeSync(join(path, "tsconfig.cjs.json")); + } catch {} } } diff --git a/tools/typescript/package.json b/tools/typescript/package.json index c8e7c684d13..ca28f6f12ac 100644 --- a/tools/typescript/package.json +++ b/tools/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@tsed/typescript", - "version": "7.83.3", + "version": "8.0.0-alpha.10", "description": "Util to compile source", "private": true, "type": "module", diff --git a/tools/typescript/swc.node.json b/tools/typescript/swc.node.json index 1321bf01037..09209e497d6 100644 --- a/tools/typescript/swc.node.json +++ b/tools/typescript/swc.node.json @@ -1,7 +1,7 @@ { "sourceMaps": "inline", "jsc": { - "target": "es2021", + "target": "es2023", "externalHelpers": true, "keepClassNames": true, "parser": { @@ -23,7 +23,7 @@ } }, "module": { - "type": "commonjs", + "type": "es6", "strict": false, "strictMode": true, "lazy": false, diff --git a/tools/typescript/tsconfig.node.json b/tools/typescript/tsconfig.node.json index 672ed6224aa..44c5f84b394 100644 --- a/tools/typescript/tsconfig.node.json +++ b/tools/typescript/tsconfig.node.json @@ -1,10 +1,10 @@ { "compilerOptions": { - "module": "commonjs", "target": "esnext", + "module": "NodeNext", + "moduleResolution": "NodeNext", "experimentalDecorators": true, "emitDecoratorMetadata": true, - "moduleResolution": "node", "downlevelIteration": false, "isolatedModules": false, "suppressImplicitAnyIndexErrors": false, @@ -19,7 +19,6 @@ "resolveJsonModule": true, "newLine": "LF", "skipLibCheck": true, - "lib": ["ESNext", "esnext.asynciterable"], "declaration": false, "noResolve": false, "preserveConstEnums": true, diff --git a/tools/typescript/tsconfig.template.cjs.json b/tools/typescript/tsconfig.template.cjs.json deleted file mode 100644 index 7f23b116d2b..00000000000 --- a/tools/typescript/tsconfig.template.cjs.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "extends": "@tsed/typescript/tsconfig.node.json", - "compilerOptions": { - "baseUrl": ".", - "module": "commonjs", - "moduleResolution": "Node16", - "rootDir": "src", - "outDir": "./lib/cjs", - "declaration": true, - "declarationDir": "./lib/types", - "composite": true, - "noEmit": false - }, - "include": ["src", "src/**/*.json"], - "exclude": [ - "node_modules", - "test", - "lib", - "benchmark", - "coverage", - "spec", - "**/*.benchmark.ts", - "**/*.spec.ts", - "keys", - "**/__mock__/**", - "webpack.config.js" - ] -} diff --git a/tools/typescript/tsconfig.template.esm.json b/tools/typescript/tsconfig.template.esm.json index ce32a9e0718..8954049da4a 100644 --- a/tools/typescript/tsconfig.template.esm.json +++ b/tools/typescript/tsconfig.template.esm.json @@ -2,16 +2,14 @@ "extends": "@tsed/typescript/tsconfig.node.json", "compilerOptions": { "baseUrl": ".", - "module": "ESNext", - "moduleResolution": "nodenext", "rootDir": "src", "outDir": "./lib/esm", - "declarationDir": "./lib/types-esm", + "declarationDir": "./lib/types", "declaration": true, "composite": true, "noEmit": false }, - "include": ["src", "src/**/*.json"], + "include": ["src/**/*.ts", "src/**/*.json"], "exclude": [ "node_modules", "test", diff --git a/tools/typescript/tsconfig.template.spec.json b/tools/typescript/tsconfig.template.spec.json index 50ffc4b3368..2fac7ea1dce 100644 --- a/tools/typescript/tsconfig.template.spec.json +++ b/tools/typescript/tsconfig.template.spec.json @@ -3,12 +3,10 @@ "compilerOptions": { "baseUrl": ".", "rootDir": ".", - "module": "commonjs", - "outDir": "./lib/cjs", "declaration": false, "composite": false, "noEmit": true }, "include": ["src/**/*.spec.ts", "test/**/*.spec.ts"], - "exclude": ["node_modules", "test", "lib", "benchmark", "coverage"] + "exclude": ["node_modules", "lib", "benchmark", "coverage"] } diff --git a/tools/vitest/index.js b/tools/vitest/index.js index 2d68e545aff..f4b8507e121 100644 --- a/tools/vitest/index.js +++ b/tools/vitest/index.js @@ -1,6 +1,7 @@ +import {dirname, join} from "node:path"; + import {findPackages, MonoRepo} from "@tsed/monorepo-utils"; import fs from "fs-extra"; -import {dirname, join} from "node:path"; const rootDir = import.meta.dirname; const workspaceDir = join(rootDir, "../.."); diff --git a/tools/vitest/package.json b/tools/vitest/package.json index 188bdff6bd9..ec2bdb0f6f1 100644 --- a/tools/vitest/package.json +++ b/tools/vitest/package.json @@ -1,7 +1,7 @@ { "name": "@tsed/vitest", "type": "module", - "version": "7.83.3", + "version": "8.0.0-alpha.10", "private": true, "exports": { ".": "./index.js", @@ -9,7 +9,7 @@ "./presets": "./presets/index.js" }, "devDependencies": { - "vitest": "2.0.5" + "vitest": "2.1.2" }, "scripts": { "generate": "node index.js" diff --git a/tools/vitest/presets/alias.js b/tools/vitest/presets/alias.js index d9485ca8f3b..bebc82ca39a 100644 --- a/tools/vitest/presets/alias.js +++ b/tools/vitest/presets/alias.js @@ -1,7 +1,8 @@ -import {sync} from "globby"; import {readFileSync} from "node:fs"; import {basename, dirname, join} from "node:path"; +import {globbySync} from "globby"; + const root = join(import.meta.dirname, "../../.."); function deps(pkg, pkgs, set = new Set()) { @@ -17,7 +18,7 @@ function deps(pkg, pkgs, set = new Set()) { } function findPackages() { - const pkgs = sync( + const pkgs = globbySync( [ "packages/*/package.json", "packages/graphql/*/package.json", diff --git a/tools/vitest/presets/index.js b/tools/vitest/presets/index.js index ac948ae8540..5cc1c4dd635 100644 --- a/tools/vitest/presets/index.js +++ b/tools/vitest/presets/index.js @@ -1,5 +1,6 @@ import swc from "unplugin-swc"; import {defineConfig} from "vitest/config"; + import {resolveWorkspaceFiles} from "../plugins/resolveWorkspaceFiles.js"; import {alias} from "./alias.js"; diff --git a/tools/webpack/package.json b/tools/webpack/package.json index 2879d2509c9..d979d377c9a 100644 --- a/tools/webpack/package.json +++ b/tools/webpack/package.json @@ -1,6 +1,6 @@ { "name": "@tsed/webpack-config", - "version": "7.83.3", + "version": "8.0.0-alpha.10", "private": true, "main": "webpack.config.js" } diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json new file mode 100644 index 00000000000..7bbced9e37b --- /dev/null +++ b/tsconfig.eslint.json @@ -0,0 +1,14 @@ +{ + "extends": "@tsed/typescript/tsconfig.node.json", + "compilerOptions": { + "baseUrl": ".", + "noEmit": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "allowJs": true, + "skipLibCheck": true + }, + "include": ["**/*"] +} diff --git a/tsconfig.json b/tsconfig.json index 8e83a9a26b9..8cb64691375 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -18,19 +18,19 @@ "path": "./packages/core/tsconfig.json" }, { - "path": "./packages/specs/openspec/tsconfig.json" + "path": "./packages/engines/tsconfig.json" }, { - "path": "./packages/specs/schema/tsconfig.json" + "path": "./packages/perf/tsconfig.json" }, { - "path": "./packages/di/tsconfig.json" + "path": "./packages/specs/openspec/tsconfig.json" }, { - "path": "./packages/engines/tsconfig.json" + "path": "./packages/specs/schema/tsconfig.json" }, { - "path": "./packages/perf/tsconfig.json" + "path": "./packages/di/tsconfig.json" }, { "path": "./packages/specs/exceptions/tsconfig.json" @@ -50,6 +50,9 @@ { "path": "./packages/platform/platform-log-middleware/tsconfig.json" }, + { + "path": "./packages/platform/platform-log-request/tsconfig.json" + }, { "path": "./packages/platform/platform-response-filter/tsconfig.json" }, @@ -71,56 +74,50 @@ { "path": "./packages/graphql/apollo/tsconfig.json" }, - { - "path": "./packages/graphql/typegraphql/tsconfig.json" - }, - { - "path": "./packages/graphql/graphql-ws/tsconfig.json" - }, { "path": "./packages/specs/ajv/tsconfig.json" }, { - "path": "./packages/orm/adapters/tsconfig.json" + "path": "./packages/platform/platform-cache/tsconfig.json" }, { - "path": "./packages/orm/ioredis/tsconfig.json" + "path": "./packages/specs/swagger/tsconfig.json" }, { - "path": "./packages/orm/adapters-redis/tsconfig.json" + "path": "./packages/platform/platform-test-sdk/tsconfig.json" }, { - "path": "./packages/orm/mongoose/tsconfig.json" + "path": "./packages/platform/platform-express/tsconfig.json" }, { - "path": "./packages/orm/objection/tsconfig.json" + "path": "./packages/graphql/typegraphql/tsconfig.json" }, { - "path": "./packages/orm/prisma/tsconfig.json" + "path": "./packages/graphql/graphql-ws/tsconfig.json" }, { - "path": "./packages/orm/testing-mongoose/tsconfig.json" + "path": "./packages/orm/adapters/tsconfig.json" }, { - "path": "./packages/orm/mikro-orm/tsconfig.json" + "path": "./packages/orm/ioredis/tsconfig.json" }, { - "path": "./packages/orm/testcontainers-mongo/tsconfig.json" + "path": "./packages/orm/adapters-redis/tsconfig.json" }, { - "path": "./packages/orm/typeorm/tsconfig.json" + "path": "./packages/orm/testcontainers-mongo/tsconfig.json" }, { - "path": "./packages/platform/platform-cache/tsconfig.json" + "path": "./packages/orm/mikro-orm/tsconfig.json" }, { - "path": "./packages/specs/swagger/tsconfig.json" + "path": "./packages/orm/mongoose/tsconfig.json" }, { - "path": "./packages/platform/platform-test-sdk/tsconfig.json" + "path": "./packages/orm/prisma/tsconfig.json" }, { - "path": "./packages/platform/platform-express/tsconfig.json" + "path": "./packages/orm/objection/tsconfig.json" }, { "path": "./packages/platform/platform-koa/tsconfig.json" @@ -150,7 +147,7 @@ "path": "./packages/third-parties/agenda/tsconfig.json" }, { - "path": "./packages/third-parties/bullmq/tsconfig.json" + "path": "./packages/third-parties/event-emitter/tsconfig.json" }, { "path": "./packages/third-parties/formio-types/tsconfig.json" @@ -159,7 +156,7 @@ "path": "./packages/third-parties/formio/tsconfig.json" }, { - "path": "./packages/third-parties/event-emitter/tsconfig.json" + "path": "./packages/third-parties/bullmq/tsconfig.json" }, { "path": "./packages/third-parties/schema-formio/tsconfig.json" @@ -173,6 +170,9 @@ { "path": "./packages/third-parties/socketio/tsconfig.json" }, + { + "path": "./packages/third-parties/stripe/tsconfig.json" + }, { "path": "./packages/third-parties/sse/tsconfig.json" }, @@ -180,17 +180,11 @@ "path": "./packages/third-parties/temporal/tsconfig.json" }, { - "path": "./packages/third-parties/stripe/tsconfig.json" + "path": "./packages/third-parties/terminus/tsconfig.json" }, { "path": "./packages/third-parties/vike/tsconfig.json" }, - { - "path": "./packages/third-parties/vite-ssr-plugin/tsconfig.json" - }, - { - "path": "./packages/third-parties/terminus/tsconfig.json" - }, { "path": "./tools/integration/tsconfig.json" } diff --git a/yarn.lock b/yarn.lock index 919aa5f92c2..b6d1ffcb3bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,12 +12,10 @@ __metadata: languageName: node linkType: hard -"@ampproject/remapping@npm:^2.1.0": - version: 2.1.2 - resolution: "@ampproject/remapping@npm:2.1.2" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.0" - checksum: 10/2151b1fd8149e9e288fa16c02699d74e6020baf3fe3154d2bd933e59db7a03076567e28493d1408ffa162d67880a2b9e0a9bbc64f3bb4af22a7cce2fdb4c345d +"@alloc/quick-lru@npm:^5.2.0": + version: 5.2.0 + resolution: "@alloc/quick-lru@npm:5.2.0" + checksum: 10/bdc35758b552bcf045733ac047fb7f9a07c4678b944c641adfbd41f798b4b91fffd0fdc0df2578d9b0afc7b4d636aa6e110ead5d6281a2adc1ab90efd7f057f8 languageName: node linkType: hard @@ -41,21 +39,6 @@ __metadata: languageName: node linkType: hard -"@antfu/ni@npm:0.21.4": - version: 0.21.4 - resolution: "@antfu/ni@npm:0.21.4" - bin: - na: bin/na.mjs - nci: bin/nci.mjs - ni: bin/ni.mjs - nlx: bin/nlx.mjs - nr: bin/nr.mjs - nu: bin/nu.mjs - nun: bin/nun.mjs - checksum: 10/40562e6c03dbd38fad6113dff4d0ea4457b00e454e5e47786d15074691356dca628cea7f6f936a43a0bfbd50cd01cf50e81e017a042f41b419b3d8c471907b49 - languageName: node - linkType: hard - "@apidevtools/json-schema-ref-parser@npm:9.0.6": version: 9.0.6 resolution: "@apidevtools/json-schema-ref-parser@npm:9.0.6" @@ -98,6 +81,34 @@ __metadata: languageName: node linkType: hard +"@apollo/cache-control-types@npm:^1.0.3": + version: 1.0.3 + resolution: "@apollo/cache-control-types@npm:1.0.3" + peerDependencies: + graphql: 14.x || 15.x || 16.x + checksum: 10/a588e52bfa51e37a1dcd667469c827cbd1145df131650478fa7c7e6f9b01eb71ce9147f94be60c5b3ee0d4f83fd3304da1a78a342ae254c12cfc18e6e3f1e615 + languageName: node + linkType: hard + +"@apollo/datasource-rest@npm:6.3.0": + version: 6.3.0 + resolution: "@apollo/datasource-rest@npm:6.3.0" + dependencies: + "@apollo/utils.fetcher": "npm:^3.0.0" + "@apollo/utils.keyvaluecache": "npm:^3.1.0" + "@apollo/utils.logger": "npm:^3.0.0" + "@apollo/utils.withrequired": "npm:^3.0.0" + "@types/http-cache-semantics": "npm:^4.0.1" + http-cache-semantics: "npm:^4.1.1" + lodash.clonedeep: "npm:^4.5.0" + lodash.isplainobject: "npm:^4.0.6" + node-fetch: "npm:^2.6.7" + peerDependencies: + graphql: ^16.5.0 + checksum: 10/06f5adcb4a20c9de876c2661c725a1910713ba417de36e434847d91913ad5d8bf868014d20bc0ce29a0c9986c9737194728b793574aca1a0cc96d29145bf2860 + languageName: node + linkType: hard + "@apollo/protobufjs@npm:1.2.2": version: 1.2.2 resolution: "@apollo/protobufjs@npm:1.2.2" @@ -146,12 +157,123 @@ __metadata: languageName: node linkType: hard -"@apollo/utils.dropunuseddefinitions@npm:^1.1.0": - version: 1.1.0 - resolution: "@apollo/utils.dropunuseddefinitions@npm:1.1.0" +"@apollo/protobufjs@npm:1.2.7": + version: 1.2.7 + resolution: "@apollo/protobufjs@npm:1.2.7" + dependencies: + "@protobufjs/aspromise": "npm:^1.1.2" + "@protobufjs/base64": "npm:^1.1.2" + "@protobufjs/codegen": "npm:^2.0.4" + "@protobufjs/eventemitter": "npm:^1.1.0" + "@protobufjs/fetch": "npm:^1.1.0" + "@protobufjs/float": "npm:^1.0.2" + "@protobufjs/inquire": "npm:^1.1.0" + "@protobufjs/path": "npm:^1.1.2" + "@protobufjs/pool": "npm:^1.1.0" + "@protobufjs/utf8": "npm:^1.1.0" + "@types/long": "npm:^4.0.0" + long: "npm:^4.0.0" + bin: + apollo-pbjs: bin/pbjs + apollo-pbts: bin/pbts + checksum: 10/9b2c2d5daa5221397bc9cf37f3fa8a45dc6f217783d0fe51eca12895f88f8a5d1b66efba2e288657a1c2da5b2e20fe0eb649a440ceeb30bfc5a3af75ccea832d + languageName: node + linkType: hard + +"@apollo/server-gateway-interface@npm:^1.1.1": + version: 1.1.1 + resolution: "@apollo/server-gateway-interface@npm:1.1.1" + dependencies: + "@apollo/usage-reporting-protobuf": "npm:^4.1.1" + "@apollo/utils.fetcher": "npm:^2.0.0" + "@apollo/utils.keyvaluecache": "npm:^2.1.0" + "@apollo/utils.logger": "npm:^2.0.0" + peerDependencies: + graphql: 14.x || 15.x || 16.x + checksum: 10/af0e95399297aa403c32ffff08c6dfa91a70aae73d5954f36e357f045cdb7e89f3bb4c3e70816d244f8f18af21d257bc79e934dd8bbaa1214c5f6d42a6a825d0 + languageName: node + linkType: hard + +"@apollo/server@npm:^4.11.0": + version: 4.11.0 + resolution: "@apollo/server@npm:4.11.0" + dependencies: + "@apollo/cache-control-types": "npm:^1.0.3" + "@apollo/server-gateway-interface": "npm:^1.1.1" + "@apollo/usage-reporting-protobuf": "npm:^4.1.1" + "@apollo/utils.createhash": "npm:^2.0.0" + "@apollo/utils.fetcher": "npm:^2.0.0" + "@apollo/utils.isnodelike": "npm:^2.0.0" + "@apollo/utils.keyvaluecache": "npm:^2.1.0" + "@apollo/utils.logger": "npm:^2.0.0" + "@apollo/utils.usagereporting": "npm:^2.1.0" + "@apollo/utils.withrequired": "npm:^2.0.0" + "@graphql-tools/schema": "npm:^9.0.0" + "@types/express": "npm:^4.17.13" + "@types/express-serve-static-core": "npm:^4.17.30" + "@types/node-fetch": "npm:^2.6.1" + async-retry: "npm:^1.2.1" + cors: "npm:^2.8.5" + express: "npm:^4.17.1" + loglevel: "npm:^1.6.8" + lru-cache: "npm:^7.10.1" + negotiator: "npm:^0.6.3" + node-abort-controller: "npm:^3.1.1" + node-fetch: "npm:^2.6.7" + uuid: "npm:^9.0.0" + whatwg-mimetype: "npm:^3.0.0" + peerDependencies: + graphql: ^16.6.0 + checksum: 10/2f4d20dfcab2261d7c090d81bebccfd56ead1b9740e964fb2b7bd65058bff57b9bc175c4a3b2eb0c7d5fc8a7cc4ea2685ac6d0d2a147244964fa4c432db7c30f + languageName: node + linkType: hard + +"@apollo/usage-reporting-protobuf@npm:^4.1.0, @apollo/usage-reporting-protobuf@npm:^4.1.1": + version: 4.1.1 + resolution: "@apollo/usage-reporting-protobuf@npm:4.1.1" + dependencies: + "@apollo/protobufjs": "npm:1.2.7" + checksum: 10/07679e0058d0f67200bcbb05405697d4052dd6d921b8ed717878d75c60efe5af4dd1c387f9e72be17d050967b3c334ee3eab8954c4dc40aed0f1013eb30fb251 + languageName: node + linkType: hard + +"@apollo/utils.createhash@npm:^2.0.0": + version: 2.0.1 + resolution: "@apollo/utils.createhash@npm:2.0.1" + dependencies: + "@apollo/utils.isnodelike": "npm:^2.0.1" + sha.js: "npm:^2.4.11" + checksum: 10/9e3ba58fd44f7900133a2219b0b66c0656a9c729f7a2ed1a459af8f4149925f0602d9766e57a0cc2acb8d24623f5c34ebad0faac0004cd59060fd6b1c91d5029 + languageName: node + linkType: hard + +"@apollo/utils.dropunuseddefinitions@npm:^2.0.1": + version: 2.0.1 + resolution: "@apollo/utils.dropunuseddefinitions@npm:2.0.1" peerDependencies: graphql: 14.x || 15.x || 16.x - checksum: 10/b66e07086ea65bcb94d84cfd5e6d90d0406c4e7f602c9a5e793c2001273380a4f61c287f60ee1d81d47d49d3a62ef3f0afb8049243540d3021ff445869124094 + checksum: 10/c12166f2551fb44045a8210317b7776abc263136bd07bfe3c6eecdb050468590fc73e524efc437cad21cc4cfcd1efc3e110285025150c2073a4b303934898ac1 + languageName: node + linkType: hard + +"@apollo/utils.fetcher@npm:^2.0.0": + version: 2.0.1 + resolution: "@apollo/utils.fetcher@npm:2.0.1" + checksum: 10/e173d215c3544dade7b4a08733234d5180973c79e8e738e9e2530f2067e8731a5faa7f15176f4ca91f3cc95a4c70166a686c7382a6c6100f56ad5befcd613f9f + languageName: node + linkType: hard + +"@apollo/utils.fetcher@npm:^3.0.0": + version: 3.1.0 + resolution: "@apollo/utils.fetcher@npm:3.1.0" + checksum: 10/be536a773c2895e5cfc9212ebbb4719a693d0f501088ca14ff008468064f49a46f3ee4eb148bc4438fd408581c13317ce05bc3ad9068f2024f9cfaa4538a1de2 + languageName: node + linkType: hard + +"@apollo/utils.isnodelike@npm:^2.0.0, @apollo/utils.isnodelike@npm:^2.0.1": + version: 2.0.1 + resolution: "@apollo/utils.isnodelike@npm:2.0.1" + checksum: 10/c2e858186a60cccb7e4fc53e8b97b2a4d5470cd4975ad9cccd29e57a23eff1aa3a0c03edceb13c423632224ce2c327c6f1bb8bd77dc3fb039316bba5750536ec languageName: node linkType: hard @@ -165,6 +287,26 @@ __metadata: languageName: node linkType: hard +"@apollo/utils.keyvaluecache@npm:^2.1.0": + version: 2.1.1 + resolution: "@apollo/utils.keyvaluecache@npm:2.1.1" + dependencies: + "@apollo/utils.logger": "npm:^2.0.1" + lru-cache: "npm:^7.14.1" + checksum: 10/9a6bc7c4645415329a93e77861cb1a9874b2171b741a3a667c277c6339f2ba46fb40011982e7b0993b118af1cc02e59e58fcbe7033ca6216cefec01e7b8eeda6 + languageName: node + linkType: hard + +"@apollo/utils.keyvaluecache@npm:^3.1.0": + version: 3.1.0 + resolution: "@apollo/utils.keyvaluecache@npm:3.1.0" + dependencies: + "@apollo/utils.logger": "npm:^3.0.0" + lru-cache: "npm:^10.0.0" + checksum: 10/a0e1a84f76374480c4cdfdd16bca8ebe4e2b26f6152ef593b1e4ace40336803e17bed1f1723133d87d1408258d63f2cd528ce775859f2abace05af5ef13ffee8 + languageName: node + linkType: hard + "@apollo/utils.logger@npm:^1.0.0": version: 1.0.0 resolution: "@apollo/utils.logger@npm:1.0.0" @@ -172,61 +314,89 @@ __metadata: languageName: node linkType: hard -"@apollo/utils.printwithreducedwhitespace@npm:^1.1.0": - version: 1.1.0 - resolution: "@apollo/utils.printwithreducedwhitespace@npm:1.1.0" +"@apollo/utils.logger@npm:^2.0.0, @apollo/utils.logger@npm:^2.0.1": + version: 2.0.1 + resolution: "@apollo/utils.logger@npm:2.0.1" + checksum: 10/f975c81fcc7e54669b975031349f292930dc4cc3dd6bdc58bc7fe2159e0398a7d18b28860ee324c23722b005848e258094a143d20f6989fde5837379240b0066 + languageName: node + linkType: hard + +"@apollo/utils.logger@npm:^3.0.0": + version: 3.0.0 + resolution: "@apollo/utils.logger@npm:3.0.0" + checksum: 10/e3bd3e55e7ff86410afa2620dd767073dcf017a8d1e5ab5484fe293a42d06c38e73b5dc5ada99dbb7b9ef2919f225214f7a7d3944a1665e72d84082837359c0b + languageName: node + linkType: hard + +"@apollo/utils.printwithreducedwhitespace@npm:^2.0.1": + version: 2.0.1 + resolution: "@apollo/utils.printwithreducedwhitespace@npm:2.0.1" peerDependencies: graphql: 14.x || 15.x || 16.x - checksum: 10/86536751681c64f35a2d37b0c2f69a39d91ea0e4f0c3c993d9f76fa109f85e9d306e6994bd6e38eef1e4e5b83245125aaa125ecc94e185d90b3255f06a538503 + checksum: 10/16cd191e66f3801b15deb581426cd1f55066bb824c32d63fe9de9c255bea2e2b6ee1ffc88873607830d2df0f3b4d9a14c707b709f205062e21a502f08f40d513 languageName: node linkType: hard -"@apollo/utils.removealiases@npm:1.0.0": - version: 1.0.0 - resolution: "@apollo/utils.removealiases@npm:1.0.0" +"@apollo/utils.removealiases@npm:2.0.1": + version: 2.0.1 + resolution: "@apollo/utils.removealiases@npm:2.0.1" peerDependencies: graphql: 14.x || 15.x || 16.x - checksum: 10/fda30ad4ee1fbf012e4289b9963b8b75a102eadbdfa5e558dc923cfc68df42eff6e232dc20c34b7e7563e5aac7ae3781d17919cd8f5eccb90c4225a274b2af93 + checksum: 10/2f3f925b239bce49fe9d80bb9fbb551992c8d9180af160e780faf1c88971a30ef16b842e82e1f27a0e1f8c649af0a442ef95f6838d4cde6148939ec73d9464f6 languageName: node linkType: hard -"@apollo/utils.sortast@npm:^1.1.0": - version: 1.1.0 - resolution: "@apollo/utils.sortast@npm:1.1.0" +"@apollo/utils.sortast@npm:^2.0.1": + version: 2.0.1 + resolution: "@apollo/utils.sortast@npm:2.0.1" dependencies: lodash.sortby: "npm:^4.7.0" peerDependencies: graphql: 14.x || 15.x || 16.x - checksum: 10/5ec695d8c91efd82ad75cb3e27662644c71e22be71793908135b38965be6fe1f229c24fd2f4fed1bc1829b84bec2a1f6470817a83c633d95292db7635a625471 + checksum: 10/b71245558ebd64bf93b98aec933d4b5f5758e0fecf7915728d94725ed4201fb2515e2af92fe01a595638147e5e0ef50a27ab5323d9b76eeb126769fb1e58f051 languageName: node linkType: hard -"@apollo/utils.stripsensitiveliterals@npm:^1.2.0": - version: 1.2.0 - resolution: "@apollo/utils.stripsensitiveliterals@npm:1.2.0" +"@apollo/utils.stripsensitiveliterals@npm:^2.0.1": + version: 2.0.1 + resolution: "@apollo/utils.stripsensitiveliterals@npm:2.0.1" peerDependencies: graphql: 14.x || 15.x || 16.x - checksum: 10/5910186a30be23fac59652d350e83a8a7a53adb9146ed545906f6893ad9c8d380752e679348ee210ae01fa39cc0487692b632e960003dcedc2282bd28de2aa01 + checksum: 10/a3f74af0626f89d61f7ed1d25194f6b77006a06653399eecaea0b246cf685a85465091f2dc70280b127871b5c1eda7ded799ce176271c2612946acdc9453d388 languageName: node linkType: hard -"@apollo/utils.usagereporting@npm:^1.0.0": - version: 1.0.0 - resolution: "@apollo/utils.usagereporting@npm:1.0.0" +"@apollo/utils.usagereporting@npm:^2.1.0": + version: 2.1.0 + resolution: "@apollo/utils.usagereporting@npm:2.1.0" dependencies: - "@apollo/utils.dropunuseddefinitions": "npm:^1.1.0" - "@apollo/utils.printwithreducedwhitespace": "npm:^1.1.0" - "@apollo/utils.removealiases": "npm:1.0.0" - "@apollo/utils.sortast": "npm:^1.1.0" - "@apollo/utils.stripsensitiveliterals": "npm:^1.2.0" - apollo-reporting-protobuf: "npm:^3.3.1" + "@apollo/usage-reporting-protobuf": "npm:^4.1.0" + "@apollo/utils.dropunuseddefinitions": "npm:^2.0.1" + "@apollo/utils.printwithreducedwhitespace": "npm:^2.0.1" + "@apollo/utils.removealiases": "npm:2.0.1" + "@apollo/utils.sortast": "npm:^2.0.1" + "@apollo/utils.stripsensitiveliterals": "npm:^2.0.1" peerDependencies: graphql: 14.x || 15.x || 16.x - checksum: 10/e243fa4495e77bfbe5cfcf5bff1f3f7a26493eac1db9b98104263906c24f93dd64ed67fa4308f6868fef960d08d718c07508c15c6668ee8e78fa05565b438158 + checksum: 10/8af4b23000a4c35ba568e6a532e4120ab0e55b291c7b902f2d10a51aad877d0438b80c019296436870ee265edcc8881521fb9a0829796f23a3b2cb73449ac890 + languageName: node + linkType: hard + +"@apollo/utils.withrequired@npm:^2.0.0": + version: 2.0.1 + resolution: "@apollo/utils.withrequired@npm:2.0.1" + checksum: 10/ddd3a72d0f13e6283128d1aae787b65f8ef0bf2f2cf351e143c479f0838679e72d82f42f653b6baadd33a092854fc9cb9dd8af4a45938ee25b718274cef408ee + languageName: node + linkType: hard + +"@apollo/utils.withrequired@npm:^3.0.0": + version: 3.0.0 + resolution: "@apollo/utils.withrequired@npm:3.0.0" + checksum: 10/63fb7e93a64d24b0f02ef8a14f53ed16288a9481bfde401b679614d00b18ecc894bac8e36e9bff53d6955a031d2a080d4056914530bf32592a131eb63a4c7ed0 languageName: node linkType: hard -"@apollographql/apollo-tools@npm:^0.5.0, @apollographql/apollo-tools@npm:^0.5.3": +"@apollographql/apollo-tools@npm:^0.5.0": version: 0.5.3 resolution: "@apollographql/apollo-tools@npm:0.5.3" peerDependencies: @@ -244,15 +414,6 @@ __metadata: languageName: node linkType: hard -"@apollographql/graphql-playground-html@npm:1.6.29": - version: 1.6.29 - resolution: "@apollographql/graphql-playground-html@npm:1.6.29" - dependencies: - xss: "npm:^1.0.8" - checksum: 10/5e45cdc122dbc18c71f89fd9be8c19d1e35417ea27d3915206438d351f7775894957cd5b8bb378921bb96a8f6e6a9d182ce3d674abaddefd36a3a7e9cf6f1e68 - languageName: node - linkType: hard - "@apollographql/graphql-upload-8-fork@npm:^8.1.4": version: 8.1.4 resolution: "@apollographql/graphql-upload-8-fork@npm:8.1.4" @@ -270,6 +431,16 @@ __metadata: languageName: node linkType: hard +"@as-integrations/koa@npm:1.1.1": + version: 1.1.1 + resolution: "@as-integrations/koa@npm:1.1.1" + peerDependencies: + "@apollo/server": ^4.0.0 + koa: ^2.0.0 + checksum: 10/222eec7cb5b9de0c0823bcda91fb6896cad4de97f1226d36f9618f26482af6cff1342b35cc4206f924d22687fbf8cc0ea030c96f48507398154cbbb368630d9f + languageName: node + linkType: hard + "@aws-crypto/crc32@npm:3.0.0": version: 3.0.0 resolution: "@aws-crypto/crc32@npm:3.0.0" @@ -789,7 +960,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.16.7": +"@babel/code-frame@npm:^7.0.0": version: 7.16.7 resolution: "@babel/code-frame@npm:7.16.7" dependencies: @@ -808,13 +979,13 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.24.1, @babel/code-frame@npm:^7.24.2": - version: 7.24.2 - resolution: "@babel/code-frame@npm:7.24.2" +"@babel/code-frame@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/code-frame@npm:7.25.7" dependencies: - "@babel/highlight": "npm:^7.24.2" + "@babel/highlight": "npm:^7.25.7" picocolors: "npm:^1.0.0" - checksum: 10/7db8f5b36ffa3f47a37f58f61e3d130b9ecad21961f3eede7e2a4ac2c7e4a5efb6e9d03a810c669bc986096831b6c0dfc2c3082673d93351b82359c1b03e0590 + checksum: 10/000fb8299fb35b6217d4f6c6580dcc1fa2f6c0f82d0a54b8a029966f633a8b19b490a7a906b56a94e9d8bee91c3bc44c74c44c33fb0abaa588202f6280186291 languageName: node linkType: hard @@ -825,91 +996,45 @@ __metadata: languageName: node linkType: hard -"@babel/compat-data@npm:^7.23.5, @babel/compat-data@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/compat-data@npm:7.24.1" - checksum: 10/d5460b99c07ff8487467c52f742a219c7e3bcdcaa2882456a13c0d0c8116405f0c85a651fb60511284dc64ed627a5e989f24c3cd6e71d07a9947e7c8954b433c +"@babel/compat-data@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/compat-data@npm:7.25.7" + checksum: 10/8fdc451e0ed9e22d1324d504b84d4452ba6f4a806b0f5c364996ee4c2a77293f79ecf4da03033acb625c90bac115c61617eb6c894c2b88486724bcbe3af1a6eb languageName: node linkType: hard -"@babel/core@npm:7.24.3": - version: 7.24.3 - resolution: "@babel/core@npm:7.24.3" +"@babel/core@npm:7.25.7": + version: 7.25.7 + resolution: "@babel/core@npm:7.25.7" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.24.2" - "@babel/generator": "npm:^7.24.1" - "@babel/helper-compilation-targets": "npm:^7.23.6" - "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helpers": "npm:^7.24.1" - "@babel/parser": "npm:^7.24.1" - "@babel/template": "npm:^7.24.0" - "@babel/traverse": "npm:^7.24.1" - "@babel/types": "npm:^7.24.0" + "@babel/code-frame": "npm:^7.25.7" + "@babel/generator": "npm:^7.25.7" + "@babel/helper-compilation-targets": "npm:^7.25.7" + "@babel/helper-module-transforms": "npm:^7.25.7" + "@babel/helpers": "npm:^7.25.7" + "@babel/parser": "npm:^7.25.7" + "@babel/template": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10/3a7b9931fe0d93c500dcdb6b36f038b0f9d5090c048818e62aa8321c8f6e8ccc3d47373f0b40591c1fe3b13e5096bacabb1ade83f9f4d86f57878c39a9d1ade1 - languageName: node - linkType: hard - -"@babel/core@npm:^7.7.5": - version: 7.17.8 - resolution: "@babel/core@npm:7.17.8" - dependencies: - "@ampproject/remapping": "npm:^2.1.0" - "@babel/code-frame": "npm:^7.16.7" - "@babel/generator": "npm:^7.17.7" - "@babel/helper-compilation-targets": "npm:^7.17.7" - "@babel/helper-module-transforms": "npm:^7.17.7" - "@babel/helpers": "npm:^7.17.8" - "@babel/parser": "npm:^7.17.8" - "@babel/template": "npm:^7.16.7" - "@babel/traverse": "npm:^7.17.3" - "@babel/types": "npm:^7.17.0" - convert-source-map: "npm:^1.7.0" - debug: "npm:^4.1.0" - gensync: "npm:^1.0.0-beta.2" - json5: "npm:^2.1.2" - semver: "npm:^6.3.0" - checksum: 10/b8563bba24a605ee64b36596392cc89537f26dbf993c74f1896355f95167fd408448ac2c0340ff2c0dbcb4521a8ecc92d20fb7d1cda020bd6ffefdc49d25fcb7 - languageName: node - linkType: hard - -"@babel/generator@npm:^7.17.7": - version: 7.17.7 - resolution: "@babel/generator@npm:7.17.7" - dependencies: - "@babel/types": "npm:^7.17.0" - jsesc: "npm:^2.5.1" - source-map: "npm:^0.5.0" - checksum: 10/3303afa2b1310e67071d6c998121b2af1038d6450df266d24fe9a86329fb6288b8ab38bb71787917b3f81a1c4edbc5bc7e6735683fe1d0aa288b33e93daacd60 - languageName: node - linkType: hard - -"@babel/generator@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/generator@npm:7.23.0" - dependencies: - "@babel/types": "npm:^7.23.0" - "@jridgewell/gen-mapping": "npm:^0.3.2" - "@jridgewell/trace-mapping": "npm:^0.3.17" - jsesc: "npm:^2.5.1" - checksum: 10/bd1598bd356756065d90ce26968dd464ac2b915c67623f6f071fb487da5f9eb454031a380e20e7c9a7ce5c4a49d23be6cb9efde404952b0b3f3c0c3a9b73d68a + checksum: 10/f5fb7fb1e3ce357485cb33fe7984051a2d416472370b33144ae809df86a4663192b58cf0d828d40674d30f485790f3dd5aaf72eb659487673a4dc4be47cb3575 languageName: node linkType: hard -"@babel/generator@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/generator@npm:7.24.1" +"@babel/generator@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/generator@npm:7.25.7" dependencies: - "@babel/types": "npm:^7.24.0" + "@babel/types": "npm:^7.25.7" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" - jsesc: "npm:^2.5.1" - checksum: 10/c6160e9cd63d7ed7168dee27d827f9c46fab820c45861a5df56cd5c78047f7c3fc97c341e9ccfa1a6f97c87ec2563d9903380b5f92794e3540a6c5f99eb8f075 + jsesc: "npm:^3.0.2" + checksum: 10/01542829621388077fa8a7464970c1db0f748f1482968dddf5332926afe4003f953cbe08e3bbbb0a335b11eba0126c9a81779bd1c5baed681a9ccec4ae63b217 languageName: node linkType: hard @@ -922,16 +1047,26 @@ __metadata: languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.22.15" +"@babel/helper-annotate-as-pure@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-annotate-as-pure@npm:7.25.7" + dependencies: + "@babel/types": "npm:^7.25.7" + checksum: 10/38044806cab33032391c46861cd0a36adb960525b00bc03f2f3d4380c983bf17971cdabc431e58b93a328ef24bd0271f1dc3a8c1c1ea6cab49d04702961451d8 + languageName: node + linkType: hard + +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.25.7" dependencies: - "@babel/types": "npm:^7.22.15" - checksum: 10/639c697a1c729f9fafa2dd4c9af2e18568190299b5907bd4c2d0bc818fcbd1e83ffeecc2af24327a7faa7ac4c34edd9d7940510a5e66296c19bad17001cf5c7a + "@babel/traverse": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" + checksum: 10/e493c4b7ea1dcb1e406cf30265164b632e133ea9a039a5ddc8eadd5370ad498eddcd99871fdf500b9ac05d0b43f2a0987580ceb1f7adb3b7272e49b56589849a languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.22.6": +"@babel/helper-compilation-targets@npm:^7.22.6": version: 7.22.15 resolution: "@babel/helper-compilation-targets@npm:7.22.15" dependencies: @@ -944,39 +1079,37 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.23.6": - version: 7.23.6 - resolution: "@babel/helper-compilation-targets@npm:7.23.6" +"@babel/helper-compilation-targets@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-compilation-targets@npm:7.25.7" dependencies: - "@babel/compat-data": "npm:^7.23.5" - "@babel/helper-validator-option": "npm:^7.23.5" - browserslist: "npm:^4.22.2" + "@babel/compat-data": "npm:^7.25.7" + "@babel/helper-validator-option": "npm:^7.25.7" + browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10/05595cd73087ddcd81b82d2f3297aac0c0422858dfdded43d304786cf680ec33e846e2317e6992d2c964ee61d93945cbf1fa8ec80b55aee5bfb159227fb02cb9 + checksum: 10/bbf9be8480da3f9a89e36e9ea2e1c76601014c1074ccada7c2edb1adeb3b62bc402cc4abaf8d16760734b25eceb187a9510ce44f6a7a6f696ccc74f69283625b languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/helper-create-class-features-plugin@npm:7.24.1" +"@babel/helper-create-class-features-plugin@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-create-class-features-plugin@npm:7.25.7" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-member-expression-to-functions": "npm:^7.23.0" - "@babel/helper-optimise-call-expression": "npm:^7.22.5" - "@babel/helper-replace-supers": "npm:^7.24.1" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/helper-annotate-as-pure": "npm:^7.25.7" + "@babel/helper-member-expression-to-functions": "npm:^7.25.7" + "@babel/helper-optimise-call-expression": "npm:^7.25.7" + "@babel/helper-replace-supers": "npm:^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10/c48e9ce842cbd55099a6b9893df1b4fb08c88061d6c20c37a5279b95249879be478210b587295b55d3675428d2ce4306c790cf6332f478ab2af0061f940156f3 + checksum: 10/76e3bb727d7541d38acaa9b6ecff88f70e62370396dd22511837b90a556c6815a7efd6fd25b499bf1c8b02cdb18c575781a6aba0c442c38a2129a403b5bf9b1e languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.15, @babel/helper-create-regexp-features-plugin@npm:^7.22.5": +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6": version: 7.22.15 resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.15" dependencies: @@ -989,6 +1122,19 @@ __metadata: languageName: node linkType: hard +"@babel/helper-create-regexp-features-plugin@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.25.7" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.7" + regexpu-core: "npm:^6.1.1" + semver: "npm:^6.3.1" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/fa083f83ae9ba3326e32762c9839fea171de34d66bffc65569a6a67222ec55cf4ef35b6b26f332d24485c0622a69a2e0b9eb2a7ca279595b174cfeeec68849ac + languageName: node + linkType: hard + "@babel/helper-define-polyfill-provider@npm:^0.6.1": version: 0.6.1 resolution: "@babel/helper-define-polyfill-provider@npm:0.6.1" @@ -1004,124 +1150,61 @@ __metadata: languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-environment-visitor@npm:7.16.7" - dependencies: - "@babel/types": "npm:^7.16.7" - checksum: 10/c03a10105d9ebd1fe632a77356b2e6e2f3c44edba9a93b0dc3591b6a66bd7a2e323dd9502f9ce96fc6401234abff1907aa877b6674f7826b61c953f7c8204bbe - languageName: node - linkType: hard - -"@babel/helper-environment-visitor@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-environment-visitor@npm:7.22.20" - checksum: 10/d80ee98ff66f41e233f36ca1921774c37e88a803b2f7dca3db7c057a5fea0473804db9fb6729e5dbfd07f4bed722d60f7852035c2c739382e84c335661590b69 - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-function-name@npm:7.22.5" - dependencies: - "@babel/template": "npm:^7.22.5" - "@babel/types": "npm:^7.22.5" - checksum: 10/6d02e304a45fe2a64d69dfa5b4fdfd6d68e08deb32b0a528e7b99403d664e9207e6b856787a8ff3f420e77d15987ac1de4eb869906e6ed764b67b07c804d20ba - languageName: node - linkType: hard - -"@babel/helper-function-name@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/helper-function-name@npm:7.23.0" - dependencies: - "@babel/template": "npm:^7.22.15" - "@babel/types": "npm:^7.23.0" - checksum: 10/7b2ae024cd7a09f19817daf99e0153b3bf2bc4ab344e197e8d13623d5e36117ed0b110914bc248faa64e8ccd3e97971ec7b41cc6fd6163a2b980220c58dcdf6d - languageName: node - linkType: hard - -"@babel/helper-hoist-variables@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-hoist-variables@npm:7.22.5" - dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10/394ca191b4ac908a76e7c50ab52102669efe3a1c277033e49467913c7ed6f7c64d7eacbeabf3bed39ea1f41731e22993f763b1edce0f74ff8563fd1f380d92cc - languageName: node - linkType: hard - -"@babel/helper-member-expression-to-functions@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/helper-member-expression-to-functions@npm:7.23.0" - dependencies: - "@babel/types": "npm:^7.23.0" - checksum: 10/325feb6e200478c8cd6e10433fabe993a7d3315cc1a2a457e45514a5f95a73dff4c69bea04cc2daea0ffe72d8ed85d504b3f00b2e0767b7d4f5ae25fec9b35b2 - languageName: node - linkType: hard - -"@babel/helper-module-imports@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-module-imports@npm:7.16.7" - dependencies: - "@babel/types": "npm:^7.16.7" - checksum: 10/f48cb485be7cad70c3fdcbc1d6d104732565288fe5dd38575be4b6dd577aa606a0e7553078cebf91bea5182e1b059bcc5b6882cd1f8ccb9013d6c76b6ff136ff - languageName: node - linkType: hard - -"@babel/helper-module-imports@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/helper-module-imports@npm:7.22.15" +"@babel/helper-define-polyfill-provider@npm:^0.6.2": + version: 0.6.2 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.2" dependencies: - "@babel/types": "npm:^7.22.15" - checksum: 10/5ecf9345a73b80c28677cfbe674b9f567bb0d079e37dcba9055e36cb337db24ae71992a58e1affa9d14a60d3c69907d30fe1f80aea105184501750a58d15c81c + "@babel/helper-compilation-targets": "npm:^7.22.6" + "@babel/helper-plugin-utils": "npm:^7.22.5" + debug: "npm:^4.1.1" + lodash.debounce: "npm:^4.0.8" + resolve: "npm:^1.14.2" + peerDependencies: + "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 + checksum: 10/bb32ec12024d3f16e70641bc125d2534a97edbfdabbc9f69001ec9c4ce46f877c7a224c566aa6c8c510c3b0def2e43dc4433bf6a40896ba5ce0cef4ea5ccbcff languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.24.1, @babel/helper-module-imports@npm:^7.24.3": - version: 7.24.3 - resolution: "@babel/helper-module-imports@npm:7.24.3" +"@babel/helper-member-expression-to-functions@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-member-expression-to-functions@npm:7.25.7" dependencies: - "@babel/types": "npm:^7.24.0" - checksum: 10/42fe124130b78eeb4bb6af8c094aa749712be0f4606f46716ce74bc18a5ea91c918c547c8bb2307a2e4b33f163e4ad2cb6a7b45f80448e624eae45b597ea3499 + "@babel/traverse": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" + checksum: 10/f953a0ddbcfbaae835033b54fdbf42cc3aea08c554875fccfc02ed4b1e5fe3ee06abf1b7a8419314357841fabc9efdbcbb8afdf07c4f216a73164a45a147562b languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.17.7": - version: 7.17.7 - resolution: "@babel/helper-module-transforms@npm:7.17.7" +"@babel/helper-module-imports@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-module-imports@npm:7.25.7" dependencies: - "@babel/helper-environment-visitor": "npm:^7.16.7" - "@babel/helper-module-imports": "npm:^7.16.7" - "@babel/helper-simple-access": "npm:^7.17.7" - "@babel/helper-split-export-declaration": "npm:^7.16.7" - "@babel/helper-validator-identifier": "npm:^7.16.7" - "@babel/template": "npm:^7.16.7" - "@babel/traverse": "npm:^7.17.3" - "@babel/types": "npm:^7.17.0" - checksum: 10/d11a4adbc3fa14b94d9fb7db96f87a268c31b5ce4e4d112e62ef23c7f54154b941869cf6065a844b656bf0c51f998793006c21e607d5415b62dc0c33de7a8359 + "@babel/traverse": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" + checksum: 10/94556712c27058ea35a1a39e21a3a9f067cd699405b64333d7d92b2b3d2f24d6f0ffa51aedba0b908e320acb1854e70d296259622e636fb021eeae9a6d996f01 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/helper-module-transforms@npm:7.23.3" +"@babel/helper-module-transforms@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-module-transforms@npm:7.25.7" dependencies: - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-module-imports": "npm:^7.22.15" - "@babel/helper-simple-access": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/helper-validator-identifier": "npm:^7.22.20" + "@babel/helper-module-imports": "npm:^7.25.7" + "@babel/helper-simple-access": "npm:^7.25.7" + "@babel/helper-validator-identifier": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10/583fa580f8e50e6f45c4f46aa76a8e49c2528deb84e25f634d66461b9a0e2420e13979b0a607b67aef67eaf8db8668eb9edc038b4514b16e3879fe09e8fd294b + checksum: 10/480309b1272ceaa985de1393f0e4c41aede0d5921ca644cec5aeaf43c8e4192b6dd56a58ef6d7e9acd02a43184ab45d3b241fc8c3a0a00f9dbb30235fd8a1181 languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-optimise-call-expression@npm:7.22.5" +"@babel/helper-optimise-call-expression@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-optimise-call-expression@npm:7.25.7" dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10/c70ef6cc6b6ed32eeeec4482127e8be5451d0e5282d5495d5d569d39eb04d7f1d66ec99b327f45d1d5842a9ad8c22d48567e93fc502003a47de78d122e355f7c + "@babel/types": "npm:^7.25.7" + checksum: 10/8da0d9f5aae15991678ad1bbe58e52cd62a0ed36871075756d9684c0a7a65988ed81bab53ad6436c39a470d3cd690694dd2b07147817217e3ca87178a129c509 languageName: node linkType: hard @@ -1132,81 +1215,56 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.24.0": - version: 7.24.0 - resolution: "@babel/helper-plugin-utils@npm:7.24.0" - checksum: 10/dc8c7af321baf7653d93315beffee1790eb2c464b4f529273a24c8743a3f3095bf3f2d11828cb2c52d56282ef43a4bdc67a79c9ab8dd845e35d01871f3f28a0e +"@babel/helper-plugin-utils@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-plugin-utils@npm:7.25.7" + checksum: 10/e1b0ea5e67b05378d6360e3fc370e99bfb247eed9f68145b5cce541da703424e1887fb6fc60ab2f7f743c72dcbfbed79d3032af43f2c251c229c734dc2572a5b languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-remap-async-to-generator@npm:7.22.20" +"@babel/helper-remap-async-to-generator@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-remap-async-to-generator@npm:7.25.7" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-wrap-function": "npm:^7.22.20" + "@babel/helper-annotate-as-pure": "npm:^7.25.7" + "@babel/helper-wrap-function": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10/2fe6300a6f1b58211dffa0aed1b45d4958506d096543663dba83bd9251fe8d670fa909143a65b45e72acb49e7e20fbdb73eae315d9ddaced467948c3329986e7 + checksum: 10/3d563ac35cb1306bf70e7353fc807e7b082a7510d955a36db089fa861c6a8b2c470184996f3177d5384e5290a1be9e7eed424efb9e2dd3bed3a8cf6c2d6a9723 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/helper-replace-supers@npm:7.24.1" +"@babel/helper-replace-supers@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-replace-supers@npm:7.25.7" dependencies: - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-member-expression-to-functions": "npm:^7.23.0" - "@babel/helper-optimise-call-expression": "npm:^7.22.5" + "@babel/helper-member-expression-to-functions": "npm:^7.25.7" + "@babel/helper-optimise-call-expression": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10/1103b28ce0cc7fba903c21bc78035c696ff191bdbbe83c20c37030a2e10ae6254924556d942cdf8c44c48ba606a8266fdb105e6bb10945de9285f79cb1905df1 - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.17.7": - version: 7.17.7 - resolution: "@babel/helper-simple-access@npm:7.17.7" - dependencies: - "@babel/types": "npm:^7.17.0" - checksum: 10/58a9bfd054720024f6ff47fbb113c96061dc2bd31a5e5285756bd3c2e83918c6926900e00150d0fb175d899494fe7d69bf2a8b278c32ef6f6bea8d032e6a3831 - languageName: node - linkType: hard - -"@babel/helper-simple-access@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-simple-access@npm:7.22.5" - dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10/7d5430eecf880937c27d1aed14245003bd1c7383ae07d652b3932f450f60bfcf8f2c1270c593ab063add185108d26198c69d1aca0e6fb7c6fdada4bcf72ab5b7 + checksum: 10/87b65c7b278fabcb67458e592082a0b4532d5400acbb51e496ea47763077d0a64dc0531d32bafcb1d51f04d61d4715dadb1fd0301bc8449c26fcfd06913eb45e languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.22.5" - dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10/1012ef2295eb12dc073f2b9edf3425661e9b8432a3387e62a8bc27c42963f1f216ab3124228015c748770b2257b4f1fda882ca8fa34c0bf485e929ae5bc45244 - languageName: node - linkType: hard - -"@babel/helper-split-export-declaration@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-split-export-declaration@npm:7.16.7" +"@babel/helper-simple-access@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-simple-access@npm:7.25.7" dependencies: - "@babel/types": "npm:^7.16.7" - checksum: 10/e10aaf135465c55114627951b79115f24bc7af72ecbb58d541d66daf1edaee5dde7cae3ec8c3639afaf74526c03ae3ce723444e3b5b3dc77140c456cd84bcaa1 + "@babel/traverse": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" + checksum: 10/42da1c358f2516337a4f2927c77ebb952907543b9f85d7cb1e2b5b5f6d808cdc081ee66a73e2ecdf48c315d9b0c2a81a857d5e1923ea210b8e81aba5e6cd2b53 languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.22.6": - version: 7.22.6 - resolution: "@babel/helper-split-export-declaration@npm:7.22.6" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.7" dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10/e141cace583b19d9195f9c2b8e17a3ae913b7ee9b8120246d0f9ca349ca6f03cb2c001fd5ec57488c544347c0bb584afec66c936511e447fd20a360e591ac921 + "@babel/traverse": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" + checksum: 10/466c81d09981bfb9e10aa6697ecb621389ff92a86187daaca34a969ca990d7327ebe931e87f7d52a200e499542d398469478d83dfaaa244d2f49df4e078490b3 languageName: node linkType: hard @@ -1231,6 +1289,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-string-parser@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-string-parser@npm:7.25.7" + checksum: 10/2b8de9fa86c3f3090a349f1ce6e8ee2618a95355cbdafc6f228d82fa4808c84bf3d1d25290c6616d0a18b26b6cfeb6ec2aeebf01404bc8c60051d0094209f0e6 + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.16.7": version: 7.16.7 resolution: "@babel/helper-validator-identifier@npm:7.16.7" @@ -1252,6 +1317,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-validator-identifier@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-validator-identifier@npm:7.25.7" + checksum: 10/ec6934cc47fc35baaeb968414a372b064f14f7b130cf6489a014c9486b0fd2549b3c6c682cc1fc35080075e8e38d96aeb40342d63d09fc1a62510c8ce25cde1e + languageName: node + linkType: hard + "@babel/helper-validator-option@npm:^7.22.15": version: 7.22.15 resolution: "@babel/helper-validator-option@npm:7.22.15" @@ -1259,43 +1331,31 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/helper-validator-option@npm:7.23.5" - checksum: 10/537cde2330a8aede223552510e8a13e9c1c8798afee3757995a7d4acae564124fe2bf7e7c3d90d62d3657434a74340a274b3b3b1c6f17e9a2be1f48af29cb09e - languageName: node - linkType: hard - -"@babel/helper-wrap-function@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-wrap-function@npm:7.22.20" - dependencies: - "@babel/helper-function-name": "npm:^7.22.5" - "@babel/template": "npm:^7.22.15" - "@babel/types": "npm:^7.22.19" - checksum: 10/b22e4666dec3d401bdf8ebd01d448bb3733617dae5aa6fbd1b684a22a35653cca832edd876529fd139577713b44fb89b4f5e52b7315ab218620f78b8a8ae23de +"@babel/helper-validator-option@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-validator-option@npm:7.25.7" + checksum: 10/3c46cbdd666d176f90a0b7e952a0c6e92184b66633336eca79aca243d1f86085ec339a6e45c3d44efa9e03f1829b470a350ddafa70926af6bbf1ac611284f8d3 languageName: node linkType: hard -"@babel/helpers@npm:^7.17.8": - version: 7.17.8 - resolution: "@babel/helpers@npm:7.17.8" +"@babel/helper-wrap-function@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helper-wrap-function@npm:7.25.7" dependencies: - "@babel/template": "npm:^7.16.7" - "@babel/traverse": "npm:^7.17.3" - "@babel/types": "npm:^7.17.0" - checksum: 10/a95ec1c9ac573bfaa44b0553f01ec42c48081f665f39d78939acb1e63cd81e275cf3ccf77231caa7ef77722417a9d601e2c7ef76c739de4d417557f8891f1d2d + "@babel/template": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" + checksum: 10/00e2291a2b67e060b98cae90b4cc9107cff29d7b26bd5eb61149c63fb99418d9bd00bb0708b8b3e733cae4b1ea3a2b41a709d85192accfa15903f8af5c821fe6 languageName: node linkType: hard -"@babel/helpers@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/helpers@npm:7.24.1" +"@babel/helpers@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/helpers@npm:7.25.7" dependencies: - "@babel/template": "npm:^7.24.0" - "@babel/traverse": "npm:^7.24.1" - "@babel/types": "npm:^7.24.0" - checksum: 10/82d3cdd3beafc4583f237515ef220bc205ced8b0540c6c6e191fc367a9589bd7304b8f9800d3d7574d4db9f079bd555979816b1874c86e53b3e7dd2032ad6c7c + "@babel/template": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" + checksum: 10/2632909f83aa99e8b0da4e10e5ab7fc4f0274e6497bb0f17071e004e037d25e4a595583620261dc21410a526fb32b4f7063c3e15e60ed7890a6f9b8ad52312c5 languageName: node linkType: hard @@ -1321,89 +1381,105 @@ __metadata: languageName: node linkType: hard -"@babel/highlight@npm:^7.24.2": - version: 7.24.2 - resolution: "@babel/highlight@npm:7.24.2" +"@babel/highlight@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/highlight@npm:7.25.7" dependencies: - "@babel/helper-validator-identifier": "npm:^7.22.20" + "@babel/helper-validator-identifier": "npm:^7.25.7" chalk: "npm:^2.4.2" js-tokens: "npm:^4.0.0" picocolors: "npm:^1.0.0" - checksum: 10/4555124235f34403bb28f55b1de58edf598491cc181c75f8afc8fe529903cb598cd52fe3bf2faab9bc1f45c299681ef0e44eea7a848bb85c500c5a4fe13f54f6 + checksum: 10/823be2523d246dbf80aab3cc81c2a36c6111b16ac2949ef06789da54387824c2bfaa88c6627cdeb4ba7151d047a5d6765e49ebd0b478aba09759250111e65e08 languageName: node linkType: hard -"@babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.8, @babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": - version: 7.17.8 - resolution: "@babel/parser@npm:7.17.8" +"@babel/parser@npm:^7.24.4": + version: 7.25.3 + resolution: "@babel/parser@npm:7.25.3" + dependencies: + "@babel/types": "npm:^7.25.2" bin: parser: ./bin/babel-parser.js - checksum: 10/0d1e23a0aa13849ea463b035361c1165f27a41cdfbdb826e7402cf74a89d11a921356aab42558cf519383009a9977c87dad056793d3f4c2719e26cfe3db73f93 + checksum: 10/7bd57e89110bdc9cffe0ef2f2286f1cfb9bbb3aa1d9208c287e0bf6a1eb4cfe6ab33958876ebc59aafcbe3e2381c4449240fc7cc2ff32b79bc9db89cd52fc779 languageName: node linkType: hard -"@babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/parser@npm:7.23.0" +"@babel/parser@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/parser@npm:7.25.7" + dependencies: + "@babel/types": "npm:^7.25.7" bin: parser: ./bin/babel-parser.js - checksum: 10/201641e068f8cca1ff12b141fcba32d7ccbabc586961bd1b85ae89d9695867f84d57fc2e1176dc4981fd28e5e97ca0e7c32cd688bd5eabb641a302abc0cb5040 + checksum: 10/98eaa81bd378734a5f2790f02c7c076ecaba0839217445b4b84f45a7b391d640c34034253231a5bb2b2daf8204796f03584c3f94c10d46b004369bbb426a418f languageName: node linkType: hard -"@babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/parser@npm:7.24.1" +"@babel/parser@npm:^7.6.0, @babel/parser@npm:^7.9.6": + version: 7.17.8 + resolution: "@babel/parser@npm:7.17.8" bin: parser: ./bin/babel-parser.js - checksum: 10/561d9454091e07ecfec3828ce79204c0fc9d24e17763f36181c6984392be4ca6b79c8225f2224fdb7b1b3b70940e243368c8f83ac77ec2dc20f46d3d06bd6795 + checksum: 10/0d1e23a0aa13849ea463b035361c1165f27a41cdfbdb826e7402cf74a89d11a921356aab42558cf519383009a9977c87dad056793d3f4c2719e26cfe3db73f93 languageName: node linkType: hard -"@babel/parser@npm:^7.24.4, @babel/parser@npm:^7.24.7": - version: 7.25.3 - resolution: "@babel/parser@npm:7.25.3" +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.7" dependencies: - "@babel/types": "npm:^7.25.2" - bin: - parser: ./bin/babel-parser.js - checksum: 10/7bd57e89110bdc9cffe0ef2f2286f1cfb9bbb3aa1d9208c287e0bf6a1eb4cfe6ab33958876ebc59aafcbe3e2381c4449240fc7cc2ff32b79bc9db89cd52fc779 + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/25f1d0a2ec6f9e912d2513b3830b239acdf9c75f453c208f77074687393f380b1150684ca0acb78368391fa1035242ac66e7f3856834d8003f01d1af17747230 + languageName: node + linkType: hard + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.25.7" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/52551470b6164a787460c28019428e97d20097d5dffab74f8866512706a3b002e57fdb23fe8e5156149bc4c9cfea48d5a0347b7a9e7e2a05f681941037136ab3 languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.24.1" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10/ec5fddc8db6de0e0082a883f21141d6f4f9f9f0bc190d662a732b5e9a506aae5d7d2337049a1bf055d7cb7add6f128036db6d4f47de5e9ac1be29e043c8b7ca8 + checksum: 10/c37204ec3c82a1babba13f0cc2a68220959224cbab1294b1d7d8501af4734de1664b43c67b97fcaa1b3f53c865b0a4ad6f887102c7d7b913aab43df29ac7da52 languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.24.1" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.1" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.13.0 - checksum: 10/e18235463e716ac2443938aaec3c18b40c417a1746fba0fa4c26cf4d71326b76ef26c002081ab1b445abfae98e063d561519aa55672dddc1ef80b3940211ffbb + checksum: 10/507c92bbcb3d7747c82290370336b50368fbb652af31fea718be8f1928142f1c5f7c6f2b9810d8b9b2905734f8f6b778f9e4b1cfb5a11073a2f1cfe9e5e5b354 languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.24.1" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.7" dependencies: - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10/3483f329bb099b438d05e5e206229ddbc1703972a69ba0240a796b5477369930b0ab2e7f6c9539ecad2cea8b0c08fa65498778b92cf87ad3d156f613de1fd2fa + checksum: 10/289c6da5840c5049adbeb9b4cfb166d422f0b7b3f3a54aff64e8a053a1249e8eb513eac0fa3d033869372ffc30eda1e8555fa789b9daa1064bfdaf7f4717daa8 languageName: node linkType: hard @@ -1471,25 +1547,25 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.24.1" +"@babel/plugin-syntax-import-assertions@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/2a463928a63b62052e9fb8f8b0018aa11a926e94f32c168260ae012afe864875c6176c6eb361e13f300542c31316dad791b08a5b8ed92436a3095c7a0e4fce65 + checksum: 10/d72615f8dcc5ffbcb456bcf7ce27bc22b30cc9ea8d809e461d80af486033d31bd0b6d83c9a7997c9cd36ff283a9c1207f806da4361bb620370659c256c5454e9 languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.24.1" +"@babel/plugin-syntax-import-attributes@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/87c8aa4a5ef931313f956871b27f2c051556f627b97ed21e9a5890ca4906b222d89062a956cde459816f5e0dec185ff128d7243d3fdc389504522acb88f0464e + checksum: 10/7c5451e2d8351693acbc53b1e1f6951026e35899d22847a6d22424a1ee5c92c11ac6c6f209a9e18f85d7bb9267caaf2532653e892997cdcd51784106a5858b7e languageName: node linkType: hard @@ -1515,25 +1591,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-syntax-jsx@npm:7.22.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.22.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/8829d30c2617ab31393d99cec2978e41f014f4ac6f01a1cecf4c4dd8320c3ec12fdc3ce121126b2d8d32f6887e99ca1a0bad53dedb1e6ad165640b92b24980ce - languageName: node - linkType: hard - -"@babel/plugin-syntax-jsx@npm:^7.23.3": - version: 7.24.1 - resolution: "@babel/plugin-syntax-jsx@npm:7.24.1" +"@babel/plugin-syntax-jsx@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-syntax-jsx@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/712f7e7918cb679f106769f57cfab0bc99b311032665c428b98f4c3e2e6d567601d45386a4f246df6a80d741e1f94192b3f008800d66c4f1daae3ad825c243f0 + checksum: 10/243476a943a84b6b86e99076301e66f48268e8799564053e8feccab90da7944a0b42c91360216dbfb0b2958bbd0ed100d2c7b2db688dab83d19ff2745d4892eb languageName: node linkType: hard @@ -1637,684 +1702,681 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.24.1" +"@babel/plugin-transform-arrow-functions@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/58f9aa9b0de8382f8cfa3f1f1d40b69d98cd2f52340e2391733d0af745fdddda650ba392e509bc056157c880a2f52834a38ab2c5aa5569af8c61bb6ecbf45f34 + checksum: 10/45a6b05acd132bd399ab127d54d43f7117f650908092c15da7c41c61c5e49bfdb63c0e65bd59ad68c94bfc6aade602732a98a55b146b69dfae212516203d43f9 languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.24.3": - version: 7.24.3 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.24.3" +"@babel/plugin-transform-async-generator-functions@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.25.7" dependencies: - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-remap-async-to-generator": "npm:^7.22.20" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-remap-async-to-generator": "npm:^7.25.7" "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/4ccc3755a3d51544cd43575db2c5c2ef42cdcd35bd5940d13cdf23f04c75496290e79ea585a62427ec6bd508a1bffb329e01556cd1114be9b38ae4254935cd19 + checksum: 10/f5e14796bcb04db7f045833d695e49bb1178162c74754f67f25fd6934ebbd0e57a59784d76a23b3f472bbd3e5a0c33d433ab60e7c6a5c7ca240b54d8ca231baa languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.24.1" +"@babel/plugin-transform-async-to-generator@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.7" dependencies: - "@babel/helper-module-imports": "npm:^7.24.1" - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-remap-async-to-generator": "npm:^7.22.20" + "@babel/helper-module-imports": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-remap-async-to-generator": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/429004a6596aa5c9e707b604156f49a146f8d029e31a3152b1649c0b56425264fda5fd38e5db1ddaeb33c3fe45c97dc8078d7abfafe3542a979b49f229801135 + checksum: 10/fdc6161e9027bec8bbe523e40934a2cccf1a30cf241006c98a120b2cda6e4f75d4a4cb4831cf3ece43d9b752183117e4ca5ec43778750146d5fc9a74b22b1acf languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.24.1" +"@babel/plugin-transform-block-scoped-functions@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/d8e18bd57b156da1cd4d3c1780ab9ea03afed56c6824ca8e6e74f67959d7989a0e953ec370fe9b417759314f2eef30c8c437395ce63ada2e26c2f469e4704f82 + checksum: 10/334debb143d002295c6dd5559ebf24483557787621fd1d7283ac748eb401ed96b7d43c981f1d2b6795720979fe7872dd0719aed890d064244d52b1c4fe6f3347 languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-block-scoping@npm:7.24.1" +"@babel/plugin-transform-block-scoping@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-block-scoping@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/443069c6410079c007c40425254a5d0416e4fefe38c1cb354884694a3029dfa6ea8c196398726d2bd4ec3e5c4559ef85efc1ad0b068f1330df4aa03b414781e0 + checksum: 10/bbc5b815c6850eb798a294a5d31ed09bb0db367a31196e78c0d02ce3f845ddd2e0dcfd7ec70505dfa4e1bd67f13e46b315d290c58aa7531468feed380e267d97 languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-class-properties@npm:7.24.1" +"@babel/plugin-transform-class-properties@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-class-properties@npm:7.25.7" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.1" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-create-class-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/95779e9eef0c0638b9631c297d48aee53ffdbb2b1b5221bf40d7eccd566a8e34f859ff3571f8f20b9159b67f1bff7d7dc81da191c15d69fbae5a645197eae7e0 + checksum: 10/fe1dbbd77275ade96964fec0c85a1f14e2dac0c6565bccddf00680e43c2e906d289dd9d483aff6359420cef2a044b4aaaeb303f64a3a1a005601c018188368e7 languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-class-static-block@npm:7.24.1" +"@babel/plugin-transform-class-static-block@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-class-static-block@npm:7.25.7" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.1" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-create-class-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" peerDependencies: "@babel/core": ^7.12.0 - checksum: 10/253c627c11d9df79e3b32e78bfa1fe0dd1f91c3579da52bf73f76c83de53b140dcb1c9cc5f4c65ff1505754a01b59bc83987c35bcc8f89492b63dae46adef78f + checksum: 10/d6fa7132071860d4b6e58baa43c8efdd241d5b4ff3d31b0b6593390c7b39bf17ab549e427c08db550c84b0fb02eaad41fc96c2d299fbee4c0a6030315b0a5296 languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-classes@npm:7.24.1" +"@babel/plugin-transform-classes@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-classes@npm:7.25.7" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-compilation-targets": "npm:^7.23.6" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-replace-supers": "npm:^7.24.1" - "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/helper-annotate-as-pure": "npm:^7.25.7" + "@babel/helper-compilation-targets": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-replace-supers": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" globals: "npm:^11.1.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/eb7f4a3d852cfa20f4efd299929c564bd2b45106ac1cf4ac8b0c87baf078d4a15c39b8a21bbb01879c1922acb9baaf3c9b150486e18d84b30129e9671639793d + checksum: 10/239926ceb7fa926054fe9aabb7a64dba090d8f83d075bcec804d602a5715501c56dc26367bb90e6780e1113cc04cf6ad32c131e2782ccf1768fd059ac7eba04b languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-computed-properties@npm:7.24.1" +"@babel/plugin-transform-computed-properties@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-computed-properties@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/template": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/template": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/62bbfe1bd508517d96ba6909e68b1adb9dfd24ea61af1f4b0aa909bfc5e476044afe9c55b10ef74508fd147aa665e818df67ece834d164a9fd69b80c9ede3875 + checksum: 10/f25caeb3366847a1f67efe4b250a460f88a5ebb4c12c566d945bf211ef28977dd21f4dd6539f63743f3fabdbb174b4d34e22af2a451aba3bcfd702396442eb53 languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-destructuring@npm:7.24.1" +"@babel/plugin-transform-destructuring@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-destructuring@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/03d9a81cd9eeb24d48e207be536d460d6ad228238ac70da9b7ad4bae799847bb3be0aecfa4ea6223752f3a8d4ada3a58cd9a0f8fc70c01fdfc87ad0618f897d3 + checksum: 10/b58347dc1b807ef8e6aaf995d59c6f09aa9de2c590bb90a52bc9c4082836ef72f70f8fc062370138134220de40dad06af6122ffcce77fb97d5e77ca7cd71e5c7 languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.24.1" +"@babel/plugin-transform-dotall-regex@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.7" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/7f623d25b6f213b94ebc1754e9e31c1077c8e288626d8b7bfa76a97b067ce80ddcd0ede402a546706c65002c0ccf45cd5ec621511c2668eed31ebcabe8391d35 + checksum: 10/a4727ee33b95d1f7e33b277b0003e3e91ebb9c3c611512e1ca5f3f0d99efd552a6c42b09e5520ea686ef0389dd8159a77c7c59fb53d0d1a1ff7d385c362da71b languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.24.1" +"@babel/plugin-transform-duplicate-keys@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/de600a958ad146fc8aca71fd2dfa5ebcfdb97df4eaa530fc9a4b0d28d85442ddb9b7039f260b396785211e88c6817125a94c183459763c363847e8c84f318ff0 + checksum: 10/b132ce919643f1fa519c8597513fba77155fde2d7689154c73791847efd218ff7ce11694b539ca9dee65538c9e774adf4bd6a6e950800dd648f43d5906a38155 + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.7" + dependencies: + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10/688ab66ed249a08d4b2e3ae8a2c10678fbe23f6466d5020d4cc3e031946dc335c028f5a1bee3221acb3875a1e901b0237020463157690fabc06edc4bdd6c6c88 languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.24.1" +"@babel/plugin-transform-dynamic-import@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/59fc561ee40b1a69f969c12c6c5fac206226d6642213985a569dd0f99f8e41c0f4eaedebd36936c255444a8335079842274c42a975a433beadb436d4c5abb79b + checksum: 10/a153f2a8b10a733f884a0ba0e680387d0ba643d40774885c26cceef90cc61b8e2f946a64e1764605189498a9a04e1d4da4e886c3e26a850e7c4e5ea5fb4b3f50 languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.24.1" +"@babel/plugin-transform-exponentiation-operator@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.25.7" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.22.15" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/f90841fe1a1e9f680b4209121d3e2992f923e85efcd322b26e5901c180ef44ff727fb89790803a23fac49af34c1ce2e480018027c22b4573b615512ac5b6fc50 + checksum: 10/3371fc79c052a3c63652785284a9f4b943a188ae5aa3e68a760c45afc43739d654ad6d8d24b93ed04fe736f6c0b4a7a11ace56bc954d3a6520d0b3c79e058c03 languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.24.1" +"@babel/plugin-transform-export-namespace-from@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/bc710ac231919df9555331885748385c11c5e695d7271824fe56fba51dd637d48d3e5cd52e1c69f2b1a384fbbb41552572bc1ca3a2285ee29571f002e9bb2421 + checksum: 10/e3ec589906380d1daa3349c358f8a56c9adc1c5003b4069321172e1e8160f2a497e9ae112ad1ac68e26dce33eb19019932cf938ad411493441ad202db0e72c2b languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-for-of@npm:7.24.1" +"@babel/plugin-transform-for-of@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-for-of@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/befd0908c3f6b31f9fa9363a3c112d25eaa0bc4a79cfad1f0a8bb5010937188b043a44fb23443bc8ffbcc40c015bb25f80e4cc585ce5cc580708e2d56e76fe37 + checksum: 10/6fdfc1747283f50ada9f08d4f801d2156658f183db731369ac2b17f5f885661114906b3645c6a38bb6a5e24b771e6bd43c0ea47580c4fcb9347cd1d179e57435 languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-function-name@npm:7.24.1" +"@babel/plugin-transform-function-name@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-function-name@npm:7.25.7" dependencies: - "@babel/helper-compilation-targets": "npm:^7.23.6" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-compilation-targets": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/31eb3c75297dda7265f78eba627c446f2324e30ec0124a645ccc3e9f341254aaa40d6787bd62b2280d77c0a5c9fbfce1da2c200ef7c7f8e0a1b16a8eb3644c6f + checksum: 10/465d54942c03f77da3be5fb56404c6f8162f0e99034b8aceab6af2d386a77ecaf3df0c5f2dd67a00b66cd8ad970c0a08151026ed14aa44673a33f495e6849cc7 languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-json-strings@npm:7.24.1" +"@babel/plugin-transform-json-strings@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-json-strings@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" "@babel/plugin-syntax-json-strings": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/f42302d42fc81ac00d14e9e5d80405eb80477d7f9039d7208e712d6bcd486a4e3b32fdfa07b5f027d6c773723d8168193ee880f93b0e430c828e45f104fb82a4 + checksum: 10/99e7b19d5b8f0df78eb2eaef2c1c8734e634b08910b47d5c2f61e43e75bd94a9f8e51c8baf2d2fa181bf0a7424c08b0aee29a95ae5f9e59f50e51e188dc943a1 languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-literals@npm:7.24.1" +"@babel/plugin-transform-literals@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-literals@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/2df94e9478571852483aca7588419e574d76bde97583e78551c286f498e01321e7dbb1d0ef67bee16e8f950688f79688809cfde370c5c4b84c14d841a3ef217a + checksum: 10/435d9709204e4cae46f9e75973a1424b98bb71516d9cfb0619260cfb56d445b43fa34aa49dacb0e1fbc2a19fdd9373f4b4db4908007be8f9e9e3f0ccf6c73e71 languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.24.1" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/895f2290adf457cbf327428bdb4fb90882a38a22f729bcf0629e8ad66b9b616d2721fbef488ac00411b647489d1dda1d20171bb3772d0796bb7ef5ecf057808a + checksum: 10/28d00bae5637564243585e4fa044b9bc1da4b5c2ac2859e848e2db5f1c11c24dbc1ecc690755a00f593815a40d9cd99df2b31110ab68626840b22598ecf08d93 languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.24.1" +"@babel/plugin-transform-member-expression-literals@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/4ea641cc14a615f9084e45ad2319f95e2fee01c77ec9789685e7e11a6c286238a426a98f9c1ed91568a047d8ac834393e06e8c82d1ff01764b7aa61bee8e9023 + checksum: 10/fb2b985cfa0436bfbed6fbcdd430573272518cf3454c9b0de374cfb80ac6fe60b2ebbe0818a83035e436a9ff08b159bb87527dfd712560c52a0ebfabe6f65121 languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-modules-amd@npm:7.24.1" +"@babel/plugin-transform-modules-amd@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-modules-amd@npm:7.25.7" dependencies: - "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-module-transforms": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/5a324f7c630cf0be1f09098a3a36248c2521622f2c7ea1a44a5980f54b718f5e0dd4af92a337f4b445a8824c8d533853ebea7c16de829b8a7bc8bcca127d4d73 + checksum: 10/0d061c91130433fccc723b4eb1359ced515a5dd7196c3ec75f2b2c24613154365ec1c89fe89bee648c1dc28a54c9625dd2b21b6196659a9f2b8ebff0b2352f6c languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.1" +"@babel/plugin-transform-modules-commonjs@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.25.7" dependencies: - "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-simple-access": "npm:^7.22.5" + "@babel/helper-module-transforms": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-simple-access": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/7326a62ed5f766f93ee75684868635b59884e2801533207ea11561c296de53037949fecad4055d828fa7ebeb6cc9e55908aa3e7c13f930ded3e62ad9f24680d7 + checksum: 10/4b3d038b55bfe5553e9eea360cc1b3dd689068256a9bce1939061ab1dfa194fea0b7b54f10c53b0af0be44508fd0037022c32709a6d96ac1277fb9c7de0f510c languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.24.1" +"@babel/plugin-transform-modules-systemjs@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.7" dependencies: - "@babel/helper-hoist-variables": "npm:^7.22.5" - "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-validator-identifier": "npm:^7.22.20" + "@babel/helper-module-transforms": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-validator-identifier": "npm:^7.25.7" + "@babel/traverse": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/565ec4518037b3d957431e29bda97b3d2fbb2e245fb5ba19889310ccb8fb71353e8ce2c325cc8d3fbc5a376d3af7d7e21782d5f502c46f8da077bee7807a590f + checksum: 10/abd3522e60a9b639f8ad58b2ee237debe9e78a3a1462e3c5b17b4fbdc1b4bb2235edb1ed7d204b45701ec99dd3506d87164ece8ac9d9465a3e603cf13170b65b languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-modules-umd@npm:7.24.1" +"@babel/plugin-transform-modules-umd@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-modules-umd@npm:7.25.7" dependencies: - "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-module-transforms": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/323bb9367e1967117a829f67788ec2ff55504b4faf8f6d83ec85d398e50b41cf7d1c375c67d63883dd7ad5e75b35c8ae776d89e422330ec0c0a1fda24e362083 + checksum: 10/06d6e95a9948aa91b218ada2940b8f568f78991265f2923f6e69c29e97ef1731c1b79adaf72a072a834a86f98fc0bd0117dfb14a37aaea6337fb4468f757471a languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.22.5" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.7" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5" - "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10/3ee564ddee620c035b928fdc942c5d17e9c4b98329b76f9cefac65c111135d925eb94ed324064cd7556d4f5123beec79abea1d4b97d1c8a2a5c748887a2eb623 + checksum: 10/4c8340cacb1d21794777abb68db2ea434a89274e9ca539e6f564488f5e8a7f517fdf0f9dc754a14cdb8702a3a488ba2bf0fad404a7da3ba4481f620fa6f234c9 languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-new-target@npm:7.24.1" +"@babel/plugin-transform-new-target@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-new-target@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/e0d3af66cd0fad29c9d0e3fc65e711255e18b77e2e35bbd8f10059e3db7de6c16799ef74e704daf784950feb71e7a93c5bf2c771d98f1ca3fba1ff2e0240b24a + checksum: 10/c410edc9d8800590e34e648851a633534c3d153d0a76a34cc12854a4ecd578ce1b1c121e42e8c8f654757fcba13849a39fccde0d619de9ee3567a8f9fa2c8fc0 languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.1" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/74025e191ceb7cefc619c15d33753aab81300a03d81b96ae249d9b599bc65878f962d608f452462d3aad5d6e334b7ab2b09a6bdcfe8d101fe77ac7aacca4261e + checksum: 10/af4d2d17eb0bdfa4a0414eb02a402f65226363ea3cc6d781028fd0051893918eeb3cf13aaceef8ef58ef35b36362dbcc25cd018e0c24b5b441226e086bf3b58f languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.24.1" +"@babel/plugin-transform-numeric-separator@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/3247bd7d409574fc06c59e0eb573ae7470d6d61ecf780df40b550102bb4406747d8f39dcbec57eb59406df6c565a86edd3b429e396ad02e4ce201ad92050832e + checksum: 10/963ff47d27b7e61e0b346a29e2ff86ccf4fb779f7069b54c09e93376e6ed769523d81b9ef4ef60ae2d8fe35f3411a25d4b2e8d0a23850afa821f47f33c7b510c languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.24.1" +"@babel/plugin-transform-object-rest-spread@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.7" dependencies: - "@babel/helper-compilation-targets": "npm:^7.23.6" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-compilation-targets": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-transform-parameters": "npm:^7.24.1" + "@babel/plugin-transform-parameters": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/ff6eeefbc5497cf33d62dc86b797c6db0e9455d6a4945d6952f3b703d04baab048974c6573b503e0ec097b8112d3b98b5f4ee516e1b8a74ed47aebba4d9d2643 + checksum: 10/b831c56921cb4818956941fd6eb54ba75fa51e5e5c1dc00466d70c79fea2a73d166a6ff02e8a27d63e40238de49f966af2bd243a8b6d281f784672f1a285d47c languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-object-super@npm:7.24.1" +"@babel/plugin-transform-object-super@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-object-super@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-replace-supers": "npm:^7.24.1" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-replace-supers": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/d34d437456a54e2a5dcb26e9cf09ed4c55528f2a327c5edca92c93e9483c37176e228d00d6e0cf767f3d6fdbef45ae3a5d034a7c59337a009e20ae541c8220fa + checksum: 10/c033337d27f98a255509c3ac152a54ce25d707b7969a64ba5262c7ddb54ba962da081fe756ce922caa57d782cacc6705e3d8e74364938391170f043eb9c5905e languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.24.1" +"@babel/plugin-transform-optional-catch-binding@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/ff7c02449d32a6de41e003abb38537b4a1ad90b1eaa4c0b578cb1b55548201a677588a8c47f3e161c72738400ae811a6673ea7b8a734344755016ca0ac445dac + checksum: 10/b195680e047bd2e0e36debfb75e5649f0fd8c88185e33c627c5418c68f9990cb4d96faccfbf47a2fdf9ff848a9e013ca077647616aa9dc1f78fa250ef1521437 languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.1" +"@babel/plugin-transform-optional-chaining@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/d41031b8e472b9b30aacd905a1561904bcec597dd888ad639b234971714dc9cd0dcb60df91a89219fc72e4feeb148e20f97bcddc39d7676e743ff0c23f62a7eb + checksum: 10/9c0a742eb3111f250b95065cd7d27b31c724d3f3c29b1de3c6655632172f69d5aa658d3ebff76d3b530b6792b6f4cf4845f4132ac8a1fea6e57ff19e3ec6f531 languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-parameters@npm:7.24.1" +"@babel/plugin-transform-parameters@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-parameters@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/c289c188710cd1c60991db169d8173b6e8e05624ae61a7da0b64354100bfba9e44bc1332dd9223c4e3fe1b9cbc0c061e76e7c7b3a75c9588bf35d0ffec428070 + checksum: 10/c6a77fece85b3fd7323ec4ecc62329932b92c2c1ec20f1cc7617d3e49cc175f143988e756f5ccc45deca0fe582040afa67eeefd1704a8188cf2dc437efcfaf53 languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-private-methods@npm:7.24.1" +"@babel/plugin-transform-private-methods@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-private-methods@npm:7.25.7" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.1" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-create-class-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/7208c30bb3f3fbc73fb3a88bdcb78cd5cddaf6d523eb9d67c0c04e78f6fc6319ece89f4a5abc41777ceab16df55b3a13a4120e0efc9275ca6d2d89beaba80aa0 + checksum: 10/79506a74334dc77f6c53f44109f0a3fcf6c50410faa5dd5e5d17ac4b73194098de509f5515a7aed3724a4bfa5dd246517e22a1dff4c20fc052df7a189bf2160d languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.24.1" +"@babel/plugin-transform-private-property-in-object@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.7" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-create-class-features-plugin": "npm:^7.24.1" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-annotate-as-pure": "npm:^7.25.7" + "@babel/helper-create-class-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/466d1943960c2475c0361eba2ea72d504d4d8329a8e293af0eedd26887bf30a074515b330ea84be77331ace77efbf5533d5f04f8cff63428d2615f4a509ae7a4 - languageName: node - linkType: hard - -"@babel/plugin-transform-property-literals@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-property-literals@npm:7.24.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10/a73646d7ecd95b3931a3ead82c7d5efeb46e68ba362de63eb437d33531f294ec18bd31b6d24238cd3b6a3b919a6310c4a0ba4a2629927721d4d10b0518eb7715 + checksum: 10/c23786b9c123cceb0f69ab074377236825d76db090413db0b92d1a412b0e488e7ebde3e6155883ddbce6616114c54693485274a5d2b8a9a280b40781f80bd343 languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-react-display-name@npm:7.24.1" +"@babel/plugin-transform-property-literals@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-property-literals@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/4cc7268652bd73a9e249db006d7278e3e90c033684e59801012311536f1ff93eb63fea845325035533aa281e428e6ec2ae0ad04659893ec1318250ddcf4a2f77 + checksum: 10/f8be4090e9ffa9eebaca5eab4534de16acc5c84a476649cfed532de564817fc982a47d9349e6e447c510786897625153f60740fe9128b40d3a1eae3bbb5e1438 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-development@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-react-jsx-development@npm:7.22.5" +"@babel/plugin-transform-react-display-name@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-react-display-name@npm:7.25.7" dependencies: - "@babel/plugin-transform-react-jsx": "npm:^7.22.5" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/36bc3ff0b96bb0ef4723070a50cfdf2e72cfd903a59eba448f9fe92fea47574d6f22efd99364413719e1f3fb3c51b6c9b2990b87af088f8486a84b2a5f9e4560 + checksum: 10/2785dda2f1b5379692f9095bffbd412dd1c49f41096d111c2fba1fba7202f4eed558c675df1bbfdcd44590013f8d2b7e6fc84443866e8a5c9bd51cf95f79cbdb languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.22.5": - version: 7.22.15 - resolution: "@babel/plugin-transform-react-jsx@npm:7.22.15" +"@babel/plugin-transform-react-jsx-development@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.25.7" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-module-imports": "npm:^7.22.15" - "@babel/helper-plugin-utils": "npm:^7.22.5" - "@babel/plugin-syntax-jsx": "npm:^7.22.5" - "@babel/types": "npm:^7.22.15" + "@babel/plugin-transform-react-jsx": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/a436bfbffe723d162e5816d510dca7349a1fc572c501d73f1e17bbca7eb899d7a6a14d8fc2ae5993dd79fdd77bcc68d295e59a3549bed03b8579c767f6e3c9dc + checksum: 10/6e6e8f9f9fc5393b932fb646188d6df9f270b37ab31560a5f3622b373ccb9fbf3d1976b3fb1b899541d25c1fa504d315fb4f8473d53bd57ad614e523f1ecf2c1 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.23.4": - version: 7.23.4 - resolution: "@babel/plugin-transform-react-jsx@npm:7.23.4" +"@babel/plugin-transform-react-jsx@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-react-jsx@npm:7.25.7" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-module-imports": "npm:^7.22.15" - "@babel/helper-plugin-utils": "npm:^7.22.5" - "@babel/plugin-syntax-jsx": "npm:^7.23.3" - "@babel/types": "npm:^7.23.4" + "@babel/helper-annotate-as-pure": "npm:^7.25.7" + "@babel/helper-module-imports": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/plugin-syntax-jsx": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/d83806701349addfb77b8347b4f0dc8e76fb1c9ac21bdef69f4002394fce2396d61facfc6e1a3de54cbabcdadf991a1f642e69edb5116ac14f95e33d9f7c221d + checksum: 10/9f87990b39c68dc6441b55bf9b530c89e8cfc7a610e250dfd8002d94a6b806a585fe7cc9318540e4e635eb819fdaf15a42fd5e8a2ec3f8949bd7a5c759b558d3 languageName: node linkType: hard -"@babel/plugin-transform-react-pure-annotations@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.24.1" +"@babel/plugin-transform-react-pure-annotations@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.25.7" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-annotate-as-pure": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/06a6bfe80f1f36408d07dd80c48cf9f61177c8e5d814e80ddbe88cfad81a8b86b3110e1fe9d1ac943db77e74497daa7f874b5490c788707106ad26ecfbe44813 + checksum: 10/a0bb666ef2c0209d5c7f637b17587f7a6782dbb135475f836bfe59b2f9eb193821653d6291866fc643b8ca0cef56989a9648c6127727d630808fc6de6fa180ca languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-regenerator@npm:7.24.1" +"@babel/plugin-transform-regenerator@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-regenerator@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" regenerator-transform: "npm:^0.15.2" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/a04319388a0a7931c3f8e15715d01444c32519692178b70deccc86d53304e74c0f589a4268f6c68578d86f75e934dd1fe6e6ed9071f54ee8379f356f88ef6e42 + checksum: 10/7a68e841b12b5f767d98ee650aa914ea246d99cc84de054bdb331185894c0fa554ec4296f32d65385e3012dcf083a098e06c14e518056d7e8a0804227a12d85d languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-reserved-words@npm:7.24.1" +"@babel/plugin-transform-reserved-words@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-reserved-words@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/132c6040c65aabae2d98a39289efb5c51a8632546dc50d2ad032c8660aec307fbed74ef499856ea4f881fc8505905f49b48e0270585da2ea3d50b75e962afd89 + checksum: 10/484edb3f4aa52f49914bea5f832fe380d159fff44e007ac9063666cf773bc258ef5b741f5a323167087bfd6a6dd5c2f96556d1ce5b3765bdf3a54fc018f3670d languageName: node linkType: hard -"@babel/plugin-transform-runtime@npm:7.24.3": - version: 7.24.3 - resolution: "@babel/plugin-transform-runtime@npm:7.24.3" +"@babel/plugin-transform-runtime@npm:7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-runtime@npm:7.25.7" dependencies: - "@babel/helper-module-imports": "npm:^7.24.3" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-module-imports": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.10.1" + babel-plugin-polyfill-corejs3: "npm:^0.10.6" babel-plugin-polyfill-regenerator: "npm:^0.6.1" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/7f545c628993b527ae1cb028106168ec29873160a5d98aed947509b61e826fa52b6e2bd2c56504b4a5084555becc9841fa7842e61f822a050dd6ff5baff726ce + checksum: 10/45a829b6748758f311e483ead6e874a8cc885a4cdb258582fd01221d055649f3ccf08e0eee8d2d6611c05affdde3bbda354c08ad0a6b6258c2d45d87399b7660 languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.24.1" +"@babel/plugin-transform-shorthand-properties@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/006a2032d1c57dca76579ce6598c679c2f20525afef0a36e9d42affe3c8cf33c1427581ad696b519cc75dfee46c5e8ecdf0c6a29ffb14250caa3e16dd68cb424 + checksum: 10/71c9c1d77887ffa452b2d7c9026ee8e40596e4b4208b077369a997e4e031b474ab08c2991b882a9883b78d7cd6d0d2a2b73345b17e195577b28538360b36f914 languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-spread@npm:7.24.1" +"@babel/plugin-transform-spread@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-spread@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/0b60cfe2f700ec2c9c1af979bb805860258539648dadcd482a5ddfc2330b733fb61bb60266404f3e068246ad0d6376040b4f9c5ab9037a3d777624d64acd89e9 + checksum: 10/5dd9e269241fccfdb8c9ac9cb21c53fa776113c3cee0ea92bb029940c6231b3bc7c0c70e13e5df220b80cfafe8683264cadff5b182bed9fd1b1317557f1a6c2d languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.24.1" +"@babel/plugin-transform-sticky-regex@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/e326e96a9eeb6bb01dbc4d3362f989411490671b97f62edf378b8fb102c463a018b777f28da65344d41b22aa6efcdfa01ed43d2b11fdcf202046d3174be137c5 + checksum: 10/9f918281fdf2661a095d53ce8b981acaec0fef2a133af4a4fb66132c7a8ad509c49f444ee140bfa5821db24f987d278b3886d3f04e6ba94a6a55c7b2ed024443 languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-template-literals@npm:7.24.1" +"@babel/plugin-transform-template-literals@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-template-literals@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/4c9009c72321caf20e3b6328bbe9d7057006c5ae57b794cf247a37ca34d87dfec5e27284169a16df5a6235a083bf0f3ab9e1bfcb005d1c8b75b04aed75652621 + checksum: 10/bdb541c31d4890a0aea4cf73a897975b69372cc524302ee9b375424d1706c38d1344b891c14ad2cbc3926e9553ffc2596772e8dab5982e09a9da0d959e4a1e92 languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.1" +"@babel/plugin-transform-typeof-symbol@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/3dda5074abf8b5df9cdef697d6ebe14a72c199bd6c2019991d033d9ad91b0be937b126b8f34c3c5a9725afee9016a3776aeef3e3b06ab9b3f54f2dd5b5aefa37 + checksum: 10/1145d65dbf720837b0a1bdcdb2b8b0a761587f3602703ba42209e06b6b8d81801a2041671a881ed0cff6866acec4f7c17031f8540017f2d53913584e152453db languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.24.1" +"@babel/plugin-transform-unicode-escapes@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/d39041ff6b0cef78271ebe88be6dfd2882a3c6250a54ddae783f1b9adc815e8486a7d0ca054fabfa3fde1301c531d5be89224999fc7be83ff1eda9b77d173051 + checksum: 10/3c8d5b36738690c2d0b843fcc213a18766e617d16b6cfd92f13be2eba025228b6a796fd8e5b6e209daffa1b453c52544bf62e40b917a32c7446184fef52c98fc languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.24.1" +"@babel/plugin-transform-unicode-property-regex@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.7" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/276099b4483e707f80b054e2d29bc519158bfe52461ef5ff76f70727d592df17e30b1597ef4d8a0f04d810f6cb5a8dd887bdc1d0540af3744751710ef280090f + checksum: 10/cccdddc6837f5e82f0aca59fd77dbab5efd5024dcd6d358efc74faccb4892f69e943f7750f613fcc241f33973fe8622a7e96909305697e7e5868f8e9954cb84e languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.24.1" +"@babel/plugin-transform-unicode-regex@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.7" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/400a0927bdb1425b4c0dc68a61b5b2d7d17c7d9f0e07317a1a6a373c080ef94be1dd65fdc4ac9a78fcdb58f89fd128450c7bc0d5b8ca0ae7eca3fbd98e50acba + checksum: 10/1a5a068d39741febd9b8cfce7bf4abf79b282a13c29d39ef7685bffdeb65e5d595e23d9630fedd34428a144d96701efed5a48ea1db0c250c4daf53f44da52983 languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.24.1" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.7" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-create-regexp-features-plugin": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10/364342fb8e382dfaa23628b88e6484dc1097e53fb7199f4d338f1e2cd71d839bb0a35a9b1380074f6a10adb2e98b79d53ca3ec78c0b8c557ca895ffff42180df + checksum: 10/c06dd8e66704fc60a97ce2555fa9f6cdfa98bb935a811b15e811cf3a8b5723e508e92b24077163ad704ddce56115062b8cf2f5490d1ad7d23f863d93a8125f89 languageName: node linkType: hard -"@babel/preset-env@npm:7.24.3": - version: 7.24.3 - resolution: "@babel/preset-env@npm:7.24.3" +"@babel/preset-env@npm:7.25.7": + version: 7.25.7 + resolution: "@babel/preset-env@npm:7.25.7" dependencies: - "@babel/compat-data": "npm:^7.24.1" - "@babel/helper-compilation-targets": "npm:^7.23.6" - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-validator-option": "npm:^7.23.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.24.1" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.24.1" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.24.1" + "@babel/compat-data": "npm:^7.25.7" + "@babel/helper-compilation-targets": "npm:^7.25.7" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-validator-option": "npm:^7.25.7" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.7" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.7" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.7" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.7" "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" "@babel/plugin-syntax-async-generators": "npm:^7.8.4" "@babel/plugin-syntax-class-properties": "npm:^7.12.13" "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" - "@babel/plugin-syntax-import-assertions": "npm:^7.24.1" - "@babel/plugin-syntax-import-attributes": "npm:^7.24.1" + "@babel/plugin-syntax-import-assertions": "npm:^7.25.7" + "@babel/plugin-syntax-import-attributes": "npm:^7.25.7" "@babel/plugin-syntax-import-meta": "npm:^7.10.4" "@babel/plugin-syntax-json-strings": "npm:^7.8.3" "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" @@ -2326,63 +2388,64 @@ __metadata: "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.24.1" - "@babel/plugin-transform-async-generator-functions": "npm:^7.24.3" - "@babel/plugin-transform-async-to-generator": "npm:^7.24.1" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.24.1" - "@babel/plugin-transform-block-scoping": "npm:^7.24.1" - "@babel/plugin-transform-class-properties": "npm:^7.24.1" - "@babel/plugin-transform-class-static-block": "npm:^7.24.1" - "@babel/plugin-transform-classes": "npm:^7.24.1" - "@babel/plugin-transform-computed-properties": "npm:^7.24.1" - "@babel/plugin-transform-destructuring": "npm:^7.24.1" - "@babel/plugin-transform-dotall-regex": "npm:^7.24.1" - "@babel/plugin-transform-duplicate-keys": "npm:^7.24.1" - "@babel/plugin-transform-dynamic-import": "npm:^7.24.1" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.24.1" - "@babel/plugin-transform-export-namespace-from": "npm:^7.24.1" - "@babel/plugin-transform-for-of": "npm:^7.24.1" - "@babel/plugin-transform-function-name": "npm:^7.24.1" - "@babel/plugin-transform-json-strings": "npm:^7.24.1" - "@babel/plugin-transform-literals": "npm:^7.24.1" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.1" - "@babel/plugin-transform-member-expression-literals": "npm:^7.24.1" - "@babel/plugin-transform-modules-amd": "npm:^7.24.1" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.1" - "@babel/plugin-transform-modules-systemjs": "npm:^7.24.1" - "@babel/plugin-transform-modules-umd": "npm:^7.24.1" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.22.5" - "@babel/plugin-transform-new-target": "npm:^7.24.1" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.1" - "@babel/plugin-transform-numeric-separator": "npm:^7.24.1" - "@babel/plugin-transform-object-rest-spread": "npm:^7.24.1" - "@babel/plugin-transform-object-super": "npm:^7.24.1" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.1" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.1" - "@babel/plugin-transform-parameters": "npm:^7.24.1" - "@babel/plugin-transform-private-methods": "npm:^7.24.1" - "@babel/plugin-transform-private-property-in-object": "npm:^7.24.1" - "@babel/plugin-transform-property-literals": "npm:^7.24.1" - "@babel/plugin-transform-regenerator": "npm:^7.24.1" - "@babel/plugin-transform-reserved-words": "npm:^7.24.1" - "@babel/plugin-transform-shorthand-properties": "npm:^7.24.1" - "@babel/plugin-transform-spread": "npm:^7.24.1" - "@babel/plugin-transform-sticky-regex": "npm:^7.24.1" - "@babel/plugin-transform-template-literals": "npm:^7.24.1" - "@babel/plugin-transform-typeof-symbol": "npm:^7.24.1" - "@babel/plugin-transform-unicode-escapes": "npm:^7.24.1" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.24.1" - "@babel/plugin-transform-unicode-regex": "npm:^7.24.1" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.24.1" + "@babel/plugin-transform-arrow-functions": "npm:^7.25.7" + "@babel/plugin-transform-async-generator-functions": "npm:^7.25.7" + "@babel/plugin-transform-async-to-generator": "npm:^7.25.7" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.25.7" + "@babel/plugin-transform-block-scoping": "npm:^7.25.7" + "@babel/plugin-transform-class-properties": "npm:^7.25.7" + "@babel/plugin-transform-class-static-block": "npm:^7.25.7" + "@babel/plugin-transform-classes": "npm:^7.25.7" + "@babel/plugin-transform-computed-properties": "npm:^7.25.7" + "@babel/plugin-transform-destructuring": "npm:^7.25.7" + "@babel/plugin-transform-dotall-regex": "npm:^7.25.7" + "@babel/plugin-transform-duplicate-keys": "npm:^7.25.7" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.7" + "@babel/plugin-transform-dynamic-import": "npm:^7.25.7" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.25.7" + "@babel/plugin-transform-export-namespace-from": "npm:^7.25.7" + "@babel/plugin-transform-for-of": "npm:^7.25.7" + "@babel/plugin-transform-function-name": "npm:^7.25.7" + "@babel/plugin-transform-json-strings": "npm:^7.25.7" + "@babel/plugin-transform-literals": "npm:^7.25.7" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.7" + "@babel/plugin-transform-member-expression-literals": "npm:^7.25.7" + "@babel/plugin-transform-modules-amd": "npm:^7.25.7" + "@babel/plugin-transform-modules-commonjs": "npm:^7.25.7" + "@babel/plugin-transform-modules-systemjs": "npm:^7.25.7" + "@babel/plugin-transform-modules-umd": "npm:^7.25.7" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.7" + "@babel/plugin-transform-new-target": "npm:^7.25.7" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.25.7" + "@babel/plugin-transform-numeric-separator": "npm:^7.25.7" + "@babel/plugin-transform-object-rest-spread": "npm:^7.25.7" + "@babel/plugin-transform-object-super": "npm:^7.25.7" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.7" + "@babel/plugin-transform-optional-chaining": "npm:^7.25.7" + "@babel/plugin-transform-parameters": "npm:^7.25.7" + "@babel/plugin-transform-private-methods": "npm:^7.25.7" + "@babel/plugin-transform-private-property-in-object": "npm:^7.25.7" + "@babel/plugin-transform-property-literals": "npm:^7.25.7" + "@babel/plugin-transform-regenerator": "npm:^7.25.7" + "@babel/plugin-transform-reserved-words": "npm:^7.25.7" + "@babel/plugin-transform-shorthand-properties": "npm:^7.25.7" + "@babel/plugin-transform-spread": "npm:^7.25.7" + "@babel/plugin-transform-sticky-regex": "npm:^7.25.7" + "@babel/plugin-transform-template-literals": "npm:^7.25.7" + "@babel/plugin-transform-typeof-symbol": "npm:^7.25.7" + "@babel/plugin-transform-unicode-escapes": "npm:^7.25.7" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.7" + "@babel/plugin-transform-unicode-regex": "npm:^7.25.7" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.7" "@babel/preset-modules": "npm:0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.10.4" + babel-plugin-polyfill-corejs3: "npm:^0.10.6" babel-plugin-polyfill-regenerator: "npm:^0.6.1" - core-js-compat: "npm:^3.31.0" + core-js-compat: "npm:^3.38.1" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/42de398cb7655f3748a03f9f5ca6132dd8e84315ccf286e47740455dfb5be6358df7cfcbecf84426c14176a4d02d0b0b3c97ddf6c5c4c8fb7f1f307692a103ee + checksum: 10/2d09aa2cb765a9a1c8a7566e22948e69d69de6b9b763322790bd72ec0bd5bcadf7b02abbc6ad1bab917e1f6d60b1a7f4606778d88cc7d7e1388cc52d292db97d languageName: node linkType: hard @@ -2399,19 +2462,19 @@ __metadata: languageName: node linkType: hard -"@babel/preset-react@npm:7.24.1": - version: 7.24.1 - resolution: "@babel/preset-react@npm:7.24.1" +"@babel/preset-react@npm:7.25.7": + version: 7.25.7 + resolution: "@babel/preset-react@npm:7.25.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-validator-option": "npm:^7.23.5" - "@babel/plugin-transform-react-display-name": "npm:^7.24.1" - "@babel/plugin-transform-react-jsx": "npm:^7.23.4" - "@babel/plugin-transform-react-jsx-development": "npm:^7.22.5" - "@babel/plugin-transform-react-pure-annotations": "npm:^7.24.1" + "@babel/helper-plugin-utils": "npm:^7.25.7" + "@babel/helper-validator-option": "npm:^7.25.7" + "@babel/plugin-transform-react-display-name": "npm:^7.25.7" + "@babel/plugin-transform-react-jsx": "npm:^7.25.7" + "@babel/plugin-transform-react-jsx-development": "npm:^7.25.7" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.25.7" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10/a796c609ace7d58a56b42b6630cdd9e1d896ce2f8b35331b9ea040eaaf3cc9aa99cd2614e379a27c10410f34e89355e2739c7097e8065ce5e40900a77b13d716 + checksum: 10/4701a76b45f33b72efc93540e09204ac84eb2b8054de9570d041b6f952477efca2a6c7c916389a1aea4d408c38ebbc997148d693d9aa72d1b4df9a3b4b557c7c languageName: node linkType: hard @@ -2431,15 +2494,6 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.21.0": - version: 7.24.0 - resolution: "@babel/runtime@npm:7.24.0" - dependencies: - regenerator-runtime: "npm:^0.14.0" - checksum: 10/8d32c7e116606ea322b89f9fde8ffae6be9503b549dc0d0abb38bd9dc26e87469b9fb7a66964cc089ee558fd0a97d304fb0a3cfec140694764fb0d71b6a6f5e4 - languageName: node - linkType: hard - "@babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.2": version: 7.17.8 resolution: "@babel/runtime@npm:7.17.8" @@ -2449,86 +2503,33 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/template@npm:7.16.7" - dependencies: - "@babel/code-frame": "npm:^7.16.7" - "@babel/parser": "npm:^7.16.7" - "@babel/types": "npm:^7.16.7" - checksum: 10/f35836a8cd53663508bc5e0b13e7fe3d646197fc1baa74c21d3a713c0c91d39fe6f6c5be8ec1ec139b3d0a00443ab1b8cc7ddf88c6ceb6f9fcf7ea0ae7594eca - languageName: node - linkType: hard - -"@babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5": - version: 7.22.15 - resolution: "@babel/template@npm:7.22.15" - dependencies: - "@babel/code-frame": "npm:^7.22.13" - "@babel/parser": "npm:^7.22.15" - "@babel/types": "npm:^7.22.15" - checksum: 10/21e768e4eed4d1da2ce5d30aa51db0f4d6d8700bc1821fec6292587df7bba2fe1a96451230de8c64b989740731888ebf1141138bfffb14cacccf4d05c66ad93f - languageName: node - linkType: hard - -"@babel/template@npm:^7.24.0": - version: 7.24.0 - resolution: "@babel/template@npm:7.24.0" - dependencies: - "@babel/code-frame": "npm:^7.23.5" - "@babel/parser": "npm:^7.24.0" - "@babel/types": "npm:^7.24.0" - checksum: 10/8c538338c7de8fac8ada691a5a812bdcbd60bd4a4eb5adae2cc9ee19773e8fb1a724312a00af9e1ce49056ffd3c3475e7287b5668cf6360bfb3f8ac827a06ffe - languageName: node - linkType: hard - -"@babel/traverse@npm:^7.17.3": - version: 7.23.2 - resolution: "@babel/traverse@npm:7.23.2" +"@babel/template@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/template@npm:7.25.7" dependencies: - "@babel/code-frame": "npm:^7.22.13" - "@babel/generator": "npm:^7.23.0" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-hoist-variables": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/parser": "npm:^7.23.0" - "@babel/types": "npm:^7.23.0" - debug: "npm:^4.1.0" - globals: "npm:^11.1.0" - checksum: 10/e4fcb8f8395804956df4ae1301230a14b6eb35b74a7058a0e0b40f6f4be7281e619e6dafe400e833d4512da5d61cf17ea177d04b00a8f7cf3d8d69aff83ca3d8 + "@babel/code-frame": "npm:^7.25.7" + "@babel/parser": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" + checksum: 10/49e1e88d2eac17d31ae28d6cf13d6d29c1f49384c4f056a6751c065d6565c351e62c01ce6b11fef5edb5f3a77c87e114ea7326ca384fa618b4834e10cf9b20f3 languageName: node linkType: hard -"@babel/traverse@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/traverse@npm:7.24.1" +"@babel/traverse@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/traverse@npm:7.25.7" dependencies: - "@babel/code-frame": "npm:^7.24.1" - "@babel/generator": "npm:^7.24.1" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-hoist-variables": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/parser": "npm:^7.24.1" - "@babel/types": "npm:^7.24.0" + "@babel/code-frame": "npm:^7.25.7" + "@babel/generator": "npm:^7.25.7" + "@babel/parser": "npm:^7.25.7" + "@babel/template": "npm:^7.25.7" + "@babel/types": "npm:^7.25.7" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10/b9b0173c286ef549e179f3725df3c4958069ad79fe5b9840adeb99692eb4a5a08db4e735c0f086aab52e7e08ec711cee9e7c06cb908d8035641d1382172308d3 - languageName: node - linkType: hard - -"@babel/types@npm:^7.16.7, @babel/types@npm:^7.17.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.9.6": - version: 7.17.0 - resolution: "@babel/types@npm:7.17.0" - dependencies: - "@babel/helper-validator-identifier": "npm:^7.16.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10/535ccef360d0c74e2bb685050f3a45e6ab30f66c740bbdd0858148ed502043f1ae2006a9d0269ac3b7356b690091ae313efd912e408bc0198d80a14b2a6f1537 + checksum: 10/5b2d332fcd6bc78e6500c997e79f7e2a54dfb357e06f0908cb7f0cdd9bb54e7fd3c5673f45993849d433d01ea6076a6d04b825958f0cfa01288ad55ffa5c286f languageName: node linkType: hard -"@babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0": +"@babel/types@npm:^7.22.5": version: 7.23.0 resolution: "@babel/types@npm:7.23.0" dependencies: @@ -2539,7 +2540,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.23.4, @babel/types@npm:^7.24.0": +"@babel/types@npm:^7.24.0": version: 7.24.0 resolution: "@babel/types@npm:7.24.0" dependencies: @@ -2561,6 +2562,27 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.25.7": + version: 7.25.7 + resolution: "@babel/types@npm:7.25.7" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.7" + "@babel/helper-validator-identifier": "npm:^7.25.7" + to-fast-properties: "npm:^2.0.0" + checksum: 10/4504e16a95b6a67d50cfaa389bcbc0621019084cff73784ad4797f82d1bb76c870cb0abb6d9881d5776eb06b4607419a2b1205a08c3e87b152d74bd0884b822a + languageName: node + linkType: hard + +"@babel/types@npm:^7.4.4, @babel/types@npm:^7.6.1, @babel/types@npm:^7.9.6": + version: 7.17.0 + resolution: "@babel/types@npm:7.17.0" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.16.7" + to-fast-properties: "npm:^2.0.0" + checksum: 10/535ccef360d0c74e2bb685050f3a45e6ab30f66c740bbdd0858148ed502043f1ae2006a9d0269ac3b7356b690091ae313efd912e408bc0198d80a14b2a6f1537 + languageName: node + linkType: hard + "@babel/types@npm:^7.8.3": version: 7.23.9 resolution: "@babel/types@npm:7.23.9" @@ -2593,17 +2615,17 @@ __metadata: languageName: node linkType: hard -"@brillout/json-serializer@npm:^0.5.8": - version: 0.5.8 - resolution: "@brillout/json-serializer@npm:0.5.8" - checksum: 10/db70bb1e6fdb9711eb4901162a391a2ff83aec37914172a619b700f2e09a042f71eed383b9748432c799b751ed119131e464acba62422a2189d0a6e7aca42f74 +"@brillout/json-serializer@npm:^0.5.13": + version: 0.5.13 + resolution: "@brillout/json-serializer@npm:0.5.13" + checksum: 10/6f3324150018542a3c3b27b7fcd8740b41c78ea54d3ec9a578bf1bc8aaddfd85369de759d3d2e166104de3d9aad3c6e25b75c7a42dec749a64541b9382fe34f9 languageName: node linkType: hard -"@brillout/picocolors@npm:^1.0.10": - version: 1.0.10 - resolution: "@brillout/picocolors@npm:1.0.10" - checksum: 10/e14436613d6c4c6f3f6921b5244b13f5bd21b69cb8645f4c454961ceba41bc666613ee11d03534000cdfc8da95eb09efb1f90bf8a941f9e37f362359f8b2b4c3 +"@brillout/picocolors@npm:^1.0.15": + version: 1.0.15 + resolution: "@brillout/picocolors@npm:1.0.15" + checksum: 10/4e1985a614782e70f7bf94ad5457cc9e455849677fa77de60b517a59af09520808964a8523958ee60360a1660482128c52a5c8c8794a7a9c2bed32165eebb645 languageName: node linkType: hard @@ -2614,12 +2636,12 @@ __metadata: languageName: node linkType: hard -"@brillout/vite-plugin-server-entry@npm:^0.4.3": - version: 0.4.3 - resolution: "@brillout/vite-plugin-server-entry@npm:0.4.3" +"@brillout/vite-plugin-server-entry@npm:^0.4.11": + version: 0.4.12 + resolution: "@brillout/vite-plugin-server-entry@npm:0.4.12" dependencies: "@brillout/import": "npm:^0.2.3" - checksum: 10/b62333147a011e3f5c48f81631e292e579148ec0f4612ad252c0fa652bca04c3a841411a539297aabc7f4173af33618db72c51d2548b17407c78f2115ef6583f + checksum: 10/b737b6d6ef3bff894b6382f1a1fe48844118a1e6bb5f8118a63d0b750b5589763de16f2369a6a81aed041ecceb7b5ae001bc5c4665497c36bb6c2e712f0ed8b8 languageName: node linkType: hard @@ -2630,195 +2652,194 @@ __metadata: languageName: node linkType: hard -"@commitlint/cli@npm:^19.2.1": - version: 19.3.0 - resolution: "@commitlint/cli@npm:19.3.0" +"@commitlint/cli@npm:19.5.0": + version: 19.5.0 + resolution: "@commitlint/cli@npm:19.5.0" dependencies: - "@commitlint/format": "npm:^19.3.0" - "@commitlint/lint": "npm:^19.2.2" - "@commitlint/load": "npm:^19.2.0" - "@commitlint/read": "npm:^19.2.1" - "@commitlint/types": "npm:^19.0.3" - execa: "npm:^8.0.1" + "@commitlint/format": "npm:^19.5.0" + "@commitlint/lint": "npm:^19.5.0" + "@commitlint/load": "npm:^19.5.0" + "@commitlint/read": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" + tinyexec: "npm:^0.3.0" yargs: "npm:^17.0.0" bin: commitlint: cli.js - checksum: 10/b1565c0529b8a27ebb3313230f5ddf2f72c5dd819073b2ec141ea1547dfc4de3400a7208ae4f93b071cf8a6a2736aaeb1348c722f6e4627dc964dd0976a37810 + checksum: 10/1d3384cc9823462da3a35308a145dc4fcf92025f7af976e1ceb9cbe9cbd7b7b83703fe0e9ca12fc7f4903ea2fe68c8c1492c18409ba301894c01cb2264a00795 languageName: node linkType: hard -"@commitlint/config-conventional@npm:^19.1.0": - version: 19.1.0 - resolution: "@commitlint/config-conventional@npm:19.1.0" +"@commitlint/config-conventional@npm:19.5.0": + version: 19.5.0 + resolution: "@commitlint/config-conventional@npm:19.5.0" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.5.0" conventional-changelog-conventionalcommits: "npm:^7.0.2" - checksum: 10/e3a6ccb521d8849600b7db1d777eed4861ab85c83f26bba56057f05a3cd3481bcce2bbfa29cada03929d3560c4b5509c3d0089ee1d3f530fdbc658e8e6311f26 + checksum: 10/5844fb51347677dd28f970a50528fbc44b9b415a8a5fd6fea6c7f6a2a11357956748eda9d1d6ae499430659b0aa78bfa7dcf8abf599951e7f34a581e60bf57da languageName: node linkType: hard -"@commitlint/config-validator@npm:^19.0.3": - version: 19.0.3 - resolution: "@commitlint/config-validator@npm:19.0.3" +"@commitlint/config-validator@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/config-validator@npm:19.5.0" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.5.0" ajv: "npm:^8.11.0" - checksum: 10/a1a9678e0994d87fa98f0aee1a877dfaf60640b657589260ec958898d51affabba73d6684edafa1cc979e4e94b51f14fbd9b605eae77c2838ee52bcbcc110bef + checksum: 10/681bfdcabcb0ff794ea65d95128083869c97039c3a352219d6d88a2d4f3d0412b8ec515db77433fc6b0fce072051beb103d16889d42e76ea97873191ec191b23 languageName: node linkType: hard -"@commitlint/ensure@npm:^19.0.3": - version: 19.0.3 - resolution: "@commitlint/ensure@npm:19.0.3" +"@commitlint/ensure@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/ensure@npm:19.5.0" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.5.0" lodash.camelcase: "npm:^4.3.0" lodash.kebabcase: "npm:^4.1.1" lodash.snakecase: "npm:^4.1.1" lodash.startcase: "npm:^4.4.0" lodash.upperfirst: "npm:^4.3.1" - checksum: 10/d8fdc4712985f9ccdbd871c9eabb9d2bdde22296b882b42bd32ab52b6679c5d799ff557d20a99cebb0008831fd31a540d771331e6e5e26bbafbb6b88f47148b6 + checksum: 10/a9d575637121221cb63232ee96024a63614052ccc205ec8fdab53feed70104b85608e31b4632f280d2876f10a2243474191d96e448b222abfc8d8ab48f9f8e7e languageName: node linkType: hard -"@commitlint/execute-rule@npm:^19.0.0": - version: 19.0.0 - resolution: "@commitlint/execute-rule@npm:19.0.0" - checksum: 10/4c5cbf9ab0e2b85b00ceea84e5598b1b3cceaa20a655ee954c45259cca9efc80cf5cf7d9eec04715a100c2da282cbcf6aba960ad53a47178090c0513426ac236 +"@commitlint/execute-rule@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/execute-rule@npm:19.5.0" + checksum: 10/ff05568c3a287ef8564171d5bc5d4510b2e00b552e4703f79db3d62f3cba9d669710717695d199e04c2117d41f9e72d7e43a342d5c1b62d456bc8e8bb7dda1e9 languageName: node linkType: hard -"@commitlint/format@npm:^19.3.0": - version: 19.3.0 - resolution: "@commitlint/format@npm:19.3.0" +"@commitlint/format@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/format@npm:19.5.0" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.5.0" chalk: "npm:^5.3.0" - checksum: 10/cc0e1e0e6d5eea76b856ad1be879de166c3d1385e1ae0e1bb78c575f9b78b53d92a56cd4719427cdba9cbb9a10235768da29144da9892596525c923d126951dd + checksum: 10/685b64ebee936d71bbbf66276b11d50b0227f2ad0df3c00317d5b7e25bce8b1b8dbc65cc7c5c7fafc76cad11a83ad4378a666bf8f12a3eb1c7d6a2a6c6cb25aa languageName: node linkType: hard -"@commitlint/is-ignored@npm:^19.2.2": - version: 19.2.2 - resolution: "@commitlint/is-ignored@npm:19.2.2" +"@commitlint/is-ignored@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/is-ignored@npm:19.5.0" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.5.0" semver: "npm:^7.6.0" - checksum: 10/f412734496aba808c8bcbddd59c615600d62447ad2b62049805a044b1f299ff6628e2c9ce5022e55848099edc2591f62a7780842d9dffcd60ab3889bc93fea62 + checksum: 10/1c7ee34686fd098587f9717763473477d49e847f470a317903f922d13091271d013a046f61b43b31b34eba4e4b0f76369b7427588269bbdc4c5f622d3ace2c95 languageName: node linkType: hard -"@commitlint/lint@npm:^19.2.2": - version: 19.2.2 - resolution: "@commitlint/lint@npm:19.2.2" +"@commitlint/lint@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/lint@npm:19.5.0" dependencies: - "@commitlint/is-ignored": "npm:^19.2.2" - "@commitlint/parse": "npm:^19.0.3" - "@commitlint/rules": "npm:^19.0.3" - "@commitlint/types": "npm:^19.0.3" - checksum: 10/9bf2ffa0f6cdde3d53d755b95ca717afd193f4560ae5bb0f5ffd7f1bbd571ddc99b27417733c70e1adbd74a5197e4525493b2dfc116680a939db7728fefa805c + "@commitlint/is-ignored": "npm:^19.5.0" + "@commitlint/parse": "npm:^19.5.0" + "@commitlint/rules": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" + checksum: 10/bba8cd17a90876b6b2cd2f869ee4d08cd3e5ad8a10f2c273d379d3b6602da30c46c2d9d0925710d7b9ebf180b3d1f02409adfc0f1a888cc566d88c9ee5862bdd languageName: node linkType: hard -"@commitlint/load@npm:^19.2.0": - version: 19.2.0 - resolution: "@commitlint/load@npm:19.2.0" +"@commitlint/load@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/load@npm:19.5.0" dependencies: - "@commitlint/config-validator": "npm:^19.0.3" - "@commitlint/execute-rule": "npm:^19.0.0" - "@commitlint/resolve-extends": "npm:^19.1.0" - "@commitlint/types": "npm:^19.0.3" + "@commitlint/config-validator": "npm:^19.5.0" + "@commitlint/execute-rule": "npm:^19.5.0" + "@commitlint/resolve-extends": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" chalk: "npm:^5.3.0" cosmiconfig: "npm:^9.0.0" cosmiconfig-typescript-loader: "npm:^5.0.0" lodash.isplainobject: "npm:^4.0.6" lodash.merge: "npm:^4.6.2" lodash.uniq: "npm:^4.5.0" - checksum: 10/5cd35a0a60064c70c06ab6bd8b1ae02cf6ecc1d0520b76c68cdc7c12094338f04c19e2df5d7ae30d681e858871c4f1963ae39e4969ed61139959cf4b300030fc + checksum: 10/87a9450c768632c09e9d98993752a5622aee698642eee5a9b31c3c48625455e043406b7ea6e02a8f41d86c524c9ecbdb9b823caf67da3048f0d96531177fda28 languageName: node linkType: hard -"@commitlint/message@npm:^19.0.0": - version: 19.0.0 - resolution: "@commitlint/message@npm:19.0.0" - checksum: 10/446ee97c12a4175a8b7a4cbf3754c01d54cd911973c7af9a2eac69277fb891e638ddc3db132f57588883b68eadf59074d388ec1808a205957042f71027244167 +"@commitlint/message@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/message@npm:19.5.0" + checksum: 10/ad6993476ce3e6ed6ed7ae5327ac8d5116ca70168d9de6dff656a7e6f2b9f01a1c3ac7a13418831b5cdc3148ea9bcd78c32bdb7aa863280108e176ff803f7a51 languageName: node linkType: hard -"@commitlint/parse@npm:^19.0.3": - version: 19.0.3 - resolution: "@commitlint/parse@npm:19.0.3" +"@commitlint/parse@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/parse@npm:19.5.0" dependencies: - "@commitlint/types": "npm:^19.0.3" + "@commitlint/types": "npm:^19.5.0" conventional-changelog-angular: "npm:^7.0.0" conventional-commits-parser: "npm:^5.0.0" - checksum: 10/ddd7a6007d37d7154f6b18bfa06dc26beb109cd4bcabe7e9ca2ff24088325ab2c7b09cc01cceb9d62e6e60affffe3d19e9685fab06d3506d047166d888d25487 + checksum: 10/2a6f8bbbd79aa36a7e1128c60cecb322557110aa4aa8757c741c2f79071c540ba56957cef81fb64f4a304535e462d0c48b5c1ef1b2766fea7971d38ec5ad6384 languageName: node linkType: hard -"@commitlint/read@npm:^19.2.1": - version: 19.2.1 - resolution: "@commitlint/read@npm:19.2.1" +"@commitlint/read@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/read@npm:19.5.0" dependencies: - "@commitlint/top-level": "npm:^19.0.0" - "@commitlint/types": "npm:^19.0.3" - execa: "npm:^8.0.1" + "@commitlint/top-level": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" git-raw-commits: "npm:^4.0.0" minimist: "npm:^1.2.8" - checksum: 10/840ebd183b2fe36dea03701552d825a9a1770d300b9416ab2a731fdeed66cf8c9dd8be133d92ac017cb9bf29e2ef5aee91a641f2b643bb5b33005f7b392ec953 + tinyexec: "npm:^0.3.0" + checksum: 10/0ea2da48ae1bab9add9e831a1659306567755c20ec74cf04e6e50ef1e520970decd259af652995f55eef422a3f1382f0e64e5fbc23606176f766f71076ad872b languageName: node linkType: hard -"@commitlint/resolve-extends@npm:^19.1.0": - version: 19.1.0 - resolution: "@commitlint/resolve-extends@npm:19.1.0" +"@commitlint/resolve-extends@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/resolve-extends@npm:19.5.0" dependencies: - "@commitlint/config-validator": "npm:^19.0.3" - "@commitlint/types": "npm:^19.0.3" + "@commitlint/config-validator": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" global-directory: "npm:^4.0.1" import-meta-resolve: "npm:^4.0.0" lodash.mergewith: "npm:^4.6.2" resolve-from: "npm:^5.0.0" - checksum: 10/453f8828b091886dc7cb4b13285bf3300be94266c3fc13453ab62fddc524a3969434dcebea3e4c4775621576fa25b41efbc62d773e3c44c1e87d12d7211166de + checksum: 10/71a1c9423570dedb55809f4ad7c35962607cb06921364116e8f2d8c3d37a7ff2a43747ad5a9cd924b58614e6880a42a3fa1510244748bb6997469b52b0fecd78 languageName: node linkType: hard -"@commitlint/rules@npm:^19.0.3": - version: 19.0.3 - resolution: "@commitlint/rules@npm:19.0.3" +"@commitlint/rules@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/rules@npm:19.5.0" dependencies: - "@commitlint/ensure": "npm:^19.0.3" - "@commitlint/message": "npm:^19.0.0" - "@commitlint/to-lines": "npm:^19.0.0" - "@commitlint/types": "npm:^19.0.3" - execa: "npm:^8.0.1" - checksum: 10/218033d96b0bae7dbea0e46483f8af823c17b492e4b0c4dca93a6312876d051cc88f4272d009e7eb06ff05585ec511aedd703132be17c7248698a4eac909986b + "@commitlint/ensure": "npm:^19.5.0" + "@commitlint/message": "npm:^19.5.0" + "@commitlint/to-lines": "npm:^19.5.0" + "@commitlint/types": "npm:^19.5.0" + checksum: 10/2c879d2cd50a3b4572cea41f044cc3091f0a11ef5ead0bb54bfa564ea637e0d93e08ae322ec4c99bb5b379b82835ace595d1c8dab6e35c1b68b63292160a61b3 languageName: node linkType: hard -"@commitlint/to-lines@npm:^19.0.0": - version: 19.0.0 - resolution: "@commitlint/to-lines@npm:19.0.0" - checksum: 10/5e7d5679aa242cd21be2076a8c8715aa3c9f4c3133f588df08c6b02f56a8a5b1a5d9e402076bd926dd2b61883e4b2c53fd6c9aa3554e3f54cd2296b2566eb1c2 +"@commitlint/to-lines@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/to-lines@npm:19.5.0" + checksum: 10/68aaca7bf1331b5f2f604e814d57f483ead81a8296f8cff5667249510a5601825dfbbaccade3d02e0aca580b973c01419276d693cc9aa888cbe11022daa9dce6 languageName: node linkType: hard -"@commitlint/top-level@npm:^19.0.0": - version: 19.0.0 - resolution: "@commitlint/top-level@npm:19.0.0" +"@commitlint/top-level@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/top-level@npm:19.5.0" dependencies: find-up: "npm:^7.0.0" - checksum: 10/47b0994d03f26caf2812110ead535bd10157beed6b3dff9cbb4eea165de9245673ba7d31829cd54af5855f7b075ebbf812b1f79586248be3932797888efeadf5 + checksum: 10/f6b5a3746c458e12c7a9e93f7c856ba90fba6e61db614ea1201e6b6e92cb8161dd13e88d8c9b408709ea0c19bc949cffcd1dd356cb6f51fc2ede8df48c1fd410 languageName: node linkType: hard -"@commitlint/types@npm:^19.0.3": - version: 19.0.3 - resolution: "@commitlint/types@npm:19.0.3" +"@commitlint/types@npm:^19.5.0": + version: 19.5.0 + resolution: "@commitlint/types@npm:19.5.0" dependencies: "@types/conventional-commits-parser": "npm:^5.0.0" chalk: "npm:^5.3.0" - checksum: 10/44e67f4861f9b137f43a441f8ab255676b7a276c82ca46ba7846ca1057d170af92a87d3e2a1378713dc4e33a68c8af513683cb96dcd29544e48e2c825109ea6f + checksum: 10/a26f33ec6987d7d93bdbd7e1b177cfac30ca056ea383faf343c6a09c0441aa057a24be1459c3d4e7e91edd2ecf8d6c4dd670948c9d22646d64767137c6db098a languageName: node linkType: hard @@ -2838,10 +2859,31 @@ __metadata: languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/aix-ppc64@npm:0.19.12" - conditions: os=aix & cpu=ppc64 +"@emnapi/core@npm:^1.1.0": + version: 1.2.0 + resolution: "@emnapi/core@npm:1.2.0" + dependencies: + "@emnapi/wasi-threads": "npm:1.0.1" + tslib: "npm:^2.4.0" + checksum: 10/b0b32b7702ae501be76c72ee77778e0356696b49a72f56c3c04774db23baa3a6054acf839a3d8a49fee415386946685edb904eaa3ac95b5c73cedd2f2766853c + languageName: node + linkType: hard + +"@emnapi/runtime@npm:^1.1.0": + version: 1.2.0 + resolution: "@emnapi/runtime@npm:1.2.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/c954b36493b713e451c74e9f1a48124b5491196700ec458c5d4a94eac3351e14803b4fd48ae6f72c77956d75792093d377f96412a6f59766099cb142e5c5b8f4 + languageName: node + linkType: hard + +"@emnapi/wasi-threads@npm:1.0.1": + version: 1.0.1 + resolution: "@emnapi/wasi-threads@npm:1.0.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/949f8bdcb11153d530652516b11d4b11d8c6ed48a692b4a59cbaa4305327aed59a61f0d87c366085c20ad0b0336c3b50eaddbddeeb3e8c55e7e82b583b9d98fb languageName: node linkType: hard @@ -2852,10 +2894,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm64@npm:0.19.12" - conditions: os=android & cpu=arm64 +"@esbuild/aix-ppc64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/aix-ppc64@npm:0.23.1" + conditions: os=aix & cpu=ppc64 languageName: node linkType: hard @@ -2866,10 +2908,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm@npm:0.19.12" - conditions: os=android & cpu=arm +"@esbuild/android-arm64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/android-arm64@npm:0.23.1" + conditions: os=android & cpu=arm64 languageName: node linkType: hard @@ -2880,10 +2922,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-x64@npm:0.19.12" - conditions: os=android & cpu=x64 +"@esbuild/android-arm@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/android-arm@npm:0.23.1" + conditions: os=android & cpu=arm languageName: node linkType: hard @@ -2894,10 +2936,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-arm64@npm:0.19.12" - conditions: os=darwin & cpu=arm64 +"@esbuild/android-x64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/android-x64@npm:0.23.1" + conditions: os=android & cpu=x64 languageName: node linkType: hard @@ -2908,10 +2950,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-x64@npm:0.19.12" - conditions: os=darwin & cpu=x64 +"@esbuild/darwin-arm64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/darwin-arm64@npm:0.23.1" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -2922,10 +2964,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-arm64@npm:0.19.12" - conditions: os=freebsd & cpu=arm64 +"@esbuild/darwin-x64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/darwin-x64@npm:0.23.1" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -2936,10 +2978,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-x64@npm:0.19.12" - conditions: os=freebsd & cpu=x64 +"@esbuild/freebsd-arm64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/freebsd-arm64@npm:0.23.1" + conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard @@ -2950,10 +2992,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-arm64@npm:0.19.12" - conditions: os=linux & cpu=arm64 +"@esbuild/freebsd-x64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/freebsd-x64@npm:0.23.1" + conditions: os=freebsd & cpu=x64 languageName: node linkType: hard @@ -2964,10 +3006,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-arm@npm:0.19.12" - conditions: os=linux & cpu=arm +"@esbuild/linux-arm64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-arm64@npm:0.23.1" + conditions: os=linux & cpu=arm64 languageName: node linkType: hard @@ -2978,10 +3020,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-ia32@npm:0.19.12" - conditions: os=linux & cpu=ia32 +"@esbuild/linux-arm@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-arm@npm:0.23.1" + conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -2992,10 +3034,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-loong64@npm:0.19.12" - conditions: os=linux & cpu=loong64 +"@esbuild/linux-ia32@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-ia32@npm:0.23.1" + conditions: os=linux & cpu=ia32 languageName: node linkType: hard @@ -3006,10 +3048,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-mips64el@npm:0.19.12" - conditions: os=linux & cpu=mips64el +"@esbuild/linux-loong64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-loong64@npm:0.23.1" + conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -3020,10 +3062,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-ppc64@npm:0.19.12" - conditions: os=linux & cpu=ppc64 +"@esbuild/linux-mips64el@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-mips64el@npm:0.23.1" + conditions: os=linux & cpu=mips64el languageName: node linkType: hard @@ -3034,10 +3076,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-riscv64@npm:0.19.12" - conditions: os=linux & cpu=riscv64 +"@esbuild/linux-ppc64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-ppc64@npm:0.23.1" + conditions: os=linux & cpu=ppc64 languageName: node linkType: hard @@ -3048,10 +3090,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-s390x@npm:0.19.12" - conditions: os=linux & cpu=s390x +"@esbuild/linux-riscv64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-riscv64@npm:0.23.1" + conditions: os=linux & cpu=riscv64 languageName: node linkType: hard @@ -3062,10 +3104,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-x64@npm:0.19.12" - conditions: os=linux & cpu=x64 +"@esbuild/linux-s390x@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-s390x@npm:0.23.1" + conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -3076,10 +3118,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/netbsd-x64@npm:0.19.12" - conditions: os=netbsd & cpu=x64 +"@esbuild/linux-x64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/linux-x64@npm:0.23.1" + conditions: os=linux & cpu=x64 languageName: node linkType: hard @@ -3090,10 +3132,17 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/openbsd-x64@npm:0.19.12" - conditions: os=openbsd & cpu=x64 +"@esbuild/netbsd-x64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/netbsd-x64@npm:0.23.1" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/openbsd-arm64@npm:0.23.1" + conditions: os=openbsd & cpu=arm64 languageName: node linkType: hard @@ -3104,10 +3153,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/sunos-x64@npm:0.19.12" - conditions: os=sunos & cpu=x64 +"@esbuild/openbsd-x64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/openbsd-x64@npm:0.23.1" + conditions: os=openbsd & cpu=x64 languageName: node linkType: hard @@ -3118,10 +3167,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-arm64@npm:0.19.12" - conditions: os=win32 & cpu=arm64 +"@esbuild/sunos-x64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/sunos-x64@npm:0.23.1" + conditions: os=sunos & cpu=x64 languageName: node linkType: hard @@ -3132,10 +3181,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-ia32@npm:0.19.12" - conditions: os=win32 & cpu=ia32 +"@esbuild/win32-arm64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/win32-arm64@npm:0.23.1" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -3146,10 +3195,10 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-x64@npm:0.19.12" - conditions: os=win32 & cpu=x64 +"@esbuild/win32-ia32@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/win32-ia32@npm:0.23.1" + conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -3160,7 +3209,14 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0": +"@esbuild/win32-x64@npm:0.23.1": + version: 0.23.1 + resolution: "@esbuild/win32-x64@npm:0.23.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" dependencies: @@ -3171,41 +3227,75 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.6.1": - version: 4.10.0 - resolution: "@eslint-community/regexpp@npm:4.10.0" - checksum: 10/8c36169c815fc5d726078e8c71a5b592957ee60d08c6470f9ce0187c8046af1a00afbda0a065cc40ff18d5d83f82aed9793c6818f7304a74a7488dc9f3ecbd42 +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.11.0": + version: 4.11.1 + resolution: "@eslint-community/regexpp@npm:4.11.1" + checksum: 10/934b6d3588c7f16b18d41efec4fdb89616c440b7e3256b8cb92cfd31ae12908600f2b986d6c1e61a84cbc10256b1dd3448cd1eec79904bd67ac365d0f1aba2e2 + languageName: node + linkType: hard + +"@eslint/config-array@npm:^0.18.0": + version: 0.18.0 + resolution: "@eslint/config-array@npm:0.18.0" + dependencies: + "@eslint/object-schema": "npm:^2.1.4" + debug: "npm:^4.3.1" + minimatch: "npm:^3.1.2" + checksum: 10/60ccad1eb4806710b085cd739568ec7afd289ee5af6ca0383f0876f9fe375559ef525f7b3f86bdb3f961493de952f2cf3ab4aa4a6ccaef0ae3cd688267cabcb3 languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" +"@eslint/core@npm:^0.6.0": + version: 0.6.0 + resolution: "@eslint/core@npm:0.6.0" + checksum: 10/ec5cce168c8773fbd60c5a505563c6cf24398b3e1fa352929878d63129e0dd5b134d3232be2f2c49e8124a965d03359b38962aa0dcf7dfaf50746059d2a2f798 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^3.1.0": + version: 3.1.0 + resolution: "@eslint/eslintrc@npm:3.1.0" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" + espree: "npm:^10.0.1" + globals: "npm:^14.0.0" ignore: "npm:^5.2.0" import-fresh: "npm:^3.2.1" js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 10/7a3b14f4b40fc1a22624c3f84d9f467a3d9ea1ca6e9a372116cb92507e485260359465b58e25bcb6c9981b155416b98c9973ad9b796053fd7b3f776a6946bce8 + checksum: 10/02bf892d1397e1029209dea685e9f4f87baf643315df2a632b5f121ec7e8548a3b34f428a007234fa82772218fa8a3ac2d10328637b9ce63b7f8344035b74db3 languageName: node linkType: hard -"@eslint/js@npm:8.57.0": - version: 8.57.0 - resolution: "@eslint/js@npm:8.57.0" - checksum: 10/3c501ce8a997cf6cbbaf4ed358af5492875e3550c19b9621413b82caa9ae5382c584b0efa79835639e6e0ddaa568caf3499318e5bdab68643ef4199dce5eb0a0 +"@eslint/js@npm:9.12.0": + version: 9.12.0 + resolution: "@eslint/js@npm:9.12.0" + checksum: 10/c4ec9f7ff664f778324002bccdfd63e4a563018e4d7efc838d8149898f9df8649fbc51a379c3d7deea40da4fba9e8e62f39f2df3ff2b9616e2241bbfc10456b0 languageName: node linkType: hard -"@faker-js/faker@npm:6.3.1": - version: 6.3.1 - resolution: "@faker-js/faker@npm:6.3.1" - checksum: 10/d6731c48f8fbe657c69ec8a1329f5dbb9e5a79f0b0e16fdf026a4cf0dbe14948ee9ed94fe801e6c845ed9bed214cab36901a7d52868f991b4efab8be64bbbbca +"@eslint/object-schema@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/object-schema@npm:2.1.4" + checksum: 10/221e8d9f281c605948cd6e030874aacce83fe097f8f9c1964787037bccf08e82b7aa9eff1850a30fffac43f1d76555727ec22a2af479d91e268e89d1e035131e + languageName: node + linkType: hard + +"@eslint/plugin-kit@npm:^0.2.0": + version: 0.2.0 + resolution: "@eslint/plugin-kit@npm:0.2.0" + dependencies: + levn: "npm:^0.4.1" + checksum: 10/ebb363174397341dea47dc35fc206e24328083e4f0fa1c539687dbb7f94bef77e43faa12867d032e6eea5ac980ea8fbb6b1d844186e422d327c04088041b99f3 + languageName: node + linkType: hard + +"@faker-js/faker@npm:9.0.3": + version: 9.0.3 + resolution: "@faker-js/faker@npm:9.0.3" + checksum: 10/60ea71c31d6bd6317184736de17daee415e229cab5e10a4146a19622f3eb22f49f42345ff339dc9261f0214ca1f9b019c63fd9aac842a2d359f135102788ec90 languageName: node linkType: hard @@ -3236,6 +3326,26 @@ __metadata: languageName: node linkType: hard +"@formio/core@npm:2.2.3": + version: 2.2.3 + resolution: "@formio/core@npm:2.2.3" + dependencies: + "@types/json-logic-js": "npm:^2.0.7" + browser-cookies: "npm:^1.2.0" + core-js: "npm:^3.37.1" + dayjs: "npm:^1.11.11" + dompurify: "npm:^3.1.4" + eventemitter3: "npm:^5.0.0" + fast-json-patch: "npm:^3.1.1" + fetch-ponyfill: "npm:^7.1.0" + inputmask: "npm:5.0.8" + json-logic-js: "npm:^2.0.2" + lodash: "npm:^4.17.21" + moment: "npm:^2.29.4" + checksum: 10/d9d61b68153ef252ac30195a51e6f5e9ee71930299a1c07909f097282e90415c3e983f6ae8f707e7c0e1329f5f147ae975d8df19ff3848811cc5ab8cbda53f38 + languageName: node + linkType: hard + "@formio/node-fetch-http-proxy@npm:^1.1.0": version: 1.1.0 resolution: "@formio/node-fetch-http-proxy@npm:1.1.0" @@ -3269,7 +3379,27 @@ __metadata: languageName: node linkType: hard -"@gar/promisify@npm:^1.0.1, @gar/promisify@npm:^1.1.3": +"@formio/vm@npm:0.2.5": + version: 0.2.5 + resolution: "@formio/vm@npm:0.2.5" + dependencies: + "@formio/core": "npm:2.2.3" + debug: "npm:^4.3.4" + dotenv: "npm:^16.3.1" + express: "npm:^4.18.2" + formiojs: "npm:4.21.4" + inputmask: "npm:^5.0.8" + isolated-vm: "npm:^4.6.0" + lodash: "npm:^4.17.21" + moment: "npm:^2.29.4" + moment-timezone: "npm:^0.5.43" + nunjucks: "npm:^3.2.4" + nunjucks-date-filter: "npm:^0.1.1" + checksum: 10/eace24676b1ffe392f3f38cb2fc0b015afcc786c75212c13ec79447f8d939dde31b2f5296f3db04d39c9d76a1d17c809e18fbc4dc0454865bb4e9bb2913fef64 + languageName: node + linkType: hard + +"@gar/promisify@npm:^1.0.1": version: 1.1.3 resolution: "@gar/promisify@npm:1.1.3" checksum: 10/052dd232140fa60e81588000cbe729a40146579b361f1070bce63e2a761388a22a16d00beeffc504bd3601cb8e055c57b21a185448b3ed550cf50716f4fd442e @@ -3285,54 +3415,72 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/merge@npm:8.2.6": - version: 8.2.6 - resolution: "@graphql-tools/merge@npm:8.2.6" +"@graphql-tools/merge@npm:^8.4.1": + version: 8.4.2 + resolution: "@graphql-tools/merge@npm:8.4.2" dependencies: - "@graphql-tools/utils": "npm:8.6.5" - tslib: "npm:~2.3.0" + "@graphql-tools/utils": "npm:^9.2.1" + tslib: "npm:^2.4.0" peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10/30b7fa60d8a7a2d0025d085fc166ed0fc0797897d2e45f0866094a11c6c8db52423572a1415bf9ce0feb1fd5cd6b5bb8b338ffb80d74c651c127e911b7e0fbb8 + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10/62a4e93812e11d083c17f7763f4333a29dbe99fddbff705ff5942a0bdbb9dcd14f668bd76bd3edda485534d5d1a7f09bac311b979196b6149df11d8968a83723 languageName: node linkType: hard -"@graphql-tools/mock@npm:^8.1.2": - version: 8.6.4 - resolution: "@graphql-tools/mock@npm:8.6.4" +"@graphql-tools/schema@npm:^9.0.0": + version: 9.0.19 + resolution: "@graphql-tools/schema@npm:9.0.19" dependencies: - "@graphql-tools/schema": "npm:8.3.6" - "@graphql-tools/utils": "npm:8.6.5" - fast-json-stable-stringify: "npm:^2.1.0" - tslib: "npm:~2.3.0" + "@graphql-tools/merge": "npm:^8.4.1" + "@graphql-tools/utils": "npm:^9.2.1" + tslib: "npm:^2.4.0" + value-or-promise: "npm:^1.0.12" peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10/dac1e4a5dd42f8e470fdb58c4fac36443b0c94fe2df16bcbc6e8c9395340bd457e55939d1026fbbf82f4b90c470a46fd203606003d57dd874aaf7db0b764db30 + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10/762811fe08ec67000b190305783677ea086e6b300a1882f46b804bdf790e32de986bef7bbd574ddd4114393ca9b97422cc604390652537d4595eba7dde825259 languageName: node linkType: hard -"@graphql-tools/schema@npm:8.3.6, @graphql-tools/schema@npm:^8.0.0": - version: 8.3.6 - resolution: "@graphql-tools/schema@npm:8.3.6" +"@graphql-tools/utils@npm:^9.2.1": + version: 9.2.1 + resolution: "@graphql-tools/utils@npm:9.2.1" dependencies: - "@graphql-tools/merge": "npm:8.2.6" - "@graphql-tools/utils": "npm:8.6.5" - tslib: "npm:~2.3.0" - value-or-promise: "npm:1.0.11" + "@graphql-typed-document-node/core": "npm:^3.1.1" + tslib: "npm:^2.4.0" peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10/701d52df79e0ba604592b2a51b76c08f9bddb1e12fe1d27e2a2a41438f20bea56c0c702852d3382997b4a524a946f411682a50b5742da493b0e4f775b371e789 + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10/b1665043c2180a74d1e071f9f495ce16b2f46eeed1b319a290ae58f699629fe0a47b619c4f9be89135ff20b1c34fe6cc27e86570cf1e2cff07d3ae204f3d170d languageName: node linkType: hard -"@graphql-tools/utils@npm:8.6.5": - version: 8.6.5 - resolution: "@graphql-tools/utils@npm:8.6.5" - dependencies: - tslib: "npm:~2.3.0" +"@graphql-typed-document-node/core@npm:^3.1.1": + version: 3.2.0 + resolution: "@graphql-typed-document-node/core@npm:3.2.0" peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 10/7d3435c494419a4298bdb8163b8ad9badd9c099d62df23cfd7d3744324db61aadb6c7f7a0bb4c9b6041355fb77e0b65b280e69d1559ef4fd8cf90bdaab31b2bb + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + checksum: 10/fa44443accd28c8cf4cb96aaaf39d144a22e8b091b13366843f4e97d19c7bfeaf609ce3c7603a4aeffe385081eaf8ea245d078633a7324c11c5ec4b2011bb76d + languageName: node + linkType: hard + +"@graphql-yoga/subscription@npm:5.0.1, @graphql-yoga/subscription@npm:^5.0.0": + version: 5.0.1 + resolution: "@graphql-yoga/subscription@npm:5.0.1" + dependencies: + "@graphql-yoga/typed-event-target": "npm:^3.0.0" + "@repeaterjs/repeater": "npm:^3.0.4" + "@whatwg-node/events": "npm:^0.1.0" + tslib: "npm:^2.5.2" + checksum: 10/cd95a33a40525c93607b4e0d91d74b06847649c204ece1949a20bd9e0ec7db28170233a59b2aea1a0373333386efd067b9ec30010130da52ecb10a1ea03fc6c1 + languageName: node + linkType: hard + +"@graphql-yoga/typed-event-target@npm:^3.0.0": + version: 3.0.0 + resolution: "@graphql-yoga/typed-event-target@npm:3.0.0" + dependencies: + "@repeaterjs/repeater": "npm:^3.0.4" + tslib: "npm:^2.5.2" + checksum: 10/0101e71658b519e935bcfc439f9a9db401d2ac17cacfa893a5cb15de947f1962ea84c3ebc89a88dc91f7f1030a758595c20903fa1d3b685c854723688f3a4a08 languageName: node linkType: hard @@ -3360,14 +3508,20 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.14": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" +"@humanfs/core@npm:^0.19.0": + version: 0.19.0 + resolution: "@humanfs/core@npm:0.19.0" + checksum: 10/9c4f96b9e934b7d2f69c5ee8b9414dcaf5c5a03225eb08f8ace3b80429c0fc796e11c4e2ef182172790e7b4560b1137ef984da4dc9662cdd5e3e92baceb02821 + languageName: node + linkType: hard + +"@humanfs/node@npm:^0.16.5": + version: 0.16.5 + resolution: "@humanfs/node@npm:0.16.5" dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10/3ffb24ecdfab64014a230e127118d50a1a04d11080cbb748bc21629393d100850496456bbcb4e8c438957fe0934430d731042f1264d6a167b62d32fc2863580a + "@humanfs/core": "npm:^0.19.0" + "@humanwhocodes/retry": "npm:^0.3.0" + checksum: 10/16e49b5f9d4a3cf8205af18f0909b8c6e00faa70a0e01bc606b413423ee20123e53028b6ca22c57725595341d62e148cd1908c297a761ee495087cc674f7b0a6 languageName: node linkType: hard @@ -3378,14 +3532,21 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.2": - version: 2.0.2 - resolution: "@humanwhocodes/object-schema@npm:2.0.2" - checksum: 10/ef915e3e2f34652f3d383b28a9a99cfea476fa991482370889ab14aac8ecd2b38d47cc21932526c6d949da0daf4a4a6bf629d30f41b0caca25e146819cbfa70e +"@humanwhocodes/retry@npm:^0.3.0": + version: 0.3.0 + resolution: "@humanwhocodes/retry@npm:0.3.0" + checksum: 10/e574bab58680867414e225c9002e9a97eb396f85871c180fbb1a9bcdf9ded4b4de0b327f7d0c43b775873362b7c92956d4b322e8bc4b90be56077524341f04b2 languageName: node linkType: hard -"@hutson/parse-repository-url@npm:^3.0.0": +"@humanwhocodes/retry@npm:^0.3.1": + version: 0.3.1 + resolution: "@humanwhocodes/retry@npm:0.3.1" + checksum: 10/eb457f699529de7f07649679ec9e0353055eebe443c2efe71c6dd950258892475a038e13c6a8c5e13ed1fb538cdd0a8794faa96b24b6ffc4c87fb1fc9f70ad7f + languageName: node + linkType: hard + +"@hutson/parse-repository-url@npm:^3.0.0": version: 3.0.2 resolution: "@hutson/parse-repository-url@npm:3.0.2" checksum: 10/dae0656f2e77315a3027ab9ca438ed344bf78a5fda7b145f65a1fface20dfb17e94e1d31e146c8b76de4657c21020aabc72dc53b53941c9f5fe2c27416559283 @@ -3427,19 +3588,6 @@ __metadata: languageName: node linkType: hard -"@istanbuljs/load-nyc-config@npm:^1.0.0": - version: 1.1.0 - resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" - dependencies: - camelcase: "npm:^5.3.1" - find-up: "npm:^4.1.0" - get-package-type: "npm:^0.1.0" - js-yaml: "npm:^3.13.1" - resolve-from: "npm:^5.0.0" - checksum: 10/b000a5acd8d4fe6e34e25c399c8bdbb5d3a202b4e10416e17bfc25e12bab90bb56d33db6089ae30569b52686f4b35ff28ef26e88e21e69821d2b85884bd055b8 - languageName: node - linkType: hard - "@istanbuljs/schema@npm:^0.1.2": version: 0.1.3 resolution: "@istanbuljs/schema@npm:0.1.3" @@ -3474,17 +3622,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.2": - version: 0.3.3 - resolution: "@jridgewell/gen-mapping@npm:0.3.3" - dependencies: - "@jridgewell/set-array": "npm:^1.0.1" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 10/072ace159c39ab85944bdabe017c3de15c5e046a4a4a772045b00ff05e2ebdcfa3840b88ae27e897d473eb4d4845b37be3c78e28910c779f5aeeeae2fb7f0cc2 - languageName: node - linkType: hard - "@jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.5 resolution: "@jridgewell/gen-mapping@npm:0.3.5" @@ -3524,13 +3661,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.0.1": - version: 1.1.2 - resolution: "@jridgewell/set-array@npm:1.1.2" - checksum: 10/69a84d5980385f396ff60a175f7177af0b8da4ddb81824cb7016a9ef914eee9806c72b6b65942003c63f7983d4f39a5c6c27185bbca88eb4690b62075602e28e - languageName: node - linkType: hard - "@jridgewell/set-array@npm:^1.2.1": version: 1.2.1 resolution: "@jridgewell/set-array@npm:1.2.1" @@ -3586,16 +3716,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.0, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.13 - resolution: "@jridgewell/trace-mapping@npm:0.3.13" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.0.3" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - checksum: 10/b563ad016492becc14ec1df0edc0276087049df6974d95594ec2e5215d8ec241159d7f4aecb4e2197154732ba97982988e9accbaf496bc365fbb4506b67929f9 - languageName: node - linkType: hard - "@jridgewell/trace-mapping@npm:^0.3.14": version: 0.3.17 resolution: "@jridgewell/trace-mapping@npm:0.3.17" @@ -3606,16 +3726,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.17": - version: 0.3.19 - resolution: "@jridgewell/trace-mapping@npm:0.3.19" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.1.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10/06a2a4e26e3cc369c41144fad7cbee29ba9ea6aca85acc565ec8f2110e298fdbf93986e17da815afae94539dcc03115cdbdbb575d3bea356e167da6987531e4d - languageName: node - linkType: hard - "@jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" @@ -3626,6 +3736,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.13 + resolution: "@jridgewell/trace-mapping@npm:0.3.13" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.0.3" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + checksum: 10/b563ad016492becc14ec1df0edc0276087049df6974d95594ec2e5215d8ec241159d7f4aecb4e2197154732ba97982988e9accbaf496bc365fbb4506b67929f9 + languageName: node + linkType: hard + "@jsdevtools/ono@npm:^7.1.3": version: 7.1.3 resolution: "@jsdevtools/ono@npm:7.1.3" @@ -3642,15 +3762,6 @@ __metadata: languageName: node linkType: hard -"@koa/cors@npm:^3.1.0": - version: 3.3.0 - resolution: "@koa/cors@npm:3.3.0" - dependencies: - vary: "npm:^1.1.2" - checksum: 10/dab247bd6c6a5453f7b76f43ad97c968d5ae8ea53472359586965f628ca6100655372c9f10ce41b25351521998e6e9009402428f0d3396deabd936a7d3edb287 - languageName: node - linkType: hard - "@koa/router@npm:^12.0.1": version: 12.0.1 resolution: "@koa/router@npm:12.0.1" @@ -3664,6 +3775,17 @@ __metadata: languageName: node linkType: hard +"@koa/router@npm:^13.1.0": + version: 13.1.0 + resolution: "@koa/router@npm:13.1.0" + dependencies: + http-errors: "npm:^2.0.0" + koa-compose: "npm:^4.1.0" + path-to-regexp: "npm:^6.3.0" + checksum: 10/b5de0745b266dd8cda5873ace9594ca4b020ef6fe0e94e1de81f11a7498d0fcc106c8d972513ad52493b196b5e111ed1d07b318cf4ca4156b85a99ea5d3a3f98 + languageName: node + linkType: hard + "@leichtgewicht/ip-codec@npm:^2.0.1": version: 2.0.4 resolution: "@leichtgewicht/ip-codec@npm:2.0.4" @@ -3671,87 +3793,82 @@ __metadata: languageName: node linkType: hard -"@lerna/child-process@npm:7.4.2": - version: 7.4.2 - resolution: "@lerna/child-process@npm:7.4.2" +"@lerna/create@npm:8.1.8": + version: 8.1.8 + resolution: "@lerna/create@npm:8.1.8" dependencies: - chalk: "npm:^4.1.0" - execa: "npm:^5.0.0" - strong-log-transformer: "npm:^2.1.0" - checksum: 10/0ddd978006f2de49345c0cb8c64952944d9e02ca5f9ac82c272fd7ace2c9733bdfdc6dea8b5d21320f38f915330389be5bd65356eb197a3256796856ecefdf59 - languageName: node - linkType: hard - -"@lerna/create@npm:7.4.2": - version: 7.4.2 - resolution: "@lerna/create@npm:7.4.2" - dependencies: - "@lerna/child-process": "npm:7.4.2" - "@npmcli/run-script": "npm:6.0.2" - "@nx/devkit": "npm:>=16.5.1 < 17" + "@npmcli/arborist": "npm:7.5.4" + "@npmcli/package-json": "npm:5.2.0" + "@npmcli/run-script": "npm:8.1.0" + "@nx/devkit": "npm:>=17.1.2 < 20" "@octokit/plugin-enterprise-rest": "npm:6.0.1" "@octokit/rest": "npm:19.0.11" + aproba: "npm:2.0.0" byte-size: "npm:8.1.1" chalk: "npm:4.1.0" clone-deep: "npm:4.0.1" - cmd-shim: "npm:6.0.1" + cmd-shim: "npm:6.0.3" + color-support: "npm:1.1.3" columnify: "npm:1.6.0" + console-control-strings: "npm:^1.1.0" conventional-changelog-core: "npm:5.0.1" conventional-recommended-bump: "npm:7.0.1" cosmiconfig: "npm:^8.2.0" - dedent: "npm:0.7.0" + dedent: "npm:1.5.3" execa: "npm:5.0.0" - fs-extra: "npm:^11.1.1" + fs-extra: "npm:^11.2.0" get-stream: "npm:6.0.0" - git-url-parse: "npm:13.1.0" - glob-parent: "npm:5.1.2" + git-url-parse: "npm:14.0.0" + glob-parent: "npm:6.0.2" globby: "npm:11.1.0" graceful-fs: "npm:4.2.11" has-unicode: "npm:2.0.1" ini: "npm:^1.3.8" - init-package-json: "npm:5.0.0" + init-package-json: "npm:6.0.3" inquirer: "npm:^8.2.4" is-ci: "npm:3.0.1" is-stream: "npm:2.0.0" js-yaml: "npm:4.1.0" - libnpmpublish: "npm:7.3.0" + libnpmpublish: "npm:9.0.9" load-json-file: "npm:6.2.0" lodash: "npm:^4.17.21" make-dir: "npm:4.0.0" minimatch: "npm:3.0.5" multimatch: "npm:5.0.0" node-fetch: "npm:2.6.7" - npm-package-arg: "npm:8.1.1" - npm-packlist: "npm:5.1.1" - npm-registry-fetch: "npm:^14.0.5" - npmlog: "npm:^6.0.2" - nx: "npm:>=16.5.1 < 17" + npm-package-arg: "npm:11.0.2" + npm-packlist: "npm:8.0.2" + npm-registry-fetch: "npm:^17.1.0" + nx: "npm:>=17.1.2 < 20" p-map: "npm:4.0.0" p-map-series: "npm:2.1.0" p-queue: "npm:6.6.2" p-reduce: "npm:^2.1.0" - pacote: "npm:^15.2.0" + pacote: "npm:^18.0.6" pify: "npm:5.0.0" read-cmd-shim: "npm:4.0.0" - read-package-json: "npm:6.0.4" resolve-from: "npm:5.0.0" rimraf: "npm:^4.4.1" semver: "npm:^7.3.4" + set-blocking: "npm:^2.0.0" signal-exit: "npm:3.0.7" slash: "npm:^3.0.0" - ssri: "npm:^9.0.1" + ssri: "npm:^10.0.6" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" strong-log-transformer: "npm:2.1.0" - tar: "npm:6.1.11" + tar: "npm:6.2.1" temp-dir: "npm:1.0.0" upath: "npm:2.0.1" - uuid: "npm:^9.0.0" + uuid: "npm:^10.0.0" validate-npm-package-license: "npm:^3.0.4" - validate-npm-package-name: "npm:5.0.0" + validate-npm-package-name: "npm:5.0.1" + wide-align: "npm:1.1.5" write-file-atomic: "npm:5.0.1" write-pkg: "npm:4.0.0" - yargs: "npm:16.2.0" - yargs-parser: "npm:20.2.4" - checksum: 10/9547dd89ee2eab376ef1360e576ae528751aa8c8ddb32ca4a900337579971d219395722709f76076a6d79a669467c0912fe4b901a1b6105d6e98500e3da0efab + yargs: "npm:17.7.2" + yargs-parser: "npm:21.1.1" + checksum: 10/810df5d35303882f84585be5360b248cec2d339df90bd594231ef2276cc5d2f633b264ae3221b0d2fa0611eeca86ae00cf8c184f79a1fab46ab0663a039a010b languageName: node linkType: hard @@ -3764,83 +3881,30 @@ __metadata: languageName: node linkType: hard -"@microsoft/api-extractor-model@npm:7.29.4": - version: 7.29.4 - resolution: "@microsoft/api-extractor-model@npm:7.29.4" - dependencies: - "@microsoft/tsdoc": "npm:~0.15.0" - "@microsoft/tsdoc-config": "npm:~0.17.0" - "@rushstack/node-core-library": "npm:5.5.1" - checksum: 10/50bd4e58bfe9d43e0ca4a72324601ce17c015e517b0803bb787d1067bef9372a23bbbf2551f47d1c5a7fef742826ffa18aea43b96c823b82c07f745e3ea25657 - languageName: node - linkType: hard - -"@microsoft/api-extractor@npm:7.47.4": - version: 7.47.4 - resolution: "@microsoft/api-extractor@npm:7.47.4" - dependencies: - "@microsoft/api-extractor-model": "npm:7.29.4" - "@microsoft/tsdoc": "npm:~0.15.0" - "@microsoft/tsdoc-config": "npm:~0.17.0" - "@rushstack/node-core-library": "npm:5.5.1" - "@rushstack/rig-package": "npm:0.5.3" - "@rushstack/terminal": "npm:0.13.3" - "@rushstack/ts-command-line": "npm:4.22.3" - lodash: "npm:~4.17.15" - minimatch: "npm:~3.0.3" - resolve: "npm:~1.22.1" - semver: "npm:~7.5.4" - source-map: "npm:~0.6.1" - typescript: "npm:5.4.2" - bin: - api-extractor: bin/api-extractor - checksum: 10/e7be27981cc4ba34d3fcc694d044bb952835d77ab908ce1d528cd76d7100cee33137c0d13257332dd12e07dae1d0937f0f5218348f3c9f7b2258dda89dce47cc - languageName: node - linkType: hard - -"@microsoft/tsdoc-config@npm:~0.17.0": - version: 0.17.0 - resolution: "@microsoft/tsdoc-config@npm:0.17.0" - dependencies: - "@microsoft/tsdoc": "npm:0.15.0" - ajv: "npm:~8.12.0" - jju: "npm:~1.4.0" - resolve: "npm:~1.22.2" - checksum: 10/6e20f9b917d20e517b6752cbb46c84ccc4c8be7ce82d7424e413bd7111a2f1497714a72e61ac1a96df97d0050cb98b3a53006316eeb0cfea9bb6d7131432c7a8 - languageName: node - linkType: hard - -"@microsoft/tsdoc@npm:0.15.0, @microsoft/tsdoc@npm:~0.15.0": - version: 0.15.0 - resolution: "@microsoft/tsdoc@npm:0.15.0" - checksum: 10/fd025e5e3966248cd5477b9ddad4e9aa0dd69291f372a207f18a686b3097dcf5ecf38325caf0f4ad2697f1f39fd45b536e4ada6756008b8bcc5eccbc3201313d - languageName: node - linkType: hard - -"@mikro-orm/core@npm:6.2.2": - version: 6.2.2 - resolution: "@mikro-orm/core@npm:6.2.2" +"@mikro-orm/core@npm:6.3.12": + version: 6.3.12 + resolution: "@mikro-orm/core@npm:6.3.12" dependencies: dataloader: "npm:2.2.2" dotenv: "npm:16.4.5" esprima: "npm:4.0.1" fs-extra: "npm:11.2.0" globby: "npm:11.1.0" - mikro-orm: "npm:6.2.2" + mikro-orm: "npm:6.3.12" reflect-metadata: "npm:0.2.2" - checksum: 10/d9cdabccde53d11cf35d7f8d65141e7aecda6017dfe19facbaeebcbdcccd4dc0d9c30c9245eed15e9bb6c771d55c892754838cd16e25c75bbb648b472fee6b6a + checksum: 10/ab33c4f6819d87bb819c4a34f545fed6bcc40779b81e0776b74a625501042323ad8c7f2a6f85fb7e0ec3858260ba06e334ca234ae4fb714762956754fce4ee16 languageName: node linkType: hard -"@mikro-orm/mongodb@npm:6.2.2": - version: 6.2.2 - resolution: "@mikro-orm/mongodb@npm:6.2.2" +"@mikro-orm/mongodb@npm:6.3.12": + version: 6.3.12 + resolution: "@mikro-orm/mongodb@npm:6.3.12" dependencies: - bson: "npm:^6.4.0" - mongodb: "npm:6.5.0" + bson: "npm:^6.7.0" + mongodb: "npm:6.9.0" peerDependencies: "@mikro-orm/core": ^6.0.0 - checksum: 10/daa213055644ac478f9de41e3fa23179309095c636df84b50056026af0ee3e73670d6e33588ae48d77ca22683c68a6eddea9c2556aad1ca2ee099154b48d94cc + checksum: 10/083455c9ec86e9ced50e4d50234fbe51a3935fef4949ed8346a24adadd37561ecb2bd6fc53410200cf75c3656eb4abb1c1c5d789a7b8932b2a34171c5a50e6c7 languageName: node linkType: hard @@ -3914,6 +3978,17 @@ __metadata: languageName: node linkType: hard +"@napi-rs/wasm-runtime@npm:0.2.4, @napi-rs/wasm-runtime@npm:^0.2.4": + version: 0.2.4 + resolution: "@napi-rs/wasm-runtime@npm:0.2.4" + dependencies: + "@emnapi/core": "npm:^1.1.0" + "@emnapi/runtime": "npm:^1.1.0" + "@tybys/wasm-util": "npm:^0.9.0" + checksum: 10/af335867eca9696b0dbb1b8439878e0408a853c42419cd71d2c5dcf9f7c9f6a8549ea88b3a31b9544bb3a9376e5742f3268e58ee066925d3726bd76a121eb8a6 + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -3938,7 +4013,7 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": +"@nodelib/fs.walk@npm:^1.2.3": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: @@ -3961,6 +4036,51 @@ __metadata: languageName: node linkType: hard +"@npmcli/arborist@npm:7.5.4": + version: 7.5.4 + resolution: "@npmcli/arborist@npm:7.5.4" + dependencies: + "@isaacs/string-locale-compare": "npm:^1.1.0" + "@npmcli/fs": "npm:^3.1.1" + "@npmcli/installed-package-contents": "npm:^2.1.0" + "@npmcli/map-workspaces": "npm:^3.0.2" + "@npmcli/metavuln-calculator": "npm:^7.1.1" + "@npmcli/name-from-folder": "npm:^2.0.0" + "@npmcli/node-gyp": "npm:^3.0.0" + "@npmcli/package-json": "npm:^5.1.0" + "@npmcli/query": "npm:^3.1.0" + "@npmcli/redact": "npm:^2.0.0" + "@npmcli/run-script": "npm:^8.1.0" + bin-links: "npm:^4.0.4" + cacache: "npm:^18.0.3" + common-ancestor-path: "npm:^1.0.1" + hosted-git-info: "npm:^7.0.2" + json-parse-even-better-errors: "npm:^3.0.2" + json-stringify-nice: "npm:^1.1.4" + lru-cache: "npm:^10.2.2" + minimatch: "npm:^9.0.4" + nopt: "npm:^7.2.1" + npm-install-checks: "npm:^6.2.0" + npm-package-arg: "npm:^11.0.2" + npm-pick-manifest: "npm:^9.0.1" + npm-registry-fetch: "npm:^17.0.1" + pacote: "npm:^18.0.6" + parse-conflict-json: "npm:^3.0.0" + proc-log: "npm:^4.2.0" + proggy: "npm:^2.0.0" + promise-all-reject-late: "npm:^1.0.0" + promise-call-limit: "npm:^3.0.1" + read-package-json-fast: "npm:^3.0.2" + semver: "npm:^7.3.7" + ssri: "npm:^10.0.6" + treeverse: "npm:^3.0.0" + walk-up-path: "npm:^3.0.1" + bin: + arborist: bin/index.js + checksum: 10/b77170754f419171e5ca2abfb679a9c811443e2b67036916a62eda81fd069f12c98186941cd73a0d36c2ec76cda638b43ceeb4c5fae39de1bb9df825432f3ef7 + languageName: node + linkType: hard + "@npmcli/arborist@npm:^7.2.1": version: 7.3.1 resolution: "@npmcli/arborist@npm:7.3.1" @@ -4039,16 +4159,6 @@ __metadata: languageName: node linkType: hard -"@npmcli/fs@npm:^2.1.0": - version: 2.1.0 - resolution: "@npmcli/fs@npm:2.1.0" - dependencies: - "@gar/promisify": "npm:^1.1.3" - semver: "npm:^7.3.5" - checksum: 10/1fe97efb5c1250c5986b46b6c8256b1eab8159a6d50fc8ace9f90937b3195541272faf77f18bdbf5eeb89bab68332c7846ac5ab9337e6099e63c6007388ebe84 - languageName: node - linkType: hard - "@npmcli/fs@npm:^3.1.0": version: 3.1.0 resolution: "@npmcli/fs@npm:3.1.0" @@ -4058,19 +4168,12 @@ __metadata: languageName: node linkType: hard -"@npmcli/git@npm:^4.0.0": - version: 4.1.0 - resolution: "@npmcli/git@npm:4.1.0" +"@npmcli/fs@npm:^3.1.1": + version: 3.1.1 + resolution: "@npmcli/fs@npm:3.1.1" dependencies: - "@npmcli/promise-spawn": "npm:^6.0.0" - lru-cache: "npm:^7.4.4" - npm-pick-manifest: "npm:^8.0.0" - proc-log: "npm:^3.0.0" - promise-inflight: "npm:^1.0.1" - promise-retry: "npm:^2.0.1" semver: "npm:^7.3.5" - which: "npm:^3.0.0" - checksum: 10/33512ce12758d67c0322eca25019c4d5ef03e83f5829e09a05389af485bab216cc4df408b8eba98f2d12c119c6dff84f0d8ff25a1ac5d8a46184e55ae8f53754 + checksum: 10/1e0e04087049b24b38bc0b30d87a9388ee3ca1d3fdfc347c2f77d84fcfe6a51f250bc57ba2c1f614d7e4285c6c62bf8c769bc19aa0949ea39e5b043ee023b0bd languageName: node linkType: hard @@ -4102,6 +4205,18 @@ __metadata: languageName: node linkType: hard +"@npmcli/installed-package-contents@npm:^2.1.0": + version: 2.1.0 + resolution: "@npmcli/installed-package-contents@npm:2.1.0" + dependencies: + npm-bundled: "npm:^3.0.0" + npm-normalize-package-bin: "npm:^3.0.0" + bin: + installed-package-contents: bin/index.js + checksum: 10/68ab3ea2994f5ea21c61940de94ec4f2755fe569ef0b86e22db0695d651a3c88915c5eab61d634cfa203b9c801ee307c8aa134c2c4bd2e4fe1aa8d295ce8a163 + languageName: node + linkType: hard + "@npmcli/map-workspaces@npm:^3.0.2, @npmcli/map-workspaces@npm:^3.0.4": version: 3.0.4 resolution: "@npmcli/map-workspaces@npm:3.0.4" @@ -4126,23 +4241,26 @@ __metadata: languageName: node linkType: hard -"@npmcli/move-file@npm:^1.0.1": - version: 1.1.2 - resolution: "@npmcli/move-file@npm:1.1.2" +"@npmcli/metavuln-calculator@npm:^7.1.1": + version: 7.1.1 + resolution: "@npmcli/metavuln-calculator@npm:7.1.1" dependencies: - mkdirp: "npm:^1.0.4" - rimraf: "npm:^3.0.2" - checksum: 10/c96381d4a37448ea280951e46233f7e541058cf57a57d4094dd4bdcaae43fa5872b5f2eb6bfb004591a68e29c5877abe3cdc210cb3588cbf20ab2877f31a7de7 + cacache: "npm:^18.0.0" + json-parse-even-better-errors: "npm:^3.0.0" + pacote: "npm:^18.0.0" + proc-log: "npm:^4.1.0" + semver: "npm:^7.3.5" + checksum: 10/57163b4bde4af3f5badb0c9b0c868f9539e2a112ee73c606680b7548b148bf58e793952d74eb1e581c9cc2e630bc03bc60adc04b3f1e7960482f97af817f28d2 languageName: node linkType: hard -"@npmcli/move-file@npm:^2.0.0": - version: 2.0.0 - resolution: "@npmcli/move-file@npm:2.0.0" +"@npmcli/move-file@npm:^1.0.1": + version: 1.1.2 + resolution: "@npmcli/move-file@npm:1.1.2" dependencies: mkdirp: "npm:^1.0.4" rimraf: "npm:^3.0.2" - checksum: 10/1388777b507b0c592d53f41b9d182e1a8de7763bc625fc07999b8edbc22325f074e5b3ec90af79c89d6987fdb2325bc66d59f483258543c14a43661621f841b0 + checksum: 10/c96381d4a37448ea280951e46233f7e541058cf57a57d4094dd4bdcaae43fa5872b5f2eb6bfb004591a68e29c5877abe3cdc210cb3588cbf20ab2877f31a7de7 languageName: node linkType: hard @@ -4160,6 +4278,21 @@ __metadata: languageName: node linkType: hard +"@npmcli/package-json@npm:5.2.0": + version: 5.2.0 + resolution: "@npmcli/package-json@npm:5.2.0" + dependencies: + "@npmcli/git": "npm:^5.0.0" + glob: "npm:^10.2.2" + hosted-git-info: "npm:^7.0.0" + json-parse-even-better-errors: "npm:^3.0.0" + normalize-package-data: "npm:^6.0.0" + proc-log: "npm:^4.0.0" + semver: "npm:^7.5.3" + checksum: 10/c3d2218877bfc005bca3b7a11f53825bf16a68811b8e8ed0c9b219cceb8e8e646d70efab8c5d6decbd8007f286076468b3f456dab4d41d648aff73a5f3a6fce2 + languageName: node + linkType: hard + "@npmcli/package-json@npm:^5.0.0": version: 5.0.0 resolution: "@npmcli/package-json@npm:5.0.0" @@ -4175,12 +4308,18 @@ __metadata: languageName: node linkType: hard -"@npmcli/promise-spawn@npm:^6.0.0, @npmcli/promise-spawn@npm:^6.0.1": - version: 6.0.2 - resolution: "@npmcli/promise-spawn@npm:6.0.2" +"@npmcli/package-json@npm:^5.1.0": + version: 5.2.1 + resolution: "@npmcli/package-json@npm:5.2.1" dependencies: - which: "npm:^3.0.0" - checksum: 10/cc94a83ff1626ad93d42c2ea583dba1fb2d24cdab49caf0af77a3a0ff9bdbba34e09048b6821d4060ea7a58d4a41d49bece4ae3716929e2077c2fff0f5e94d94 + "@npmcli/git": "npm:^5.0.0" + glob: "npm:^10.2.2" + hosted-git-info: "npm:^7.0.0" + json-parse-even-better-errors: "npm:^3.0.0" + normalize-package-data: "npm:^6.0.0" + proc-log: "npm:^4.0.0" + semver: "npm:^7.5.3" + checksum: 10/304a819b93f79a6e0e56cb371961a66d2db72142e310d545ecbbbe4d917025a30601aa8e63a5f0cc28f0fe281c116bdaf79b334619b105a1d027a2b769ecd137 languageName: node linkType: hard @@ -4202,16 +4341,33 @@ __metadata: languageName: node linkType: hard -"@npmcli/run-script@npm:6.0.2, @npmcli/run-script@npm:^6.0.0": - version: 6.0.2 - resolution: "@npmcli/run-script@npm:6.0.2" +"@npmcli/query@npm:^3.1.0": + version: 3.1.0 + resolution: "@npmcli/query@npm:3.1.0" + dependencies: + postcss-selector-parser: "npm:^6.0.10" + checksum: 10/fa79ae317934c95d14b89cb149cb8eb0b2a4e611acf0661681cfa964bf9af6740f60efe095c8bb7e880398e0955666408cc8a3ffede90e87922cb81cce1efcdb + languageName: node + linkType: hard + +"@npmcli/redact@npm:^2.0.0": + version: 2.0.1 + resolution: "@npmcli/redact@npm:2.0.1" + checksum: 10/f19a521fa71b539707eee69106ed3d97e3047712d4f279c80007a8d0aef63d137e3062941f11e19d6cec03812eaa0872891ae20c84f603d9e021dfb93cc9d6e5 + languageName: node + linkType: hard + +"@npmcli/run-script@npm:8.1.0, @npmcli/run-script@npm:^8.0.0, @npmcli/run-script@npm:^8.1.0": + version: 8.1.0 + resolution: "@npmcli/run-script@npm:8.1.0" dependencies: "@npmcli/node-gyp": "npm:^3.0.0" - "@npmcli/promise-spawn": "npm:^6.0.0" - node-gyp: "npm:^9.0.0" - read-package-json-fast: "npm:^3.0.0" - which: "npm:^3.0.0" - checksum: 10/9b22c4c53d4b2e014e7f990cf2e1d32d1830c5629d37a4ee56011bcdfb51424ca8dc3fb3fa550b4abe7e8f0efdd68468d733b754db371b06a5dd300663cf13a2 + "@npmcli/package-json": "npm:^5.0.0" + "@npmcli/promise-spawn": "npm:^7.0.0" + node-gyp: "npm:^10.0.0" + proc-log: "npm:^4.0.0" + which: "npm:^4.0.0" + checksum: 10/256bd580f82b98db93e54065bf9bcc94946be4f2d668a062cf756cb8ea091f58ef7154b3d2450d79738081a150f25cc48f6075351911e672f24ffd34350f02f2 languageName: node linkType: hard @@ -4228,110 +4384,112 @@ __metadata: languageName: node linkType: hard -"@nrwl/devkit@npm:16.10.0": - version: 16.10.0 - resolution: "@nrwl/devkit@npm:16.10.0" +"@nrwl/devkit@npm:19.8.4": + version: 19.8.4 + resolution: "@nrwl/devkit@npm:19.8.4" dependencies: - "@nx/devkit": "npm:16.10.0" - checksum: 10/2727b9927f8a7f3561c5eae72d3ca91d3ff0ea7c47da1d096d1654c85763acd580bbabb182db9e6f4f5df93152ae0972a0df7393f2dbad9d17b68549af313769 + "@nx/devkit": "npm:19.8.4" + checksum: 10/bfbe6a6dd531e156040bd33c655a47561afa363e48f61f15a7c1d153d19c89fa4ac459db218328a5d515b3b6a091d7e15ca6eeed7046be0d69b77dbf1c793b8f languageName: node linkType: hard -"@nrwl/tao@npm:16.10.0": - version: 16.10.0 - resolution: "@nrwl/tao@npm:16.10.0" +"@nrwl/tao@npm:19.8.4": + version: 19.8.4 + resolution: "@nrwl/tao@npm:19.8.4" dependencies: - nx: "npm:16.10.0" + nx: "npm:19.8.4" tslib: "npm:^2.3.0" bin: tao: index.js - checksum: 10/df495b60f98112ffbeb19ae3d9385ecc18b3b9a2dbde1c50a91d5111408afba218c32ba55e6a3adf7c935262f4c18417672712e14185de2ec61beb5ef23186dc + checksum: 10/ab5f1d851479f80ba2f9f0a705ba3b2e8e80d2e5d2cf89c3ce1484f4ebd2d9fc19c44194f77e5ec4c786e362ad754c66dc3a0a52dda2b6fc33d48ab160f22163 languageName: node linkType: hard -"@nx/devkit@npm:16.10.0, @nx/devkit@npm:>=16.5.1 < 17": - version: 16.10.0 - resolution: "@nx/devkit@npm:16.10.0" +"@nx/devkit@npm:19.8.4, @nx/devkit@npm:>=17.1.2 < 20": + version: 19.8.4 + resolution: "@nx/devkit@npm:19.8.4" dependencies: - "@nrwl/devkit": "npm:16.10.0" + "@nrwl/devkit": "npm:19.8.4" ejs: "npm:^3.1.7" enquirer: "npm:~2.3.6" ignore: "npm:^5.0.4" - semver: "npm:7.5.3" + minimatch: "npm:9.0.3" + semver: "npm:^7.5.3" tmp: "npm:~0.2.1" tslib: "npm:^2.3.0" + yargs-parser: "npm:21.1.1" peerDependencies: - nx: ">= 15 <= 17" - checksum: 10/d703e74d8360395dcafdc531e81c25ac6bbe46142169a5185f841067336b7dadce7f2102cfc2ef1c1826e3f9b92ca5b740a62ca4c32064265494dcd5a359ee21 + nx: ">= 17 <= 20" + checksum: 10/901ce7e9bb5f69c20d47e8133aca93d3f94e0c7eb0ec76335ab665aa254c3e1b1c95f8e9cbe6fcab6b6bb536fdd07bc8ca6dde9021060cb8993fa91d265f560b languageName: node linkType: hard -"@nx/nx-darwin-arm64@npm:16.10.0": - version: 16.10.0 - resolution: "@nx/nx-darwin-arm64@npm:16.10.0" +"@nx/nx-darwin-arm64@npm:19.8.4": + version: 19.8.4 + resolution: "@nx/nx-darwin-arm64@npm:19.8.4" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@nx/nx-darwin-x64@npm:16.10.0": - version: 16.10.0 - resolution: "@nx/nx-darwin-x64@npm:16.10.0" +"@nx/nx-darwin-x64@npm:19.8.4": + version: 19.8.4 + resolution: "@nx/nx-darwin-x64@npm:19.8.4" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@nx/nx-freebsd-x64@npm:16.10.0": - version: 16.10.0 - resolution: "@nx/nx-freebsd-x64@npm:16.10.0" +"@nx/nx-freebsd-x64@npm:19.8.4": + version: 19.8.4 + resolution: "@nx/nx-freebsd-x64@npm:19.8.4" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@nx/nx-linux-arm-gnueabihf@npm:16.10.0": - version: 16.10.0 - resolution: "@nx/nx-linux-arm-gnueabihf@npm:16.10.0" +"@nx/nx-linux-arm-gnueabihf@npm:19.8.4": + version: 19.8.4 + resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.8.4" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@nx/nx-linux-arm64-gnu@npm:16.10.0": - version: 16.10.0 - resolution: "@nx/nx-linux-arm64-gnu@npm:16.10.0" +"@nx/nx-linux-arm64-gnu@npm:19.8.4": + version: 19.8.4 + resolution: "@nx/nx-linux-arm64-gnu@npm:19.8.4" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@nx/nx-linux-arm64-musl@npm:16.10.0": - version: 16.10.0 - resolution: "@nx/nx-linux-arm64-musl@npm:16.10.0" +"@nx/nx-linux-arm64-musl@npm:19.8.4": + version: 19.8.4 + resolution: "@nx/nx-linux-arm64-musl@npm:19.8.4" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@nx/nx-linux-x64-gnu@npm:16.10.0": - version: 16.10.0 - resolution: "@nx/nx-linux-x64-gnu@npm:16.10.0" +"@nx/nx-linux-x64-gnu@npm:19.8.4": + version: 19.8.4 + resolution: "@nx/nx-linux-x64-gnu@npm:19.8.4" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@nx/nx-linux-x64-musl@npm:16.10.0": - version: 16.10.0 - resolution: "@nx/nx-linux-x64-musl@npm:16.10.0" +"@nx/nx-linux-x64-musl@npm:19.8.4": + version: 19.8.4 + resolution: "@nx/nx-linux-x64-musl@npm:19.8.4" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@nx/nx-win32-arm64-msvc@npm:16.10.0": - version: 16.10.0 - resolution: "@nx/nx-win32-arm64-msvc@npm:16.10.0" +"@nx/nx-win32-arm64-msvc@npm:19.8.4": + version: 19.8.4 + resolution: "@nx/nx-win32-arm64-msvc@npm:19.8.4" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@nx/nx-win32-x64-msvc@npm:16.10.0": - version: 16.10.0 - resolution: "@nx/nx-win32-x64-msvc@npm:16.10.0" +"@nx/nx-win32-x64-msvc@npm:19.8.4": + version: 19.8.4 + resolution: "@nx/nx-win32-x64-msvc@npm:19.8.4" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -4444,6 +4602,13 @@ __metadata: languageName: node linkType: hard +"@octokit/openapi-types@npm:^22.2.0": + version: 22.2.0 + resolution: "@octokit/openapi-types@npm:22.2.0" + checksum: 10/0471b0c789fada5aa2390e6f82ba477738228ef7d2d986dda9aab0cb625d1562bd178ba0ba4d2655ce841079cd5efff9e58ece2077c27e569ea22109ea301830 + languageName: node + linkType: hard + "@octokit/plugin-enterprise-rest@npm:6.0.1": version: 6.0.1 resolution: "@octokit/plugin-enterprise-rest@npm:6.0.1" @@ -4451,14 +4616,14 @@ __metadata: languageName: node linkType: hard -"@octokit/plugin-paginate-rest@npm:^10.0.0": - version: 10.0.0 - resolution: "@octokit/plugin-paginate-rest@npm:10.0.0" +"@octokit/plugin-paginate-rest@npm:^11.0.0": + version: 11.3.5 + resolution: "@octokit/plugin-paginate-rest@npm:11.3.5" dependencies: - "@octokit/types": "npm:^12.6.0" + "@octokit/types": "npm:^13.6.0" peerDependencies: "@octokit/core": ">=6" - checksum: 10/ab198792c94e4adf596d41659153b248c7d8ca78092e1aff5d4994045ffaf2ee9fec5d01107b8f0098074e3f76f11f941a791a647ffe11f68f78f3bfb84d40ce + checksum: 10/daa911bb370818d8cd561a7d449d164cbad6e9e29c11c666054f1ecc19d2ea9fbdc9ef8c65f33a1102096eb671847d343ae57acbeb17185e64447741ffdfde3e languageName: node linkType: hard @@ -4602,35 +4767,116 @@ __metadata: languageName: node linkType: hard -"@octokit/types@npm:^12.6.0": - version: 12.6.0 - resolution: "@octokit/types@npm:12.6.0" - dependencies: - "@octokit/openapi-types": "npm:^20.0.0" - checksum: 10/19b77a8d25af2a5df4561f8750f807edfc9fca5b07cfa9fb21dce4665e1b188c966688f5ed5e08089404428100dfe44ad353f8d8532f1d30fe47e61c5faa1440 +"@octokit/types@npm:^12.6.0": + version: 12.6.0 + resolution: "@octokit/types@npm:12.6.0" + dependencies: + "@octokit/openapi-types": "npm:^20.0.0" + checksum: 10/19b77a8d25af2a5df4561f8750f807edfc9fca5b07cfa9fb21dce4665e1b188c966688f5ed5e08089404428100dfe44ad353f8d8532f1d30fe47e61c5faa1440 + languageName: node + linkType: hard + +"@octokit/types@npm:^13.6.0": + version: 13.6.1 + resolution: "@octokit/types@npm:13.6.1" + dependencies: + "@octokit/openapi-types": "npm:^22.2.0" + checksum: 10/9ea6189839439e1085799cc16ee699292538d9c14dd15e9e45462377287f863b6be93455d2ad9acffd561018a0c35adbb9d1437e92075c9058d6c6d69ff2f503 + languageName: node + linkType: hard + +"@octokit/types@npm:^9.0.0, @octokit/types@npm:^9.2.3": + version: 9.3.2 + resolution: "@octokit/types@npm:9.3.2" + dependencies: + "@octokit/openapi-types": "npm:^18.0.0" + checksum: 10/4bcd18850d5397e5835f5686be88ad95e5d7c23e7d53f898b82a8ca5fc1f6a7b53816ef6f9f3b7a06799c0b030d259bf2bd50a258a1656df2dc7f3e533e334f8 + languageName: node + linkType: hard + +"@opentelemetry/api@npm:^1.4.1": + version: 1.6.0 + resolution: "@opentelemetry/api@npm:1.6.0" + checksum: 10/b8daefad2c862ed4e1e6b50df8946f08339a27aa83ac3b081bd4ed92e9ae2c365ecfc200f936ce08a1278b9a3c4103b5f33c2c19a495f68e245f727bba41af75 + languageName: node + linkType: hard + +"@oxc-resolver/binding-darwin-arm64@npm:1.12.0": + version: 1.12.0 + resolution: "@oxc-resolver/binding-darwin-arm64@npm:1.12.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-darwin-x64@npm:1.12.0": + version: 1.12.0 + resolution: "@oxc-resolver/binding-darwin-x64@npm:1.12.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-freebsd-x64@npm:1.12.0": + version: 1.12.0 + resolution: "@oxc-resolver/binding-freebsd-x64@npm:1.12.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm-gnueabihf@npm:1.12.0": + version: 1.12.0 + resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:1.12.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm64-gnu@npm:1.12.0": + version: 1.12.0 + resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:1.12.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-arm64-musl@npm:1.12.0": + version: 1.12.0 + resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:1.12.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-x64-gnu@npm:1.12.0": + version: 1.12.0 + resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:1.12.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@oxc-resolver/binding-linux-x64-musl@npm:1.12.0": + version: 1.12.0 + resolution: "@oxc-resolver/binding-linux-x64-musl@npm:1.12.0" + conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@octokit/types@npm:^9.0.0, @octokit/types@npm:^9.2.3": - version: 9.3.2 - resolution: "@octokit/types@npm:9.3.2" +"@oxc-resolver/binding-wasm32-wasi@npm:1.12.0": + version: 1.12.0 + resolution: "@oxc-resolver/binding-wasm32-wasi@npm:1.12.0" dependencies: - "@octokit/openapi-types": "npm:^18.0.0" - checksum: 10/4bcd18850d5397e5835f5686be88ad95e5d7c23e7d53f898b82a8ca5fc1f6a7b53816ef6f9f3b7a06799c0b030d259bf2bd50a258a1656df2dc7f3e533e334f8 + "@napi-rs/wasm-runtime": "npm:^0.2.4" + conditions: cpu=wasm32 languageName: node linkType: hard -"@opentelemetry/api@npm:1.4.1": - version: 1.4.1 - resolution: "@opentelemetry/api@npm:1.4.1" - checksum: 10/8637f66c2f7d94c377c9bb22a0528f1349e02a93c0c829de56e487aa4ae02561462a24bfb11a2be25c82e53af9f7737c1fc5d3533e0eb8b1ebf4928204f66ac6 +"@oxc-resolver/binding-win32-arm64-msvc@npm:1.12.0": + version: 1.12.0 + resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:1.12.0" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@opentelemetry/api@npm:^1.4.1": - version: 1.6.0 - resolution: "@opentelemetry/api@npm:1.6.0" - checksum: 10/b8daefad2c862ed4e1e6b50df8946f08339a27aa83ac3b081bd4ed92e9ae2c365ecfc200f936ce08a1278b9a3c4103b5f33c2c19a495f68e245f727bba41af75 +"@oxc-resolver/binding-win32-x64-msvc@npm:1.12.0": + version: 1.12.0 + resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:1.12.0" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -4641,17 +4887,6 @@ __metadata: languageName: node linkType: hard -"@parcel/watcher@npm:2.0.4": - version: 2.0.4 - resolution: "@parcel/watcher@npm:2.0.4" - dependencies: - node-addon-api: "npm:^3.2.1" - node-gyp: "npm:latest" - node-gyp-build: "npm:^4.3.0" - checksum: 10/ec3ba32c16856c34460d79bc95887f68869201e0cae68c5d1d4cd1f0358673d76dea56e194ede1e83af78656bde4eef2b17716a7396b54f63a40e4655c7a63c4 - languageName: node - linkType: hard - "@pkgjs/parseargs@npm:^0.11.0": version: 0.11.0 resolution: "@pkgjs/parseargs@npm:0.11.0" @@ -4707,35 +4942,29 @@ __metadata: languageName: node linkType: hard -"@prisma/client@npm:^4.16.2": - version: 4.16.2 - resolution: "@prisma/client@npm:4.16.2" - dependencies: - "@prisma/engines-version": "npm:4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81" +"@prisma/client@npm:^5.20.0": + version: 5.20.0 + resolution: "@prisma/client@npm:5.20.0" peerDependencies: prisma: "*" peerDependenciesMeta: prisma: optional: true - checksum: 10/18d8dfc2fbe3b13be8ec4049aafde135e908b06f3b739e142ffb93d78a0c04bb52b38062dc48881db7a9ef44c9b67ef2ad0ec013e0d4f01904a237f631964c62 + checksum: 10/d5ad98e332be6f4a9df48399e25716c229779479603147ad7b7818966a1c8823307c18ae7513f48a95bb415f18ebfbaeb0707a3a0760a3d04e72577ab3152663 languageName: node linkType: hard -"@prisma/debug@npm:4.16.2": - version: 4.16.2 - resolution: "@prisma/debug@npm:4.16.2" - dependencies: - "@types/debug": "npm:4.1.8" - debug: "npm:4.3.4" - strip-ansi: "npm:6.0.1" - checksum: 10/ffbbcb329151bb47826ebdc98eed91b1daa5222548fd2f6ece8c57e31b383c2498307abb106431c5419e832f5d2ab6df65b702eedc482ba76e07729347e77802 +"@prisma/debug@npm:5.20.0": + version: 5.20.0 + resolution: "@prisma/debug@npm:5.20.0" + checksum: 10/e5b17c1e126841f2c0f50be95804b4545dd047a1a44fed052072bb90d30cfdf86de89d0d46d5b1017925e31e0504fec282beae6c23f7af0a701087273f0108e1 languageName: node linkType: hard -"@prisma/engines-version@npm:4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81": - version: 4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81 - resolution: "@prisma/engines-version@npm:4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81" - checksum: 10/aaa11d1ec9b86481a080c5802ef2a716bf14d32adab6675c16892d96ee92d09abab7c46590f6b6706eb3df520ab16502fd1ec1dae9bfae4da552dbd760a22875 +"@prisma/engines-version@npm:5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284": + version: 5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284 + resolution: "@prisma/engines-version@npm:5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284" + checksum: 10/0f3de72b4d05b832050c17763a162ba061181d7f52ba497c6005d0148080a3ca26fe76dae4129f3962b6178ee03d5bd156dc458f634d06fb3b8887f1534f82d1 languageName: node linkType: hard @@ -4746,116 +4975,78 @@ __metadata: languageName: node linkType: hard -"@prisma/fetch-engine@npm:4.16.2": - version: 4.16.2 - resolution: "@prisma/fetch-engine@npm:4.16.2" +"@prisma/engines@npm:5.20.0": + version: 5.20.0 + resolution: "@prisma/engines@npm:5.20.0" dependencies: - "@prisma/debug": "npm:4.16.2" - "@prisma/get-platform": "npm:4.16.2" - execa: "npm:5.1.1" - find-cache-dir: "npm:3.3.2" - fs-extra: "npm:11.1.1" - hasha: "npm:5.2.2" - http-proxy-agent: "npm:7.0.0" - https-proxy-agent: "npm:7.0.0" - kleur: "npm:4.1.5" - node-fetch: "npm:2.6.11" - p-filter: "npm:2.1.0" - p-map: "npm:4.0.0" - p-retry: "npm:4.6.2" - progress: "npm:2.0.3" - rimraf: "npm:3.0.2" - temp-dir: "npm:2.0.0" - tempy: "npm:1.0.1" - checksum: 10/1755e0cab588253d972c4207a21cba1e01633324e45365c0cec7749334e46720b6fd0b6abd7fe97a49ae9fc14fadfb0e0a36222e725113c33fd7f68efad3bb60 + "@prisma/debug": "npm:5.20.0" + "@prisma/engines-version": "npm:5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284" + "@prisma/fetch-engine": "npm:5.20.0" + "@prisma/get-platform": "npm:5.20.0" + checksum: 10/4ae8a919a6ea0580d30bf849abb3e41073216e596d84166bdf117df4eab62e84159f8df03058e3170d84088bb6156db6d619646fabcd3c4f042058a321a48127 languageName: node linkType: hard -"@prisma/generator-helper@npm:4.16.2, @prisma/generator-helper@npm:^4.16.2": - version: 4.16.2 - resolution: "@prisma/generator-helper@npm:4.16.2" +"@prisma/fetch-engine@npm:5.20.0": + version: 5.20.0 + resolution: "@prisma/fetch-engine@npm:5.20.0" dependencies: - "@prisma/debug": "npm:4.16.2" - "@types/cross-spawn": "npm:6.0.2" - cross-spawn: "npm:7.0.3" - kleur: "npm:4.1.5" - checksum: 10/34b355a2a6cf04759460e79752e8133dee34352cdf1fcb79507140d202435ba6e80211a238a49ceb04b7ec88bb2cc03e74e7328f525679bedbcd8bd5b7d3dd96 + "@prisma/debug": "npm:5.20.0" + "@prisma/engines-version": "npm:5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284" + "@prisma/get-platform": "npm:5.20.0" + checksum: 10/5e5d24e18b5d37317fbc8c60be7ea56a28bb26c6f3ec6b5be1097401947f874fde69dfffa5f821f028a1907b4c1517b31f9cd7a8662df3e24b382184f6c6aeab languageName: node linkType: hard -"@prisma/get-platform@npm:4.16.2": - version: 4.16.2 - resolution: "@prisma/get-platform@npm:4.16.2" +"@prisma/generator-helper@npm:5.20.0, @prisma/generator-helper@npm:^5.20.0": + version: 5.20.0 + resolution: "@prisma/generator-helper@npm:5.20.0" dependencies: - "@prisma/debug": "npm:4.16.2" - escape-string-regexp: "npm:4.0.0" - execa: "npm:5.1.1" - fs-jetpack: "npm:5.1.0" - kleur: "npm:4.1.5" - replace-string: "npm:3.1.0" - strip-ansi: "npm:6.0.1" - tempy: "npm:1.0.1" - terminal-link: "npm:2.1.1" - ts-pattern: "npm:4.3.0" - checksum: 10/ac490356979cea578734149e5f41e525cf23ae9033fec192671f44e2102d2bc7eda323bd05ef918a3c3bee8ffcd0aa8f1f4d033f7b10bae5602a124ca2e1949a + "@prisma/debug": "npm:5.20.0" + checksum: 10/f00ef072848c8d6d8b0bbd6a531cdbabf7f3139bd30fa698243f6131ac3b2ca097070389892809154e1193132b87ba61eb5006709307c547609168e3b081b291 languageName: node linkType: hard -"@prisma/internals@npm:^4.16.2": - version: 4.16.2 - resolution: "@prisma/internals@npm:4.16.2" +"@prisma/get-platform@npm:5.20.0": + version: 5.20.0 + resolution: "@prisma/get-platform@npm:5.20.0" dependencies: - "@antfu/ni": "npm:0.21.4" - "@opentelemetry/api": "npm:1.4.1" - "@prisma/debug": "npm:4.16.2" - "@prisma/engines": "npm:4.16.2" - "@prisma/fetch-engine": "npm:4.16.2" - "@prisma/generator-helper": "npm:4.16.2" - "@prisma/get-platform": "npm:4.16.2" - "@prisma/prisma-fmt-wasm": "npm:4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81" - archiver: "npm:5.3.1" + "@prisma/debug": "npm:5.20.0" + checksum: 10/d6a807ba26aa5d22fe7bb525fa1062d25c86b4a2a8c03ef44336b6b874b1b9ce48466f7a7678ecec0e02cabe39b6530f849d79942ee75c6198f0e6f1214ffaf3 + languageName: node + linkType: hard + +"@prisma/internals@npm:^5.20.0": + version: 5.20.0 + resolution: "@prisma/internals@npm:5.20.0" + dependencies: + "@prisma/debug": "npm:5.20.0" + "@prisma/engines": "npm:5.20.0" + "@prisma/fetch-engine": "npm:5.20.0" + "@prisma/generator-helper": "npm:5.20.0" + "@prisma/get-platform": "npm:5.20.0" + "@prisma/prisma-schema-wasm": "npm:5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284" + "@prisma/schema-files-loader": "npm:5.20.0" arg: "npm:5.0.2" - checkpoint-client: "npm:1.1.24" - cli-truncate: "npm:2.1.0" - dotenv: "npm:16.0.3" - escape-string-regexp: "npm:4.0.0" - execa: "npm:5.1.1" - find-up: "npm:5.0.0" - fp-ts: "npm:2.16.0" - fs-extra: "npm:11.1.1" - fs-jetpack: "npm:5.1.0" - global-dirs: "npm:3.0.1" - globby: "npm:11.1.0" - indent-string: "npm:4.0.0" - is-windows: "npm:1.0.2" - is-wsl: "npm:2.2.0" - kleur: "npm:4.1.5" - new-github-issue-url: "npm:0.2.1" - node-fetch: "npm:2.6.11" - npm-packlist: "npm:5.1.3" - open: "npm:7.4.2" - p-map: "npm:4.0.0" prompts: "npm:2.4.2" - read-pkg-up: "npm:7.0.1" - replace-string: "npm:3.1.0" - resolve: "npm:1.22.2" - string-width: "npm:4.2.3" - strip-ansi: "npm:6.0.1" - strip-indent: "npm:3.0.0" - temp-dir: "npm:2.0.0" - temp-write: "npm:4.0.0" - tempy: "npm:1.0.1" - terminal-link: "npm:2.1.1" - tmp: "npm:0.2.1" - ts-pattern: "npm:4.3.0" - checksum: 10/4fe0e6566f5d7e534fa2633cf78e04ddff23438046197c3d81357eb136b30c270258c9377a8a0c961446af68135d8da7a2db657789ef4e2d6f03972f6576fca6 + checksum: 10/96d5632f8fc5abc0717436ed47b5fc5a1db508e4662b925f3f3407f2cd6d21060d2cf0000c0aacdfbd6c00cad26b58e8f4c928824adadfb099c9d057bd3023ec + languageName: node + linkType: hard + +"@prisma/prisma-schema-wasm@npm:5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284": + version: 5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284 + resolution: "@prisma/prisma-schema-wasm@npm:5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284" + checksum: 10/769cbbd1a0729a42ae50919cd1261e12f2cdd2eee2431b0f35f187dbe46485f42c50eb8037daeabfdc142f2bcc117273a96318433a6ce4f54b8dc9e28a871e33 languageName: node linkType: hard -"@prisma/prisma-fmt-wasm@npm:4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81": - version: 4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81 - resolution: "@prisma/prisma-fmt-wasm@npm:4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81" - checksum: 10/4bacfa135c26aaadc69679fc458a9bb8a3ce1748997209690d55cbfd8f47d86b923173df275267e84963d84a407cf8a62459b6c1e64499e1046ac62323137026 +"@prisma/schema-files-loader@npm:5.20.0": + version: 5.20.0 + resolution: "@prisma/schema-files-loader@npm:5.20.0" + dependencies: + "@prisma/prisma-schema-wasm": "npm:5.20.0-12.06fc58a368dc7be9fbbbe894adf8d445d208c284" + fs-extra: "npm:11.1.1" + checksum: 10/f8910946c74a49d2ffab5834aad12502623490e9d742b965afe871cc4e5c0c61f907f4cb92940224bc34e32b28448966d4b98f83d298850be25e911eb93c79c7 languageName: node linkType: hard @@ -4932,9 +5123,9 @@ __metadata: languageName: node linkType: hard -"@pulsecron/pulse@npm:^1.6.1": - version: 1.6.1 - resolution: "@pulsecron/pulse@npm:1.6.1" +"@pulsecron/pulse@npm:^1.6.3": + version: 1.6.3 + resolution: "@pulsecron/pulse@npm:1.6.3" dependencies: cron-parser: "npm:^4.9.0" date.js: "npm:~0.3.3" @@ -4942,7 +5133,14 @@ __metadata: human-interval: "npm:~2.0.1" moment-timezone: "npm:^0.5.45" mongodb: "npm:^6.5.0" - checksum: 10/79f7548cf6ac552dbd085e293df3cc8638cfc7f7408a74b3a345dc3a7318b3b8c7a560ddcba0433f61fed10a1c7a245d9772df54207a9c5934c9735899ec7ab3 + checksum: 10/4267b892c903de4e8678890a3f869ec7022fb4783d49ca7ecae118a705e007e8c367dcae97a1123f064929006764f7cf246b2ebd5e8ba1292a54773ed310bafc + languageName: node + linkType: hard + +"@repeaterjs/repeater@npm:^3.0.4": + version: 3.0.6 + resolution: "@repeaterjs/repeater@npm:3.0.6" + checksum: 10/25698e822847b776006428f31e2d31fbcb4faccf30c1c8d68d6e1308e58b49afb08764d1dd15536ddd67775cd01fd6c2fb22f039c05a71865448fbcfb2246af2 languageName: node linkType: hard @@ -4962,173 +5160,227 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.22.4" +"@rollup/rollup-android-arm-eabi@npm:4.20.0": + version: 4.20.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.20.0" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-android-arm64@npm:4.22.4" +"@rollup/rollup-android-arm-eabi@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.24.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.20.0": + version: 4.20.0 + resolution: "@rollup/rollup-android-arm64@npm:4.20.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-android-arm64@npm:4.24.0" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-darwin-arm64@npm:4.22.4" +"@rollup/rollup-darwin-arm64@npm:4.20.0": + version: 4.20.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.20.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-darwin-x64@npm:4.22.4" +"@rollup/rollup-darwin-arm64@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.24.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.20.0": + version: 4.20.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.20.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.24.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.22.4" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.20.0": + version: 4.20.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.20.0" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.22.4" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.24.0" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.20.0": + version: 4.20.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.20.0" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.24.0" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.22.4" +"@rollup/rollup-linux-arm64-gnu@npm:4.20.0": + version: 4.20.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.20.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.22.4" +"@rollup/rollup-linux-arm64-gnu@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.24.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.20.0": + version: 4.20.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.20.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.24.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.22.4" +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.20.0": + version: 4.20.0 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.20.0" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.22.4" +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.24.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.20.0": + version: 4.20.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.20.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.24.0" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.22.4" +"@rollup/rollup-linux-s390x-gnu@npm:4.20.0": + version: 4.20.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.20.0" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.22.4" +"@rollup/rollup-linux-s390x-gnu@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.24.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.20.0": + version: 4.20.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.20.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.24.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.22.4" +"@rollup/rollup-linux-x64-musl@npm:4.20.0": + version: 4.20.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.20.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.22.4" - conditions: os=win32 & cpu=arm64 +"@rollup/rollup-linux-x64-musl@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.24.0" + conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.22.4" - conditions: os=win32 & cpu=ia32 +"@rollup/rollup-win32-arm64-msvc@npm:4.20.0": + version: 4.20.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.20.0" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.22.4" - conditions: os=win32 & cpu=x64 +"@rollup/rollup-win32-arm64-msvc@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.24.0" + conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rushstack/node-core-library@npm:5.5.1": - version: 5.5.1 - resolution: "@rushstack/node-core-library@npm:5.5.1" - dependencies: - ajv: "npm:~8.13.0" - ajv-draft-04: "npm:~1.0.0" - ajv-formats: "npm:~3.0.1" - fs-extra: "npm:~7.0.1" - import-lazy: "npm:~4.0.0" - jju: "npm:~1.4.0" - resolve: "npm:~1.22.1" - semver: "npm:~7.5.4" - peerDependencies: - "@types/node": "*" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: 10/e2d44c9bd00ecff3a108ae4aeff707a724e50cd3c6cb229f42fcee5be0aeafb1f3a420dd4e3eeaad4968c47b280d5d1a4017adf557479fe9314271b8efd44468 +"@rollup/rollup-win32-ia32-msvc@npm:4.20.0": + version: 4.20.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.20.0" + conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rushstack/rig-package@npm:0.5.3": - version: 0.5.3 - resolution: "@rushstack/rig-package@npm:0.5.3" - dependencies: - resolve: "npm:~1.22.1" - strip-json-comments: "npm:~3.1.1" - checksum: 10/b58a3925a41d7a0e79f4fde7c400a379683cc7b0073c447aba6d36231529a37e7d2f4559f459be785ad862ecb01b618b2d0ff60661046e5223437356155ccb14 +"@rollup/rollup-win32-ia32-msvc@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.24.0" + conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rushstack/terminal@npm:0.13.3": - version: 0.13.3 - resolution: "@rushstack/terminal@npm:0.13.3" - dependencies: - "@rushstack/node-core-library": "npm:5.5.1" - supports-color: "npm:~8.1.1" - peerDependencies: - "@types/node": "*" - peerDependenciesMeta: - "@types/node": - optional: true - checksum: 10/2cc2fc62d811e539f7f6cd7902cf0fcc78a5061732c444e05c3e9466cf45f8129e605da763e1b94e78420699fab8ede4421c6b97ca8733bc87e660f6d0e39acb +"@rollup/rollup-win32-x64-msvc@npm:4.20.0": + version: 4.20.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.20.0" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@rushstack/ts-command-line@npm:4.22.3": - version: 4.22.3 - resolution: "@rushstack/ts-command-line@npm:4.22.3" - dependencies: - "@rushstack/terminal": "npm:0.13.3" - "@types/argparse": "npm:1.0.38" - argparse: "npm:~1.0.9" - string-argv: "npm:~0.3.1" - checksum: 10/64509a787022944ee8bbb5e860f6791d004bc5c8a0c8a74f35b4e30622ea3ef5b1912acf1c7af3eb183407d62059eb4982c9ad2d69eea7e3b53c4d1c76736b43 +"@rollup/rollup-win32-x64-msvc@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.24.0" + conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -5146,20 +5398,28 @@ __metadata: languageName: node linkType: hard -"@semantic-release/commit-analyzer@npm:^12.0.0": - version: 12.0.0 - resolution: "@semantic-release/commit-analyzer@npm:12.0.0" +"@sec-ant/readable-stream@npm:^0.4.1": + version: 0.4.1 + resolution: "@sec-ant/readable-stream@npm:0.4.1" + checksum: 10/aac89581652ac85debe7c5303451c2ebf8bf25ca25db680e4b9b73168f6940616d9a4bbe3348981827b1159b14e2f2e6af4b7bd5735cac898c12d5c51909c102 + languageName: node + linkType: hard + +"@semantic-release/commit-analyzer@npm:^13.0.0-beta.1": + version: 13.0.0 + resolution: "@semantic-release/commit-analyzer@npm:13.0.0" dependencies: - conventional-changelog-angular: "npm:^7.0.0" - conventional-commits-filter: "npm:^4.0.0" - conventional-commits-parser: "npm:^5.0.0" + conventional-changelog-angular: "npm:^8.0.0" + conventional-changelog-writer: "npm:^8.0.0" + conventional-commits-filter: "npm:^5.0.0" + conventional-commits-parser: "npm:^6.0.0" debug: "npm:^4.0.0" import-from-esm: "npm:^1.0.3" lodash-es: "npm:^4.17.21" micromatch: "npm:^4.0.2" peerDependencies: semantic-release: ">=20.1.0" - checksum: 10/a095ab4a873d65f497cfebd55966ad441280df34da6d591939e1dffeaa43dd7db10ef5418ae4052f3a9a11492cbe79c35453133d06bc36009600b1d56b39b9c9 + checksum: 10/d76463143aed73ec75cf66fb2b6b0649ed6f6d0864823f47ba907a25f3617190354b6abe05c44b19a8a5165181e35fc704c788becb958c64e5218a353a1fa189 languageName: node linkType: hard @@ -5177,12 +5437,12 @@ __metadata: languageName: node linkType: hard -"@semantic-release/github@npm:^10.0.0": - version: 10.0.2 - resolution: "@semantic-release/github@npm:10.0.2" +"@semantic-release/github@npm:^11.0.0": + version: 11.0.0 + resolution: "@semantic-release/github@npm:11.0.0" dependencies: "@octokit/core": "npm:^6.0.0" - "@octokit/plugin-paginate-rest": "npm:^10.0.0" + "@octokit/plugin-paginate-rest": "npm:^11.0.0" "@octokit/plugin-retry": "npm:^7.0.0" "@octokit/plugin-throttling": "npm:^9.0.0" "@semantic-release/error": "npm:^4.0.0" @@ -5198,8 +5458,8 @@ __metadata: p-filter: "npm:^4.0.0" url-join: "npm:^5.0.0" peerDependencies: - semantic-release: ">=20.1.0" - checksum: 10/4e9e401205447b1f115f9e2db9213be6942ce6a82df94e687939165df599b9d39e95460a9419d3a368aed6a8639386da9b7277d6f50a116d08719ae02fdb28f1 + semantic-release: ">=24.1.0" + checksum: 10/a9ffb7eb0cddc04242cd83f002d025e230899ede643d0f0e9e47073021e176d6a8746d9465f1ca6b718323cb4bebd77db0878a2ca90b2ce6f97c8de31ef5529b languageName: node linkType: hard @@ -5226,32 +5486,23 @@ __metadata: languageName: node linkType: hard -"@semantic-release/release-notes-generator@npm:^12.0.0": - version: 12.1.0 - resolution: "@semantic-release/release-notes-generator@npm:12.1.0" +"@semantic-release/release-notes-generator@npm:^14.0.0-beta.1": + version: 14.0.1 + resolution: "@semantic-release/release-notes-generator@npm:14.0.1" dependencies: - conventional-changelog-angular: "npm:^7.0.0" - conventional-changelog-writer: "npm:^7.0.0" - conventional-commits-filter: "npm:^4.0.0" - conventional-commits-parser: "npm:^5.0.0" + conventional-changelog-angular: "npm:^8.0.0" + conventional-changelog-writer: "npm:^8.0.0" + conventional-commits-filter: "npm:^5.0.0" + conventional-commits-parser: "npm:^6.0.0" debug: "npm:^4.0.0" get-stream: "npm:^7.0.0" import-from-esm: "npm:^1.0.3" into-stream: "npm:^7.0.0" lodash-es: "npm:^4.17.21" - read-pkg-up: "npm:^11.0.0" + read-package-up: "npm:^11.0.0" peerDependencies: semantic-release: ">=20.1.0" - checksum: 10/ff8c5e3b5889f370f73c0da345f7ffe9f5c85a2804dd2a362040b438fdf20be12f5244d118d67991ff17e1b62f505718a7446a9cc8318e79395b9dbaf9d31bbe - languageName: node - linkType: hard - -"@sigstore/bundle@npm:^1.1.0": - version: 1.1.0 - resolution: "@sigstore/bundle@npm:1.1.0" - dependencies: - "@sigstore/protobuf-specs": "npm:^0.2.0" - checksum: 10/79e6cc4cc1858bccbd852dee85d95c66c891b109ea415d5b7b00b6d73791c4f6064c40d09b5aa3f9ec6c19b3145c5cfeece02302f912c186ff0a769667bb9491 + checksum: 10/3312392cdd47deccc3cff812f42fc6b3f3bfffbe3e5af256f9e37b276a88f5878ce77556faf85f90669d82850a42ca3f1f996bf282952becfe2f0b23d947683b languageName: node linkType: hard @@ -5271,13 +5522,6 @@ __metadata: languageName: node linkType: hard -"@sigstore/protobuf-specs@npm:^0.2.0": - version: 0.2.1 - resolution: "@sigstore/protobuf-specs@npm:0.2.1" - checksum: 10/cb0b9d9b3ef44a9f1729d85616c5d7c2ebccde303836a5a345ec33a500c7bd5205ffcc31332e0a90831cccc581dafbdf5b868f050c84270c8df6a4a6f2ce0bcb - languageName: node - linkType: hard - "@sigstore/protobuf-specs@npm:^0.3.0": version: 0.3.0 resolution: "@sigstore/protobuf-specs@npm:0.3.0" @@ -5285,17 +5529,6 @@ __metadata: languageName: node linkType: hard -"@sigstore/sign@npm:^1.0.0": - version: 1.0.0 - resolution: "@sigstore/sign@npm:1.0.0" - dependencies: - "@sigstore/bundle": "npm:^1.1.0" - "@sigstore/protobuf-specs": "npm:^0.2.0" - make-fetch-happen: "npm:^11.0.1" - checksum: 10/44f23fc5eef5b160c0c36c6b19863039bbf375834eeca1ce7f711c82eb5a022174a475f0c06594f17732473c6878f2512f37e65949b7d33af3b2e2773f1bd34f - languageName: node - linkType: hard - "@sigstore/sign@npm:^2.2.3": version: 2.2.3 resolution: "@sigstore/sign@npm:2.2.3" @@ -5308,16 +5541,6 @@ __metadata: languageName: node linkType: hard -"@sigstore/tuf@npm:^1.0.3": - version: 1.0.3 - resolution: "@sigstore/tuf@npm:1.0.3" - dependencies: - "@sigstore/protobuf-specs": "npm:^0.2.0" - tuf-js: "npm:^1.1.7" - checksum: 10/5aa1cdea05fabb78232f802821f7e8ee9db3352719b325f2f703f940aac75fc2e71d89cfbd3623ef6b0429e125a5c6145c1fc8ede8d3d5af3affcb71c6453c7b - languageName: node - linkType: hard - "@sigstore/tuf@npm:^2.3.1": version: 2.3.1 resolution: "@sigstore/tuf@npm:2.3.1" @@ -5374,6 +5597,13 @@ __metadata: languageName: node linkType: hard +"@sindresorhus/merge-streams@npm:^4.0.0": + version: 4.0.0 + resolution: "@sindresorhus/merge-streams@npm:4.0.0" + checksum: 10/16551c787f5328c8ef05fd9831ade64369ccc992df78deb635ec6c44af217d2f1b43f8728c348cdc4e00585ff2fad6e00d8155199cbf6b154acc45fe65cbf0aa + languageName: node + linkType: hard + "@smithy/abort-controller@npm:^1.0.2": version: 1.0.2 resolution: "@smithy/abort-controller@npm:1.0.2" @@ -5804,47 +6034,41 @@ __metadata: languageName: node linkType: hard -"@sqltools/formatter@npm:^1.2.2": - version: 1.2.5 - resolution: "@sqltools/formatter@npm:1.2.5" - checksum: 10/ce9335025cd033f8f1ac997d290af22d5a5cdbd5f04cbf0fa18d5388871e980a4fc67875037821799b356032f851732dee1017b2ee7de84f5c2a2b8bfd5604f5 - languageName: node - linkType: hard - -"@swc-node/core@npm:^1.10.6": - version: 1.13.0 - resolution: "@swc-node/core@npm:1.13.0" +"@swc-node/core@npm:^1.13.3": + version: 1.13.3 + resolution: "@swc-node/core@npm:1.13.3" peerDependencies: - "@swc/core": ">= 1.3" + "@swc/core": ">= 1.4.13" "@swc/types": ">= 0.1" - checksum: 10/06f5634038346fbceeb18ef44c2d6e28c499da44fe775f84199afd7db358a548127573af92ff84f6b4913cdd69047a492e0dc2cbe0830444023743cd33fe1970 + checksum: 10/4fcc180f047e5d60bad49f793a477740262c9833fc7cd9d34ff4286ea7026f9d77aad122f9c728b73c9addc494b27f8405db32c1b5c446dc9eb94b7bc3cdee1f languageName: node linkType: hard -"@swc-node/register@npm:1.6.8": - version: 1.6.8 - resolution: "@swc-node/register@npm:1.6.8" +"@swc-node/register@npm:1.10.9": + version: 1.10.9 + resolution: "@swc-node/register@npm:1.10.9" dependencies: - "@swc-node/core": "npm:^1.10.6" - "@swc-node/sourcemap-support": "npm:^0.3.0" - colorette: "npm:^2.0.19" - debug: "npm:^4.3.4" - pirates: "npm:^4.0.5" - tslib: "npm:^2.5.0" + "@swc-node/core": "npm:^1.13.3" + "@swc-node/sourcemap-support": "npm:^0.5.1" + colorette: "npm:^2.0.20" + debug: "npm:^4.3.5" + oxc-resolver: "npm:^1.10.2" + pirates: "npm:^4.0.6" + tslib: "npm:^2.6.3" peerDependencies: - "@swc/core": ">= 1.3" + "@swc/core": ">= 1.4.13" typescript: ">= 4.3" - checksum: 10/028b28c324011e859172b14c07e8fb32e9d8b107c1ee3216e0c1838c7d5b16aadbb7e186fdf8da4b48d4b8d958df00154de56580e502bd27be695f50f30b964f + checksum: 10/e6b7e2623ddb8e53aa3c941bdc6ca7aaf67336447c3fdb211b218e6db747eb2df5aff88b7da8edcb74fd3fb11c018b92e4b60eba5da3654524504ec36454e1c2 languageName: node linkType: hard -"@swc-node/sourcemap-support@npm:^0.3.0": - version: 0.3.0 - resolution: "@swc-node/sourcemap-support@npm:0.3.0" +"@swc-node/sourcemap-support@npm:^0.5.1": + version: 0.5.1 + resolution: "@swc-node/sourcemap-support@npm:0.5.1" dependencies: source-map-support: "npm:^0.5.21" - tslib: "npm:^2.5.0" - checksum: 10/c172f420f0c6e072859dd3a5a0c3f49045c9d4b9546f222c8bfcbf2e1a60b81318b33790b7d111e4e90d1e1f68285354f99692503d7ac4eae07d65ac3ff8aa0a + tslib: "npm:^2.6.3" + checksum: 10/d347be3a3fb1507aa2de4d07cc70d845722b4af64762b193f8407b0010fd28592b0dcaba0046fa7ab71276f72d6bc70d1742bc6ec6589e75784445b7b116accc languageName: node linkType: hard @@ -5855,9 +6079,9 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.7.26": - version: 1.7.26 - resolution: "@swc/core-darwin-arm64@npm:1.7.26" +"@swc/core-darwin-arm64@npm:1.7.28": + version: 1.7.28 + resolution: "@swc/core-darwin-arm64@npm:1.7.28" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard @@ -5869,9 +6093,9 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.7.26": - version: 1.7.26 - resolution: "@swc/core-darwin-x64@npm:1.7.26" +"@swc/core-darwin-x64@npm:1.7.28": + version: 1.7.28 + resolution: "@swc/core-darwin-x64@npm:1.7.28" conditions: os=darwin & cpu=x64 languageName: node linkType: hard @@ -5883,9 +6107,9 @@ __metadata: languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.7.26": - version: 1.7.26 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.26" +"@swc/core-linux-arm-gnueabihf@npm:1.7.28": + version: 1.7.28 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.28" conditions: os=linux & cpu=arm languageName: node linkType: hard @@ -5897,9 +6121,9 @@ __metadata: languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.7.26": - version: 1.7.26 - resolution: "@swc/core-linux-arm64-gnu@npm:1.7.26" +"@swc/core-linux-arm64-gnu@npm:1.7.28": + version: 1.7.28 + resolution: "@swc/core-linux-arm64-gnu@npm:1.7.28" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard @@ -5911,9 +6135,9 @@ __metadata: languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.7.26": - version: 1.7.26 - resolution: "@swc/core-linux-arm64-musl@npm:1.7.26" +"@swc/core-linux-arm64-musl@npm:1.7.28": + version: 1.7.28 + resolution: "@swc/core-linux-arm64-musl@npm:1.7.28" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard @@ -5925,9 +6149,9 @@ __metadata: languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.7.26": - version: 1.7.26 - resolution: "@swc/core-linux-x64-gnu@npm:1.7.26" +"@swc/core-linux-x64-gnu@npm:1.7.28": + version: 1.7.28 + resolution: "@swc/core-linux-x64-gnu@npm:1.7.28" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard @@ -5939,9 +6163,9 @@ __metadata: languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.7.26": - version: 1.7.26 - resolution: "@swc/core-linux-x64-musl@npm:1.7.26" +"@swc/core-linux-x64-musl@npm:1.7.28": + version: 1.7.28 + resolution: "@swc/core-linux-x64-musl@npm:1.7.28" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard @@ -5953,9 +6177,9 @@ __metadata: languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.7.26": - version: 1.7.26 - resolution: "@swc/core-win32-arm64-msvc@npm:1.7.26" +"@swc/core-win32-arm64-msvc@npm:1.7.28": + version: 1.7.28 + resolution: "@swc/core-win32-arm64-msvc@npm:1.7.28" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard @@ -5967,9 +6191,9 @@ __metadata: languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.7.26": - version: 1.7.26 - resolution: "@swc/core-win32-ia32-msvc@npm:1.7.26" +"@swc/core-win32-ia32-msvc@npm:1.7.28": + version: 1.7.28 + resolution: "@swc/core-win32-ia32-msvc@npm:1.7.28" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard @@ -5981,27 +6205,27 @@ __metadata: languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.7.26": - version: 1.7.26 - resolution: "@swc/core-win32-x64-msvc@npm:1.7.26" +"@swc/core-win32-x64-msvc@npm:1.7.28": + version: 1.7.28 + resolution: "@swc/core-win32-x64-msvc@npm:1.7.28" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@swc/core@npm:1.7.26": - version: 1.7.26 - resolution: "@swc/core@npm:1.7.26" +"@swc/core@npm:1.7.28": + version: 1.7.28 + resolution: "@swc/core@npm:1.7.28" dependencies: - "@swc/core-darwin-arm64": "npm:1.7.26" - "@swc/core-darwin-x64": "npm:1.7.26" - "@swc/core-linux-arm-gnueabihf": "npm:1.7.26" - "@swc/core-linux-arm64-gnu": "npm:1.7.26" - "@swc/core-linux-arm64-musl": "npm:1.7.26" - "@swc/core-linux-x64-gnu": "npm:1.7.26" - "@swc/core-linux-x64-musl": "npm:1.7.26" - "@swc/core-win32-arm64-msvc": "npm:1.7.26" - "@swc/core-win32-ia32-msvc": "npm:1.7.26" - "@swc/core-win32-x64-msvc": "npm:1.7.26" + "@swc/core-darwin-arm64": "npm:1.7.28" + "@swc/core-darwin-x64": "npm:1.7.28" + "@swc/core-linux-arm-gnueabihf": "npm:1.7.28" + "@swc/core-linux-arm64-gnu": "npm:1.7.28" + "@swc/core-linux-arm64-musl": "npm:1.7.28" + "@swc/core-linux-x64-gnu": "npm:1.7.28" + "@swc/core-linux-x64-musl": "npm:1.7.28" + "@swc/core-win32-arm64-msvc": "npm:1.7.28" + "@swc/core-win32-ia32-msvc": "npm:1.7.28" + "@swc/core-win32-x64-msvc": "npm:1.7.28" "@swc/counter": "npm:^0.1.3" "@swc/types": "npm:^0.1.12" peerDependencies: @@ -6030,7 +6254,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 10/8fb43420bdd1b774dc054c6629f87f733e76860b97130609c7374f3a48406bc0ae1a2dd0b3e3c10317c692b2eaa64747f1a690b309727a8d1411112e2d2a884e + checksum: 10/a477e79387ecc8b68c2bdbbdc88cc61f27a02c5d00f0d77134f9e2de166786a4ee9f7388d6ffd44fc01bfef5311a15cc3132052bab72fb43246dc42705fedb60 languageName: node linkType: hard @@ -6242,12 +6466,12 @@ __metadata: languageName: node linkType: hard -"@testcontainers/mongodb@npm:>=10.11.0": - version: 10.11.0 - resolution: "@testcontainers/mongodb@npm:10.11.0" +"@testcontainers/mongodb@npm:^10.13.2": + version: 10.13.2 + resolution: "@testcontainers/mongodb@npm:10.13.2" dependencies: - testcontainers: "npm:^10.11.0" - checksum: 10/5f8ee2565f595ce3d975c2b057a7ccf33e4c85c3dcfeeafcf38a43576e191a4012a51b4449008590fe4de1f4ff052b0bc7c11466fa30019b569c67b87c03f243 + testcontainers: "npm:^10.13.2" + checksum: 10/94c4bc8acc36b36c2abfd31df3a3fc095497cc2a892c8221332091c699c9deb3e3d2158e7b7d0ae418440a27b83987f2719d908e678d2c7045361afaae763e70 languageName: node linkType: hard @@ -6258,13 +6482,6 @@ __metadata: languageName: node linkType: hard -"@tootallnate/once@npm:2": - version: 2.0.0 - resolution: "@tootallnate/once@npm:2.0.0" - checksum: 10/ad87447820dd3f24825d2d947ebc03072b20a42bfc96cbafec16bff8bbda6c1a81fcb0be56d5b21968560c5359a0af4038a68ba150c3e1694fe4c109a063bed8 - languageName: node - linkType: hard - "@ts-morph/common@npm:~0.11.1": version: 0.11.1 resolution: "@ts-morph/common@npm:0.11.1" @@ -6314,18 +6531,18 @@ __metadata: "@tsed/core": "workspace:*" "@tsed/ioredis": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/adapters": 7.83.3 - "@tsed/common": 7.83.3 - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/adapters": 8.0.0-alpha.10 + "@tsed/common": 8.0.0-alpha.10 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 ioredis: ">=5.2.3" ioredis-mock: ">=8.2.2" - uuid: ^9.0.1 + uuid: ^10.0.0 languageName: unknown linkType: soft @@ -6343,23 +6560,23 @@ __metadata: "@tsed/typescript": "workspace:*" "@types/fs-extra": "npm:11.0.4" "@types/lowdb": "npm:1.0.15" - "@types/uuid": "npm:9.0.8" - change-case: "npm:^4.1.2" - eslint: "npm:^8.57.0" + "@types/uuid": "npm:^10.0.0" + change-case: "npm:^5.4.4" + eslint: "npm:9.12.0" fs-extra: "npm:11.2.0" lodash: "npm:^4.17.21" - lowdb: "npm:1.0.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - uuid: "npm:9.0.1" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/ajv": 7.83.3 - "@tsed/common": 7.83.3 - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/json-mapper": 7.83.3 - "@tsed/schema": 7.83.3 + lowdb: "npm:7.0.1" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + uuid: "npm:^10.0.0" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/ajv": 8.0.0-alpha.10 + "@tsed/common": 8.0.0-alpha.10 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/json-mapper": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 peerDependenciesMeta: "@tsed/ajv": optional: false @@ -6386,10 +6603,10 @@ __metadata: "@tsed/di": "workspace:*" "@tsed/typescript": "workspace:*" agenda: "npm:^5.0.0" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" peerDependencies: agenda: ">=4" languageName: unknown @@ -6405,18 +6622,18 @@ __metadata: "@tsed/exceptions": "workspace:*" "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" - ajv: "npm:8.12.0" + ajv: "npm:^8.17.1" ajv-errors: "npm:3.0.0" ajv-formats: "npm:2.1.1" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/exceptions": 7.83.3 - "@tsed/schema": 7.83.3 + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/exceptions": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 ajv: ">=8.9.0" ajv-errors: ">=3.0.0" peerDependenciesMeta: @@ -6435,33 +6652,29 @@ __metadata: version: 0.0.0-use.local resolution: "@tsed/apollo@workspace:packages/graphql/apollo" dependencies: + "@apollo/datasource-rest": "npm:6.3.0" + "@apollo/server": "npm:^4.11.0" + "@as-integrations/koa": "npm:1.1.1" "@tsed/barrels": "workspace:*" "@tsed/common": "workspace:*" "@tsed/core": "workspace:*" "@tsed/di": "workspace:*" - "@tsed/logger": "npm:>=6.7.5" + "@tsed/logger": "npm:^6.7.8" "@tsed/typescript": "workspace:*" - "@types/graphql": "npm:14.5.0" - apollo-datasource: "npm:^3.3.2" - apollo-datasource-rest: "npm:^3.7.0" - apollo-server-core: "npm:^3.13.0" - apollo-server-express: "npm:^3.13.0" - apollo-server-koa: "npm:^3.13.0" - apollo-server-testing: "npm:^2.26.2" - eslint: "npm:^8.57.0" - graphql: "npm:15.8.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/common": 7.83.3 - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 + apollo-datasource-http: "npm:0.21.0" + apollo-server-testing: "npm:2.26.2" + eslint: "npm:9.12.0" + graphql: "npm:16.9.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@apollo/server": ">=4.10.4" + "@tsed/common": 8.0.0-alpha.10 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 "@tsed/logger": ">=6.7.5" - apollo-datasource: ">=3.0.0" - apollo-datasource-rest: ">=3.0.0" - apollo-server-core: ">=3.0.0" - graphql: ">15.0.0" + graphql: ">16.0.0" languageName: unknown linkType: soft @@ -6486,11 +6699,11 @@ __metadata: "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" bullmq: "npm:^4.12.3 || ^5.1.1" - eslint: "npm:^8.57.0" + eslint: "npm:9.12.0" ts-mockito: "npm:^2.6.1" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" peerDependencies: bullmq: ^4.12.3 || ^5.1.1 languageName: unknown @@ -6507,8 +6720,8 @@ __metadata: "@tsed/engines": "workspace:*" "@tsed/exceptions": "workspace:*" "@tsed/json-mapper": "workspace:*" - "@tsed/logger": "npm:>=6.7.5" - "@tsed/logger-file": "npm:>=6.7.5" + "@tsed/logger": "npm:^6.7.8" + "@tsed/logger-file": "npm:^6.7.8" "@tsed/platform-exceptions": "workspace:*" "@tsed/platform-log-middleware": "workspace:*" "@tsed/platform-middlewares": "workspace:*" @@ -6521,11 +6734,11 @@ __metadata: "@types/json-schema": "npm:7.0.15" accepts: "npm:^1.3.8" cross-env: "npm:7.0.3" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - uuid: "npm:9.0.1" - vitest: "npm:2.0.4" + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + uuid: "npm:10.0.0" + vitest: "npm:2.1.2" peerDependencies: "@tsed/logger": ">=6.7.5" "@tsed/logger-file": ">=6.7.5" @@ -6546,13 +6759,13 @@ __metadata: "@tsed/di": "workspace:*" "@tsed/normalize-path": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - globby: "npm:11.1.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" + eslint: "npm:9.12.0" + globby: "npm:^14.0.2" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" peerDependencies: - "@tsed/core": 7.83.3 + "@tsed/core": 8.0.0-alpha.10 peerDependenciesMeta: "@tsed/core": optional: false @@ -6567,13 +6780,13 @@ __metadata: "@tsed/monorepo-utils": "npm:2.3.5" "@tsed/typescript": "workspace:*" "@tsed/vitest": "workspace:*" - "@vitest/coverage-v8": "npm:^2.0.5" - eslint: "npm:^8.57.0" - reflect-metadata: "npm:^0.2.1" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vite: "npm:^5.4.1" - vitest: "npm:2.0.4" + "@vitest/coverage-v8": "npm:^2.1.2" + eslint: "npm:9.12.0" + reflect-metadata: "npm:^0.2.2" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vite: "npm:^5.4.8" + vitest: "npm:2.1.2" webpack: "npm:^5.75.0" languageName: unknown linkType: soft @@ -6584,19 +6797,20 @@ __metadata: dependencies: "@tsed/barrels": "workspace:*" "@tsed/core": "workspace:*" - "@tsed/logger": "npm:>=6.7.5" + "@tsed/logger": "npm:^6.7.8" "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" cross-env: "npm:7.0.3" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.2" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + uuid: "npm:^10.0.0" + vitest: "npm:2.1.2" webpack: "npm:^5.75.0" peerDependencies: - "@tsed/core": 7.83.3 + "@tsed/core": 8.0.0-alpha.10 "@tsed/logger": ">=6.7.5" - "@tsed/schema": 7.83.3 + "@tsed/schema": 8.0.0-alpha.10 peerDependenciesMeta: "@tsed/core": optional: false @@ -6611,10 +6825,10 @@ __metadata: version: 0.0.0-use.local resolution: "@tsed/engines@workspace:packages/engines" dependencies: - "@babel/core": "npm:7.24.3" - "@babel/plugin-transform-runtime": "npm:7.24.3" - "@babel/preset-env": "npm:7.24.3" - "@babel/preset-react": "npm:7.24.1" + "@babel/core": "npm:7.25.7" + "@babel/plugin-transform-runtime": "npm:7.25.7" + "@babel/preset-env": "npm:7.25.7" + "@babel/preset-react": "npm:7.25.7" "@tsed/barrels": "workspace:*" "@tsed/typescript": "workspace:*" "@types/semver": "npm:^7.5.8" @@ -6628,8 +6842,8 @@ __metadata: dustjs-linkedin: "npm:^3.0.1" eco: "npm:^1.1.0-rc-3" ect: "npm:^0.5.9" - ejs: "npm:^3.1.9" - eslint: "npm:^8.57.0" + ejs: "npm:^3.1.10" + eslint: "npm:9.12.0" haml: "npm:^0.4.3" haml-coffee: "npm:^1.14.1" hamlet: "npm:^0.3.3" @@ -6646,14 +6860,13 @@ __metadata: mote: "npm:^0.2.0" mustache: "npm:^4.2.0" nunjucks: "npm:^3.2.4" - nyc: "npm:15.1.0" plates: "npm:^0.4.11" - pug: "npm:^3.0.2" - ractive: "npm:^1.4.3" + pug: "npm:^3.0.3" + ractive: "npm:^1.4.4" razor-tmpl: "npm:^1.3.1" - react: "npm:^18.2.0" - react-dom: "npm:^18.2.0" - semver: "npm:^7.6.0" + react: "npm:^18.3.1" + react-dom: "npm:^18.3.1" + semver: "npm:^7.6.3" slm: "npm:^2.0.0" squirrelly: "npm:^5.1.0" swig-templates: "npm:^2.0.3" @@ -6661,14 +6874,14 @@ __metadata: templayed: "npm:>=0.2.3" tinyliquid: "npm:^0.2.34" ts-node: "npm:10.9.2" - tslib: "npm:2.6.1" - twig: "npm:^1.15.2" - twing: "npm:^5.0.2" - typescript: "npm:4.9.5" - underscore: "npm:^1.11.0" + tslib: "npm:2.7.0" + twig: "npm:^1.17.1" + twing: "npm:^5.2.2" + typescript: "npm:5.4.5" + underscore: "npm:^1.13.7" vash: "npm:^0.13.0" - velocityjs: "npm:^2.0.1" - vitest: "npm:2.0.4" + velocityjs: "npm:^2.0.6" + vitest: "npm:2.1.2" walrus: "npm:^0.10.1" whiskers: "npm:^0.4.0" languageName: unknown @@ -6683,11 +6896,11 @@ __metadata: "@tsed/core": "workspace:*" "@tsed/di": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" + eslint: "npm:9.12.0" eventemitter2: "npm:^6.4.9" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" webpack: "npm:^5.75.0" peerDependencies: eventemitter2: ^6.4.4 @@ -6701,14 +6914,14 @@ __metadata: "@tsed/barrels": "workspace:*" "@tsed/typescript": "workspace:*" "@types/statuses": "npm:2.0.5" - change-case: "npm:4.1.2" - eslint: "npm:^8.57.0" - statuses: "npm:>=2.0.1" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/core": 7.83.3 + change-case: "npm:^5.4.4" + eslint: "npm:9.12.0" + statuses: "npm:^2.0.1" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/core": 8.0.0-alpha.10 languageName: unknown linkType: soft @@ -6718,9 +6931,9 @@ __metadata: dependencies: "@tsed/barrels": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" peerDependencies: formiojs: ">=4.0.0" languageName: unknown @@ -6739,21 +6952,21 @@ __metadata: "@tsed/normalize-path": "workspace:*" "@tsed/typescript": "workspace:*" "@types/async": "npm:3.2.24" - eslint: "npm:^8.57.0" - express: "npm:^4.19.1" - formio: "npm:3.5.0" - mongodb: "npm:*" - mongoose: "npm:^6.12.7" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/common": 7.83.3 + eslint: "npm:9.12.0" + express: "npm:^4.21.0" + formio: "npm:4.2.5" + mongodb: "npm:^6.9.0" + mongoose: "npm:8.7.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/common": 8.0.0-alpha.10 express: ^4.17.1 formio: ">=2.0.0" lodash: ^4.17.21 mongodb: "*" - mongoose: ^6.1.7 + mongoose: ^8.7.0 peerDependenciesMeta: "@tsed/common": optional: false @@ -6764,7 +6977,7 @@ __metadata: version: 0.0.0-use.local resolution: "@tsed/github-sponsors@workspace:tools/github-sponsors" dependencies: - yaml: "npm:^2.0.1" + yaml: "npm:^2.5.1" languageName: unknown linkType: soft @@ -6776,16 +6989,16 @@ __metadata: "@tsed/common": "workspace:*" "@tsed/core": "workspace:*" "@tsed/di": "workspace:*" - "@tsed/logger": "npm:>=6.7.5" + "@tsed/logger": "npm:^6.7.8" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - graphql-ws: "npm:^5.15.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - peerDependencies: - "@tsed/common": 7.83.3 - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 + eslint: "npm:9.12.0" + graphql-ws: "npm:5.16.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + peerDependencies: + "@tsed/common": 8.0.0-alpha.10 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 "@tsed/logger": ">=6.7.5" graphql-ws: ">=5.14.2" languageName: unknown @@ -6805,7 +7018,7 @@ __metadata: "@tsed/schema": "workspace:*" "@tsed/swagger": "workspace:*" "@tsed/typescript": "workspace:*" - typescript: "npm:4.9.5" + typescript: "npm:5.4.5" languageName: unknown linkType: soft @@ -6817,16 +7030,16 @@ __metadata: "@tsed/core": "workspace:*" "@tsed/di": "workspace:*" "@tsed/typescript": "workspace:*" - "@types/ioredis-mock": "npm:^5.6.0" - eslint: "npm:^8.57.0" - ioredis: "npm:5.3.2" + "@types/ioredis-mock": "npm:^8.2.5" + eslint: "npm:9.12.0" + ioredis: "npm:5.4.1" ioredis-mock: "npm:8.9.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" peerDependencies: - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 ioredis: ">=5.2.3" ioredis-mock: ">=8.2.2" languageName: unknown @@ -6840,13 +7053,14 @@ __metadata: "@tsed/core": "workspace:*" "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + webpack: "npm:^5.75.0" peerDependencies: - "@tsed/core": 7.83.3 - "@tsed/schema": 7.83.3 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 peerDependenciesMeta: "@tsed/core": optional: false @@ -6861,48 +7075,36 @@ __metadata: dependencies: "@tsed/barrels": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" + eslint: "npm:9.12.0" fs-extra: "npm:^11.2.0" jose2: "npm:jose@^2.0.4" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" languageName: unknown linkType: soft -"@tsed/logger-file@npm:>=6.7.5": - version: 6.7.5 - resolution: "@tsed/logger-file@npm:6.7.5" +"@tsed/logger-file@npm:^6.7.8": + version: 6.7.8 + resolution: "@tsed/logger-file@npm:6.7.8" dependencies: streamroller: "npm:^3.1.5" tslib: "npm:2.6.2" peerDependencies: - "@tsed/logger": 6.7.5 - checksum: 10/ad5e7d2bb8d8b856c91b947d4410c57d643abfdedf094a560811a9ff7c89fe3879260b771da13803c511f92c28a33f8bddeb374f96407eac79aa6404093d816a - languageName: node - linkType: hard - -"@tsed/logger@npm:6.6.3": - version: 6.6.3 - resolution: "@tsed/logger@npm:6.6.3" - dependencies: - colors: "npm:1.4.0" - date-format: "npm:^4.0.6" - semver: "npm:^7.3.5" - tslib: "npm:2.3.1" - checksum: 10/366691d9328efd9ee8956189b1377eb4956d232bc6f2b273be5e404efd5ec497f57021d24edbd941fd1101962015503491f031f6b3de73ce3fd81df44886a9ca + "@tsed/logger": 6.7.8 + checksum: 10/cec406d33eb27cee6d78cf8db606d9c276805c3bfb1fed4baa3c115520ce4639830260784c13d128e479c244270d6fcc98785902286145a5cd6fdb263c9d9bec languageName: node linkType: hard -"@tsed/logger@npm:>=6.7.5": - version: 6.7.5 - resolution: "@tsed/logger@npm:6.7.5" +"@tsed/logger@npm:6.7.8, @tsed/logger@npm:^6.7.8": + version: 6.7.8 + resolution: "@tsed/logger@npm:6.7.8" dependencies: colors: "npm:1.4.0" date-format: "npm:^4.0.14" semver: "npm:^7.6.0" tslib: "npm:2.6.2" - checksum: 10/969e83830261959792ee7ad26236422b251140642980edae79ff96242681a0dd4e93c9e3f428be5d90a5426190c631f891be46c6d325b09f1d9005f5b7cbe21f + checksum: 10/c9448a86e7da2fedd542e07fa9108e7852cc4a8dd0d7b02f54071e51914d68f87e655eef0fe430d08a189b0c3b41a35cc8420029a0d2b73e6ad4d8385890f258 languageName: node linkType: hard @@ -6910,28 +7112,28 @@ __metadata: version: 0.0.0-use.local resolution: "@tsed/mikro-orm@workspace:packages/orm/mikro-orm" dependencies: - "@mikro-orm/core": "npm:6.2.2" - "@mikro-orm/mongodb": "npm:6.2.2" + "@mikro-orm/core": "npm:6.3.12" + "@mikro-orm/mongodb": "npm:6.3.12" "@tsed/barrels": "workspace:*" "@tsed/common": "workspace:*" "@tsed/core": "workspace:*" "@tsed/di": "workspace:*" "@tsed/json-mapper": "workspace:*" - "@tsed/logger": "npm:>=6.7.5" + "@tsed/logger": "npm:^6.7.8" "@tsed/schema": "workspace:*" "@tsed/testcontainers-mongo": "workspace:*" "@tsed/typescript": "workspace:*" cross-env: "npm:7.0.3" - eslint: "npm:^8.57.0" + eslint: "npm:9.12.0" ts-mockito: "npm:^2.6.1" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" peerDependencies: "@mikro-orm/core": ">=4.5.9" - "@tsed/common": 7.83.3 - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 + "@tsed/common": 8.0.0-alpha.10 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 "@tsed/logger": ">=6.7.5" languageName: unknown linkType: soft @@ -6945,23 +7147,23 @@ __metadata: "@tsed/core": "workspace:*" "@tsed/di": "workspace:*" "@tsed/json-mapper": "workspace:*" - "@tsed/logger": "npm:>=6.7.5" + "@tsed/logger": "npm:^6.7.8" "@tsed/schema": "workspace:*" "@tsed/testcontainers-mongo": "workspace:*" "@tsed/typescript": "workspace:*" - change-case: "npm:4.1.2" - eslint: "npm:^8.57.0" - mongoose: "npm:6.12.7" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/ajv": 7.83.3 - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/json-mapper": 7.83.3 + change-case: "npm:5.4.4" + eslint: "npm:9.12.0" + mongoose: "npm:8.7.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/ajv": 8.0.0-alpha.10 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/json-mapper": 8.0.0-alpha.10 "@tsed/logger": ">=6.7.5" - "@tsed/schema": 7.83.3 + "@tsed/schema": 8.0.0-alpha.10 mongoose: ">=6.0.0" languageName: unknown linkType: soft @@ -7006,11 +7208,11 @@ __metadata: "@tsed/barrels": "workspace:*" "@tsed/typescript": "workspace:*" "@types/normalize-path": "npm:^3.0.2" - eslint: "npm:^8.57.0" + eslint: "npm:9.12.0" normalize-path: "npm:3.0.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" languageName: unknown linkType: soft @@ -7025,19 +7227,19 @@ __metadata: "@tsed/json-mapper": "workspace:*" "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" + eslint: "npm:9.12.0" knex: "npm:^3.1.0" objection: "npm:^2.2.18" sqlite3: "npm:^5.1.7" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/ajv": 7.83.3 - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/json-mapper": 7.83.3 - "@tsed/schema": 7.83.3 + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/ajv": 8.0.0-alpha.10 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/json-mapper": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 knex: ">=0.94.0" objection: ">=2.0.0" peerDependenciesMeta: @@ -7068,17 +7270,17 @@ __metadata: "@tsed/oidc-provider": "workspace:*" "@tsed/typescript": "workspace:*" "@types/psl": "npm:^1.1.3" - "@types/uuid": "npm:9.0.8" - eslint: "npm:^8.57.0" + "@types/uuid": "npm:10.0.0" + eslint: "npm:9.12.0" psl: "npm:1.9.0" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - wildcard: "npm:2.0.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + wildcard: "npm:2.0.1" peerDependencies: - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 "@tsed/logger": ">=6.7.5" - "@tsed/oidc-provider": 7.83.3 + "@tsed/oidc-provider": 8.0.0-alpha.10 oidc-provider: ">=8.0.0" peerDependenciesMeta: "@tsed/core": @@ -7103,28 +7305,28 @@ __metadata: "@tsed/jwks": "workspace:*" "@tsed/typescript": "workspace:*" "@types/lowdb": "npm:1.0.15" - "@types/oidc-provider": "npm:8.4.4" - "@types/uuid": "npm:9.0.8" + "@types/oidc-provider": "npm:8.5.2" + "@types/uuid": "npm:10.0.0" cross-env: "npm:7.0.3" - eslint: "npm:^8.57.0" - express-urlrewrite: "npm:^1.4.0" + eslint: "npm:9.12.0" + express-urlrewrite: "npm:^2.0.3" jose2: "npm:jose@^2.0.4" koa-mount: "npm:^4.0.0" koa-rewrite: "npm:^3.0.1" lodash: "npm:4.17.21" - lowdb: "npm:3.0.0" - oidc-provider: "npm:8.4.5" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - uuid: "npm:9.0.1" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/ajv": 7.83.3 - "@tsed/common": 7.83.3 - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/json-mapper": 7.83.3 - "@tsed/schema": 7.83.3 + lowdb: "npm:7.0.1" + oidc-provider: "npm:8.5.1" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + uuid: "npm:^10.0.0" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/ajv": 8.0.0-alpha.10 + "@tsed/common": 8.0.0-alpha.10 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/json-mapper": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 oidc-provider: ">=8.0.0" peerDependenciesMeta: "@tsed/ajv": @@ -7148,8 +7350,8 @@ __metadata: dependencies: "@tsed/barrels": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - typescript: "npm:4.9.5" + eslint: "npm:9.12.0" + typescript: "npm:5.4.5" languageName: unknown linkType: soft @@ -7167,16 +7369,16 @@ __metadata: "@types/passport-http": "npm:0.3.11" "@types/passport-local": "npm:1.0.38" "@types/passport-strategy": "npm:0.2.38" - eslint: "npm:^8.57.0" + eslint: "npm:9.12.0" passport: "npm:0.7.0" passport-http: "npm:0.3.0" passport-local: "npm:1.0.0" passport-strategy: "npm:1.0.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" peerDependencies: - "@tsed/common": 7.83.3 + "@tsed/common": 8.0.0-alpha.10 passport: ">=0.4.1" peerDependenciesMeta: "@tsed/common": @@ -7190,10 +7392,10 @@ __metadata: dependencies: "@tsed/core": "workspace:*" "@tsed/typescript": "workspace:*" - chalk: "npm:^4.1.2" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" + chalk: "npm:^5.3.0" + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" languageName: unknown linkType: soft @@ -7207,18 +7409,18 @@ __metadata: "@tsed/json-mapper": "workspace:*" "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" - "@types/micromatch": "npm:^4.0.6" - cache-manager: "npm:^5.4.0" - eslint: "npm:^8.57.0" + "@types/micromatch": "npm:^4.0.9" + cache-manager: "npm:^5.7.6" + eslint: "npm:9.12.0" micromatch: "npm:4.0.8" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/json-mapper": 7.83.3 - "@tsed/schema": 7.83.3 + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/json-mapper": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 peerDependenciesMeta: "@tsed/core": optional: false @@ -7241,15 +7443,16 @@ __metadata: "@tsed/exceptions": "workspace:*" "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/exceptions": 7.83.3 - "@tsed/schema": 7.83.3 + ajv: "npm:^8.17.1" + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/exceptions": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 peerDependenciesMeta: "@tsed/core": optional: false @@ -7279,29 +7482,29 @@ __metadata: "@types/express": "npm:^4.17.21" "@types/express-session": "npm:1.18.0" "@types/method-override": "npm:0.0.35" - "@types/multer": "npm:^1.4.11" - body-parser: "npm:1.20.2" + "@types/multer": "npm:^1.4.12" + body-parser: "npm:1.20.3" compression: "npm:1.7.4" cookie-parser: "npm:1.4.6" cors: "npm:2.8.5" cross-env: "npm:7.0.3" - eslint: "npm:^8.57.0" - express: "npm:^4.19.1" + eslint: "npm:9.12.0" + express: "npm:^4.21.0" express-session: "npm:1.18.0" method-override: "npm:3.0.0" multer: "npm:^1.4.5-lts.1" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/common": 7.83.3 - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/json-mapper": 7.83.3 + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/common": 8.0.0-alpha.10 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/json-mapper": 8.0.0-alpha.10 "@tsed/logger": ">=6.7.5" - "@tsed/openspec": 7.83.3 - "@tsed/platform-views": 7.83.3 - "@tsed/schema": 7.83.3 + "@tsed/openspec": 8.0.0-alpha.10 + "@tsed/platform-views": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 "@types/multer": ^1.4.5 body-parser: ^1.19.0 cross-env: 7.0.3 @@ -7331,7 +7534,7 @@ __metadata: resolution: "@tsed/platform-koa@workspace:packages/platform/platform-koa" dependencies: "@koa/cors": "npm:5.0.0" - "@koa/router": "npm:^12.0.1" + "@koa/router": "npm:^13.1.0" "@tsed/barrels": "workspace:*" "@tsed/common": "workspace:*" "@tsed/core": "workspace:*" @@ -7347,28 +7550,28 @@ __metadata: "@types/koa-send": "npm:4.1.6" "@types/koa-session": "npm:6.4.5" "@types/koa__router": "npm:12.0.4" - cross-env: "npm:7.0.3" encodeurl: "npm:^2.0.0" - eslint: "npm:^8.57.0" + eslint: "npm:9.12.0" koa: "npm:2.15.3" koa-bodyparser: "npm:4.4.1" koa-compress: "npm:5.1.1" - koa-override: "npm:3.0.0" + koa-override: "npm:4.0.0" koa-qs: "npm:^3.0.0" koa-send: "npm:5.0.1" koa-session: "npm:6.4.0" multer: "npm:^1.4.5-lts.1" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/common": 7.83.3 - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/json-mapper": 7.83.3 + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/common": 8.0.0-alpha.10 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/json-mapper": 8.0.0-alpha.10 "@tsed/logger": ">=6.7.5" - "@tsed/openspec": 7.83.3 - "@tsed/schema": 7.83.3 + "@tsed/openspec": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 + cross-env: 7.0.3 koa: ">=2.13.0" koa-bodyparser: ">=4.3.0" koa-compress: ">=5.0.1" @@ -7405,14 +7608,41 @@ __metadata: "@tsed/platform-middlewares": "workspace:*" "@tsed/platform-params": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/di": 7.83.3 - "@tsed/platform-middlewares": 7.83.3 - "@tsed/platform-params": 7.83.3 + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/di": 8.0.0-alpha.10 + "@tsed/platform-middlewares": 8.0.0-alpha.10 + "@tsed/platform-params": 8.0.0-alpha.10 + peerDependenciesMeta: + "@tsed/di": + optional: false + "@tsed/platform-middlewares": + optional: false + "@tsed/platform-params": + optional: false + languageName: unknown + linkType: soft + +"@tsed/platform-log-request@workspace:packages/platform/platform-log-request": + version: 0.0.0-use.local + resolution: "@tsed/platform-log-request@workspace:packages/platform/platform-log-request" + dependencies: + "@tsed/barrels": "workspace:*" + "@tsed/di": "workspace:*" + "@tsed/platform-middlewares": "workspace:*" + "@tsed/platform-params": "workspace:*" + "@tsed/typescript": "workspace:*" + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/di": 8.0.0-alpha.10 + "@tsed/platform-middlewares": 8.0.0-alpha.10 + "@tsed/platform-params": 8.0.0-alpha.10 peerDependenciesMeta: "@tsed/di": optional: false @@ -7432,14 +7662,14 @@ __metadata: "@tsed/di": "workspace:*" "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/schema": 7.83.3 + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 peerDependenciesMeta: "@tsed/core": optional: true @@ -7461,16 +7691,16 @@ __metadata: "@tsed/json-mapper": "workspace:*" "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/exceptions": 7.83.3 - "@tsed/json-mapper": 7.83.3 - "@tsed/schema": 7.83.3 + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/exceptions": 8.0.0-alpha.10 + "@tsed/json-mapper": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 peerDependenciesMeta: "@tsed/core": optional: false @@ -7496,16 +7726,16 @@ __metadata: "@tsed/json-mapper": "workspace:*" "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/exceptions": 7.83.3 - "@tsed/json-mapper": 7.83.3 - "@tsed/schema": 7.83.3 + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/exceptions": 8.0.0-alpha.10 + "@tsed/json-mapper": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 peerDependenciesMeta: "@tsed/core": optional: false @@ -7532,17 +7762,17 @@ __metadata: "@tsed/platform-params": "workspace:*" "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/exceptions": 7.83.3 - "@tsed/json-mapper": 7.83.3 - "@tsed/platform-params": 7.83.3 - "@tsed/schema": 7.83.3 + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/exceptions": 8.0.0-alpha.10 + "@tsed/json-mapper": 8.0.0-alpha.10 + "@tsed/platform-params": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 peerDependenciesMeta: "@tsed/core": optional: false @@ -7569,20 +7799,20 @@ __metadata: "@tsed/di": "workspace:*" "@tsed/platform-serverless-testing": "workspace:*" "@tsed/typescript": "workspace:*" - "@types/aws-lambda": "npm:^8.10.136" - eslint: "npm:^8.57.0" + "@types/aws-lambda": "npm:^8.10.145" + eslint: "npm:9.12.0" serverless-http: "npm:^3.2.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/common": 7.83.3 - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/json-mapper": 7.83.3 + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/common": 8.0.0-alpha.10 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/json-mapper": 8.0.0-alpha.10 "@tsed/logger": ">=6.7.5" - "@tsed/openspec": 7.83.3 - "@tsed/schema": 7.83.3 + "@tsed/openspec": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 serverless-http: ">=2.0.0" peerDependenciesMeta: "@tsed/common": @@ -7612,18 +7842,18 @@ __metadata: "@tsed/di": "workspace:*" "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" - "@types/aws-lambda": "npm:^8.10.136" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - peerDependencies: - "@tsed/common": 7.83.3 - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/json-mapper": 7.83.3 + "@types/aws-lambda": "npm:^8.10.145" + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + peerDependencies: + "@tsed/common": 8.0.0-alpha.10 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/json-mapper": 8.0.0-alpha.10 "@tsed/logger": ">=6.7.5" - "@tsed/openspec": 7.83.3 - "@tsed/schema": 7.83.3 + "@tsed/openspec": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 languageName: unknown linkType: soft @@ -7640,19 +7870,20 @@ __metadata: "@tsed/platform-serverless-testing": "workspace:*" "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" - "@types/aws-lambda": "npm:^8.10.136" + "@types/aws-lambda": "npm:^8.10.145" "@types/encodeurl": "npm:^1.0.2" - "@types/mime": "npm:^3.0.4" + "@types/mime": "npm:^4.0.0" + aws-lambda: "npm:1.0.7" encodeurl: "npm:^2.0.0" - eslint: "npm:^8.57.0" - find-my-way: "npm:^8.2.0" - mime: "npm:^3.0.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - uuid: "npm:^9.0.1" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/di": 7.83.3 + eslint: "npm:9.12.0" + find-my-way: "npm:^9.1.0" + mime: "npm:^4.0.4" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + uuid: "npm:^10.0.0" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/di": 8.0.0-alpha.10 "@tsed/logger": ">=6.7.5" find-my-way: ">=7.0.0" peerDependenciesMeta: @@ -7675,7 +7906,7 @@ __metadata: "@tsed/core": "workspace:*" "@tsed/di": "workspace:*" "@tsed/json-mapper": "workspace:*" - "@tsed/logger": "npm:6.6.3" + "@tsed/logger": "npm:6.7.8" "@tsed/platform-cache": "workspace:*" "@tsed/platform-params": "workspace:*" "@tsed/platform-router": "workspace:*" @@ -7683,11 +7914,11 @@ __metadata: "@tsed/schema": "workspace:*" "@tsed/swagger": "workspace:*" "@tsed/typescript": "workspace:*" - ajv: "npm:^8.12.0" - axios: "npm:1.7.4" - eslint: "npm:^8.57.0" + ajv: "npm:^8.17.1" + axios: "npm:1.7.7" + eslint: "npm:9.12.0" read-pkg-up: "npm:7.0.1" - typescript: "npm:4.9.5" + typescript: "npm:5.4.5" languageName: unknown linkType: soft @@ -7703,17 +7934,17 @@ __metadata: "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" "@types/ejs": "npm:3.1.5" - ejs: "npm:^3.1.9" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/engines": 7.83.3 - "@tsed/exceptions": 7.83.3 - "@tsed/schema": 7.83.3 + ejs: "npm:^3.1.10" + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/engines": 8.0.0-alpha.10 + "@tsed/exceptions": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 peerDependenciesMeta: "@tsed/core": optional: false @@ -7730,9 +7961,9 @@ __metadata: version: 0.0.0-use.local resolution: "@tsed/prisma@workspace:packages/orm/prisma" dependencies: - "@prisma/client": "npm:^4.16.2" - "@prisma/generator-helper": "npm:^4.16.2" - "@prisma/internals": "npm:^4.16.2" + "@prisma/client": "npm:^5.20.0" + "@prisma/generator-helper": "npm:^5.20.0" + "@prisma/internals": "npm:^5.20.0" "@tsed/barrels": "workspace:*" "@tsed/core": "workspace:*" "@tsed/di": "workspace:*" @@ -7742,23 +7973,23 @@ __metadata: "@tsed/typescript": "workspace:*" "@types/change-case": "npm:^2.3.1" "@types/pluralize": "npm:0.0.33" - change-case: "npm:^4.1.2" - eslint: "npm:^8.57.0" + change-case: "npm:^5.4.4" + eslint: "npm:9.12.0" fs-extra: "npm:^11.2.0" pluralize: "npm:^8.0.0" prisma: "npm:^4.16.2" - ts-morph: "npm:^12.0.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@prisma/client": ">=4.0.0" - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/json-mapper": 7.83.3 - "@tsed/schema": 7.83.3 + ts-morph: "npm:^12.2.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@prisma/client": ">=5.0.0" + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/json-mapper": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 bin: - tsed-prisma: lib/cjs/generator.js + tsed-prisma: lib/esm/generator.js tsed-prisma-esm: lib/esm/generator.js languageName: unknown linkType: soft @@ -7767,16 +7998,16 @@ __metadata: version: 0.0.0-use.local resolution: "@tsed/pulse@workspace:packages/third-parties/pulse" dependencies: - "@pulsecron/pulse": "npm:^1.6.1" + "@pulsecron/pulse": "npm:^1.6.3" "@tsed/barrels": "workspace:*" "@tsed/common": "workspace:*" "@tsed/core": "workspace:*" "@tsed/di": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" peerDependencies: "@pulsecron/pulse": ">=1" languageName: unknown @@ -7786,55 +8017,57 @@ __metadata: version: 0.0.0-use.local resolution: "@tsed/root@workspace:." dependencies: - "@commitlint/cli": "npm:^19.2.1" - "@commitlint/config-conventional": "npm:^19.1.0" - "@faker-js/faker": "npm:6.3.1" - "@swc-node/register": "npm:1.6.8" - "@swc/core": "npm:1.7.26" + "@commitlint/cli": "npm:19.5.0" + "@commitlint/config-conventional": "npm:19.5.0" + "@faker-js/faker": "npm:9.0.3" + "@swc-node/register": "npm:1.10.9" + "@swc/core": "npm:1.7.28" "@swc/helpers": "npm:0.5.13" - "@tsed/logger": "npm:>=6.7.5" + "@tsed/logger": "npm:^6.7.8" "@tsed/monorepo-utils": "npm:2.3.5" "@tsed/ts-doc": "npm:4.1.0" "@types/axios": "npm:0.14.0" "@types/globby": "npm:9.1.0" - "@types/node": "npm:20.11.30" - "@types/superagent": "npm:4.1.24" + "@types/node": "npm:22.7.4" + "@types/superagent": "npm:8.1.9" "@types/supertest": "npm:6.0.2" - "@typescript-eslint/eslint-plugin": "npm:^5.62.0" - "@typescript-eslint/parser": "npm:^5.62.0" - ajv: "npm:8.12.0" - axios: "npm:1.7.4" - change-case: "npm:4.1.2" - concurrently: "npm:8.2.2" + "@typescript-eslint/eslint-plugin": "npm:8.8.0" + "@typescript-eslint/parser": "npm:8.8.0" + ajv: "npm:8.17.1" + axios: "npm:1.7.7" + change-case: "npm:5.4.4" + concurrently: "npm:9.0.1" cross-env: "npm:7.0.3" - eslint: "npm:^8.57.0" - eslint-config-prettier: "npm:8.10.0" - eslint-plugin-prettier: "npm:5.1.3" - eslint-plugin-workspaces: "npm:0.8.0" + eslint: "npm:9.12.0" + eslint-config-prettier: "npm:9.1.0" + eslint-plugin-prettier: "npm:5.2.1" + eslint-plugin-simple-import-sort: "npm:12.1.1" + eslint-plugin-vitest: "npm:0.5.4" + eslint-plugin-workspaces: "npm:0.10.1" fs-extra: "npm:^11.2.0" - globby: "npm:11.1.0" + globby: "npm:14.0.2" html-webpack-plugin: "npm:5.6.0" - husky: "npm:8.0.3" - is-ci: "npm:^3.0.1" - lerna: "npm:7.4.2" - lint-staged: "npm:^12.5.0" + husky: "npm:9.1.6" + is-ci: "npm:3.0.1" + lerna: "npm:8.1.8" + lint-staged: "npm:15.2.10" merge-istanbul: "npm:1.1.4" micromatch: "npm:4.0.8" moment: "npm:2.30.1" - prettier: "npm:3.2.5" - rimraf: "npm:5.0.5" + mongoose: "npm:^8.7.0" + prettier: "npm:3.3.3" + rimraf: "npm:6.0.1" rxjs: "npm:^7.8.1" - semantic-release: "npm:23.0.5" + semantic-release: "npm:24.1.2" semantic-release-slack-bot: "npm:4.0.2" - supertest: "npm:6.2.2" - ts-loader: "npm:^9.4.2" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" + supertest: "npm:7.0.0" + ts-loader: "npm:9.5.1" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" unplugin-swc: "npm:1.5.1" - uuid: "npm:9.0.1" - vite: "npm:5.4.1" - vite-plugin-dts: "npm:^4.0.3" - vitest: "npm:2.0.4" + uuid: "npm:10.0.0" + vite: "npm:5.4.8" + vitest: "npm:2.1.2" webpack: "npm:^5.75.0" webpack-cli: "npm:^5.0.1" webpack-dev-server: "npm:^4.11.1" @@ -7852,15 +8085,15 @@ __metadata: "@tsed/openspec": "workspace:*" "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" - change-case: "npm:4.1.2" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/core": 7.83.3 - "@tsed/openspec": 7.83.3 - "@tsed/schema": 7.83.3 + change-case: "npm:^5.4.4" + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/core": 8.0.0-alpha.10 + "@tsed/openspec": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 formiojs: ">=4.0.0" lodash: ">=4.0.0" moment: ">=2.0.0" @@ -7891,21 +8124,23 @@ __metadata: "@tsed/typescript": "workspace:*" "@types/fs-extra": "npm:11.0.4" "@types/json-schema": "npm:7.0.15" - "@types/picomatch": "npm:2.3.3" + "@types/picomatch": "npm:3.0.1" "@types/statuses": "npm:2.0.5" - change-case: "npm:^4.1.2" - eslint: "npm:^8.57.0" + ajv: "npm:^8.17.1" + change-case: "npm:^5.4.4" + eslint: "npm:9.12.0" fs-extra: "npm:^11.2.0" json-schema: "npm:0.4.0" picomatch: "npm:2.3.1" picomatch-browser: "npm:^2.2.6" - statuses: "npm:>=2.0.1" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" + statuses: "npm:^2.0.1" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + webpack: "npm:^5.75.0" peerDependencies: - "@tsed/core": 7.83.3 - "@tsed/openspec": 7.83.3 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/openspec": 8.0.0-alpha.10 peerDependenciesMeta: "@tsed/core": optional: false @@ -7922,14 +8157,14 @@ __metadata: "@tsed/common": "workspace:*" "@tsed/di": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - socket.io-client: "npm:^4.7.5" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - peerDependencies: - "@tsed/common": 7.83.3 - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 + eslint: "npm:9.12.0" + socket.io-client: "npm:^4.8.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + peerDependencies: + "@tsed/common": 8.0.0-alpha.10 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 socket.io-client: ^4.0.1 languageName: unknown linkType: soft @@ -7948,19 +8183,19 @@ __metadata: "@tsed/schema": "workspace:*" "@tsed/socketio-testing": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - express: "npm:^4.19.1" - socket.io: "npm:4.7.5" - socket.io-client: "npm:^4.7.5" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/di": 7.83.3 - "@tsed/json-mapper": 7.83.3 + eslint: "npm:9.12.0" + express: "npm:^4.21.0" + socket.io: "npm:4.8.0" + socket.io-client: "npm:^4.8.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/di": 8.0.0-alpha.10 + "@tsed/json-mapper": 8.0.0-alpha.10 "@tsed/logger": ">=6.7.5" - "@tsed/platform-middlewares": 7.83.3 - "@tsed/schema": 7.83.3 + "@tsed/platform-middlewares": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 socket.io: ">=4.0.0" peerDependenciesMeta: "@tsed/di": @@ -7988,17 +8223,17 @@ __metadata: "@tsed/schema": "workspace:*" "@tsed/socketio-testing": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - express: "npm:^4.19.1" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/di": 7.83.3 - "@tsed/json-mapper": 7.83.3 + eslint: "npm:9.12.0" + express: "npm:^4.21.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/di": 8.0.0-alpha.10 + "@tsed/json-mapper": 8.0.0-alpha.10 "@tsed/logger": ">=6.7.5" - "@tsed/platform-middlewares": 7.83.3 - "@tsed/schema": 7.83.3 + "@tsed/platform-middlewares": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 peerDependenciesMeta: "@tsed/di": optional: false @@ -8015,6 +8250,7 @@ __metadata: version: 0.0.0-use.local resolution: "@tsed/stripe@workspace:packages/third-parties/stripe" dependencies: + "@tsed/adapters": "workspace:*" "@tsed/barrels": "workspace:*" "@tsed/core": "workspace:*" "@tsed/di": "workspace:*" @@ -8023,16 +8259,16 @@ __metadata: "@tsed/platform-params": "workspace:*" "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - stripe: "npm:^8.129.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/exceptions": 7.83.3 - "@tsed/platform-middlewares": 7.83.3 - "@tsed/platform-params": 7.83.3 - "@tsed/schema": 7.83.3 + eslint: "npm:9.12.0" + stripe: "npm:^8.222.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@tsed/exceptions": 8.0.0-alpha.10 + "@tsed/platform-middlewares": 8.0.0-alpha.10 + "@tsed/platform-params": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 "@types/body-parser": ^1.19.0 body-parser: ^1.19.0 stripe: ^9.16.0 @@ -8064,17 +8300,17 @@ __metadata: "@tsed/openspec": "workspace:*" "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" - "@types/swagger-ui-dist": "npm:3.30.4" - eslint: "npm:^8.57.0" + "@types/swagger-ui-dist": "npm:3.30.5" + eslint: "npm:9.12.0" fs-extra: "npm:11.2.0" micromatch: "npm:4.0.8" - swagger-ui-dist: "npm:>=5.17.1" + swagger-ui-dist: "npm:>=5.17.14" ts-node: "npm:10.9.2" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" peerDependencies: - "@tsed/common": 7.83.3 + "@tsed/common": 8.0.0-alpha.10 peerDependenciesMeta: "@tsed/common": optional: false @@ -8094,10 +8330,10 @@ __metadata: "@tsed/di": "workspace:*" "@tsed/typescript": "workspace:*" cross-env: "npm:7.0.3" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" peerDependencies: "@temporalio/client": ^1.8.4 "@temporalio/worker": ^1.8.4 @@ -8115,16 +8351,16 @@ __metadata: "@tsed/di": "workspace:*" "@tsed/schema": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" + eslint: "npm:9.12.0" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" peerDependencies: "@godaddy/terminus": ^4.7.1 - "@tsed/common": 7.83.3 - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/schema": 7.83.3 + "@tsed/common": 8.0.0-alpha.10 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 + "@tsed/schema": 8.0.0-alpha.10 peerDependenciesMeta: "@godaddy/terminus": optional: false @@ -8141,50 +8377,28 @@ __metadata: version: 0.0.0-use.local resolution: "@tsed/testcontainers-mongo@workspace:packages/orm/testcontainers-mongo" dependencies: - "@testcontainers/mongodb": "npm:>=10.11.0" + "@testcontainers/mongodb": "npm:^10.13.2" "@tsed/barrels": "workspace:*" "@tsed/common": "workspace:*" "@tsed/core": "workspace:*" "@tsed/di": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - mongodb: "npm:6.8.0" - semver: "npm:^7.6.0" + eslint: "npm:9.12.0" + mongodb: "npm:6.9.0" + semver: "npm:^7.6.3" testcontainers: "npm:>=10.11.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" + tslib: "npm:2.7.0" + typescript: "npm:5.4.5" peerDependencies: "@testcontainers/mongodb": ">=10.11.0" - "@tsed/common": 7.83.3 - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 + "@tsed/common": 8.0.0-alpha.10 + "@tsed/core": 8.0.0-alpha.10 + "@tsed/di": 8.0.0-alpha.10 mongodb: ">=6" testcontainers: ">=10.11.0" languageName: unknown linkType: soft -"@tsed/testing-mongoose@workspace:packages/orm/testing-mongoose": - version: 0.0.0-use.local - resolution: "@tsed/testing-mongoose@workspace:packages/orm/testing-mongoose" - dependencies: - "@tsed/barrels": "workspace:*" - "@tsed/common": "workspace:*" - "@tsed/core": "workspace:*" - "@tsed/mongoose": "workspace:*" - "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - mongodb-memory-server: "npm:^8.16.0" - semver: "npm:^7.6.0" - tslib: "npm:2.6.1" - typescript: "npm:4.9.5" - peerDependencies: - "@tsed/common": 7.83.3 - "@tsed/core": 7.83.3 - "@tsed/mongoose": 7.83.3 - mongoose: ">=6.0.0" - languageName: unknown - linkType: soft - "@tsed/ts-doc@npm:4.1.0": version: 4.1.0 resolution: "@tsed/ts-doc@npm:4.1.0" @@ -8208,50 +8422,31 @@ __metadata: version: 0.0.0-use.local resolution: "@tsed/typegraphql@workspace:packages/graphql/typegraphql" dependencies: - "@tsed/apollo": "workspace:*" - "@tsed/barrels": "workspace:*" - "@tsed/common": "workspace:*" - "@tsed/core": "workspace:*" - "@tsed/typescript": "workspace:*" - "@types/graphql": "npm:^14.5.0" - class-validator: "npm:~0.14.1" - cross-env: "npm:^7.0.3" - eslint: "npm:^8.57.0" - graphql-passport: "npm:0.6.8" - tslib: "npm:2.6.1" - type-graphql: "npm:^1.1.1" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - apollo-datasource: ">=3.0.0" - apollo-datasource-rest: ">=3.0.0" - class-validator: ">=0.13.1" - graphql: ">=15.0.0" - type-graphql: ">=1.0.0" - languageName: unknown - linkType: soft - -"@tsed/typeorm@workspace:packages/orm/typeorm": - version: 0.0.0-use.local - resolution: "@tsed/typeorm@workspace:packages/orm/typeorm" - dependencies: + "@graphql-yoga/subscription": "npm:5.0.1" + "@tsed/apollo": "workspace:*" "@tsed/barrels": "workspace:*" + "@tsed/common": "workspace:*" "@tsed/core": "workspace:*" - "@tsed/di": "workspace:*" - "@tsed/json-mapper": "workspace:*" - "@tsed/schema": "workspace:*" + "@tsed/platform-express": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" - tslib: "npm:2.6.1" - typeorm: "npm:^0.2.45" - typescript: "npm:4.9.5" - vitest: "npm:2.0.4" - peerDependencies: - "@tsed/core": 7.83.3 - "@tsed/di": 7.83.3 - "@tsed/json-mapper": 7.83.3 - "@tsed/schema": 7.83.3 - typeorm: ^0.2.26 + "@types/graphql": "npm:^14.5.0" + class-validator: "npm:~0.14.1" + cross-env: "npm:^7.0.3" + eslint: "npm:9.12.0" + graphql: "npm:16.9.0" + graphql-passport: "npm:^0.6.8" + graphql-scalars: "npm:1.23.0" + ts-node: "npm:10.9.2" + tslib: "npm:2.7.0" + type-graphql: "npm:>=2.0.0-rc.2" + typescript: "npm:5.4.5" + vitest: "npm:2.1.2" + peerDependencies: + "@apollo/datasource-rest": ">=6.2.2" + class-validator: ">=0.13.1" + graphql: ">=16.0.0" + graphql-scalars: ">=1.23.0" + type-graphql: ">=2.0.0-rc.2" languageName: unknown linkType: soft @@ -8261,7 +8456,7 @@ __metadata: languageName: unknown linkType: soft -"@tsed/vike@workspace:*, @tsed/vike@workspace:packages/third-parties/vike": +"@tsed/vike@workspace:packages/third-parties/vike": version: 0.0.0-use.local resolution: "@tsed/vike@workspace:packages/third-parties/vike" dependencies: @@ -8271,14 +8466,14 @@ __metadata: "@tsed/di": "workspace:*" "@tsed/exceptions": "workspace:*" "@tsed/typescript": "workspace:*" - eslint: "npm:^8.57.0" + eslint: "npm:9.12.0" sirv: "npm:^2.0.4" - typescript: "npm:4.9.5" - vike: "npm:0.4.160" - vite: "npm:5.4.1" - vitest: "npm:2.0.4" + typescript: "npm:5.4.5" + vike: "npm:0.4.198" + vite: "npm:5.4.8" + vitest: "npm:2.1.2" peerDependencies: - "@tsed/common": 7.83.3 + "@tsed/common": 8.0.0-alpha.10 vike: ">=0.4.160" vite: ">=4" peerDependenciesMeta: @@ -8289,24 +8484,11 @@ __metadata: languageName: unknown linkType: soft -"@tsed/vite-ssr-plugin@workspace:packages/third-parties/vite-ssr-plugin": - version: 0.0.0-use.local - resolution: "@tsed/vite-ssr-plugin@workspace:packages/third-parties/vite-ssr-plugin" - dependencies: - "@tsed/barrels": "workspace:*" - "@tsed/typescript": "workspace:*" - "@tsed/vike": "workspace:*" - typescript: "npm:4.9.5" - peerDependencies: - vite-plugin-ssr: ">=0.4.114" - languageName: unknown - linkType: soft - "@tsed/vitest@workspace:*, @tsed/vitest@workspace:tools/vitest": version: 0.0.0-use.local resolution: "@tsed/vitest@workspace:tools/vitest" dependencies: - vitest: "npm:2.0.5" + vitest: "npm:2.1.2" languageName: unknown linkType: soft @@ -8316,13 +8498,6 @@ __metadata: languageName: unknown linkType: soft -"@tufjs/canonical-json@npm:1.0.0": - version: 1.0.0 - resolution: "@tufjs/canonical-json@npm:1.0.0" - checksum: 10/9ff3bcd12988fb23643690da3e009f9130b7b10974f8e7af4bd8ad230a228119de8609aa76d75264fe80f152b50872dea6ea53def69534436a4c24b4fcf6a447 - languageName: node - linkType: hard - "@tufjs/canonical-json@npm:2.0.0": version: 2.0.0 resolution: "@tufjs/canonical-json@npm:2.0.0" @@ -8330,16 +8505,6 @@ __metadata: languageName: node linkType: hard -"@tufjs/models@npm:1.0.4": - version: 1.0.4 - resolution: "@tufjs/models@npm:1.0.4" - dependencies: - "@tufjs/canonical-json": "npm:1.0.0" - minimatch: "npm:^9.0.0" - checksum: 10/2c63e9cfc04a4ce8888e9cc9668a7207e3047d64c50dccc3d2c30057d8bd6c4e89256b6094d2109549278da72c75e20cd8717bb5f4b544dc2323288a2a96607f - languageName: node - linkType: hard - "@tufjs/models@npm:2.0.0": version: 2.0.0 resolution: "@tufjs/models@npm:2.0.0" @@ -8350,7 +8515,16 @@ __metadata: languageName: node linkType: hard -"@types/accepts@npm:*, @types/accepts@npm:^1.3.5": +"@tybys/wasm-util@npm:^0.9.0": + version: 0.9.0 + resolution: "@tybys/wasm-util@npm:0.9.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/aa58e64753a420ad1eefaf7bacef3dda61d74f9336925943d9244132d5b48d9242f734f1e707fd5ccfa6dd1d8ec8e6debc234b4dedb3a5b0d8486d1f373350b2 + languageName: node + linkType: hard + +"@types/accepts@npm:*": version: 1.3.5 resolution: "@types/accepts@npm:1.3.5" dependencies: @@ -8359,13 +8533,6 @@ __metadata: languageName: node linkType: hard -"@types/argparse@npm:1.0.38": - version: 1.0.38 - resolution: "@types/argparse@npm:1.0.38" - checksum: 10/26ed7e3f1e3595efdb883a852f5205f971b798e4c28b7e30a32c5298eee596e8b45834ce831f014d250b9730819ab05acff5b31229666d3af4ba465b4697d0eb - languageName: node - linkType: hard - "@types/async@npm:3.2.24": version: 3.2.24 resolution: "@types/async@npm:3.2.24" @@ -8373,10 +8540,10 @@ __metadata: languageName: node linkType: hard -"@types/aws-lambda@npm:^8.10.136": - version: 8.10.136 - resolution: "@types/aws-lambda@npm:8.10.136" - checksum: 10/df7afa66d3ee9fb3697cd81156c7f71104437d81e0bce8a16e8c6c56f176ea93c1f3cb7ed0f219936f410849b413a739c485ca8572c22fb24b46b8ecd571949a +"@types/aws-lambda@npm:^8.10.145": + version: 8.10.145 + resolution: "@types/aws-lambda@npm:8.10.145" + checksum: 10/e83bfa8901f5f2a8b838baa0b280c7ea6f4e4c9317cab508d45e51bc34999fb63adf95b382f388ad8f8163773ad1dd08130dea655aab7b4961ed6d048f0bc8f9 languageName: node linkType: hard @@ -8389,7 +8556,7 @@ __metadata: languageName: node linkType: hard -"@types/body-parser@npm:*, @types/body-parser@npm:1.19.2": +"@types/body-parser@npm:*": version: 1.19.2 resolution: "@types/body-parser@npm:1.19.2" dependencies: @@ -8494,13 +8661,6 @@ __metadata: languageName: node linkType: hard -"@types/cookiejar@npm:*": - version: 2.1.2 - resolution: "@types/cookiejar@npm:2.1.2" - checksum: 10/f6e1903454007f86edd6c3520cbb4d553e1d4e17eaf1f77f6f75e3270f48cc828d74397a113a36942f5fe52f9fa71067bcfa738f53ad468fcca0bc52cb1cbd28 - languageName: node - linkType: hard - "@types/cookiejar@npm:^2.1.5": version: 2.1.5 resolution: "@types/cookiejar@npm:2.1.5" @@ -8520,31 +8680,13 @@ __metadata: languageName: node linkType: hard -"@types/cors@npm:2.8.12, @types/cors@npm:^2.8.12": +"@types/cors@npm:^2.8.12": version: 2.8.12 resolution: "@types/cors@npm:2.8.12" checksum: 10/8c45f112c7d1d2d831b4b266f2e6ed33a1887a35dcbfe2a18b28370751fababb7cd045e745ef84a523c33a25932678097bf79afaa367c6cb3fa0daa7a6438257 languageName: node linkType: hard -"@types/cross-spawn@npm:6.0.2": - version: 6.0.2 - resolution: "@types/cross-spawn@npm:6.0.2" - dependencies: - "@types/node": "npm:*" - checksum: 10/fa9edd32178878cab3ea8d6d0260639e0fe4860ddb3887b8de53d6e8036e154fc5f313c653f690975aa25025aea8beb83fb0870b931bf8d9202c3ac530a24c9d - languageName: node - linkType: hard - -"@types/debug@npm:4.1.8": - version: 4.1.8 - resolution: "@types/debug@npm:4.1.8" - dependencies: - "@types/ms": "npm:*" - checksum: 10/a9a9bb40a199e9724aa944e139a7659173a9b274798ea7efbc277cb084bc37d32fc4c00877c3496fac4fed70a23243d284adb75c00b5fdabb38a22154d18e5df - languageName: node - linkType: hard - "@types/docker-modem@npm:*": version: 3.0.6 resolution: "@types/docker-modem@npm:3.0.6" @@ -8614,7 +8756,14 @@ __metadata: languageName: node linkType: hard -"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:4.17.31, @types/express-serve-static-core@npm:^4.17.18, @types/express-serve-static-core@npm:^4.17.31": +"@types/estree@npm:1.0.6, @types/estree@npm:^1.0.6": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: 10/9d35d475095199c23e05b431bcdd1f6fec7380612aed068b14b2a08aa70494de8a9026765a5a91b1073f636fb0368f6d8973f518a31391d519e20c59388ed88d + languageName: node + linkType: hard + +"@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.31": version: 4.17.31 resolution: "@types/express-serve-static-core@npm:4.17.31" dependencies: @@ -8625,6 +8774,18 @@ __metadata: languageName: node linkType: hard +"@types/express-serve-static-core@npm:^4.17.30": + version: 4.19.5 + resolution: "@types/express-serve-static-core@npm:4.19.5" + dependencies: + "@types/node": "npm:*" + "@types/qs": "npm:*" + "@types/range-parser": "npm:*" + "@types/send": "npm:*" + checksum: 10/49350c6315eeb7d640e13e6138ba6005121b3b610b1e25746fccd5b86b559be810a4ba384b9bd7eee288975b5bd8cf67c1772c646254b812beaa488774eb5513 + languageName: node + linkType: hard + "@types/express-serve-static-core@npm:^4.17.33": version: 4.17.41 resolution: "@types/express-serve-static-core@npm:4.17.41" @@ -8658,18 +8819,6 @@ __metadata: languageName: node linkType: hard -"@types/express@npm:4.17.14": - version: 4.17.14 - resolution: "@types/express@npm:4.17.14" - dependencies: - "@types/body-parser": "npm:*" - "@types/express-serve-static-core": "npm:^4.17.18" - "@types/qs": "npm:*" - "@types/serve-static": "npm:*" - checksum: 10/293e53a7572ef93f70c830a0b1d620b5e16670509bb91e800393a67e7f41f170478809d862deed0edf573fc1afc3a6f7fc99ed176a28c0d8dd3f07c433f88672 - languageName: node - linkType: hard - "@types/express@npm:^4.17.21": version: 4.17.21 resolution: "@types/express@npm:4.17.21" @@ -8701,16 +8850,6 @@ __metadata: languageName: node linkType: hard -"@types/glob@npm:^7.1.3": - version: 7.2.0 - resolution: "@types/glob@npm:7.2.0" - dependencies: - "@types/minimatch": "npm:*" - "@types/node": "npm:*" - checksum: 10/6ae717fedfdfdad25f3d5a568323926c64f52ef35897bcac8aca8e19bc50c0bd84630bbd063e5d52078b2137d8e7d3c26eabebd1a2f03ff350fff8a91e79fc19 - languageName: node - linkType: hard - "@types/globby@npm:9.1.0": version: 9.1.0 resolution: "@types/globby@npm:9.1.0" @@ -8720,7 +8859,7 @@ __metadata: languageName: node linkType: hard -"@types/graphql@npm:14.5.0, @types/graphql@npm:^14.5.0": +"@types/graphql@npm:^14.5.0": version: 14.5.0 resolution: "@types/graphql@npm:14.5.0" dependencies: @@ -8766,21 +8905,20 @@ __metadata: languageName: node linkType: hard -"@types/ioredis-mock@npm:^5.6.0": - version: 5.6.0 - resolution: "@types/ioredis-mock@npm:5.6.0" +"@types/ioredis-mock@npm:^8.2.5": + version: 8.2.5 + resolution: "@types/ioredis-mock@npm:8.2.5" dependencies: - "@types/ioredis": "npm:*" - checksum: 10/df430006c5a90d5fe9d23145b37dc324f9d21bc4c8a1763f70b3ff6ca70ea5a8dadb6e5cd1c170e8ddb7669f459b5b0843550da9fdc028419ab2addea84a0c41 + "@types/node": "npm:*" + ioredis: "npm:>=5" + checksum: 10/c32a20e02f8c777780b8663ba83bc7be4a5098fe44c390dd28cb69c9b60fc6dcfa1cbc7e5f8dca3579e85b3be1a08b5b8201a5a2d6d1195e5e5840b13538caab languageName: node linkType: hard -"@types/ioredis@npm:*": - version: 4.28.10 - resolution: "@types/ioredis@npm:4.28.10" - dependencies: - "@types/node": "npm:*" - checksum: 10/c160dccab11b9bdc49e753a8fb4c18ccd0dd97c9b5aa966514cdc3f3fb6cd007e421f1de6044565446acd59059b18c8d8f6ae878c013d623a24ed196adead6f3 +"@types/json-logic-js@npm:^2.0.7": + version: 2.0.7 + resolution: "@types/json-logic-js@npm:2.0.7" + checksum: 10/c25412ddad385f48b01a845f07a01a26d3a90b498e7f88c3ccdf9e48471de29a6e05d7801184c05a02687a2caee8e00d6ece61ea844155833103b6cb0025303f languageName: node linkType: hard @@ -8791,7 +8929,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:7.0.15": +"@types/json-schema@npm:7.0.15, @types/json-schema@npm:^7.0.15": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7 @@ -8823,16 +8961,7 @@ __metadata: languageName: node linkType: hard -"@types/koa-bodyparser@npm:^4.3.0": - version: 4.3.7 - resolution: "@types/koa-bodyparser@npm:4.3.7" - dependencies: - "@types/koa": "npm:*" - checksum: 10/3a2cac14cb4a720d017d7708fbe9e8a310b5ecebbe62703a2606bb48c775fbeaf9fd601ba9cb7add03c7059f90327d8bcad3d70443eaea383b117b5c020054ec - languageName: node - linkType: hard - -"@types/koa-compose@npm:*, @types/koa-compose@npm:^3.2.5": +"@types/koa-compose@npm:*": version: 3.2.5 resolution: "@types/koa-compose@npm:3.2.5" dependencies: @@ -8897,7 +9026,7 @@ __metadata: languageName: node linkType: hard -"@types/koa@npm:*, @types/koa@npm:^2.11.6": +"@types/koa@npm:*": version: 2.13.4 resolution: "@types/koa@npm:2.13.4" dependencies: @@ -8929,15 +9058,6 @@ __metadata: languageName: node linkType: hard -"@types/koa__cors@npm:^3.0.1": - version: 3.1.1 - resolution: "@types/koa__cors@npm:3.1.1" - dependencies: - "@types/koa": "npm:*" - checksum: 10/7ef2c09a453383f7813c25657633a3fe1c3321fe5cdd30a5806aa8be61d02f475deeb44a472bae046c48849d4a60165410b3ea0a7b931ed720da02e3f26515f7 - languageName: node - linkType: hard - "@types/koa__router@npm:12.0.4": version: 12.0.4 resolution: "@types/koa__router@npm:12.0.4" @@ -8970,13 +9090,6 @@ __metadata: languageName: node linkType: hard -"@types/luxon@npm:^1.4.0": - version: 1.27.1 - resolution: "@types/luxon@npm:1.27.1" - checksum: 10/52875e43c6680f31238acb46b64bc64af9f063cba36c9450ff089d7be458b9abc299ff34ae6823644c26f4c8882a587f1574fc47ff6fc24f28c91bc8a9ea10ec - languageName: node - linkType: hard - "@types/mdast@npm:^3.0.0": version: 3.0.10 resolution: "@types/mdast@npm:3.0.10" @@ -9002,12 +9115,12 @@ __metadata: languageName: node linkType: hard -"@types/micromatch@npm:^4.0.6": - version: 4.0.6 - resolution: "@types/micromatch@npm:4.0.6" +"@types/micromatch@npm:^4.0.9": + version: 4.0.9 + resolution: "@types/micromatch@npm:4.0.9" dependencies: "@types/braces": "npm:*" - checksum: 10/d86560645ad74acfd8251da612e459f72c1b146ad48cfd894aae1c4d0e55f2ea32491f793b623c7890dae546bf4b6e3b31fc536e4448ea5331c7a26acc450f94 + checksum: 10/324f4bcb4a7caa2048bdd650f442d2c24b5bf6bc95e4d63d4741bd234fdcf3cde140217bd477b2c02c7fb0034c7293037fd7b61429ace84e997dd3b4d3b2b2f7 languageName: node linkType: hard @@ -9025,14 +9138,16 @@ __metadata: languageName: node linkType: hard -"@types/mime@npm:^3.0.4": - version: 3.0.4 - resolution: "@types/mime@npm:3.0.4" - checksum: 10/a6139c8e1f705ef2b064d072f6edc01f3c099023ad7c4fce2afc6c2bf0231888202adadbdb48643e8e20da0ce409481a49922e737eca52871b3dc08017455843 +"@types/mime@npm:^4.0.0": + version: 4.0.0 + resolution: "@types/mime@npm:4.0.0" + dependencies: + mime: "npm:*" + checksum: 10/e19258adf39badcfa1ed1deecc081f5d4fbbbd655bb6ae23fc6f0101309c61e95feb66f6a839dfe908d4c7b82e9ef39717d2de0212eebffa5cdabdc3f5cefcc1 languageName: node linkType: hard -"@types/minimatch@npm:*, @types/minimatch@npm:^3.0.3": +"@types/minimatch@npm:^3.0.3": version: 3.0.5 resolution: "@types/minimatch@npm:3.0.5" checksum: 10/c41d136f67231c3131cf1d4ca0b06687f4a322918a3a5adddc87ce90ed9dbd175a3610adee36b106ae68c0b92c637c35e02b58c8a56c424f71d30993ea220b92 @@ -9046,19 +9161,22 @@ __metadata: languageName: node linkType: hard -"@types/ms@npm:*": - version: 0.7.31 - resolution: "@types/ms@npm:0.7.31" - checksum: 10/6647b295fb2a5b8347c35efabaaed1777221f094be9941d387b4bf11df0eeacb3f8a4e495b8b66ce0e4c00593bc53ab5fc25f01ebb274cd989a834ae578099de +"@types/multer@npm:^1.4.12": + version: 1.4.12 + resolution: "@types/multer@npm:1.4.12" + dependencies: + "@types/express": "npm:*" + checksum: 10/3d2b32da58ddd67f972d4ef1021492f78d65f33f936b6fb25dd461bb6cc7b03bfd1de1a11562c4310680dac8054e4398038db51767a0ffbf1fe62457b3706e95 languageName: node linkType: hard -"@types/multer@npm:^1.4.11": - version: 1.4.11 - resolution: "@types/multer@npm:1.4.11" +"@types/node-fetch@npm:^2.6.1": + version: 2.6.11 + resolution: "@types/node-fetch@npm:2.6.11" dependencies: - "@types/express": "npm:*" - checksum: 10/5abbc9a8b0d7bb817a52429c52f052152ebe2fb212e7138359c0c0b9207486ef7b1e54f65915c968300a0874cee546dbfc850415584fc9d14eff2b27bb926e7f + "@types/node": "npm:*" + form-data: "npm:^4.0.0" + checksum: 10/c416df8f182ec3826278ea42557fda08f169a48a05e60722d9c8edd4e5b2076ae281c6b6601ad406035b7201f885b0257983b61c26b3f9eb0f41192a807b5de5 languageName: node linkType: hard @@ -9071,12 +9189,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:20.11.30": - version: 20.11.30 - resolution: "@types/node@npm:20.11.30" +"@types/node@npm:22.7.4": + version: 22.7.4 + resolution: "@types/node@npm:22.7.4" dependencies: - undici-types: "npm:~5.26.4" - checksum: 10/78515bc768d2b878e2e06a1c20eb4f5840072b79b8d28ff3dd0a7feaaf48fd3a2ac03cfa5bc7564da82db5906b43e9ba0e5df9f43d870b7aae2942306e208815 + undici-types: "npm:~6.19.2" + checksum: 10/19ddab80c4eba2253c855ed67c9bbc47417183049d01e59010a738bd80d47338bab79fd1f44ae51516bd63a1db4bf21ddb38b16bf6401a2e93252068ec52e88b languageName: node linkType: hard @@ -9131,13 +9249,13 @@ __metadata: languageName: node linkType: hard -"@types/oidc-provider@npm:8.4.4": - version: 8.4.4 - resolution: "@types/oidc-provider@npm:8.4.4" +"@types/oidc-provider@npm:8.5.2": + version: 8.5.2 + resolution: "@types/oidc-provider@npm:8.5.2" dependencies: "@types/koa": "npm:*" "@types/node": "npm:*" - checksum: 10/8564b0e6d5744fe6e78b46dea0f36db1509ca720447f67afbf87f020c546d502993766f2250bed3cfca70b29bf2863d4a05c7e3faf69bd56d205bda0b6dc4c37 + checksum: 10/e4fe7eeac18aadb0b27e387cb6c72bb7f86ea36abd23182019990b708ab14e7db73f559d8e871bf4da6f424580aa49f9cd8bb1ca58bd1f475fe4875914b85f9b languageName: node linkType: hard @@ -9200,10 +9318,10 @@ __metadata: languageName: node linkType: hard -"@types/picomatch@npm:2.3.3": - version: 2.3.3 - resolution: "@types/picomatch@npm:2.3.3" - checksum: 10/fcab68260c75759dc03756efb269bc3833d7b6fd679d61a26e8f74c42e55b9719bedb9998f5beeb51d9eed78eeac46a156366da72d22e65fcf74483c32780344 +"@types/picomatch@npm:3.0.1": + version: 3.0.1 + resolution: "@types/picomatch@npm:3.0.1" + checksum: 10/0fadfbd35d80c203d9c7979bc2291b10d3fe859e63a7e96da0b9e45e6d568e8d0b4e79bbf5bb775a478ef9f6b1db76228703b73fa0e242f19c35be8a939c3603 languageName: node linkType: hard @@ -9242,20 +9360,13 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7.3.12, @types/semver@npm:^7.5.8": +"@types/semver@npm:^7.5.5, @types/semver@npm:^7.5.6, @types/semver@npm:^7.5.8": version: 7.5.8 resolution: "@types/semver@npm:7.5.8" checksum: 10/3496808818ddb36deabfe4974fd343a78101fa242c4690044ccdc3b95dcf8785b494f5d628f2f47f38a702f8db9c53c67f47d7818f2be1b79f2efb09692e1178 languageName: node linkType: hard -"@types/semver@npm:^7.3.3": - version: 7.3.9 - resolution: "@types/semver@npm:7.3.9" - checksum: 10/872d9689bed8bba950b9ad9ba4a61e9770f13d5dde93ab50db6aa7474593c5b50c766c95f1e0b31f75f06da5322fb217668b5b749f1759008ea6018e62082293 - languageName: node - linkType: hard - "@types/send@npm:*": version: 0.17.4 resolution: "@types/send@npm:0.17.4" @@ -9339,13 +9450,15 @@ __metadata: languageName: node linkType: hard -"@types/superagent@npm:4.1.24": - version: 4.1.24 - resolution: "@types/superagent@npm:4.1.24" +"@types/superagent@npm:8.1.9": + version: 8.1.9 + resolution: "@types/superagent@npm:8.1.9" dependencies: - "@types/cookiejar": "npm:*" + "@types/cookiejar": "npm:^2.1.5" + "@types/methods": "npm:^1.1.4" "@types/node": "npm:*" - checksum: 10/358d4ba534b8e26ad8547b984be48e38cf31d3c53f356803e6e67e7d29b35a8a045142b25b16a7c05750c47103969b1e68c88431659ef7d43c75a5906a9cf2a9 + form-data: "npm:^4.0.0" + checksum: 10/6d9687b0bc3d693b900ef76000b02437a70879c3219b28606879c086d786bb1e48429813e72e32dd0aafc94c053a78a2aa8be67c45bc8e6b968ca62d6d5cc554 languageName: node linkType: hard @@ -9370,10 +9483,10 @@ __metadata: languageName: node linkType: hard -"@types/swagger-ui-dist@npm:3.30.4": - version: 3.30.4 - resolution: "@types/swagger-ui-dist@npm:3.30.4" - checksum: 10/9d122200f3922193a42b2a04442a565542d526320c71784a8cf374a99ac7411d1a0148536d687d079540c7cb8b30ec25878345f22ae962318358da510c712642 +"@types/swagger-ui-dist@npm:3.30.5": + version: 3.30.5 + resolution: "@types/swagger-ui-dist@npm:3.30.5" + checksum: 10/6cb62a360a42394e7efba123c31b99bf60202af32eaf055f6e51110183f16e6951442c7cec4bc0c8f692051a5910f857287e8182dfa313a554777f6cb4bdff2c languageName: node linkType: hard @@ -9384,10 +9497,10 @@ __metadata: languageName: node linkType: hard -"@types/uuid@npm:9.0.8": - version: 9.0.8 - resolution: "@types/uuid@npm:9.0.8" - checksum: 10/b8c60b7ba8250356b5088302583d1704a4e1a13558d143c549c408bf8920535602ffc12394ede77f8a8083511b023704bc66d1345792714002bfa261b17c5275 +"@types/uuid@npm:10.0.0, @types/uuid@npm:^10.0.0": + version: 10.0.0 + resolution: "@types/uuid@npm:10.0.0" + checksum: 10/e3958f8b0fe551c86c14431f5940c3470127293280830684154b91dc7eb3514aeb79fe3216968833cf79d4d1c67f580f054b5be2cd562bebf4f728913e73e944 languageName: node linkType: hard @@ -9442,78 +9555,79 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/eslint-plugin@npm:5.62.0" +"@typescript-eslint/eslint-plugin@npm:8.8.0": + version: 8.8.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.8.0" dependencies: - "@eslint-community/regexpp": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:5.62.0" - "@typescript-eslint/type-utils": "npm:5.62.0" - "@typescript-eslint/utils": "npm:5.62.0" - debug: "npm:^4.3.4" + "@eslint-community/regexpp": "npm:^4.10.0" + "@typescript-eslint/scope-manager": "npm:8.8.0" + "@typescript-eslint/type-utils": "npm:8.8.0" + "@typescript-eslint/utils": "npm:8.8.0" + "@typescript-eslint/visitor-keys": "npm:8.8.0" graphemer: "npm:^1.4.0" - ignore: "npm:^5.2.0" - natural-compare-lite: "npm:^1.4.0" - semver: "npm:^7.3.7" - tsutils: "npm:^3.21.0" + ignore: "npm:^5.3.1" + natural-compare: "npm:^1.4.0" + ts-api-utils: "npm:^1.3.0" peerDependencies: - "@typescript-eslint/parser": ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10/9cc8319c6fd8a21938f5b69476974a7e778c283a55ef9fad183c850995b9adcb0087d57cea7b2ac6b9449570eee983aad39491d14cdd2e52d6b4b0485e7b2482 + checksum: 10/e8a47053731dcd42c1d8489ec22e176097a202a500fb0913653b501aa4dd3d1c559b9e90ad12194a3f2f3335566a9036d37276a93ca7ff8d76bfd65ff6c7c0ed languageName: node linkType: hard -"@typescript-eslint/parser@npm:^5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/parser@npm:5.62.0" +"@typescript-eslint/parser@npm:8.8.0": + version: 8.8.0 + resolution: "@typescript-eslint/parser@npm:8.8.0" dependencies: - "@typescript-eslint/scope-manager": "npm:5.62.0" - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/typescript-estree": "npm:5.62.0" + "@typescript-eslint/scope-manager": "npm:8.8.0" + "@typescript-eslint/types": "npm:8.8.0" + "@typescript-eslint/typescript-estree": "npm:8.8.0" + "@typescript-eslint/visitor-keys": "npm:8.8.0" debug: "npm:^4.3.4" peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10/b6ca629d8f4e6283ff124501731cc886703eb4ce2c7d38b3e4110322ea21452b9d9392faf25be6bd72f54b89de7ffc72a40d9b159083ac54345a3d04b4fa5394 + checksum: 10/8d3c3afb508aa7d6c16dd8a786762f05e174ace50213768232405b1c31534ca568d38e1793feb41d53fe1327c901e5f93e70f61222b31848b2a9ae955b14fff2 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/scope-manager@npm:7.18.0" + dependencies: + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/visitor-keys": "npm:7.18.0" + checksum: 10/9eb2ae5d69d9f723e706c16b2b97744fc016996a5473bed596035ac4d12429b3d24e7340a8235d704efa57f8f52e1b3b37925ff7c2e3384859d28b23a99b8bcc languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/scope-manager@npm:5.62.0" +"@typescript-eslint/scope-manager@npm:8.8.0": + version: 8.8.0 + resolution: "@typescript-eslint/scope-manager@npm:8.8.0" dependencies: - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/visitor-keys": "npm:5.62.0" - checksum: 10/e827770baa202223bc0387e2fd24f630690809e460435b7dc9af336c77322290a770d62bd5284260fa881c86074d6a9fd6c97b07382520b115f6786b8ed499da + "@typescript-eslint/types": "npm:8.8.0" + "@typescript-eslint/visitor-keys": "npm:8.8.0" + checksum: 10/d1cd97f35bbba85eb25879e9a0acfc4fcd6908bee1f60467d9eb6b6da4732a07f0947b6a97d3f2bc8f03205e530ce49f00d4540b515082e37d1abcd781f7cad0 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/type-utils@npm:5.62.0" +"@typescript-eslint/type-utils@npm:8.8.0": + version: 8.8.0 + resolution: "@typescript-eslint/type-utils@npm:8.8.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:5.62.0" - "@typescript-eslint/utils": "npm:5.62.0" + "@typescript-eslint/typescript-estree": "npm:8.8.0" + "@typescript-eslint/utils": "npm:8.8.0" debug: "npm:^4.3.4" - tsutils: "npm:^3.21.0" - peerDependencies: - eslint: "*" + ts-api-utils: "npm:^1.3.0" peerDependenciesMeta: typescript: optional: true - checksum: 10/f9a4398d6d2aae09e3e765eff04cf4ab364376a87868031ac5c6a64c9bbb555cb1a7f99b07b3d1017e7422725b5f0bbee537f13b82ab2d930f161c987b3dece0 - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/types@npm:5.62.0" - checksum: 10/24e8443177be84823242d6729d56af2c4b47bfc664dd411a1d730506abf2150d6c31bdefbbc6d97c8f91043e3a50e0c698239dcb145b79bb6b0c34469aaf6c45 + checksum: 10/7e46352090d97935692fa070c62edc7cd824540e3b432dab655e2a46e430ae5c3473f8582d9d41e851d1d74a11e356b61396deda944d186e4d868b16d402bce1 languageName: node linkType: hard @@ -9524,21 +9638,55 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/typescript-estree@npm:5.62.0" +"@typescript-eslint/types@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/types@npm:7.18.0" + checksum: 10/0e30c73a3cc3c67dd06360a5a12fd12cee831e4092750eec3d6c031bdc4feafcb0ab1d882910a73e66b451a4f6e1dd015e9e2c4d45bf6bf716a474e5d123ddf0 + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:8.8.0": + version: 8.8.0 + resolution: "@typescript-eslint/types@npm:8.8.0" + checksum: 10/8f82c7ffd9fb11a4b90ee06b486df71341bc7ca63a6d0e9864120fbad26afe99c69408b0c887e71078b58df47239fae7640d40fcd1373ca6b8970949fb6f688f + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/typescript-estree@npm:7.18.0" dependencies: - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/visitor-keys": "npm:5.62.0" + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/visitor-keys": "npm:7.18.0" debug: "npm:^4.3.4" globby: "npm:^11.1.0" is-glob: "npm:^4.0.3" - semver: "npm:^7.3.7" - tsutils: "npm:^3.21.0" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10/b01e66235a91aa4439d02081d4a5f8b4a7cf9cb24f26b334812f657e3c603493e5f41e5c1e89cf4efae7d64509fa1f73affc16afc5e15cb7f83f724577c82036 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:8.8.0": + version: 8.8.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.8.0" + dependencies: + "@typescript-eslint/types": "npm:8.8.0" + "@typescript-eslint/visitor-keys": "npm:8.8.0" + debug: "npm:^4.3.4" + fast-glob: "npm:^3.3.2" + is-glob: "npm:^4.0.3" + minimatch: "npm:^9.0.4" + semver: "npm:^7.6.0" + ts-api-utils: "npm:^1.3.0" peerDependenciesMeta: typescript: optional: true - checksum: 10/06c975eb5f44b43bd19fadc2e1023c50cf87038fe4c0dd989d4331c67b3ff509b17fa60a3251896668ab4d7322bdc56162a9926971218d2e1a1874d2bef9a52e + checksum: 10/b7cee47db25106c791c816117ea602efe6cf09707bff1fcf8c5f49d3bb1d8104e5f56a407db62a4821fafa6708bb9f4d331e75857272b77e5883c89dd520a946 languageName: node linkType: hard @@ -9561,294 +9709,169 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/utils@npm:5.62.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - "@types/json-schema": "npm:^7.0.9" - "@types/semver": "npm:^7.3.12" - "@typescript-eslint/scope-manager": "npm:5.62.0" - "@typescript-eslint/types": "npm:5.62.0" - "@typescript-eslint/typescript-estree": "npm:5.62.0" - eslint-scope: "npm:^5.1.1" - semver: "npm:^7.3.7" - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10/15ef13e43998a082b15f85db979f8d3ceb1f9ce4467b8016c267b1738d5e7cdb12aa90faf4b4e6dd6486c236cf9d33c463200465cf25ff997dbc0f12358550a1 - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:5.62.0": - version: 5.62.0 - resolution: "@typescript-eslint/visitor-keys@npm:5.62.0" - dependencies: - "@typescript-eslint/types": "npm:5.62.0" - eslint-visitor-keys: "npm:^3.3.0" - checksum: 10/dc613ab7569df9bbe0b2ca677635eb91839dfb2ca2c6fa47870a5da4f160db0b436f7ec0764362e756d4164e9445d49d5eb1ff0b87f4c058946ae9d8c92eb388 - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:6.20.0": - version: 6.20.0 - resolution: "@typescript-eslint/visitor-keys@npm:6.20.0" - dependencies: - "@typescript-eslint/types": "npm:6.20.0" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10/df066c73f3880ad78880c442f307e58f026e6047d9caab9d7c356d13276f4fe466fab3e8d19cdb1e6749e87639cb7c4babcfe118f554fcd2d3929ce9f4983216 - languageName: node - linkType: hard - -"@ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 10/c6fe89a505e513a7592e1438280db1c075764793a2397877ff1351721fe8792a966a5359769e30242b3cd023f2efb9e63ca2ca88019d73b564488cc20e3eab12 - languageName: node - linkType: hard - -"@vendia/serverless-express@npm:^3.4.0": - version: 3.4.0 - resolution: "@vendia/serverless-express@npm:3.4.0" - dependencies: - binary-case: "npm:^1.0.0" - type-is: "npm:^1.6.16" - checksum: 10/1b5962480927d2e4154c5606e923a19d9ae87ac4797f2654b0e0d3c4f5d3ab161de49edb9ff9aa29cb7cca3cc41a282a5d21c443abd7dee09a19d16b8978e6b9 - languageName: node - linkType: hard - -"@vitest/coverage-v8@npm:^2.0.5": - version: 2.0.5 - resolution: "@vitest/coverage-v8@npm:2.0.5" - dependencies: - "@ampproject/remapping": "npm:^2.3.0" - "@bcoe/v8-coverage": "npm:^0.2.3" - debug: "npm:^4.3.5" - istanbul-lib-coverage: "npm:^3.2.2" - istanbul-lib-report: "npm:^3.0.1" - istanbul-lib-source-maps: "npm:^5.0.6" - istanbul-reports: "npm:^3.1.7" - magic-string: "npm:^0.30.10" - magicast: "npm:^0.3.4" - std-env: "npm:^3.7.0" - test-exclude: "npm:^7.0.1" - tinyrainbow: "npm:^1.2.0" - peerDependencies: - vitest: 2.0.5 - checksum: 10/bb774d1a52b85adf94dcf62dc9684c59bd6aba6f8d43ce4d4afa06e3ca85651ec217f74842c0c4a81ea0158f029e484055207869e5d741cfbc3119257399fb83 - languageName: node - linkType: hard - -"@vitest/expect@npm:2.0.4": - version: 2.0.4 - resolution: "@vitest/expect@npm:2.0.4" - dependencies: - "@vitest/spy": "npm:2.0.4" - "@vitest/utils": "npm:2.0.4" - chai: "npm:^5.1.1" - tinyrainbow: "npm:^1.2.0" - checksum: 10/9e77266306a9ee6c982956e79e5086edeaec9f387fb9f8840d749ba9e026b27c01f68987a732b53746cd7fb0fce4a2620dbd0359ca3efe891a8ba89300568111 - languageName: node - linkType: hard - -"@vitest/expect@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/expect@npm:2.0.5" - dependencies: - "@vitest/spy": "npm:2.0.5" - "@vitest/utils": "npm:2.0.5" - chai: "npm:^5.1.1" - tinyrainbow: "npm:^1.2.0" - checksum: 10/ca9a218f50254b2259fd16166b2d8c9ccc8ee2cc068905e6b3d6281da10967b1590cc7d34b5fa9d429297f97e740450233745583b4cc12272ff11705faf70a37 - languageName: node - linkType: hard - -"@vitest/pretty-format@npm:2.0.4": - version: 2.0.4 - resolution: "@vitest/pretty-format@npm:2.0.4" - dependencies: - tinyrainbow: "npm:^1.2.0" - checksum: 10/16223d1c9f8c86cea7a064cf625380e90b20a5c2f95fda6ab3643c16cce1925afa337109ee12dcbf54834a161fd2b68be16179da9fd9fb948de986c33942203b - languageName: node - linkType: hard - -"@vitest/pretty-format@npm:2.0.5, @vitest/pretty-format@npm:^2.0.4, @vitest/pretty-format@npm:^2.0.5": - version: 2.0.5 - resolution: "@vitest/pretty-format@npm:2.0.5" - dependencies: - tinyrainbow: "npm:^1.2.0" - checksum: 10/70bf452dd0b8525e658795125b3f11110bd6baadfaa38c5bb91ca763bded35ec6dc80e27964ad4e91b91be6544d35e18ea7748c1997693988f975a7283c3e9a0 - languageName: node - linkType: hard - -"@vitest/runner@npm:2.0.4": - version: 2.0.4 - resolution: "@vitest/runner@npm:2.0.4" - dependencies: - "@vitest/utils": "npm:2.0.4" - pathe: "npm:^1.1.2" - checksum: 10/a94872a08296b72316d1259fa8f12e314a47614b614cba03f1d0ba7f00e82f5d724b740ab17b8f6ddbe281acea278dec212f5050ac557b108df8f50b7aab6cbd - languageName: node - linkType: hard - -"@vitest/runner@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/runner@npm:2.0.5" - dependencies: - "@vitest/utils": "npm:2.0.5" - pathe: "npm:^1.1.2" - checksum: 10/464449abb84b3c779e1c6d1bedfc9e7469240ba3ccc4b4fa884386d1752d6572b68b9a87440159d433f17f61aca4012ee3bb78a3718d0e2bc64d810e9fc574a5 - languageName: node - linkType: hard - -"@vitest/snapshot@npm:2.0.4": - version: 2.0.4 - resolution: "@vitest/snapshot@npm:2.0.4" - dependencies: - "@vitest/pretty-format": "npm:2.0.4" - magic-string: "npm:^0.30.10" - pathe: "npm:^1.1.2" - checksum: 10/bbdc491d42a95945589a7006ef40beb199332b28b5832f111bd25e26b24bd78134efdb05b670e65dc82f83c654e1aedc445c26be20bdaa758a6c3cf844bd05b5 - languageName: node - linkType: hard - -"@vitest/snapshot@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/snapshot@npm:2.0.5" +"@typescript-eslint/utils@npm:8.8.0": + version: 8.8.0 + resolution: "@typescript-eslint/utils@npm:8.8.0" dependencies: - "@vitest/pretty-format": "npm:2.0.5" - magic-string: "npm:^0.30.10" - pathe: "npm:^1.1.2" - checksum: 10/fb46bc65851d4c8dcbbf86279c4146d5e7c17ad0d1be97132dedd98565d37f70ac8b0bf51ead0c6707786ffb15652535398c14d4304fa2146b0393d3db26fdff + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:8.8.0" + "@typescript-eslint/types": "npm:8.8.0" + "@typescript-eslint/typescript-estree": "npm:8.8.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + checksum: 10/94eed69f1ecc4d1594d3b43d552289bdcc70e074ad03fb360888a934d9a927e8c1c88419cda3797128c9dd49780fa10af0971643f600a1f2748a2e35f95f9306 languageName: node linkType: hard -"@vitest/spy@npm:2.0.4": - version: 2.0.4 - resolution: "@vitest/spy@npm:2.0.4" +"@typescript-eslint/utils@npm:^7.7.1": + version: 7.18.0 + resolution: "@typescript-eslint/utils@npm:7.18.0" dependencies: - tinyspy: "npm:^3.0.0" - checksum: 10/c18d0fc28e40a40f701a116a117d98916ec90f18e1643a37379b18f5fbee841e7c35fcb65202503506b471df761e0907053912d475e159399b887c1be6f91ef1 + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@typescript-eslint/scope-manager": "npm:7.18.0" + "@typescript-eslint/types": "npm:7.18.0" + "@typescript-eslint/typescript-estree": "npm:7.18.0" + peerDependencies: + eslint: ^8.56.0 + checksum: 10/f43fedb4f4d2e3836bdf137889449063a55c0ece74fdb283929cd376197b992313be8ef4df920c1c801b5c3076b92964c84c6c3b9b749d263b648d0011f5926e languageName: node linkType: hard -"@vitest/spy@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/spy@npm:2.0.5" +"@typescript-eslint/visitor-keys@npm:6.20.0": + version: 6.20.0 + resolution: "@typescript-eslint/visitor-keys@npm:6.20.0" dependencies: - tinyspy: "npm:^3.0.0" - checksum: 10/ed19f4c3bb4d3853241e8070979615138e24403ce4c137fa48c903b3af2c8b3ada2cc26aca9c1aa323bb314a457a8130a29acbb18dafd4e42737deefb2abf1ca + "@typescript-eslint/types": "npm:6.20.0" + eslint-visitor-keys: "npm:^3.4.1" + checksum: 10/df066c73f3880ad78880c442f307e58f026e6047d9caab9d7c356d13276f4fe466fab3e8d19cdb1e6749e87639cb7c4babcfe118f554fcd2d3929ce9f4983216 languageName: node linkType: hard -"@vitest/utils@npm:2.0.4": - version: 2.0.4 - resolution: "@vitest/utils@npm:2.0.4" +"@typescript-eslint/visitor-keys@npm:7.18.0": + version: 7.18.0 + resolution: "@typescript-eslint/visitor-keys@npm:7.18.0" dependencies: - "@vitest/pretty-format": "npm:2.0.4" - estree-walker: "npm:^3.0.3" - loupe: "npm:^3.1.1" - tinyrainbow: "npm:^1.2.0" - checksum: 10/a17497cd3c12b72b315bda6a6a4addcbc206367f6bcdedb83d5d708ac40cf52fcc48403539d10528e1893348b2f107416e9065b6b5c39329f2512eea8f104578 + "@typescript-eslint/types": "npm:7.18.0" + eslint-visitor-keys: "npm:^3.4.3" + checksum: 10/b7cfe6fdeae86c507357ac6b2357813c64fb2fbf1aaf844393ba82f73a16e2599b41981b34200d9fc7765d70bc3a8181d76b503051e53f04bcb7c9afef637eab languageName: node linkType: hard -"@vitest/utils@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/utils@npm:2.0.5" +"@typescript-eslint/visitor-keys@npm:8.8.0": + version: 8.8.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.8.0" dependencies: - "@vitest/pretty-format": "npm:2.0.5" - estree-walker: "npm:^3.0.3" - loupe: "npm:^3.1.1" - tinyrainbow: "npm:^1.2.0" - checksum: 10/d631d56d29c33bc8de631166b2b6691c470187a345469dfef7048befe6027e1c6ff9552f2ee11c8a247522c325c4a64bfcc73f8f0f0c525da39cb9f190f119f8 + "@typescript-eslint/types": "npm:8.8.0" + eslint-visitor-keys: "npm:^3.4.3" + checksum: 10/325733fce58c8ac917ff8485949fff927794fd842abb4a665549e7a2e63437e6b7b464b60d3c320da1980e43a6bee69b9dd84139b8dc93685b188efbf96fa707 languageName: node linkType: hard -"@volar/language-core@npm:2.4.0, @volar/language-core@npm:~2.4.0-alpha.18": - version: 2.4.0 - resolution: "@volar/language-core@npm:2.4.0" +"@vitest/coverage-v8@npm:^2.1.2": + version: 2.1.2 + resolution: "@vitest/coverage-v8@npm:2.1.2" dependencies: - "@volar/source-map": "npm:2.4.0" - checksum: 10/7ee8f7c611e84870536b2a7e0f2fcb5b1667f862abfe91158bb70fe3c5c9600db23f25df0b68239ff5cd9ff33eae87fa30abe000d1a56aaafb8b74da826b2b83 + "@ampproject/remapping": "npm:^2.3.0" + "@bcoe/v8-coverage": "npm:^0.2.3" + debug: "npm:^4.3.6" + istanbul-lib-coverage: "npm:^3.2.2" + istanbul-lib-report: "npm:^3.0.1" + istanbul-lib-source-maps: "npm:^5.0.6" + istanbul-reports: "npm:^3.1.7" + magic-string: "npm:^0.30.11" + magicast: "npm:^0.3.4" + std-env: "npm:^3.7.0" + test-exclude: "npm:^7.0.1" + tinyrainbow: "npm:^1.2.0" + peerDependencies: + "@vitest/browser": 2.1.2 + vitest: 2.1.2 + peerDependenciesMeta: + "@vitest/browser": + optional: true + checksum: 10/513b96310eacc99f97f8beb95801c725788b5d64434a820d0008dd94731a09250f68d31a84bbb6cdf3110ee9ad86b4c50d02c1d3d4d651bf56bac4b409b95a62 languageName: node linkType: hard -"@volar/source-map@npm:2.4.0": - version: 2.4.0 - resolution: "@volar/source-map@npm:2.4.0" - checksum: 10/a95bed355b193c4db7420d305c4a9e86c83a0feb46486d00e3b0c7ae92b3ea8800ea997dfa05c9df32cfeca81c104ca2383bd63efcd5990ecf811fa796208fed +"@vitest/expect@npm:2.1.2": + version: 2.1.2 + resolution: "@vitest/expect@npm:2.1.2" + dependencies: + "@vitest/spy": "npm:2.1.2" + "@vitest/utils": "npm:2.1.2" + chai: "npm:^5.1.1" + tinyrainbow: "npm:^1.2.0" + checksum: 10/0e2991295a6b9c51e2d074d1185317dcb2d85d1e9b5045299431fd7b84e51a847942911b08efad2379f56bb4dfe2f02442abd267df348751c61c86bc7b3154a3 languageName: node linkType: hard -"@volar/typescript@npm:^2.3.4, @volar/typescript@npm:~2.4.0-alpha.18": - version: 2.4.0 - resolution: "@volar/typescript@npm:2.4.0" +"@vitest/mocker@npm:2.1.2": + version: 2.1.2 + resolution: "@vitest/mocker@npm:2.1.2" dependencies: - "@volar/language-core": "npm:2.4.0" - path-browserify: "npm:^1.0.1" - vscode-uri: "npm:^3.0.8" - checksum: 10/836f143391343f5dad34cc000c6538b2af622ca5f53e41f3d3dfb86919926c6fa7d6e562ca89d331e13ebe066c118cb4ec953756b4e3a822cc095fd15c22ddba + "@vitest/spy": "npm:^2.1.0-beta.1" + estree-walker: "npm:^3.0.3" + magic-string: "npm:^0.30.11" + peerDependencies: + "@vitest/spy": 2.1.2 + msw: ^2.3.5 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + checksum: 10/f6ec9aa061c21877322bf3f0b12bf4e78eba3f092174a506b2d2d479b78e36b4d46a6458cd23d3bf3cbdcf212276cf5d1a87234ae2014e8362ea2afc23e46bec languageName: node linkType: hard -"@vue/compiler-core@npm:3.4.38": - version: 3.4.38 - resolution: "@vue/compiler-core@npm:3.4.38" +"@vitest/pretty-format@npm:2.1.2, @vitest/pretty-format@npm:^2.1.2": + version: 2.1.2 + resolution: "@vitest/pretty-format@npm:2.1.2" dependencies: - "@babel/parser": "npm:^7.24.7" - "@vue/shared": "npm:3.4.38" - entities: "npm:^4.5.0" - estree-walker: "npm:^2.0.2" - source-map-js: "npm:^1.2.0" - checksum: 10/16449e9083c290e6c13e1cc0cb0a0a457817a52533d10902388c872fb1337ba0fa29fb7b8394df5a10f5ed3bad264d6c386f9eaf47c07982a543f277dbee9b8a + tinyrainbow: "npm:^1.2.0" + checksum: 10/5866fb3c45e794b695a9f62f76b886a8a8d07d711f7187e9e769fd614bc62df1f87d076880c032d5cd8c0272c385fe824c12191b04a3ca44a8bb9fed1a0c3693 languageName: node linkType: hard -"@vue/compiler-dom@npm:^3.4.0": - version: 3.4.38 - resolution: "@vue/compiler-dom@npm:3.4.38" +"@vitest/runner@npm:2.1.2": + version: 2.1.2 + resolution: "@vitest/runner@npm:2.1.2" dependencies: - "@vue/compiler-core": "npm:3.4.38" - "@vue/shared": "npm:3.4.38" - checksum: 10/4012fab212dc0628ef72f5ae13aa2dd551efb8be7f2aa8abe2a1db15058ddda29912a1e3aa1fc6712e2d8efe84724f16a907ad2cda987631bfc79330afc8d451 + "@vitest/utils": "npm:2.1.2" + pathe: "npm:^1.1.2" + checksum: 10/60b086e39a31dd664875746b0da3a2402d4088801306e87fe25f20dc660abda50afd3e5ec6ea34ef0849f5652ac05ce2a93a13ea4d5dd16a549d9882941de328 languageName: node linkType: hard -"@vue/compiler-vue2@npm:^2.7.16": - version: 2.7.16 - resolution: "@vue/compiler-vue2@npm:2.7.16" +"@vitest/snapshot@npm:2.1.2": + version: 2.1.2 + resolution: "@vitest/snapshot@npm:2.1.2" dependencies: - de-indent: "npm:^1.0.2" - he: "npm:^1.2.0" - checksum: 10/739ad06be19206b2715707c226a070509bcf28c31b539a6fc932d220eb7b0c09109d71fded573ed0c4073429793a3513ca4a4e69ad4f7afc0c5bc3c28639e871 + "@vitest/pretty-format": "npm:2.1.2" + magic-string: "npm:^0.30.11" + pathe: "npm:^1.1.2" + checksum: 10/acd29f59883899c660eeba5950366e4f9f799cb29e7edd65575a7b6ad319a1df4d7a46a95048f8f9475f4c6f46cea198a7ecfab06e88e435dfd4989b365b917f languageName: node linkType: hard -"@vue/language-core@npm:2.0.29": - version: 2.0.29 - resolution: "@vue/language-core@npm:2.0.29" +"@vitest/spy@npm:2.1.2, @vitest/spy@npm:^2.1.0-beta.1": + version: 2.1.2 + resolution: "@vitest/spy@npm:2.1.2" dependencies: - "@volar/language-core": "npm:~2.4.0-alpha.18" - "@vue/compiler-dom": "npm:^3.4.0" - "@vue/compiler-vue2": "npm:^2.7.16" - "@vue/shared": "npm:^3.4.0" - computeds: "npm:^0.0.1" - minimatch: "npm:^9.0.3" - muggle-string: "npm:^0.4.1" - path-browserify: "npm:^1.0.1" - peerDependencies: - typescript: "*" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/60859b53f8df2f8da336c126750c4f96ffa1c3da050181dc1e8bb80b40d482fa43194e7f2d255e31f2ebd842e11b57f89789b57a8bd9cc79f3b584eb2e0fe251 + tinyspy: "npm:^3.0.0" + checksum: 10/0183ab53b431bd6a08531752113780e15202ebd7579eed25b9bf87c849f75d74d0e4f346d886034cd9dd1381aa8814b3e468f141f41f7539b75f30268df35a79 languageName: node linkType: hard -"@vue/shared@npm:3.4.38, @vue/shared@npm:^3.4.0": - version: 3.4.38 - resolution: "@vue/shared@npm:3.4.38" - checksum: 10/46bfc1f3932fd154ff84dcd267cae4db730c98db433c848d40c9c0dc23dcabdb5efe96a3a378c9ed3b7e8281ca17e2753f0ce98ae43b54b315550dfaccb56868 +"@vitest/utils@npm:2.1.2": + version: 2.1.2 + resolution: "@vitest/utils@npm:2.1.2" + dependencies: + "@vitest/pretty-format": "npm:2.1.2" + loupe: "npm:^3.1.1" + tinyrainbow: "npm:^1.2.0" + checksum: 10/fa898ea6312cb62e4027f55b06859d84ba50ac20e583bab2889eeadea41d73baf6022ed87547deec6251cd8021f1df13d2ea4515ab253582c3ca93226acd6313 languageName: node linkType: hard @@ -10036,6 +10059,15 @@ __metadata: languageName: node linkType: hard +"@whatwg-node/events@npm:^0.1.0": + version: 0.1.2 + resolution: "@whatwg-node/events@npm:0.1.2" + dependencies: + tslib: "npm:^2.6.3" + checksum: 10/0848ad52aa2ae3f7ef8a17940d5590516fce0276179cc097ac3bc4390943aa90b4dbd300764c3b7b4f8ccfa1177d22e3df4982103875d16349de163ca0116dd0 + languageName: node + linkType: hard + "@wry/equality@npm:^0.1.2": version: 0.1.11 resolution: "@wry/equality@npm:0.1.11" @@ -10076,14 +10108,14 @@ __metadata: languageName: node linkType: hard -"@zkochan/js-yaml@npm:0.0.6": - version: 0.0.6 - resolution: "@zkochan/js-yaml@npm:0.0.6" +"@zkochan/js-yaml@npm:0.0.7": + version: 0.0.7 + resolution: "@zkochan/js-yaml@npm:0.0.7" dependencies: argparse: "npm:^2.0.1" bin: js-yaml: bin/js-yaml.js - checksum: 10/1a079db8bc76dfd200f3d2334c96fd5df6ce072f40b5aa6fe4508e6fd5af0e57cab6fc879ea7f8c376e4c553febd73c4b46c924bd48b838b5b9522936b88517b + checksum: 10/83642debff31400764e8721ba8f386e0f5444b118c7a6c17dbdcb316b56fefa061ea0587af47de75e04d60059215a703a1ca8bbc479149581cd57d752cb3d4e0 languageName: node linkType: hard @@ -10143,7 +10175,7 @@ __metadata: languageName: node linkType: hard -"accepts@npm:^1.3.5, accepts@npm:^1.3.7, accepts@npm:^1.3.8, accepts@npm:~1.3.4, accepts@npm:~1.3.5, accepts@npm:~1.3.8": +"accepts@npm:^1.3.5, accepts@npm:^1.3.8, accepts@npm:~1.3.4, accepts@npm:~1.3.5, accepts@npm:~1.3.8": version: 1.3.8 resolution: "accepts@npm:1.3.8" dependencies: @@ -10171,7 +10203,7 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.2.0": +"acorn-walk@npm:^8.1.1": version: 8.2.0 resolution: "acorn-walk@npm:8.2.0" checksum: 10/e69f7234f2adfeb16db3671429a7c80894105bd7534cb2032acf01bb26e6a847952d11a062d071420b43f8d82e33d2e57f26fe87d9cce0853e8143d8910ff1de @@ -10187,7 +10219,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.0, acorn@npm:^8.9.0": +"acorn@npm:^8.0.0": version: 8.11.3 resolution: "acorn@npm:8.11.3" bin: @@ -10196,7 +10228,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.11.3, acorn@npm:^8.12.1": +"acorn@npm:^8.11.3, acorn@npm:^8.12.0, acorn@npm:^8.12.1": version: 8.12.1 resolution: "acorn@npm:8.12.1" bin: @@ -10205,7 +10237,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.7.0, acorn@npm:^8.7.1": +"acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.7.1": version: 8.8.0 resolution: "acorn@npm:8.8.0" bin: @@ -10260,7 +10292,7 @@ __metadata: languageName: node linkType: hard -"agentkeepalive@npm:^4.1.3, agentkeepalive@npm:^4.2.1": +"agentkeepalive@npm:^4.1.3": version: 4.2.1 resolution: "agentkeepalive@npm:4.2.1" dependencies: @@ -10291,7 +10323,7 @@ __metadata: languageName: node linkType: hard -"ajv-draft-04@npm:^1.0.0, ajv-draft-04@npm:~1.0.0": +"ajv-draft-04@npm:^1.0.0": version: 1.0.0 resolution: "ajv-draft-04@npm:1.0.0" peerDependencies: @@ -10326,20 +10358,6 @@ __metadata: languageName: node linkType: hard -"ajv-formats@npm:~3.0.1": - version: 3.0.1 - resolution: "ajv-formats@npm:3.0.1" - dependencies: - ajv: "npm:^8.0.0" - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - checksum: 10/5679b9f9ced9d0213a202a37f3aa91efcffe59a6de1a6e3da5c873344d3c161820a1f11cc29899661fee36271fd2895dd3851b6461c902a752ad661d1c1e8722 - languageName: node - linkType: hard - "ajv-keywords@npm:^3.5.2": version: 3.5.2 resolution: "ajv-keywords@npm:3.5.2" @@ -10360,15 +10378,15 @@ __metadata: languageName: node linkType: hard -"ajv@npm:8.12.0, ajv@npm:^8.0.0, ajv@npm:^8.11.0, ajv@npm:^8.12.0, ajv@npm:^8.6.3, ajv@npm:^8.8.0, ajv@npm:~8.12.0": - version: 8.12.0 - resolution: "ajv@npm:8.12.0" +"ajv@npm:8.17.1, ajv@npm:^8.17.1": + version: 8.17.1 + resolution: "ajv@npm:8.17.1" dependencies: - fast-deep-equal: "npm:^3.1.1" + fast-deep-equal: "npm:^3.1.3" + fast-uri: "npm:^3.0.1" json-schema-traverse: "npm:^1.0.0" require-from-string: "npm:^2.0.2" - uri-js: "npm:^4.2.2" - checksum: 10/b406f3b79b5756ac53bfe2c20852471b08e122bc1ee4cde08ae4d6a800574d9cd78d60c81c69c63ff81e4da7cd0b638fafbb2303ae580d49cf1600b9059efb85 + checksum: 10/ee3c62162c953e91986c838f004132b6a253d700f1e51253b99791e2dbfdb39161bc950ebdc2f156f8568035bb5ed8be7bd78289cd9ecbf3381fe8f5b82e3f33 languageName: node linkType: hard @@ -10384,15 +10402,15 @@ __metadata: languageName: node linkType: hard -"ajv@npm:~8.13.0": - version: 8.13.0 - resolution: "ajv@npm:8.13.0" +"ajv@npm:^8.0.0, ajv@npm:^8.11.0, ajv@npm:^8.6.3, ajv@npm:^8.8.0": + version: 8.12.0 + resolution: "ajv@npm:8.12.0" dependencies: - fast-deep-equal: "npm:^3.1.3" + fast-deep-equal: "npm:^3.1.1" json-schema-traverse: "npm:^1.0.0" require-from-string: "npm:^2.0.2" - uri-js: "npm:^4.4.1" - checksum: 10/4ada268c9a6e44be87fd295df0f0a91267a7bae8dbc8a67a2d5799c3cb459232839c99d18b035597bb6e3ffe88af6979f7daece854f590a81ebbbc2dfa80002c + uri-js: "npm:^4.2.2" + checksum: 10/b406f3b79b5756ac53bfe2c20852471b08e122bc1ee4cde08ae4d6a800574d9cd78d60c81c69c63ff81e4da7cd0b638fafbb2303ae580d49cf1600b9059efb85 languageName: node linkType: hard @@ -10435,7 +10453,7 @@ __metadata: languageName: node linkType: hard -"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.0, ansi-escapes@npm:^4.3.2": +"ansi-escapes@npm:^4.2.1, ansi-escapes@npm:^4.3.2": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" dependencies: @@ -10453,6 +10471,15 @@ __metadata: languageName: node linkType: hard +"ansi-escapes@npm:^7.0.0": + version: 7.0.0 + resolution: "ansi-escapes@npm:7.0.0" + dependencies: + environment: "npm:^1.0.0" + checksum: 10/2d0e2345087bd7ae6bf122b9cc05ee35560d40dcc061146edcdc02bc2d7c7c50143cd12a22e69a0b5c0f62b948b7bc9a4539ee888b80f5bd33cdfd82d01a70ab + languageName: node + linkType: hard + "ansi-gray@npm:^0.1.1": version: 0.1.1 resolution: "ansi-gray@npm:0.1.1" @@ -10571,7 +10598,7 @@ __metadata: languageName: node linkType: hard -"any-promise@npm:^1.0.0": +"any-promise@npm:^1.0.0, any-promise@npm:^1.1.0, any-promise@npm:~1.3.0": version: 1.3.0 resolution: "any-promise@npm:1.3.0" checksum: 10/6737469ba353b5becf29e4dc3680736b9caa06d300bda6548812a8fee63ae7d336d756f88572fa6b5219aed36698d808fa55f62af3e7e6845c7a1dc77d240edb @@ -10600,18 +10627,20 @@ __metadata: languageName: node linkType: hard -"apollo-datasource-rest@npm:^3.7.0": - version: 3.7.0 - resolution: "apollo-datasource-rest@npm:3.7.0" +"apollo-datasource-http@npm:0.21.0": + version: 0.21.0 + resolution: "apollo-datasource-http@npm:0.21.0" dependencies: - "@apollo/utils.keyvaluecache": "npm:^1.0.1" - apollo-datasource: "npm:^3.3.2" - apollo-server-env: "npm:^4.2.1" + "@alloc/quick-lru": "npm:^5.2.0" + apollo-datasource: "npm:^3.3.1" + apollo-server-caching: "npm:^3.3.0" apollo-server-errors: "npm:^3.3.1" - http-cache-semantics: "npm:^4.1.0" + apollo-server-types: "npm:^3.5.1" + stream-to-promise: "npm:^3.0.0" + undici: "npm:^4.13.0" peerDependencies: graphql: ^15.3.0 || ^16.0.0 - checksum: 10/68b5c3f05c4b7b909230a220207483b8695c465553dc82d4ecea4dd8c11e7258663c819aee8e23025905e1a75a4eb9be3cce3a6c195359fd6d13bb3218fdb5b0 + checksum: 10/c1d1e14eb1ad362461d6d454ddd68e4c089eca0c586c1e208a844f4575704eeb292a7dcf12a4aca9b9ddf04d2abe27351bd1a9a05e2a70d382e180ce721f641e languageName: node linkType: hard @@ -10625,7 +10654,7 @@ __metadata: languageName: node linkType: hard -"apollo-datasource@npm:^3.3.2": +"apollo-datasource@npm:^3.3.1": version: 3.3.2 resolution: "apollo-datasource@npm:3.3.2" dependencies: @@ -10671,15 +10700,6 @@ __metadata: languageName: node linkType: hard -"apollo-reporting-protobuf@npm:^3.3.1": - version: 3.3.3 - resolution: "apollo-reporting-protobuf@npm:3.3.3" - dependencies: - "@apollo/protobufjs": "npm:1.2.6" - checksum: 10/727c6f2a81da1e02d7e001ae3be234c889efe9ec1a8e431ae1e5943ee75b55ddd67a2c4d057f547514aef5cf9c97b64caace5028df0fff264a00e2da9fcbd2d1 - languageName: node - linkType: hard - "apollo-reporting-protobuf@npm:^3.4.0": version: 3.4.0 resolution: "apollo-reporting-protobuf@npm:3.4.0" @@ -10698,6 +10718,15 @@ __metadata: languageName: node linkType: hard +"apollo-server-caching@npm:^3.3.0": + version: 3.3.0 + resolution: "apollo-server-caching@npm:3.3.0" + dependencies: + lru-cache: "npm:^6.0.0" + checksum: 10/a5b43025ffb00cb3899fa0584512538747e8afe595ff8a0235caf8469435a03c1edc23fa56893fc77910f032563106872faa7e86a58acf1aed16bf77e9723327 + languageName: node + linkType: hard + "apollo-server-core@npm:^2.26.2": version: 2.26.2 resolution: "apollo-server-core@npm:2.26.2" @@ -10733,39 +10762,6 @@ __metadata: languageName: node linkType: hard -"apollo-server-core@npm:^3.13.0": - version: 3.13.0 - resolution: "apollo-server-core@npm:3.13.0" - dependencies: - "@apollo/utils.keyvaluecache": "npm:^1.0.1" - "@apollo/utils.logger": "npm:^1.0.0" - "@apollo/utils.usagereporting": "npm:^1.0.0" - "@apollographql/apollo-tools": "npm:^0.5.3" - "@apollographql/graphql-playground-html": "npm:1.6.29" - "@graphql-tools/mock": "npm:^8.1.2" - "@graphql-tools/schema": "npm:^8.0.0" - "@josephg/resolvable": "npm:^1.0.0" - apollo-datasource: "npm:^3.3.2" - apollo-reporting-protobuf: "npm:^3.4.0" - apollo-server-env: "npm:^4.2.1" - apollo-server-errors: "npm:^3.3.1" - apollo-server-plugin-base: "npm:^3.7.2" - apollo-server-types: "npm:^3.8.0" - async-retry: "npm:^1.2.1" - fast-json-stable-stringify: "npm:^2.1.0" - graphql-tag: "npm:^2.11.0" - loglevel: "npm:^1.6.8" - lru-cache: "npm:^6.0.0" - node-abort-controller: "npm:^3.0.1" - sha.js: "npm:^2.4.11" - uuid: "npm:^9.0.0" - whatwg-mimetype: "npm:^3.0.0" - peerDependencies: - graphql: ^15.3.0 || ^16.0.0 - checksum: 10/7d0c7d712a2f3d70b08d4d0b303d73b9ccaf5edfa9de324724332f0949b51ff1da29fa720e598390843d27eeb73ae66978f49c130b3cf582b0851d1c58c8c44f - languageName: node - linkType: hard - "apollo-server-env@npm:^3.2.0": version: 3.2.0 resolution: "apollo-server-env@npm:3.2.0" @@ -10803,50 +10799,6 @@ __metadata: languageName: node linkType: hard -"apollo-server-express@npm:^3.13.0": - version: 3.13.0 - resolution: "apollo-server-express@npm:3.13.0" - dependencies: - "@types/accepts": "npm:^1.3.5" - "@types/body-parser": "npm:1.19.2" - "@types/cors": "npm:2.8.12" - "@types/express": "npm:4.17.14" - "@types/express-serve-static-core": "npm:4.17.31" - accepts: "npm:^1.3.5" - apollo-server-core: "npm:^3.13.0" - apollo-server-types: "npm:^3.8.0" - body-parser: "npm:^1.19.0" - cors: "npm:^2.8.5" - parseurl: "npm:^1.3.3" - peerDependencies: - express: ^4.17.1 - graphql: ^15.3.0 || ^16.0.0 - checksum: 10/0699c87d7016e31c1a3c30bc790820e32337d6269439b7817388459d5001ca018556005ec7982a7c414898ec5122b384be102eac5df70fd2df703989eb9d2ab5 - languageName: node - linkType: hard - -"apollo-server-koa@npm:^3.13.0": - version: 3.13.0 - resolution: "apollo-server-koa@npm:3.13.0" - dependencies: - "@koa/cors": "npm:^3.1.0" - "@types/accepts": "npm:^1.3.5" - "@types/koa": "npm:^2.11.6" - "@types/koa-bodyparser": "npm:^4.3.0" - "@types/koa-compose": "npm:^3.2.5" - "@types/koa__cors": "npm:^3.0.1" - accepts: "npm:^1.3.7" - apollo-server-core: "npm:^3.13.0" - apollo-server-types: "npm:^3.8.0" - koa-bodyparser: "npm:^4.3.0" - koa-compose: "npm:^4.1.0" - peerDependencies: - graphql: ^15.3.0 || ^16.0.0 - koa: ^2.13.1 - checksum: 10/3baaa3edc66335c3323db76fe29bc0259459954b72b409af927741c6c5b98dcc10ac03205a16a95f10a3d00babdc76b90057643af7884b0a2c8301123b0f64cf - languageName: node - linkType: hard - "apollo-server-plugin-base@npm:^0.14.0": version: 0.14.0 resolution: "apollo-server-plugin-base@npm:0.14.0" @@ -10858,18 +10810,7 @@ __metadata: languageName: node linkType: hard -"apollo-server-plugin-base@npm:^3.7.2": - version: 3.7.2 - resolution: "apollo-server-plugin-base@npm:3.7.2" - dependencies: - apollo-server-types: "npm:^3.8.0" - peerDependencies: - graphql: ^15.3.0 || ^16.0.0 - checksum: 10/b2599f51e66dce930208c1c6f6b4394e3bde6c635e971a80d677b33e7d3d6c2050453ede99bde66281e4d6d6675094b6fb50a5ec30d16e04bee13d7570ad2715 - languageName: node - linkType: hard - -"apollo-server-testing@npm:^2.26.2": +"apollo-server-testing@npm:2.26.2": version: 2.26.2 resolution: "apollo-server-testing@npm:2.26.2" dependencies: @@ -10893,7 +10834,7 @@ __metadata: languageName: node linkType: hard -"apollo-server-types@npm:^3.8.0": +"apollo-server-types@npm:^3.5.1": version: 3.8.0 resolution: "apollo-server-types@npm:3.8.0" dependencies: @@ -10933,13 +10874,6 @@ __metadata: languageName: node linkType: hard -"app-root-path@npm:^3.0.0": - version: 3.1.0 - resolution: "app-root-path@npm:3.1.0" - checksum: 10/b4cdab5f7e51ec43fa04c97eca2adedf8e18d6c3dd21cd775b70457c5e71f0441c692a49dcceb426f192640b7393dcd41d85c36ef98ecb7c785a53159c912def - languageName: node - linkType: hard - "append-field@npm:^1.0.0": version: 1.0.0 resolution: "append-field@npm:1.0.0" @@ -10947,40 +10881,13 @@ __metadata: languageName: node linkType: hard -"append-transform@npm:^2.0.0": - version: 2.0.0 - resolution: "append-transform@npm:2.0.0" - dependencies: - default-require-extensions: "npm:^3.0.0" - checksum: 10/f26f393bf7a428fd1bb18f2758a819830a582243310c5170edb3f98fdc5a535333d02b952f7c2d9b14522bd8ead5b132a0b15000eca18fa9f49172963ebbc231 - languageName: node - linkType: hard - -"aproba@npm:^1.0.3 || ^2.0.0, aproba@npm:^2.0.0": +"aproba@npm:2.0.0, aproba@npm:^1.0.3 || ^2.0.0, aproba@npm:^2.0.0": version: 2.0.0 resolution: "aproba@npm:2.0.0" checksum: 10/c2b9a631298e8d6f3797547e866db642f68493808f5b37cd61da778d5f6ada890d16f668285f7d60bd4fc3b03889bd590ffe62cf81b700e9bb353431238a0a7b languageName: node linkType: hard -"archiver-utils@npm:^2.1.0": - version: 2.1.0 - resolution: "archiver-utils@npm:2.1.0" - dependencies: - glob: "npm:^7.1.4" - graceful-fs: "npm:^4.2.0" - lazystream: "npm:^1.0.0" - lodash.defaults: "npm:^4.2.0" - lodash.difference: "npm:^4.5.0" - lodash.flatten: "npm:^4.4.0" - lodash.isplainobject: "npm:^4.0.6" - lodash.union: "npm:^4.6.0" - normalize-path: "npm:^3.0.0" - readable-stream: "npm:^2.0.0" - checksum: 10/4df493c0e6a3a544119b08b350308923500e2c6efee6a283cba4c3202293ce3acb70897e54e24f735e3a38ff43e5a65f66e2e5225fdfc955bf2335491377be2e - languageName: node - linkType: hard - "archiver-utils@npm:^5.0.0, archiver-utils@npm:^5.0.2": version: 5.0.2 resolution: "archiver-utils@npm:5.0.2" @@ -10996,21 +10903,6 @@ __metadata: languageName: node linkType: hard -"archiver@npm:5.3.1": - version: 5.3.1 - resolution: "archiver@npm:5.3.1" - dependencies: - archiver-utils: "npm:^2.1.0" - async: "npm:^3.2.3" - buffer-crc32: "npm:^0.2.1" - readable-stream: "npm:^3.6.0" - readdir-glob: "npm:^1.0.0" - tar-stream: "npm:^2.2.0" - zip-stream: "npm:^4.1.0" - checksum: 10/f77b57569412f9b1f4abe8528e1bb03bc91705bbbba669e10d35d8faab11a6bca895ef180bdb895d052f8cc8b38ae7c94c60677d17261a5447b5adc5f861ed0c - languageName: node - linkType: hard - "archiver@npm:^7.0.1": version: 7.0.1 resolution: "archiver@npm:7.0.1" @@ -11026,7 +10918,7 @@ __metadata: languageName: node linkType: hard -"archy@npm:^1.0.0, archy@npm:~1.0.0": +"archy@npm:~1.0.0": version: 1.0.0 resolution: "archy@npm:1.0.0" checksum: 10/d7928049a57988b86df3f4de75ca16a4252ccee591d085c627e649fc54c5ae5daa833f17aa656bd825bd00bc0a2756ae03d2b983050bdbda1046b6d832bf7303 @@ -11064,7 +10956,7 @@ __metadata: languageName: node linkType: hard -"argparse@npm:^1.0.7, argparse@npm:~1.0.9": +"argparse@npm:^1.0.7": version: 1.0.10 resolution: "argparse@npm:1.0.10" dependencies: @@ -11224,13 +11116,6 @@ __metadata: languageName: node linkType: hard -"astral-regex@npm:^2.0.0": - version: 2.0.0 - resolution: "astral-regex@npm:2.0.0" - checksum: 10/876231688c66400473ba505731df37ea436e574dd524520294cc3bbc54ea40334865e01fa0d074d74d036ee874ee7e62f486ea38bc421ee8e6a871c06f011766 - languageName: node - linkType: hard - "async-lock@npm:^1.4.1": version: 1.4.1 resolution: "async-lock@npm:1.4.1" @@ -11238,15 +11123,6 @@ __metadata: languageName: node linkType: hard -"async-mutex@npm:^0.3.2": - version: 0.3.2 - resolution: "async-mutex@npm:0.3.2" - dependencies: - tslib: "npm:^2.3.1" - checksum: 10/cf0b02f7f916d202a727e15a64d51110c3258a719588ca263875024172aa9368efa5dbec6dc4f4fd10e35744e238e1075306a93ce86549de642d5f7d0c06bc23 - languageName: node - linkType: hard - "async-retry@npm:^1.2.1": version: 1.3.3 resolution: "async-retry@npm:1.3.3" @@ -11328,14 +11204,44 @@ __metadata: languageName: node linkType: hard -"aws-serverless-express@npm:^3.4.0": - version: 3.4.0 - resolution: "aws-serverless-express@npm:3.4.0" +"available-typed-arrays@npm:^1.0.7": + version: 1.0.7 + resolution: "available-typed-arrays@npm:1.0.7" dependencies: - "@vendia/serverless-express": "npm:^3.4.0" - binary-case: "npm:^1.0.0" - type-is: "npm:^1.6.16" - checksum: 10/aff384f3a3bfdfec4374f28836696afd55ec6bdfd02bba088f61f187fa008e62142cbfb47349a08f35db76d18708b845257faf5549ff390fdcea18e2ea737b5a + possible-typed-array-names: "npm:^1.0.0" + checksum: 10/6c9da3a66caddd83c875010a1ca8ef11eac02ba15fb592dc9418b2b5e7b77b645fa7729380a92d9835c2f05f2ca1b6251f39b993e0feb3f1517c74fa1af02cab + languageName: node + linkType: hard + +"aws-lambda@npm:1.0.7": + version: 1.0.7 + resolution: "aws-lambda@npm:1.0.7" + dependencies: + aws-sdk: "npm:^2.814.0" + commander: "npm:^3.0.2" + js-yaml: "npm:^3.14.1" + watchpack: "npm:^2.0.0-beta.10" + bin: + lambda: bin/lambda + checksum: 10/71fd8d4e57efb93dab5252e38cdeb2a90ccbe95346c5d7b63bbee7a3123cebe3873a4a930a7cd39afcbfaabd70ebb00e66fb0d5aca55cd9363f850d024c0980b + languageName: node + linkType: hard + +"aws-sdk@npm:^2.814.0": + version: 2.1691.0 + resolution: "aws-sdk@npm:2.1691.0" + dependencies: + buffer: "npm:4.9.2" + events: "npm:1.1.1" + ieee754: "npm:1.1.13" + jmespath: "npm:0.16.0" + querystring: "npm:0.2.0" + sax: "npm:1.2.1" + url: "npm:0.10.3" + util: "npm:^0.12.4" + uuid: "npm:8.0.0" + xml2js: "npm:0.6.2" + checksum: 10/387de8206cc134516aea8d7357a3c9a07317c0976bbc70f346981261fe57130eaecc4b74ca7feddc5c09a588a8cc2bd7d5cf13115c3a9f3ea76ce4c07992cbd8 languageName: node linkType: hard @@ -11349,14 +11255,14 @@ __metadata: languageName: node linkType: hard -"axios@npm:1.7.4": - version: 1.7.4 - resolution: "axios@npm:1.7.4" +"axios@npm:1.7.7, axios@npm:^1.7.4": + version: 1.7.7 + resolution: "axios@npm:1.7.7" dependencies: follow-redirects: "npm:^1.15.6" form-data: "npm:^4.0.0" proxy-from-env: "npm:^1.1.0" - checksum: 10/7a1429be1e3d0c2e1b96d4bba4d113efbfabc7c724bed107beb535c782c7bea447ff634886b0c7c43395a264d085450d009eb1154b5f38a8bae49d469fdcbc61 + checksum: 10/7f875ea13b9298cd7b40fd09985209f7a38d38321f1118c701520939de2f113c4ba137832fe8e3f811f99a38e12c8225481011023209a77b0c0641270e20cde1 languageName: node linkType: hard @@ -11371,17 +11277,6 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.0.0": - version: 1.6.5 - resolution: "axios@npm:1.6.5" - dependencies: - follow-redirects: "npm:^1.15.4" - form-data: "npm:^4.0.0" - proxy-from-env: "npm:^1.1.0" - checksum: 10/465489d9bf8f039b9adbc8103b6299d6a5e26de77b27f0e4173d814d39bca8f4b4659d94e09ee40461aedccd8c2452f1e2b3edace1c9f81220060d2974ff9dc7 - languageName: node - linkType: hard - "b4a@npm:^1.6.4": version: 1.6.6 resolution: "b4a@npm:1.6.6" @@ -11402,15 +11297,15 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.10.1, babel-plugin-polyfill-corejs3@npm:^0.10.4": - version: 0.10.4 - resolution: "babel-plugin-polyfill-corejs3@npm:0.10.4" +"babel-plugin-polyfill-corejs3@npm:^0.10.6": + version: 0.10.6 + resolution: "babel-plugin-polyfill-corejs3@npm:0.10.6" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.1" - core-js-compat: "npm:^3.36.1" + "@babel/helper-define-polyfill-provider": "npm:^0.6.2" + core-js-compat: "npm:^3.38.0" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10/a69ed5a95bb55e9b7ea37307d56113f7e24054d479c15de6d50fa61388b5334bed1f9b6414cde6c575fa910a4de4d1ab4f2d22720967d57c4fec9d1b8f61b355 + checksum: 10/360ac9054a57a18c540059dc627ad5d84d15f79790cb3d84d19a02eec7188c67d08a07db789c3822d6f5df22d918e296d1f27c4055fec2e287d328f09ea8a78a languageName: node linkType: hard @@ -11498,7 +11393,7 @@ __metadata: languageName: node linkType: hard -"base64-js@npm:^1.3.1": +"base64-js@npm:^1.0.2, base64-js@npm:^1.3.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" checksum: 10/669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 @@ -11583,10 +11478,15 @@ __metadata: languageName: node linkType: hard -"binary-case@npm:^1.0.0": - version: 1.1.4 - resolution: "binary-case@npm:1.1.4" - checksum: 10/2b59be3cba1560ae8d9d26027874c33b514435b13641471998ef1081260ff240105b21491839097cde31474e6de803265f0e804fb0a5f0a2106cfaaaa435497f +"bin-links@npm:^4.0.4": + version: 4.0.4 + resolution: "bin-links@npm:4.0.4" + dependencies: + cmd-shim: "npm:^6.0.0" + npm-normalize-package-bin: "npm:^3.0.0" + read-cmd-shim: "npm:^4.0.0" + write-file-atomic: "npm:^5.0.0" + checksum: 10/58d62143aacdbb783b076e9bdd970d8470f2750e1076d6fd1ae559fa532c4647478dd2550a911ba22d4c9e6339881451046e2fbc4b8958f4bf3bf8e5144d1e4d languageName: node linkType: hard @@ -11637,23 +11537,23 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:^1.19.0, body-parser@npm:^1.19.1": - version: 1.20.1 - resolution: "body-parser@npm:1.20.1" +"body-parser@npm:1.20.3": + version: 1.20.3 + resolution: "body-parser@npm:1.20.3" dependencies: bytes: "npm:3.1.2" - content-type: "npm:~1.0.4" + content-type: "npm:~1.0.5" debug: "npm:2.6.9" depd: "npm:2.0.0" destroy: "npm:1.2.0" http-errors: "npm:2.0.0" iconv-lite: "npm:0.4.24" on-finished: "npm:2.4.1" - qs: "npm:6.11.0" - raw-body: "npm:2.5.1" + qs: "npm:6.13.0" + raw-body: "npm:2.5.2" type-is: "npm:~1.6.18" unpipe: "npm:1.0.0" - checksum: 10/5f8d128022a2fb8b6e7990d30878a0182f300b70e46b3f9d358a9433ad6275f0de46add6d63206da3637c01c3b38b6111a7480f7e7ac2e9f7b989f6133fe5510 + checksum: 10/8723e3d7a672eb50854327453bed85ac48d045f4958e81e7d470c56bf111f835b97e5b73ae9f6393d0011cc9e252771f46fd281bbabc57d33d3986edf1e6aeca languageName: node linkType: hard @@ -11784,7 +11684,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.21.9, browserslist@npm:^4.22.1": +"browserslist@npm:^4.21.9": version: 4.22.1 resolution: "browserslist@npm:4.22.1" dependencies: @@ -11798,21 +11698,21 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.22.2, browserslist@npm:^4.23.0": - version: 4.23.0 - resolution: "browserslist@npm:4.23.0" +"browserslist@npm:^4.23.3, browserslist@npm:^4.24.0": + version: 4.24.0 + resolution: "browserslist@npm:4.24.0" dependencies: - caniuse-lite: "npm:^1.0.30001587" - electron-to-chromium: "npm:^1.4.668" - node-releases: "npm:^2.0.14" - update-browserslist-db: "npm:^1.0.13" + caniuse-lite: "npm:^1.0.30001663" + electron-to-chromium: "npm:^1.5.28" + node-releases: "npm:^2.0.18" + update-browserslist-db: "npm:^1.1.0" bin: browserslist: cli.js - checksum: 10/496c3862df74565dd942b4ae65f502c575cbeba1fa4a3894dad7aa3b16130dc3033bc502d8848147f7b625154a284708253d9598bcdbef5a1e34cf11dc7bad8e + checksum: 10/26c1b8ba257a0b51b102080ba9d42945af2abaa8c4cf6da21cd47b3f123fc1e81640203b293214356c2c17d9d265bb3a5ed428b6d302f383576dd6ce8fd5036c languageName: node linkType: hard -"bson@npm:^4.6.5, bson@npm:^4.7.2": +"bson@npm:^4.7.2": version: 4.7.2 resolution: "bson@npm:4.7.2" dependencies: @@ -11821,13 +11721,6 @@ __metadata: languageName: node linkType: hard -"bson@npm:^6.4.0": - version: 6.6.0 - resolution: "bson@npm:6.6.0" - checksum: 10/22f6f9395ffd0306efc03aa876149307738ec3ccb2384eca421493b8c71498d057b1f5b6caddf6f3154feaa5b24de988c502aaa1b519d502d3affdc35d623fd9 - languageName: node - linkType: hard - "bson@npm:^6.7.0": version: 6.8.0 resolution: "bson@npm:6.8.0" @@ -11835,13 +11728,6 @@ __metadata: languageName: node linkType: hard -"buffer-crc32@npm:^0.2.1, buffer-crc32@npm:^0.2.13, buffer-crc32@npm:~0.2.3": - version: 0.2.13 - resolution: "buffer-crc32@npm:0.2.13" - checksum: 10/06252347ae6daca3453b94e4b2f1d3754a3b146a111d81c68924c22d91889a40623264e95e67955b1cb4a68cbedf317abeabb5140a9766ed248973096db5ce1c - languageName: node - linkType: hard - "buffer-crc32@npm:^1.0.0": version: 1.0.0 resolution: "buffer-crc32@npm:1.0.0" @@ -11863,6 +11749,17 @@ __metadata: languageName: node linkType: hard +"buffer@npm:4.9.2": + version: 4.9.2 + resolution: "buffer@npm:4.9.2" + dependencies: + base64-js: "npm:^1.0.2" + ieee754: "npm:^1.1.4" + isarray: "npm:^1.0.0" + checksum: 10/4852a455e167bc8ca580c3c585176bbe0931c9929aeb68f3e0b49adadcb4e513fd0922a43efdf67ddb2e8785bbe8254ae17f4b69038dd06329ee9e3283c8508f + languageName: node + linkType: hard + "buffer@npm:^5.1.0, buffer@npm:^5.5.0, buffer@npm:^5.6.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" @@ -11890,13 +11787,6 @@ __metadata: languageName: node linkType: hard -"builtins@npm:^1.0.3": - version: 1.0.3 - resolution: "builtins@npm:1.0.3" - checksum: 10/8f756616bd3d92611bcb5bcc3008308e7cdaadbc4603a5ce6fe709193198bc115351d138524d79e5269339ef7ba5ba73185da541c7b4bc076b00dd0124f938f6 - languageName: node - linkType: hard - "builtins@npm:^5.0.0": version: 5.0.1 resolution: "builtins@npm:5.0.1" @@ -12002,55 +11892,29 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^16.1.0": - version: 16.1.0 - resolution: "cacache@npm:16.1.0" - dependencies: - "@npmcli/fs": "npm:^2.1.0" - "@npmcli/move-file": "npm:^2.0.0" - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.1.0" - glob: "npm:^8.0.1" - infer-owner: "npm:^1.0.4" - lru-cache: "npm:^7.7.1" - minipass: "npm:^3.1.6" - minipass-collect: "npm:^1.0.2" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - mkdirp: "npm:^1.0.4" - p-map: "npm:^4.0.0" - promise-inflight: "npm:^1.0.1" - rimraf: "npm:^3.0.2" - ssri: "npm:^9.0.0" - tar: "npm:^6.1.11" - unique-filename: "npm:^1.1.1" - checksum: 10/5a84a79db11204cd6827bfa5e05c72d512ed091b77df772988f8df1eea4aaa879e30e38093d10db1267ed2d0cb9cafe31c64ad7f55074dca52e4cb5dca204382 - languageName: node - linkType: hard - -"cacache@npm:^17.0.0": - version: 17.1.4 - resolution: "cacache@npm:17.1.4" +"cacache@npm:^18.0.0, cacache@npm:^18.0.2": + version: 18.0.2 + resolution: "cacache@npm:18.0.2" dependencies: "@npmcli/fs": "npm:^3.1.0" fs-minipass: "npm:^3.0.0" glob: "npm:^10.2.2" - lru-cache: "npm:^7.7.1" + lru-cache: "npm:^10.0.1" minipass: "npm:^7.0.3" - minipass-collect: "npm:^1.0.2" + minipass-collect: "npm:^2.0.1" minipass-flush: "npm:^1.0.5" minipass-pipeline: "npm:^1.2.4" p-map: "npm:^4.0.0" ssri: "npm:^10.0.0" tar: "npm:^6.1.11" unique-filename: "npm:^3.0.0" - checksum: 10/6e26c788bc6a18ff42f4d4f97db30d5c60a5dfac8e7c10a03b0307a92cf1b647570547cf3cd96463976c051eb9c7258629863f156e224c82018862c1a8ad0e70 + checksum: 10/5ca58464f785d4d64ac2019fcad95451c8c89bea25949f63acd8987fcc3493eaef1beccc0fa39e673506d879d3fc1ab420760f8a14f8ddf46ea2d121805a5e96 languageName: node linkType: hard -"cacache@npm:^18.0.0, cacache@npm:^18.0.2": - version: 18.0.2 - resolution: "cacache@npm:18.0.2" +"cacache@npm:^18.0.3": + version: 18.0.4 + resolution: "cacache@npm:18.0.4" dependencies: "@npmcli/fs": "npm:^3.1.0" fs-minipass: "npm:^3.0.0" @@ -12064,7 +11928,7 @@ __metadata: ssri: "npm:^10.0.0" tar: "npm:^6.1.11" unique-filename: "npm:^3.0.0" - checksum: 10/5ca58464f785d4d64ac2019fcad95451c8c89bea25949f63acd8987fcc3493eaef1beccc0fa39e673506d879d3fc1ab420760f8a14f8ddf46ea2d121805a5e96 + checksum: 10/ca2f7b2d3003f84d362da9580b5561058ccaecd46cba661cbcff0375c90734b610520d46b472a339fd032d91597ad6ed12dde8af81571197f3c9772b5d35b104 languageName: node linkType: hard @@ -12095,14 +11959,15 @@ __metadata: languageName: node linkType: hard -"cache-manager@npm:^5.4.0": - version: 5.4.0 - resolution: "cache-manager@npm:5.4.0" +"cache-manager@npm:^5.7.6": + version: 5.7.6 + resolution: "cache-manager@npm:5.7.6" dependencies: + eventemitter3: "npm:^5.0.1" lodash.clonedeep: "npm:^4.5.0" - lru-cache: "npm:^10.1.0" + lru-cache: "npm:^10.2.2" promise-coalesce: "npm:^1.1.2" - checksum: 10/a8a2633d8668081143f2c1d23ee3fff9bfa2604b7f8f67d835aa909b5abb53095d46f7eb4c294632752bdc9d90cdc5bc082a2925670effbad94af7e231679f43 + checksum: 10/e8cc65a289aa4136255db2349dd15fa7acca398a233b560cba18f691d9cce39d8058531707d1358c67029e2d36f5b5b209e64339ffdb80a25d26d0682399a9b8 languageName: node linkType: hard @@ -12128,18 +11993,6 @@ __metadata: languageName: node linkType: hard -"caching-transform@npm:^4.0.0": - version: 4.0.0 - resolution: "caching-transform@npm:4.0.0" - dependencies: - hasha: "npm:^5.0.0" - make-dir: "npm:^3.0.0" - package-hash: "npm:^4.0.0" - write-file-atomic: "npm:^3.0.0" - checksum: 10/7e7ca628511ab18c86eea1231834d2591de29a13ae771a7d9ab85be8c6e53e45c5a5b0d0d95d4a3274fc4f26c16956a98162e40c191c131204b5d5aa949660b5 - languageName: node - linkType: hard - "call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": version: 1.0.2 resolution: "call-bind@npm:1.0.2" @@ -12161,6 +12014,19 @@ __metadata: languageName: node linkType: hard +"call-bind@npm:^1.0.7": + version: 1.0.7 + resolution: "call-bind@npm:1.0.7" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + set-function-length: "npm:^1.2.1" + checksum: 10/cd6fe658e007af80985da5185bff7b55e12ef4c2b6f41829a26ed1eef254b1f1c12e3dfd5b2b068c6ba8b86aba62390842d81752e67dcbaec4f6f76e7113b6b7 + languageName: node + linkType: hard + "call-me-maybe@npm:^1.0.1": version: 1.0.1 resolution: "call-me-maybe@npm:1.0.1" @@ -12213,27 +12079,13 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^4.1.0": - version: 4.1.0 - resolution: "camelcase@npm:4.1.0" - checksum: 10/9683356daf9b64fae4b30c91f8ceb1f34f22746e03d1804efdbe738357d38b47f206cdd71efcf2ed72018b2e88eeb8ec3f79adb09c02f1253a4b6d5d405ff2ae - languageName: node - linkType: hard - -"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": +"camelcase@npm:^5.3.1": version: 5.3.1 resolution: "camelcase@npm:5.3.1" checksum: 10/e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b languageName: node linkType: hard -"camelcase@npm:^6.3.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 10/8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d - languageName: node - linkType: hard - "caniuse-lite@npm:^1.0.30001400": version: 1.0.30001441 resolution: "caniuse-lite@npm:1.0.30001441" @@ -12248,10 +12100,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001587": - version: 1.0.30001600 - resolution: "caniuse-lite@npm:1.0.30001600" - checksum: 10/4c52f83ed71bc5f6e443bd17923460f1c77915adc2c2aa79ddaedceccc690b5917054b0c41b79e9138cbbd9abcdc0db9e224e79e3e734e581dfec06505f3a2b4 +"caniuse-lite@npm:^1.0.30001663": + version: 1.0.30001667 + resolution: "caniuse-lite@npm:1.0.30001667" + checksum: 10/5f0c48abb806737c422f05d0d9dda72facc25ee8adbae2c2ea9c57b87d9c2fa9ad8c3f6d54f21aca4e31ee1742cb5dd1543bf6b9133e3f77f79a645876322414 languageName: node linkType: hard @@ -12332,7 +12184,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:>=5.3.0, chalk@npm:^5.3.0": +"chalk@npm:>=5.3.0, chalk@npm:^5.3.0, chalk@npm:~5.3.0": version: 5.3.0 resolution: "chalk@npm:5.3.0" checksum: 10/6373caaab21bd64c405bfc4bd9672b145647fc9482657b5ea1d549b3b2765054e9d3d928870cdf764fb4aad67555f5061538ff247b8310f110c5c888d92397ea @@ -12380,7 +12232,7 @@ __metadata: languageName: node linkType: hard -"change-case@npm:*, change-case@npm:4.1.2, change-case@npm:^4.1.2": +"change-case@npm:*": version: 4.1.2 resolution: "change-case@npm:4.1.2" dependencies: @@ -12424,6 +12276,13 @@ __metadata: languageName: node linkType: hard +"change-case@npm:5.4.4, change-case@npm:^5.4.4": + version: 5.4.4 + resolution: "change-case@npm:5.4.4" + checksum: 10/446e5573f3c854290a91292afef92b957d2e43a928260c91989b482aa860caaa29711b6725fc40c200af68061cbab357b033446d16a17bc5c553636994074e92 + languageName: node + linkType: hard + "char-regex@npm:^1.0.2": version: 1.0.2 resolution: "char-regex@npm:1.0.2" @@ -12475,21 +12334,6 @@ __metadata: languageName: node linkType: hard -"checkpoint-client@npm:1.1.24": - version: 1.1.24 - resolution: "checkpoint-client@npm:1.1.24" - dependencies: - ci-info: "npm:3.8.0" - env-paths: "npm:2.2.1" - fast-write-atomic: "npm:0.2.1" - make-dir: "npm:3.1.0" - ms: "npm:2.1.3" - node-fetch: "npm:2.6.11" - uuid: "npm:9.0.0" - checksum: 10/9e4a758b845918527da984a59e57448464640575166bc9dc36b403b13d1609383a45c6358bb5300889ab826d19552992a56fd26f3d497cc5ae2f5cea7d5aca09 - languageName: node - linkType: hard - "chokidar@npm:^3.5.2, chokidar@npm:^3.5.3": version: 3.5.3 resolution: "chokidar@npm:3.5.3" @@ -12549,13 +12393,6 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:3.8.0": - version: 3.8.0 - resolution: "ci-info@npm:3.8.0" - checksum: 10/b00e9313c1f7042ca8b1297c157c920d6d69f0fbad7b867910235676df228c4b4f4df33d06cacae37f9efba7a160b0a167c6be85492b419ef71d85660e60606b - languageName: node - linkType: hard - "ci-info@npm:^3.2.0": version: 3.3.0 resolution: "ci-info@npm:3.3.0" @@ -12563,13 +12400,6 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^3.6.1": - version: 3.9.0 - resolution: "ci-info@npm:3.9.0" - checksum: 10/75bc67902b4d1c7b435497adeb91598f6d52a3389398e44294f6601b20cfef32cf2176f7be0eb961d9e085bb333a8a5cae121cb22f81cf238ae7f58eb80e9397 - languageName: node - linkType: hard - "ci-info@npm:^4.0.0": version: 4.0.0 resolution: "ci-info@npm:4.0.0" @@ -12586,6 +12416,16 @@ __metadata: languageName: node linkType: hard +"cipher-base@npm:^1.0.1": + version: 1.0.4 + resolution: "cipher-base@npm:1.0.4" + dependencies: + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + checksum: 10/3d5d6652ca499c3f7c5d7fdc2932a357ec1e5aa84f2ad766d850efd42e89753c97b795c3a104a8e7ae35b4e293f5363926913de3bf8181af37067d9d541ca0db + languageName: node + linkType: hard + "class-utils@npm:^0.3.5": version: 0.3.6 resolution: "class-utils@npm:0.3.6" @@ -12690,6 +12530,15 @@ __metadata: languageName: node linkType: hard +"cli-cursor@npm:^5.0.0": + version: 5.0.0 + resolution: "cli-cursor@npm:5.0.0" + dependencies: + restore-cursor: "npm:^5.0.0" + checksum: 10/1eb9a3f878b31addfe8d82c6d915ec2330cec8447ab1f117f4aa34f0137fbb3137ec3466e1c9a65bcb7557f6e486d343f2da57f253a2f668d691372dfa15c090 + languageName: node + linkType: hard + "cli-highlight@npm:^2.1.11": version: 2.1.11 resolution: "cli-highlight@npm:2.1.11" @@ -12733,16 +12582,6 @@ __metadata: languageName: node linkType: hard -"cli-truncate@npm:2.1.0, cli-truncate@npm:^2.1.0": - version: 2.1.0 - resolution: "cli-truncate@npm:2.1.0" - dependencies: - slice-ansi: "npm:^3.0.0" - string-width: "npm:^4.2.0" - checksum: 10/976f1887de067a8cd6ec830a7a8508336aebe6cec79b521d98ed13f67ef073b637f7305675b6247dd22f9e9cf045ec55fe746c7bdb288fbe8db0dfdc9fd52e55 - languageName: node - linkType: hard - "cli-truncate@npm:^0.2.1": version: 0.2.1 resolution: "cli-truncate@npm:0.2.1" @@ -12753,16 +12592,6 @@ __metadata: languageName: node linkType: hard -"cli-truncate@npm:^3.1.0": - version: 3.1.0 - resolution: "cli-truncate@npm:3.1.0" - dependencies: - slice-ansi: "npm:^5.0.0" - string-width: "npm:^5.0.0" - checksum: 10/c3243e41974445691c63f8b405df1d5a24049dc33d324fe448dc572e561a7b772ae982692900b1a5960901cc4fc7def25a629b9c69a4208ee89d12ab3332617a - languageName: node - linkType: hard - "cli-truncate@npm:^4.0.0": version: 4.0.0 resolution: "cli-truncate@npm:4.0.0" @@ -12818,17 +12647,6 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^6.0.0": - version: 6.0.0 - resolution: "cliui@npm:6.0.0" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.0" - wrap-ansi: "npm:^6.2.0" - checksum: 10/44afbcc29df0899e87595590792a871cd8c4bc7d6ce92832d9ae268d141a77022adafca1aeaeccff618b62a613b8354e57fe22a275c199ec04baf00d381ef6ab - languageName: node - linkType: hard - "cliui@npm:^7.0.2": version: 7.0.4 resolution: "cliui@npm:7.0.4" @@ -12883,10 +12701,10 @@ __metadata: languageName: node linkType: hard -"cmd-shim@npm:6.0.1": - version: 6.0.1 - resolution: "cmd-shim@npm:6.0.1" - checksum: 10/d0718e4a49265a9195ced19f662a77569ce5939145451125bdc8bb302781f15564ade92f6c49e231f9d0bb6f3d71db1a2d0a50af940490eb324e152325039541 +"cmd-shim@npm:6.0.3": + version: 6.0.3 + resolution: "cmd-shim@npm:6.0.3" + checksum: 10/791c9779cf57deae978ef24daf7e49e7fdb2070cc273aa7d691ed258a660ad3861edbc9f39daa2b6e5f72a64526b6812c04f08becc54402618b99946ccad7d71 languageName: node linkType: hard @@ -12982,7 +12800,7 @@ __metadata: languageName: node linkType: hard -"color-support@npm:^1.1.3": +"color-support@npm:1.1.3, color-support@npm:^1.1.3": version: 1.1.3 resolution: "color-support@npm:1.1.3" bin: @@ -12991,14 +12809,14 @@ __metadata: languageName: node linkType: hard -"colorette@npm:2.0.19, colorette@npm:^2.0.10, colorette@npm:^2.0.14, colorette@npm:^2.0.16": +"colorette@npm:2.0.19, colorette@npm:^2.0.10, colorette@npm:^2.0.14": version: 2.0.19 resolution: "colorette@npm:2.0.19" checksum: 10/6e2606435cd30e1cae8fc6601b024fdd809e20515c57ce1e588d0518403cff0c98abf807912ba543645a9188af36763b69b67e353d47397f24a1c961aba300bd languageName: node linkType: hard -"colorette@npm:^2.0.19, colorette@npm:^2.0.20": +"colorette@npm:^2.0.20": version: 2.0.20 resolution: "colorette@npm:2.0.20" checksum: 10/0b8de48bfa5d10afc160b8eaa2b9938f34a892530b2f7d7897e0458d9535a066e3998b49da9d21161c78225b272df19ae3a64d6df28b4c9734c0e55bbd02406f @@ -13038,7 +12856,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:12.1.0": +"commander@npm:12.1.0, commander@npm:~12.1.0": version: 12.1.0 resolution: "commander@npm:12.1.0" checksum: 10/cdaeb672d979816853a4eed7f1310a9319e8b976172485c2a6b437ed0db0a389a44cfb222bfbde772781efa9f215bdd1b936f80d6b249485b465c6cb906e1f93 @@ -13075,6 +12893,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:^3.0.2": + version: 3.0.2 + resolution: "commander@npm:3.0.2" + checksum: 10/f42053569f5954498246783465b39139917a51284bf3361574c9f731fea27a4bd6452dbb1755cc2d923c7b47dfea67930037c7b7e862288f2c397cec9a74da87 + languageName: node + linkType: hard + "commander@npm:^5.0.0, commander@npm:^5.1.0": version: 5.1.0 resolution: "commander@npm:5.1.0" @@ -13089,7 +12914,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^9.3.0, commander@npm:^9.4.1": +"commander@npm:^9.4.1": version: 9.5.0 resolution: "commander@npm:9.5.0" checksum: 10/41c49b3d0f94a1fbeb0463c85b13f15aa15a9e0b4d5e10a49c0a1d58d4489b549d62262b052ae0aa6cfda53299bee487bfe337825df15e342114dde543f82906 @@ -13103,13 +12928,6 @@ __metadata: languageName: node linkType: hard -"commondir@npm:^1.0.1": - version: 1.0.1 - resolution: "commondir@npm:1.0.1" - checksum: 10/4620bc4936a4ef12ce7dfcd272bb23a99f2ad68889a4e4ad766c9f8ad21af982511934d6f7050d4a8bde90011b1c15d56e61a1b4576d9913efbf697a20172d6c - languageName: node - linkType: hard - "compare-func@npm:^2.0.0": version: 2.0.0 resolution: "compare-func@npm:2.0.0" @@ -13127,13 +12945,6 @@ __metadata: languageName: node linkType: hard -"compare-versions@npm:^6.1.1": - version: 6.1.1 - resolution: "compare-versions@npm:6.1.1" - checksum: 10/9325c0fadfba81afa0ec17e6fc2ef823ba785c693089698b8d9374e5460509f1916a88591644d4cb4045c9a58e47fafbcc0724fe8bf446d2a875a3d6eeddf165 - languageName: node - linkType: hard - "component-emitter@npm:^1.2.1, component-emitter@npm:^1.3.0": version: 1.3.0 resolution: "component-emitter@npm:1.3.0" @@ -13141,18 +12952,6 @@ __metadata: languageName: node linkType: hard -"compress-commons@npm:^4.1.0": - version: 4.1.1 - resolution: "compress-commons@npm:4.1.1" - dependencies: - buffer-crc32: "npm:^0.2.13" - crc32-stream: "npm:^4.0.2" - normalize-path: "npm:^3.0.0" - readable-stream: "npm:^3.6.0" - checksum: 10/7e3581650366b48ffc57a2780448d62b3dbc25233ec35543bf09bc0971ed6d337ce0fd2323685e53be3f19e523df67890b09a4a7e1cedc121b1a75d114dad4f5 - languageName: node - linkType: hard - "compress-commons@npm:^6.0.2": version: 6.0.2 resolution: "compress-commons@npm:6.0.2" @@ -13190,13 +12989,6 @@ __metadata: languageName: node linkType: hard -"computeds@npm:^0.0.1": - version: 0.0.1 - resolution: "computeds@npm:0.0.1" - checksum: 10/738625ccec6e483124d0ac79ec5474ab5c9df103ea05afc1fd840eed7d9004e3d6009b7bc806df564d66ad915c1ee1fb017bd91b2b32606a252ea9870b6a4026 - languageName: node - linkType: hard - "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -13239,23 +13031,21 @@ __metadata: languageName: node linkType: hard -"concurrently@npm:8.2.2": - version: 8.2.2 - resolution: "concurrently@npm:8.2.2" +"concurrently@npm:9.0.1": + version: 9.0.1 + resolution: "concurrently@npm:9.0.1" dependencies: chalk: "npm:^4.1.2" - date-fns: "npm:^2.30.0" lodash: "npm:^4.17.21" rxjs: "npm:^7.8.1" shell-quote: "npm:^1.8.1" - spawn-command: "npm:0.0.2" supports-color: "npm:^8.1.1" tree-kill: "npm:^1.2.2" yargs: "npm:^17.7.2" bin: conc: dist/bin/concurrently.js concurrently: dist/bin/concurrently.js - checksum: 10/dcb1aa69d9c611a7bda9d4fc0fe1e388f971d1744acec7e0d52dffa2ef55743f1266ec9292f414c5789b9f61734b3fce772bd005d4de9564a949fb121b97bae1 + checksum: 10/aae80b641c61a46dbb8831b79c81506f1c0b95a438c408e6b36d9aa84eb453c4126c608e58e8ed57049e068a5d868d16645475e15b9bb7902d684cd0e0bd1b34 languageName: node linkType: hard @@ -13372,6 +13162,15 @@ __metadata: languageName: node linkType: hard +"conventional-changelog-angular@npm:^8.0.0": + version: 8.0.0 + resolution: "conventional-changelog-angular@npm:8.0.0" + dependencies: + compare-func: "npm:^2.0.0" + checksum: 10/856e4652015d6ff5a192e2051efe4eb0d57534da304a3bfa6eb1e1ed06c995fe6d7c91d46e7a6de95baea52f7ccaad3ffe18260c972d40bad862f85d00c7b437 + languageName: node + linkType: hard + "conventional-changelog-conventionalcommits@npm:^7.0.2": version: 7.0.2 resolution: "conventional-changelog-conventionalcommits@npm:7.0.2" @@ -13424,19 +13223,18 @@ __metadata: languageName: node linkType: hard -"conventional-changelog-writer@npm:^7.0.0": - version: 7.0.1 - resolution: "conventional-changelog-writer@npm:7.0.1" +"conventional-changelog-writer@npm:^8.0.0": + version: 8.0.0 + resolution: "conventional-changelog-writer@npm:8.0.0" dependencies: - conventional-commits-filter: "npm:^4.0.0" + "@types/semver": "npm:^7.5.5" + conventional-commits-filter: "npm:^5.0.0" handlebars: "npm:^4.7.7" - json-stringify-safe: "npm:^5.0.1" - meow: "npm:^12.0.1" + meow: "npm:^13.0.0" semver: "npm:^7.5.2" - split2: "npm:^4.0.0" bin: - conventional-changelog-writer: cli.mjs - checksum: 10/fdb13864104eb0df33bb21397091837177da2e24afe1380b4c48921db01d59b3016254d6d6f2de663a86fc7eac8537fcd1fa924354d478d9f2d5eec026b5f554 + conventional-changelog-writer: dist/cli/index.js + checksum: 10/42daf5e8bf12474a8cffb0b2244ada5939d70a0158b23eeea13250f1710f269cd99f60652eb5a6f86b852a7d93a0368da20ea42163ec3b6041d3b76ce16c497a languageName: node linkType: hard @@ -13450,10 +13248,10 @@ __metadata: languageName: node linkType: hard -"conventional-commits-filter@npm:^4.0.0": - version: 4.0.0 - resolution: "conventional-commits-filter@npm:4.0.0" - checksum: 10/46d2d90531f024d596f61d353876276e5357adb5c4684e042467bb7d159feb0a2831b74656bd3038ac9ec38d99b0b24ac39f319ad511861e1299c4cdfb5a119a +"conventional-commits-filter@npm:^5.0.0": + version: 5.0.0 + resolution: "conventional-commits-filter@npm:5.0.0" + checksum: 10/2345546ea9e40412558d508311d7729b38f8d4c0fd554837c10721a432e8598ec1152320f6b601a9c11c023a31bccbb5a12067736b2227de8591f4de707e11a7 languageName: node linkType: hard @@ -13485,6 +13283,17 @@ __metadata: languageName: node linkType: hard +"conventional-commits-parser@npm:^6.0.0": + version: 6.0.0 + resolution: "conventional-commits-parser@npm:6.0.0" + dependencies: + meow: "npm:^13.0.0" + bin: + conventional-commits-parser: dist/cli/index.js + checksum: 10/ba754fb5784afff7f265bac1c0e408755174f1a04103e23a9d8f246102f7a7d043da9f67b19e7df93851901446a80c678a40cf5f9b49af153f60a528bdb507ce + languageName: node + linkType: hard + "conventional-recommended-bump@npm:7.0.1": version: 7.0.1 resolution: "conventional-recommended-bump@npm:7.0.1" @@ -13502,12 +13311,10 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:^1.7.0": - version: 1.8.0 - resolution: "convert-source-map@npm:1.8.0" - dependencies: - safe-buffer: "npm:~5.1.1" - checksum: 10/985d974a2d33e1a2543ada51c93e1ba2f73eaed608dc39f229afc78f71dcc4c8b7d7c684aa647e3c6a3a204027444d69e53e169ce94e8d1fa8d7dee80c9c8fed +"convert-hrtime@npm:^5.0.0": + version: 5.0.0 + resolution: "convert-hrtime@npm:5.0.0" + checksum: 10/5245ad1ac6dd57b2d87624ae0eeac1d2a74812a6631208c09368bef787a28e7dbfa736cddaa9c8a0c425cb240437ea506afec7b9684ff617004d06a551f26c87 languageName: node linkType: hard @@ -13563,7 +13370,7 @@ __metadata: languageName: node linkType: hard -"cookiejar@npm:^2.1.3": +"cookiejar@npm:^2.1.4": version: 2.1.4 resolution: "cookiejar@npm:2.1.4" checksum: 10/4a184f5a0591df8b07d22a43ea5d020eacb4572c383e853a33361a99710437eaa0971716c688684075bbf695b484f5872e9e3f562382e46858716cb7fc8ce3f4 @@ -13594,21 +13401,12 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.31.0": - version: 3.33.1 - resolution: "core-js-compat@npm:3.33.1" - dependencies: - browserslist: "npm:^4.22.1" - checksum: 10/145f8ca307fadde824a75f8ee735f1c53371b44d9a911cc43860aed72972397bf3eec39b04adb1446aa60ab2a8ea074b55cc90fa7af4f84443f8568b50539756 - languageName: node - linkType: hard - -"core-js-compat@npm:^3.36.1": - version: 3.36.1 - resolution: "core-js-compat@npm:3.36.1" +"core-js-compat@npm:^3.38.0, core-js-compat@npm:^3.38.1": + version: 3.38.1 + resolution: "core-js-compat@npm:3.38.1" dependencies: - browserslist: "npm:^4.23.0" - checksum: 10/d86b46805de7f5ba3675ed21532ecc64b6c1f123be7286b9efa7941ec087cd8d2446cb555f03a407dbbbeb6e881d1baf92eaffb7f051b11d9103f39c8731fa62 + browserslist: "npm:^4.23.3" + checksum: 10/4e2f219354fd268895f79486461a12df96f24ed307321482fe2a43529c5a64e7c16bcba654980ba217d603444f5141d43a79058aeac77511085f065c5da72207 languageName: node linkType: hard @@ -13619,13 +13417,6 @@ __metadata: languageName: node linkType: hard -"core-js@npm:^3.19.3": - version: 3.21.1 - resolution: "core-js@npm:3.21.1" - checksum: 10/d5b83d757b4b94aabe2bd7ce57f66a6c9713c024e8041abe5319e5ae3d47c2ed1d7c185492ba7c832cd06ad0e6696ef312257199baf10cddcf3909fafa4c7724 - languageName: node - linkType: hard - "core-js@npm:^3.26.1": version: 3.35.0 resolution: "core-js@npm:3.35.0" @@ -13633,6 +13424,13 @@ __metadata: languageName: node linkType: hard +"core-js@npm:^3.37.1": + version: 3.38.1 + resolution: "core-js@npm:3.38.1" + checksum: 10/3c25fdf0b2595ed37ceb305213a61e2cf26185f628455e99d1c736dda5f69e2de4de7126e6a1da136f54260c4fcc982c4215e37b5a618790a597930f854c0a37 + languageName: node + linkType: hard + "core-util-is@npm:^1.0.2, core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" @@ -13717,16 +13515,6 @@ __metadata: languageName: node linkType: hard -"crc32-stream@npm:^4.0.2": - version: 4.0.2 - resolution: "crc32-stream@npm:4.0.2" - dependencies: - crc-32: "npm:^1.2.0" - readable-stream: "npm:^3.4.0" - checksum: 10/1099559283b86e8a55390228b57ff4d57a74cac6aa8086aa4730f84317c9f93e914aeece115352f2d706a9df7ed75327ffacd86cfe23f040aef821231b528e76 - languageName: node - linkType: hard - "crc32-stream@npm:^6.0.0": version: 6.0.0 resolution: "crc32-stream@npm:6.0.0" @@ -13746,6 +13534,19 @@ __metadata: languageName: node linkType: hard +"create-hash@npm:^1.2.0": + version: 1.2.0 + resolution: "create-hash@npm:1.2.0" + dependencies: + cipher-base: "npm:^1.0.1" + inherits: "npm:^2.0.1" + md5.js: "npm:^1.3.4" + ripemd160: "npm:^2.0.1" + sha.js: "npm:^2.4.0" + checksum: 10/3cfef32043b47a8999602af9bcd74966db6971dd3eb828d1a479f3a44d7f58e38c1caf34aa21a01941cc8d9e1a841738a732f200f00ea155f8a8835133d2e7bc + languageName: node + linkType: hard + "create-point-cb@npm:^1.0.0": version: 1.2.0 resolution: "create-point-cb@npm:1.2.0" @@ -13793,7 +13594,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:7.0.3, cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -13813,20 +13614,6 @@ __metadata: languageName: node linkType: hard -"crypto-js@npm:^3.1.9-1": - version: 3.3.0 - resolution: "crypto-js@npm:3.3.0" - checksum: 10/d7e11f3a387fb143be834e1a25ecf57ead6f5765e90fbf3aed9cead680cc38b1d241718768b7bfec448a843f569374ea5b5870ac7a8165e4bfa1915f0b00c89c - languageName: node - linkType: hard - -"crypto-random-string@npm:^2.0.0": - version: 2.0.0 - resolution: "crypto-random-string@npm:2.0.0" - checksum: 10/0283879f55e7c16fdceacc181f87a0a65c53bc16ffe1d58b9d19a6277adcd71900d02bb2c4843dd55e78c51e30e89b0fec618a7f170ebcc95b33182c28f05fd6 - languageName: node - linkType: hard - "crypto-random-string@npm:^4.0.0": version: 4.0.0 resolution: "crypto-random-string@npm:4.0.0" @@ -13954,15 +13741,6 @@ __metadata: languageName: node linkType: hard -"date-fns@npm:^2.30.0": - version: 2.30.0 - resolution: "date-fns@npm:2.30.0" - dependencies: - "@babel/runtime": "npm:^7.21.0" - checksum: 10/70b3e8ea7aaaaeaa2cd80bd889622a4bcb5d8028b4de9162cbcda359db06e16ff6e9309e54eead5341e71031818497f19aaf9839c87d1aba1e27bb4796e758a9 - languageName: node - linkType: hard - "date-format@npm:^4.0.14": version: 4.0.14 resolution: "date-format@npm:4.0.14" @@ -13970,13 +13748,6 @@ __metadata: languageName: node linkType: hard -"date-format@npm:^4.0.6": - version: 4.0.6 - resolution: "date-format@npm:4.0.6" - checksum: 10/47bc9dc94e1cc6f4cfd241a252ab93c54bab3872ab86c993e38a1a348349fbc590a1dbfabecd5554c34dae9e2423d5fbde68169a393c1a9e190d8ee46cc230d8 - languageName: node - linkType: hard - "date.js@npm:~0.3.3": version: 0.3.3 resolution: "date.js@npm:0.3.3" @@ -13993,6 +13764,13 @@ __metadata: languageName: node linkType: hard +"dayjs@npm:^1.11.11": + version: 1.11.13 + resolution: "dayjs@npm:1.11.13" + checksum: 10/7374d63ab179b8d909a95e74790def25c8986e329ae989840bacb8b1888be116d20e1c4eee75a69ea0dfbae13172efc50ef85619d304ee7ca3c01d5878b704f5 + languageName: node + linkType: hard + "db-errors@npm:^0.2.3": version: 0.2.3 resolution: "db-errors@npm:0.2.3" @@ -14000,25 +13778,6 @@ __metadata: languageName: node linkType: hard -"de-indent@npm:^1.0.2": - version: 1.0.2 - resolution: "de-indent@npm:1.0.2" - checksum: 10/30bf43744dca005f9252dbb34ed95dcb3c30dfe52bfed84973b89c29eccff04e27769f222a34c61a93354acf47457785e9032e6184be390ed1d324fb9ab3f427 - languageName: node - linkType: hard - -"debug@npm:*, debug@npm:4, debug@npm:4.3.4, debug@npm:4.x, debug@npm:^4.0.0, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:~4.3.1, debug@npm:~4.3.2, debug@npm:~4.3.4": - version: 4.3.4 - resolution: "debug@npm:4.3.4" - dependencies: - ms: "npm:2.1.2" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10/0073c3bcbd9cb7d71dd5f6b55be8701af42df3e56e911186dfa46fac3a5b9eb7ce7f377dd1d3be6db8977221f8eb333d945216f645cf56f6b688cd484837d255 - languageName: node - linkType: hard - "debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3": version: 2.6.9 resolution: "debug@npm:2.6.9" @@ -14037,6 +13796,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:4, debug@npm:4.3.4, debug@npm:4.x, debug@npm:^4.0.0, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:~4.3.1, debug@npm:~4.3.2, debug@npm:~4.3.4": + version: 4.3.4 + resolution: "debug@npm:4.3.4" + dependencies: + ms: "npm:2.1.2" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10/0073c3bcbd9cb7d71dd5f6b55be8701af42df3e56e911186dfa46fac3a5b9eb7ce7f377dd1d3be6db8977221f8eb333d945216f645cf56f6b688cd484837d255 + languageName: node + linkType: hard + "debug@npm:^3.1.0": version: 3.2.7 resolution: "debug@npm:3.2.7" @@ -14046,7 +13817,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^4.3.5, debug@npm:^4.3.6": +"debug@npm:^4.3.5": version: 4.3.6 resolution: "debug@npm:4.3.6" dependencies: @@ -14058,6 +13829,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:^4.3.6, debug@npm:~4.3.6": + version: 4.3.7 + resolution: "debug@npm:4.3.7" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10/71168908b9a78227ab29d5d25fe03c5867750e31ce24bf2c44a86efc5af041758bb56569b0a3d48a9b5344c00a24a777e6f4100ed6dfd9534a42c1dde285125a + languageName: node + linkType: hard + "decamelize-keys@npm:^1.1.0": version: 1.1.0 resolution: "decamelize-keys@npm:1.1.0" @@ -14068,7 +13851,7 @@ __metadata: languageName: node linkType: hard -"decamelize@npm:^1.0.0, decamelize@npm:^1.1.0, decamelize@npm:^1.2.0": +"decamelize@npm:^1.0.0, decamelize@npm:^1.1.0": version: 1.2.0 resolution: "decamelize@npm:1.2.0" checksum: 10/ad8c51a7e7e0720c70ec2eeb1163b66da03e7616d7b98c9ef43cce2416395e84c1e9548dd94f5f6ffecfee9f8b94251fc57121a8b021f2ff2469b2bae247b8aa @@ -14091,10 +13874,15 @@ __metadata: languageName: node linkType: hard -"dedent@npm:0.7.0": - version: 0.7.0 - resolution: "dedent@npm:0.7.0" - checksum: 10/87de191050d9a40dd70cad01159a0bcf05ecb59750951242070b6abf9569088684880d00ba92a955b4058804f16eeaf91d604f283929b4f614d181cd7ae633d2 +"dedent@npm:1.5.3": + version: 1.5.3 + resolution: "dedent@npm:1.5.3" + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + checksum: 10/e5277f6268f288649503125b781a7b7a2c9b22d011139688c0b3619fe40121e600eb1f077c891938d4b2428bdb6326cc3c77a763e4b1cc681bd9666ab1bad2a1 languageName: node linkType: hard @@ -14179,15 +13967,6 @@ __metadata: languageName: node linkType: hard -"default-require-extensions@npm:^3.0.0": - version: 3.0.0 - resolution: "default-require-extensions@npm:3.0.0" - dependencies: - strip-bom: "npm:^4.0.0" - checksum: 10/0b5bdb6786ebb0ff6ef55386f37c8d221963fbbd3009588fe71032c85ca16da05eff2ad01bfe9bfc8bac5ce95a18f66b38c50d454482e3e9d2de1142424a3e7c - languageName: node - linkType: hard - "defaults@npm:^1.0.3": version: 1.0.3 resolution: "defaults@npm:1.0.3" @@ -14215,6 +13994,17 @@ __metadata: languageName: node linkType: hard +"define-data-property@npm:^1.1.4": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.0.1" + checksum: 10/abdcb2505d80a53524ba871273e5da75e77e52af9e15b3aa65d8aad82b8a3a424dad7aee2cc0b71470ac7acf501e08defac362e8b6a73cdb4309f028061df4ae + languageName: node + linkType: hard + "define-lazy-prop@npm:^2.0.0": version: 2.0.0 resolution: "define-lazy-prop@npm:2.0.0" @@ -14259,22 +14049,6 @@ __metadata: languageName: node linkType: hard -"del@npm:^6.0.0": - version: 6.0.0 - resolution: "del@npm:6.0.0" - dependencies: - globby: "npm:^11.0.1" - graceful-fs: "npm:^4.2.4" - is-glob: "npm:^4.0.1" - is-path-cwd: "npm:^2.2.0" - is-path-inside: "npm:^3.0.2" - p-map: "npm:^4.0.0" - rimraf: "npm:^3.0.2" - slash: "npm:^3.0.0" - checksum: 10/5742891627e91aaf62385714025233f4664da28bc55b6ab825649dcdea4691fed3cf329a2b1913fd2d2612e693e99e08a03c84cac7f36ef54bacac9390520192 - languageName: node - linkType: hard - "delayed-stream@npm:~1.0.0": version: 1.0.0 resolution: "delayed-stream@npm:1.0.0" @@ -14293,15 +14067,8 @@ __metadata: version: 0.0.4 resolution: "delete-property@npm:0.0.4" dependencies: - lodash.property: "npm:^4.0.0" - checksum: 10/338edfe1ac6e35e5264b0e36ac818f261fdd70af046a37d0f650b78157383ca6a19ec03d906215411da00d0d88e3eef858c2492db77ec30554fbb8d6768795d9 - languageName: node - linkType: hard - -"denque@npm:^2.0.1": - version: 2.0.1 - resolution: "denque@npm:2.0.1" - checksum: 10/775e27bceb030a1c8d14b8c9eb42bf28b49d1c3b757b6a19dcf41f19f1563ff21e5b2fd6259c94225aee197631795b575596efcb3cd2dccd61b7b91e551e490c + lodash.property: "npm:^4.0.0" + checksum: 10/338edfe1ac6e35e5264b0e36ac818f261fdd70af046a37d0f650b78157383ca6a19ec03d906215411da00d0d88e3eef858c2492db77ec30554fbb8d6768795d9 languageName: node linkType: hard @@ -14368,13 +14135,13 @@ __metadata: languageName: node linkType: hard -"dezalgo@npm:1.0.3": - version: 1.0.3 - resolution: "dezalgo@npm:1.0.3" +"dezalgo@npm:^1.0.4": + version: 1.0.4 + resolution: "dezalgo@npm:1.0.4" dependencies: asap: "npm:^2.0.0" wrappy: "npm:1" - checksum: 10/960f4b6230866cb61f23d113170ca3bf84210a2801f8b8e24ee2b5d40402400358c75459293cab94dae6fdfb41004aebe1c847a65fb0b2ef091bf5a35c80faad + checksum: 10/895389c6aead740d2ab5da4d3466d20fa30f738010a4d3f4dcccc9fc645ca31c9d10b7e1804ae489b1eb02c7986f9f1f34ba132d409b043082a86d9a4e745624 languageName: node linkType: hard @@ -14482,15 +14249,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10/b4b28f1df5c563f7d876e7461254a4597b8cabe915abe94d7c5d1633fed263fcf9a85e8d3836591fc2d040108e822b0d32758e5ec1fe31c590dc7e08086e3e48 - languageName: node - linkType: hard - "doctypes@npm:^1.1.0": version: 1.1.0 resolution: "doctypes@npm:1.1.0" @@ -14582,6 +14340,13 @@ __metadata: languageName: node linkType: hard +"dompurify@npm:^3.1.4": + version: 3.1.7 + resolution: "dompurify@npm:3.1.7" + checksum: 10/dc637a064306f83cf911caa267ffe1f973552047602020e3b6723c90f67962813edf8a65a0b62e8c9bc13fcd173a2691212a3719bc116226967f46bcd6181277 + languageName: node + linkType: hard + "domutils@npm:^2.5.2, domutils@npm:^2.8.0": version: 2.8.0 resolution: "domutils@npm:2.8.0" @@ -14630,48 +14395,22 @@ __metadata: languageName: node linkType: hard -"dotenv-expand@npm:~10.0.0": - version: 10.0.0 - resolution: "dotenv-expand@npm:10.0.0" - checksum: 10/b41eb278bc96b92cbf3037ca5f3d21e8845bf165dc06b6f9a0a03d278c2bd5a01c0cfbb3528ae3a60301ba1a8a9cace30e748c54b460753bc00d4c014b675597 - languageName: node - linkType: hard - -"dotenv@npm:16.0.3": - version: 16.0.3 - resolution: "dotenv@npm:16.0.3" - checksum: 10/d6788c8e40b35ad9a9ca29249dccf37fa6b3ad26700fcbc87f2f41101bf914f5193a04e36a3d23de70b1dcb8e5d5a3b21e151debace2c4cd08d868be500a1b29 +"dotenv-expand@npm:~11.0.6": + version: 11.0.6 + resolution: "dotenv-expand@npm:11.0.6" + dependencies: + dotenv: "npm:^16.4.4" + checksum: 10/8912aba44c024982449c14a701455f84a65af8db38c58977d9952b73d1741952a1ef950e72e5fb9201cc3ab231b593dc9d5c5293c9154794dbaa33c900faceb4 languageName: node linkType: hard -"dotenv@npm:16.4.5": +"dotenv@npm:16.4.5, dotenv@npm:^16.3.1, dotenv@npm:^16.4.4, dotenv@npm:~16.4.5": version: 16.4.5 resolution: "dotenv@npm:16.4.5" checksum: 10/55a3134601115194ae0f924e54473459ed0d9fc340ae610b676e248cca45aa7c680d86365318ea964e6da4e2ea80c4514c1adab5adb43d6867fb57ff068f95c8 languageName: node linkType: hard -"dotenv@npm:^10.0.0": - version: 10.0.0 - resolution: "dotenv@npm:10.0.0" - checksum: 10/55f701ae213e3afe3f4232fae5edfb6e0c49f061a363ff9f1c5a0c2bf3fb990a6e49aeada11b2a116efb5fdc3bc3f1ef55ab330be43033410b267f7c0809a9dc - languageName: node - linkType: hard - -"dotenv@npm:^8.2.0": - version: 8.6.0 - resolution: "dotenv@npm:8.6.0" - checksum: 10/31d7b5c010cebb80046ba6853d703f9573369b00b15129536494f04b0af4ea0060ce8646e3af58b455af2f6f1237879dd261a5831656410ec92561ae1ea44508 - languageName: node - linkType: hard - -"dotenv@npm:~16.3.1": - version: 16.3.1 - resolution: "dotenv@npm:16.3.1" - checksum: 10/dbb778237ef8750e9e3cd1473d3c8eaa9cc3600e33a75c0e36415d0fa0848197f56c3800f77924c70e7828f0b03896818cd52f785b07b9ad4d88dba73fbba83f - languageName: node - linkType: hard - "downloadjs@npm:^1.4.7": version: 1.4.7 resolution: "downloadjs@npm:1.4.7" @@ -14787,7 +14526,7 @@ __metadata: languageName: node linkType: hard -"ejs@npm:^3.1.7, ejs@npm:^3.1.9": +"ejs@npm:^3.1.10, ejs@npm:^3.1.7": version: 3.1.10 resolution: "ejs@npm:3.1.10" dependencies: @@ -14812,10 +14551,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.668": - version: 1.4.715 - resolution: "electron-to-chromium@npm:1.4.715" - checksum: 10/0fc9fc9fe2c4082c87672d229437c918f43c19ad81274afcdf2d36fba96bfaaee0d9254c309879fbea8eeb2c13fd1b5cf51e0967d55790206697914cecff9c6b +"electron-to-chromium@npm:^1.5.28": + version: 1.5.32 + resolution: "electron-to-chromium@npm:1.5.32" + checksum: 10/906b852f67e9de0a5f643085570f7383c5bb28b28b1dd0916bdc55d24d8a2238eb61c26db51a766630993e4c55fb7bbf6551b0ae570751fec2503eb592611c89 languageName: node linkType: hard @@ -14868,7 +14607,7 @@ __metadata: languageName: node linkType: hard -"encodeurl@npm:^2.0.0": +"encodeurl@npm:^2.0.0, encodeurl@npm:~2.0.0": version: 2.0.0 resolution: "encodeurl@npm:2.0.0" checksum: 10/abf5cd51b78082cf8af7be6785813c33b6df2068ce5191a40ca8b1afe6a86f9230af9a9ce694a5ce4665955e5c1120871826df9c128a642e09c58d592e2807fe @@ -14884,7 +14623,7 @@ __metadata: languageName: node linkType: hard -"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": +"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1, end-of-stream@npm:~1.4.1": version: 1.4.4 resolution: "end-of-stream@npm:1.4.4" dependencies: @@ -14893,16 +14632,16 @@ __metadata: languageName: node linkType: hard -"engine.io-client@npm:~6.5.2": - version: 6.5.3 - resolution: "engine.io-client@npm:6.5.3" +"engine.io-client@npm:~6.6.1": + version: 6.6.1 + resolution: "engine.io-client@npm:6.6.1" dependencies: "@socket.io/component-emitter": "npm:~3.1.0" debug: "npm:~4.3.1" engine.io-parser: "npm:~5.2.1" - ws: "npm:~8.11.0" - xmlhttprequest-ssl: "npm:~2.0.0" - checksum: 10/0d7c3e6de23f37706c163bc8a0e90e70e613c7768be0705bda3675124d5e24d849810fddda005f8dcc721da35aee713976a03a0465d71f0856adfc1af7a80e5d + ws: "npm:~8.17.1" + xmlhttprequest-ssl: "npm:~2.1.1" + checksum: 10/9346c3ee60ebb7a58966e927e479b8b3c5d6bc82788ad5efc38b976c4a3b2b27420d08cb29b84de8213004d49bdeed47ecd473b427498e54301a8853cd85e0c9 languageName: node linkType: hard @@ -14913,9 +14652,9 @@ __metadata: languageName: node linkType: hard -"engine.io@npm:~6.5.2": - version: 6.5.4 - resolution: "engine.io@npm:6.5.4" +"engine.io@npm:~6.6.0": + version: 6.6.1 + resolution: "engine.io@npm:6.6.1" dependencies: "@types/cookie": "npm:^0.4.1" "@types/cors": "npm:^2.8.12" @@ -14926,8 +14665,8 @@ __metadata: cors: "npm:~2.8.5" debug: "npm:~4.3.1" engine.io-parser: "npm:~5.2.1" - ws: "npm:~8.11.0" - checksum: 10/f1a74fc9431593ca1e50d1faa5db1041feecf2a7da5c75cfca88c5a760d3c8a898141ff7e7a2a2a2859a784c25d9c87be422f094b553e0dcf98433f8e798d18f + ws: "npm:~8.17.1" + checksum: 10/3ab7b56bde44f3a06a0764e93c300fc43ea5252797b9ba5f92f7468ebf55a63ea6ba7de6bed6464db6bb1ecdc1ee67db6747a533aebf9f26934b17445f19f5ef languageName: node linkType: hard @@ -14957,13 +14696,6 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.5.0": - version: 4.5.0 - resolution: "entities@npm:4.5.0" - checksum: 10/ede2a35c9bce1aeccd055a1b445d41c75a14a2bb1cd22e242f20cf04d236cdcd7f9c859eb83f76885327bfae0c25bf03303665ee1ce3d47c5927b98b0e3e3d48 - languageName: node - linkType: hard - "env-ci@npm:^11.0.0": version: 11.0.0 resolution: "env-ci@npm:11.0.0" @@ -14974,14 +14706,23 @@ __metadata: languageName: node linkType: hard -"env-paths@npm:2.2.1, env-paths@npm:^2.2.0, env-paths@npm:^2.2.1": +"env-paths@npm:^2.2.0, env-paths@npm:^2.2.1": version: 2.2.1 resolution: "env-paths@npm:2.2.1" checksum: 10/65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e languageName: node linkType: hard -"envinfo@npm:7.8.1, envinfo@npm:^7.7.3": +"envinfo@npm:7.13.0": + version: 7.13.0 + resolution: "envinfo@npm:7.13.0" + bin: + envinfo: dist/cli.js + checksum: 10/450c962053880f46852119cf89f4412cabd6d465ff5b74cf64e74e9da3a27ebd9e901944a5c4b0bf62950ad25025552282cbde6c00a5a9af0980dd001720fcbb + languageName: node + linkType: hard + +"envinfo@npm:^7.7.3": version: 7.8.1 resolution: "envinfo@npm:7.8.1" bin: @@ -14990,6 +14731,13 @@ __metadata: languageName: node linkType: hard +"environment@npm:^1.0.0": + version: 1.1.0 + resolution: "environment@npm:1.1.0" + checksum: 10/dd3c1b9825e7f71f1e72b03c2344799ac73f2e9ef81b78ea8b373e55db021786c6b9f3858ea43a436a2c4611052670ec0afe85bc029c384cc71165feee2f4ba6 + languageName: node + linkType: hard + "err-code@npm:^2.0.2": version: 2.0.3 resolution: "err-code@npm:2.0.3" @@ -15034,6 +14782,22 @@ __metadata: languageName: node linkType: hard +"es-define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "es-define-property@npm:1.0.0" + dependencies: + get-intrinsic: "npm:^1.2.4" + checksum: 10/f66ece0a887b6dca71848fa71f70461357c0e4e7249696f81bad0a1f347eed7b31262af4a29f5d726dc026426f085483b6b90301855e647aa8e21936f07293c6 + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10/96e65d640156f91b707517e8cdc454dd7d47c32833aa3e85d79f24f9eb7ea85f39b63e36216ef0114996581969b59fe609a94e30316b08f5f4df1d44134cf8d5 + languageName: node + linkType: hard + "es-get-iterator@npm:^1.1.1": version: 1.1.2 resolution: "es-get-iterator@npm:1.1.2" @@ -15075,40 +14839,34 @@ __metadata: languageName: node linkType: hard -"es6-error@npm:^4.0.1": - version: 4.1.1 - resolution: "es6-error@npm:4.1.1" - checksum: 10/48483c25701dc5a6376f39bbe2eaf5da0b505607ec5a98cd3ade472c1939242156660636e2e508b33211e48e88b132d245341595c067bd4a95ac79fa7134da06 - languageName: node - linkType: hard - -"esbuild@npm:^0.19.0": - version: 0.19.12 - resolution: "esbuild@npm:0.19.12" - dependencies: - "@esbuild/aix-ppc64": "npm:0.19.12" - "@esbuild/android-arm": "npm:0.19.12" - "@esbuild/android-arm64": "npm:0.19.12" - "@esbuild/android-x64": "npm:0.19.12" - "@esbuild/darwin-arm64": "npm:0.19.12" - "@esbuild/darwin-x64": "npm:0.19.12" - "@esbuild/freebsd-arm64": "npm:0.19.12" - "@esbuild/freebsd-x64": "npm:0.19.12" - "@esbuild/linux-arm": "npm:0.19.12" - "@esbuild/linux-arm64": "npm:0.19.12" - "@esbuild/linux-ia32": "npm:0.19.12" - "@esbuild/linux-loong64": "npm:0.19.12" - "@esbuild/linux-mips64el": "npm:0.19.12" - "@esbuild/linux-ppc64": "npm:0.19.12" - "@esbuild/linux-riscv64": "npm:0.19.12" - "@esbuild/linux-s390x": "npm:0.19.12" - "@esbuild/linux-x64": "npm:0.19.12" - "@esbuild/netbsd-x64": "npm:0.19.12" - "@esbuild/openbsd-x64": "npm:0.19.12" - "@esbuild/sunos-x64": "npm:0.19.12" - "@esbuild/win32-arm64": "npm:0.19.12" - "@esbuild/win32-ia32": "npm:0.19.12" - "@esbuild/win32-x64": "npm:0.19.12" +"esbuild@npm:^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0": + version: 0.23.1 + resolution: "esbuild@npm:0.23.1" + dependencies: + "@esbuild/aix-ppc64": "npm:0.23.1" + "@esbuild/android-arm": "npm:0.23.1" + "@esbuild/android-arm64": "npm:0.23.1" + "@esbuild/android-x64": "npm:0.23.1" + "@esbuild/darwin-arm64": "npm:0.23.1" + "@esbuild/darwin-x64": "npm:0.23.1" + "@esbuild/freebsd-arm64": "npm:0.23.1" + "@esbuild/freebsd-x64": "npm:0.23.1" + "@esbuild/linux-arm": "npm:0.23.1" + "@esbuild/linux-arm64": "npm:0.23.1" + "@esbuild/linux-ia32": "npm:0.23.1" + "@esbuild/linux-loong64": "npm:0.23.1" + "@esbuild/linux-mips64el": "npm:0.23.1" + "@esbuild/linux-ppc64": "npm:0.23.1" + "@esbuild/linux-riscv64": "npm:0.23.1" + "@esbuild/linux-s390x": "npm:0.23.1" + "@esbuild/linux-x64": "npm:0.23.1" + "@esbuild/netbsd-x64": "npm:0.23.1" + "@esbuild/openbsd-arm64": "npm:0.23.1" + "@esbuild/openbsd-x64": "npm:0.23.1" + "@esbuild/sunos-x64": "npm:0.23.1" + "@esbuild/win32-arm64": "npm:0.23.1" + "@esbuild/win32-ia32": "npm:0.23.1" + "@esbuild/win32-x64": "npm:0.23.1" dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -15146,6 +14904,8 @@ __metadata: optional: true "@esbuild/netbsd-x64": optional: true + "@esbuild/openbsd-arm64": + optional: true "@esbuild/openbsd-x64": optional: true "@esbuild/sunos-x64": @@ -15158,7 +14918,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 10/861fa8eb2428e8d6521a4b7c7930139e3f45e8d51a86985cc29408172a41f6b18df7b3401e7e5e2d528cdf83742da601ddfdc77043ddc4f1c715a8ddb2d8a255 + checksum: 10/f55fbd0bfb0f86ce67a6d2c6f6780729d536c330999ecb9f5a38d578fb9fda820acbbc67d6d1d377eed8fed50fc38f14ff9cb014f86dafab94269a7fb2177018 languageName: node linkType: hard @@ -15249,6 +15009,13 @@ __metadata: languageName: node linkType: hard +"escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10/9d7169e3965b2f9ae46971afa392f6e5a25545ea30f2e2dd99c9b0a95a3f52b5653681a84f5b2911a413ddad2d7a93d3514165072f349b5ffc59c75a899970d6 + languageName: node + linkType: hard + "escape-html@npm:^1.0.3, escape-html@npm:~1.0.3": version: 1.0.3 resolution: "escape-html@npm:1.0.3" @@ -15256,13 +15023,6 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:4.0.0, escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 10/98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 - languageName: node - linkType: hard - "escape-string-regexp@npm:5.0.0": version: 5.0.0 resolution: "escape-string-regexp@npm:5.0.0" @@ -15277,6 +15037,13 @@ __metadata: languageName: node linkType: hard +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10/98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5 + languageName: node + linkType: hard + "escodegen@npm:~1.3.3": version: 1.3.3 resolution: "escodegen@npm:1.3.3" @@ -15302,23 +15069,23 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:8.10.0": - version: 8.10.0 - resolution: "eslint-config-prettier@npm:8.10.0" +"eslint-config-prettier@npm:9.1.0": + version: 9.1.0 + resolution: "eslint-config-prettier@npm:9.1.0" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: 10/0a51ab1417cbf80fabcf7a406960a142663539c8140fdb0a187b78f3d708b9d137a62a4bc4e689150e290b667750ddabd1740a516623b0cb4adb6cc1962cfe2c + checksum: 10/411e3b3b1c7aa04e3e0f20d561271b3b909014956c4dba51c878bf1a23dbb8c800a3be235c46c4732c70827276e540b6eed4636d9b09b444fd0a8e07f0fcd830 languageName: node linkType: hard -"eslint-plugin-prettier@npm:5.1.3": - version: 5.1.3 - resolution: "eslint-plugin-prettier@npm:5.1.3" +"eslint-plugin-prettier@npm:5.2.1": + version: 5.2.1 + resolution: "eslint-plugin-prettier@npm:5.2.1" dependencies: prettier-linter-helpers: "npm:^1.0.0" - synckit: "npm:^0.8.6" + synckit: "npm:^0.9.1" peerDependencies: "@types/eslint": ">=8.0.0" eslint: ">=8.0.0" @@ -15329,20 +15096,46 @@ __metadata: optional: true eslint-config-prettier: optional: true - checksum: 10/4f26a30444adc61ed692cdb5a9f7e8d9f5794f0917151051e66755ce032a08c3cc72c8b5d56101412e90f6d77035bd8194ea8731e9c16aacdd5ae345a8dae188 + checksum: 10/10ddf68215237e327af09a47adab4c63f3885fda4fb28c4c42d1fc5f47d8a0cc45df6484799360ff1417a0aa3c77c3aaac49d7e9dfd145557b17e2d7ecc2a27c languageName: node linkType: hard -"eslint-plugin-workspaces@npm:0.8.0": - version: 0.8.0 - resolution: "eslint-plugin-workspaces@npm:0.8.0" +"eslint-plugin-simple-import-sort@npm:12.1.1": + version: 12.1.1 + resolution: "eslint-plugin-simple-import-sort@npm:12.1.1" + peerDependencies: + eslint: ">=5.0.0" + checksum: 10/2a690cea9243fbefa70345687bca8952f5e185fa459b7a8db687a908cc31082435cfee236c619d5245548fa5f89a2f2c4f8499f80512e048d2bedc60e3662d5a + languageName: node + linkType: hard + +"eslint-plugin-vitest@npm:0.5.4": + version: 0.5.4 + resolution: "eslint-plugin-vitest@npm:0.5.4" dependencies: - find-workspaces: "npm:^0.1.0" - checksum: 10/d574f2627b3e6a5f9848b68b72eba56060fd3f0886975725198d3db083a9bcd8680a799969c5ee9cdc961dfb8e964010ad61863ccd778251d137768f7ca91ee2 + "@typescript-eslint/utils": "npm:^7.7.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + vitest: "*" + peerDependenciesMeta: + "@typescript-eslint/eslint-plugin": + optional: true + vitest: + optional: true + checksum: 10/a81eda0b6fff5f05afa9e4e2deb114562e8a53e224293a0dd3f524c01a240a1f8b6c7284d15862c5b740adc6816a2f23e5b96fc65d95c0abd24a5ef171215589 + languageName: node + linkType: hard + +"eslint-plugin-workspaces@npm:0.10.1": + version: 0.10.1 + resolution: "eslint-plugin-workspaces@npm:0.10.1" + dependencies: + find-workspaces: "npm:^0.3.0" + checksum: 10/22942be27b269a4f85b8d967c1bdec0eb766c8f8e95d3164f87b1579d50e9fc4653a614063173c18097c5bca073d1f9badb40adec1a1173740d62285790a0a0e languageName: node linkType: hard -"eslint-scope@npm:5.1.1, eslint-scope@npm:^5.1.1": +"eslint-scope@npm:5.1.1": version: 5.1.1 resolution: "eslint-scope@npm:5.1.1" dependencies: @@ -15352,13 +15145,13 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" +"eslint-scope@npm:^8.1.0": + version: 8.1.0 + resolution: "eslint-scope@npm:8.1.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10/5c660fb905d5883ad018a6fea2b49f3cb5b1cbf2cd4bd08e98646e9864f9bc2c74c0839bed2d292e90a4a328833accc197c8f0baed89cbe8d605d6f918465491 + checksum: 10/4c34a12fbeb0677822a9e93e81f2027e39e6f27557c17bc1e5ff76debbd41e748c3673517561792bda9e276245f89fbfd9b0b24fcec3b33a04ee2196729b3489 languageName: node linkType: hard @@ -15376,51 +15169,60 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.57.0": - version: 8.57.0 - resolution: "eslint@npm:8.57.0" +"eslint-visitor-keys@npm:^4.1.0": + version: 4.1.0 + resolution: "eslint-visitor-keys@npm:4.1.0" + checksum: 10/3fb5bd1b2f36db89d0ac57ddd66d36ccd3b1e3cddb2a55a0f9f6f1c85268cfcc1cc32e7eda4990e3423107a120dd254fb6cb52d6154cf81d344d8c3fa671f7c2 + languageName: node + linkType: hard + +"eslint@npm:9.12.0": + version: 9.12.0 + resolution: "eslint@npm:9.12.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.57.0" - "@humanwhocodes/config-array": "npm:^0.11.14" + "@eslint-community/regexpp": "npm:^4.11.0" + "@eslint/config-array": "npm:^0.18.0" + "@eslint/core": "npm:^0.6.0" + "@eslint/eslintrc": "npm:^3.1.0" + "@eslint/js": "npm:9.12.0" + "@eslint/plugin-kit": "npm:^0.2.0" + "@humanfs/node": "npm:^0.16.5" "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" + "@humanwhocodes/retry": "npm:^0.3.1" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" cross-spawn: "npm:^7.0.2" debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" + eslint-scope: "npm:^8.1.0" + eslint-visitor-keys: "npm:^4.1.0" + espree: "npm:^10.2.0" + esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" + file-entry-cache: "npm:^8.0.0" find-up: "npm:^5.0.0" glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" ignore: "npm:^5.2.0" imurmurhash: "npm:^0.1.4" is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" minimatch: "npm:^3.1.2" natural-compare: "npm:^1.4.0" optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" text-table: "npm:^0.2.0" + peerDependencies: + jiti: "*" + peerDependenciesMeta: + jiti: + optional: true bin: eslint: bin/eslint.js - checksum: 10/00496e218b23747a7a9817bf58b522276d0dc1f2e546dceb4eea49f9871574088f72f1f069a6b560ef537efa3a75261b8ef70e51ef19033da1cc4c86a755ef15 + checksum: 10/c3f10d1ca3798bf1d0f71e43846e254d4bf0ea9ffbb0e61f9686a98e412aa762a454c5e5ef4e74fd71956b1500c04817c9f08dbf7a0cec47317160e28f585e4f languageName: node linkType: hard @@ -15431,14 +15233,14 @@ __metadata: languageName: node linkType: hard -"espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" +"espree@npm:^10.0.1, espree@npm:^10.2.0": + version: 10.2.0 + resolution: "espree@npm:10.2.0" dependencies: - acorn: "npm:^8.9.0" + acorn: "npm:^8.12.0" acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10/255ab260f0d711a54096bdeda93adff0eadf02a6f9b92f02b323e83a2b7fc258797919437ad331efec3930475feb0142c5ecaaf3cdab4befebd336d47d3f3134 + eslint-visitor-keys: "npm:^4.1.0" + checksum: 10/365076a963ca84244c1e2d36e4f812362d21cfa7e7df10d67f7b82b759467796df81184721d153c4e235d9ef5eb5b4d044167dd66be3be00f53a21a515b1bfb1 languageName: node linkType: hard @@ -15472,12 +15274,12 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.4.2": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" +"esquery@npm:^1.5.0": + version: 1.6.0 + resolution: "esquery@npm:1.6.0" dependencies: estraverse: "npm:^5.1.0" - checksum: 10/e65fcdfc1e0ff5effbf50fb4f31ea20143ae5df92bb2e4953653d8d40aa4bc148e0d06117a592ce4ea53eeab1dafdfded7ea7e22a5be87e82d73757329a1b01d + checksum: 10/c587fb8ec9ed83f2b1bc97cf2f6854cc30bf784a79d62ba08c6e358bf22280d69aee12827521cf38e69ae9761d23fb7fde593ce315610f85655c139d99b05e5a languageName: node linkType: hard @@ -15550,10 +15352,10 @@ __metadata: languageName: node linkType: hard -"eta@npm:^3.2.0": - version: 3.4.0 - resolution: "eta@npm:3.4.0" - checksum: 10/68040fb608086ce9148a3b2bb6f1b21ed9ed3cbede6690eba953cfb3bf40fca3f9690fa4b984a7446190878a6250bbe29de62ca8253ab2007753f53fc6491cb5 +"eta@npm:^3.4.0": + version: 3.5.0 + resolution: "eta@npm:3.5.0" + checksum: 10/d3d90609cfd8cb837c9690a203f13a166118ccfe13e9ccb924d4a8251832e4d5fc39fedf9569a186c2e70abe1e15b15326434ea2a17311b1072f52e61229d461 languageName: node linkType: hard @@ -15602,13 +15404,20 @@ __metadata: languageName: node linkType: hard -"eventemitter3@npm:^5.0.1": +"eventemitter3@npm:^5.0.0, eventemitter3@npm:^5.0.1": version: 5.0.1 resolution: "eventemitter3@npm:5.0.1" checksum: 10/ac6423ec31124629c84c7077eed1e6987f6d66c31cf43c6fcbf6c87791d56317ce808d9ead483652436df171b526fc7220eccdc9f3225df334e81582c3cf7dd5 languageName: node linkType: hard +"events@npm:1.1.1": + version: 1.1.1 + resolution: "events@npm:1.1.1" + checksum: 10/524355c4364b4851d53ccf4fdab9570e3953e1f64ebca15554f33e50bebb4e71ab947ac0dee6f4ed5a567ff2eda54b0489b278b4fb7c8ec1f4982150079dfd40 + languageName: node + linkType: hard + "events@npm:^3.2.0, events@npm:^3.3.0": version: 3.3.0 resolution: "events@npm:3.3.0" @@ -15633,7 +15442,24 @@ __metadata: languageName: node linkType: hard -"execa@npm:5.1.1, execa@npm:^5.0.0, execa@npm:^5.1.1": +"execa@npm:>=8.0.1, execa@npm:^8.0.0, execa@npm:~8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^8.0.1" + human-signals: "npm:^5.0.0" + is-stream: "npm:^3.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^5.1.0" + onetime: "npm:^6.0.0" + signal-exit: "npm:^4.1.0" + strip-final-newline: "npm:^3.0.0" + checksum: 10/d2ab5fe1e2bb92b9788864d0713f1fce9a07c4594e272c0c97bc18c90569897ab262e4ea58d27a694d288227a2e24f16f5e2575b44224ad9983b799dc7f1098d + languageName: node + linkType: hard + +"execa@npm:^5.0.0": version: 5.1.1 resolution: "execa@npm:5.1.1" dependencies: @@ -15650,20 +15476,23 @@ __metadata: languageName: node linkType: hard -"execa@npm:>=8.0.1, execa@npm:^8.0.0, execa@npm:^8.0.1": - version: 8.0.1 - resolution: "execa@npm:8.0.1" +"execa@npm:^9.0.0": + version: 9.4.0 + resolution: "execa@npm:9.4.0" dependencies: + "@sindresorhus/merge-streams": "npm:^4.0.0" cross-spawn: "npm:^7.0.3" - get-stream: "npm:^8.0.1" - human-signals: "npm:^5.0.0" - is-stream: "npm:^3.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^5.1.0" - onetime: "npm:^6.0.0" + figures: "npm:^6.1.0" + get-stream: "npm:^9.0.0" + human-signals: "npm:^8.0.0" + is-plain-obj: "npm:^4.1.0" + is-stream: "npm:^4.0.1" + npm-run-path: "npm:^6.0.0" + pretty-ms: "npm:^9.0.0" signal-exit: "npm:^4.1.0" - strip-final-newline: "npm:^3.0.0" - checksum: 10/d2ab5fe1e2bb92b9788864d0713f1fce9a07c4594e272c0c97bc18c90569897ab262e4ea58d27a694d288227a2e24f16f5e2575b44224ad9983b799dc7f1098d + strip-final-newline: "npm:^4.0.0" + yoctocolors: "npm:^2.0.0" + checksum: 10/a92be5d2b5baa84e6ef32fc38c620e1f4b5990399e88661563933ffbcd7be1ea28cc96bef059f14d45fee289061980c9452d2abb4786f4c6f492f04767387a67 languageName: node linkType: hard @@ -15726,17 +15555,17 @@ __metadata: languageName: node linkType: hard -"express-urlrewrite@npm:^1.4.0": - version: 1.4.0 - resolution: "express-urlrewrite@npm:1.4.0" +"express-urlrewrite@npm:^2.0.3": + version: 2.0.3 + resolution: "express-urlrewrite@npm:2.0.3" dependencies: - debug: "npm:*" - path-to-regexp: "npm:^1.0.3" - checksum: 10/44d451804e82c5dfbea2a6dc9df2a3fd95375a298563957723623ce823e0c688e58853f52039e486424137e68b25fbff3caa938ce84b62889dc0e77d5477d5dd + debug: "npm:^4.3.4" + path-to-regexp: "npm:^6.3.0" + checksum: 10/23fdf23f217501b4a39c555d5c3c3a285fb969d77d694a8ae315c795bd6005f0dace5faa925b905c82d56196324f3ca38612736be41bef927a36f68d4eb8ae82 languageName: node linkType: hard -"express@npm:^4.17.1, express@npm:^4.17.3, express@npm:^4.18.2, express@npm:^4.19.1": +"express@npm:^4.17.1, express@npm:^4.17.3, express@npm:^4.18.2": version: 4.19.2 resolution: "express@npm:4.19.2" dependencies: @@ -15775,6 +15604,45 @@ __metadata: languageName: node linkType: hard +"express@npm:^4.21.0": + version: 4.21.0 + resolution: "express@npm:4.21.0" + dependencies: + accepts: "npm:~1.3.8" + array-flatten: "npm:1.1.1" + body-parser: "npm:1.20.3" + content-disposition: "npm:0.5.4" + content-type: "npm:~1.0.4" + cookie: "npm:0.6.0" + cookie-signature: "npm:1.0.6" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + finalhandler: "npm:1.3.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + merge-descriptors: "npm:1.0.3" + methods: "npm:~1.1.2" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + path-to-regexp: "npm:0.1.10" + proxy-addr: "npm:~2.0.7" + qs: "npm:6.13.0" + range-parser: "npm:~1.2.1" + safe-buffer: "npm:5.2.1" + send: "npm:0.19.0" + serve-static: "npm:1.16.2" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + type-is: "npm:~1.6.18" + utils-merge: "npm:1.0.1" + vary: "npm:~1.1.2" + checksum: 10/3b1ee5bc5b1bd996f688702519cebc9b63a24e506965f6e1773268238cfa2c24ffdb38cc3fcb4fde66f77de1c0bebd9ee058dad06bb9c6f084b525f3c09164d3 + languageName: node + linkType: hard + "extend-shallow@npm:^2.0.1": version: 2.0.1 resolution: "extend-shallow@npm:2.0.1" @@ -15898,7 +15766,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.0.0, fast-glob@npm:^3.2.12, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.0.0, fast-glob@npm:^3.3.2": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -15931,7 +15799,7 @@ __metadata: languageName: node linkType: hard -"fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": +"fast-json-stable-stringify@npm:^2.0.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" checksum: 10/2c20055c1fa43c922428f16ca8bb29f2807de63e5c851f665f7ac9790176c01c3b40335257736b299764a8d383388dabc73c8083b8e1bc3d99f0a941444ec60e @@ -15961,10 +15829,10 @@ __metadata: languageName: node linkType: hard -"fast-write-atomic@npm:0.2.1": - version: 0.2.1 - resolution: "fast-write-atomic@npm:0.2.1" - checksum: 10/793acd520f1e042a6f0c6c66a39696df07bd30e10e8054ab0e5ef328bf2a217b3d86e4257dbddf21e0aa74117eb09a605b35d7d2b321c5401e2b61c1e32246a8 +"fast-uri@npm:^3.0.1": + version: 3.0.1 + resolution: "fast-uri@npm:3.0.1" + checksum: 10/e8ee4712270de0d29eb0fbf41ffad0ac80952e8797be760e8bb62c4707f08f50a86fe2d7829681ca133c07d6eb4b4a75389a5fc36674c5b254a3ac0891a68fc7 languageName: node linkType: hard @@ -16018,15 +15886,6 @@ __metadata: languageName: node linkType: hard -"fd-slicer@npm:~1.1.0": - version: 1.1.0 - resolution: "fd-slicer@npm:1.1.0" - dependencies: - pend: "npm:~1.2.0" - checksum: 10/db3e34fa483b5873b73f248e818f8a8b59a6427fd8b1436cd439c195fdf11e8659419404826059a642b57d18075c856d06d6a50a1413b714f12f833a9341ead3 - languageName: node - linkType: hard - "fengari-interop@npm:^0.1.3": version: 0.1.3 resolution: "fengari-interop@npm:0.1.3" @@ -16093,12 +15952,21 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" +"figures@npm:^6.1.0": + version: 6.1.0 + resolution: "figures@npm:6.1.0" + dependencies: + is-unicode-supported: "npm:^2.0.0" + checksum: 10/9822d13630bee8e6a9f2da866713adf13854b07e0bfde042defa8bba32d47a1c0b2afa627ce73837c674cf9a5e3edce7e879ea72cb9ea7960b2390432d8e1167 + languageName: node + linkType: hard + +"file-entry-cache@npm:^8.0.0": + version: 8.0.0 + resolution: "file-entry-cache@npm:8.0.0" dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10/099bb9d4ab332cb93c48b14807a6918a1da87c45dce91d4b61fd40e6505d56d0697da060cb901c729c90487067d93c9243f5da3dc9c41f0358483bfdebca736b + flat-cache: "npm:^4.0.0" + checksum: 10/afe55c4de4e0d226a23c1eae62a7219aafb390859122608a89fa4df6addf55c7fd3f1a2da6f5b41e7cdff496e4cf28bbd215d53eab5c817afa96d2b40c81bfb0 languageName: node linkType: hard @@ -16163,25 +16031,29 @@ __metadata: languageName: node linkType: hard -"find-cache-dir@npm:3.3.2, find-cache-dir@npm:^3.2.0, find-cache-dir@npm:^3.3.2": - version: 3.3.2 - resolution: "find-cache-dir@npm:3.3.2" +"finalhandler@npm:1.3.1": + version: 1.3.1 + resolution: "finalhandler@npm:1.3.1" dependencies: - commondir: "npm:^1.0.1" - make-dir: "npm:^3.0.2" - pkg-dir: "npm:^4.1.0" - checksum: 10/3907c2e0b15132704ed67083686cd3e68ab7d9ecc22e50ae9da20678245d488b01fa22c0e34c0544dc6edc4354c766f016c8c186a787be7c17f7cde8c5281e85 + debug: "npm:2.6.9" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + statuses: "npm:2.0.1" + unpipe: "npm:~1.0.0" + checksum: 10/4babe72969b7373b5842bc9f75c3a641a4d0f8eb53af6b89fa714d4460ce03fb92b28de751d12ba415e96e7e02870c436d67412120555e2b382640535697305b languageName: node linkType: hard -"find-my-way@npm:^8.2.0": - version: 8.2.0 - resolution: "find-my-way@npm:8.2.0" +"find-my-way@npm:^9.1.0": + version: 9.1.0 + resolution: "find-my-way@npm:9.1.0" dependencies: fast-deep-equal: "npm:^3.1.3" fast-querystring: "npm:^1.0.0" - safe-regex2: "npm:^3.1.0" - checksum: 10/07e46c94c594f7f3f3bf3acb5839753c4d02dca83ecd0d3e966b11effc741d212d15050c365ab104e5ea3312f44d08a68fa7939bb759b851d6c874e0cf106523 + safe-regex2: "npm:^4.0.0" + checksum: 10/7c73ac979205ca78a35dfcdf1eb63bf8d88c3c545cf75bc2afd4e53bd8958aef4cfd25dcb86f8a870dee2ae5a95a79ffa3614d730fe88cf810f05e40fcf1652e languageName: node linkType: hard @@ -16192,16 +16064,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:5.0.0, find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: "npm:^6.0.0" - path-exists: "npm:^4.0.0" - checksum: 10/07955e357348f34660bde7920783204ff5a26ac2cafcaa28bace494027158a97b9f56faaf2d89a6106211a8174db650dd9f503f9c0d526b1202d5554a00b9095 - languageName: node - linkType: hard - "find-up@npm:^2.0.0": version: 2.1.0 resolution: "find-up@npm:2.1.0" @@ -16221,6 +16083,16 @@ __metadata: languageName: node linkType: hard +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10/07955e357348f34660bde7920783204ff5a26ac2cafcaa28bace494027158a97b9f56faaf2d89a6106211a8174db650dd9f503f9c0d526b1202d5554a00b9095 + languageName: node + linkType: hard + "find-up@npm:^7.0.0": version: 7.0.0 resolution: "find-up@npm:7.0.0" @@ -16232,33 +16104,34 @@ __metadata: languageName: node linkType: hard -"find-versions@npm:^5.1.0": - version: 5.1.0 - resolution: "find-versions@npm:5.1.0" +"find-versions@npm:^6.0.0": + version: 6.0.0 + resolution: "find-versions@npm:6.0.0" dependencies: semver-regex: "npm:^4.0.5" - checksum: 10/680bdb0081f631f7bfb6f0f8edcfa0b74ab8cabc82097a4527a37b0d042aabc56685bf459ff27991eab0baddc04eb8e3bba8a2869f5004ecf7cdd2779b6e51de + super-regex: "npm:^1.0.0" + checksum: 10/d622e711bd17099015506bafd18b13e51fcc54f80ad073cf819ce4598d6b485774f55708ca356235770bed0148ae55a7daf3ef6deb72730c5b1e2f32b432fed5 languageName: node linkType: hard -"find-workspaces@npm:^0.1.0": - version: 0.1.0 - resolution: "find-workspaces@npm:0.1.0" +"find-workspaces@npm:^0.3.0": + version: 0.3.1 + resolution: "find-workspaces@npm:0.3.1" dependencies: - fast-glob: "npm:^3.2.12" - type-fest: "npm:^3.2.0" - yaml: "npm:^2.1.3" - checksum: 10/0d4cca9d9623f55c4b45306e617b3c78d08e867580e1c2c08a1b280a4fe143547deb482e7d02988a2e49821800a047f7ffd898ff7e5d64b4276fa377b3dc622e + fast-glob: "npm:^3.3.2" + pkg-types: "npm:^1.0.3" + yaml: "npm:^2.3.4" + checksum: 10/8803ca7431768d04cfefb7e838db3c54207bebf875eb25fa73d318c486b5694fa59e43d63808263a4cadaa66b78915b8f970ffe5151a050843234ef84a071a19 languageName: node linkType: hard -"flat-cache@npm:^3.0.4": - version: 3.0.4 - resolution: "flat-cache@npm:3.0.4" +"flat-cache@npm:^4.0.0": + version: 4.0.1 + resolution: "flat-cache@npm:4.0.1" dependencies: - flatted: "npm:^3.1.0" - rimraf: "npm:^3.0.2" - checksum: 10/9fe5d0cb97c988e3b25242e71346965fae22757674db3fca14206850af2efa3ca3b04a3ba0eba8d5e20fd8a3be80a2e14b1c2917e70ffe1acb98a8c3327e4c9f + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.4" + checksum: 10/58ce851d9045fffc7871ce2bd718bc485ad7e777bf748c054904b87c351ff1080c2c11da00788d78738bfb51b71e4d5ea12d13b98eb36e3358851ffe495b62dc languageName: node linkType: hard @@ -16271,10 +16144,10 @@ __metadata: languageName: node linkType: hard -"flatted@npm:^3.1.0": - version: 3.2.5 - resolution: "flatted@npm:3.2.5" - checksum: 10/eed01f72ad0317561e4d6187f7408dc391f7849d9cd6700520ce06155d1859539b6899afdfefc815ce51ec48f97d1015350287c541b5302a49581cf25cec1cd2 +"flatted@npm:^3.2.9": + version: 3.3.1 + resolution: "flatted@npm:3.3.1" + checksum: 10/7b8376061d5be6e0d3658bbab8bde587647f68797cf6bfeae9dea0e5137d9f27547ab92aaff3512dd9d1299086a6d61be98e9d48a56d17531b634f77faadbc49 languageName: node linkType: hard @@ -16288,16 +16161,6 @@ __metadata: languageName: node linkType: hard -"follow-redirects@npm:^1.15.2": - version: 1.15.9 - resolution: "follow-redirects@npm:1.15.9" - peerDependenciesMeta: - debug: - optional: true - checksum: 10/e3ab42d1097e90d28b913903841e6779eb969b62a64706a3eb983e894a5db000fbd89296f45f08885a0e54cd558ef62e81be1165da9be25a6c44920da10f424c - languageName: node - linkType: hard - "for-each@npm:^0.3.3": version: 0.3.3 resolution: "for-each@npm:0.3.3" @@ -16328,16 +16191,6 @@ __metadata: languageName: node linkType: hard -"foreground-child@npm:^2.0.0": - version: 2.0.0 - resolution: "foreground-child@npm:2.0.0" - dependencies: - cross-spawn: "npm:^7.0.0" - signal-exit: "npm:^3.0.2" - checksum: 10/f36574ad8e19d69ce06fceac7d86161b863968e4ba292c14b7b40e5c464e3e9bcd7711250d33427d95cc2bb0d48cf101df9687433dbbc7fd3c7e4f595be8305e - languageName: node - linkType: hard - "foreground-child@npm:^3.1.0": version: 3.1.1 resolution: "foreground-child@npm:3.1.1" @@ -16366,44 +16219,24 @@ __metadata: languageName: node linkType: hard -"formidable@npm:^2.0.1": - version: 2.0.1 - resolution: "formidable@npm:2.0.1" - dependencies: - dezalgo: "npm:1.0.3" - hexoid: "npm:1.0.0" - once: "npm:1.4.0" - qs: "npm:6.9.3" - checksum: 10/f0ad9266e61b0a3ebd301fa6efbc9ea5cbdcf7ef2fbd7f9f1122c9172e41d00323615597f0f5ac6b821cda3f32a6bdf4dc8e77ca61a3124ce5dcf17d69d5954a - languageName: node - linkType: hard - -"formio-workers@npm:1.21.0": - version: 1.21.0 - resolution: "formio-workers@npm:1.21.0" +"formidable@npm:^3.5.1": + version: 3.5.1 + resolution: "formidable@npm:3.5.1" dependencies: - aws-serverless-express: "npm:^3.4.0" - body-parser: "npm:^1.19.1" - core-js: "npm:^3.19.3" - dotenv: "npm:^10.0.0" - express: "npm:^4.17.1" - formiojs: "npm:4.19.0" - lodash: "npm:^4.17.21" - method-override: "npm:^3.0.0" - moment: "npm:^2.29.1" - moment-timezone: "npm:^0.5.35" - nunjucks: "npm:^3.2.3" - nunjucks-date-filter: "npm:^0.1.1" - vm2: "npm:^3.9.5" - checksum: 10/3e93fd6a4cf39c520cb40f9338fe3c0076ac5952e8ed1b9dde8ab2ab3d3225fb72cf251c0ce222c71d8f292e62afc755022120da37efe607b80df6f126d9752c + dezalgo: "npm:^1.0.4" + hexoid: "npm:^1.0.0" + once: "npm:^1.4.0" + checksum: 10/c9a7bbbd4ca8142893da88b51cf7797adee022344ea180cf157a108bf999bed5ad8bc07a10a28d8a39fcbfaa02e8cba07f4ba336fbeb330deb23907336ba1fc2 languageName: node linkType: hard -"formio@npm:3.5.0": - version: 3.5.0 - resolution: "formio@npm:3.5.0" +"formio@npm:4.2.5": + version: 4.2.5 + resolution: "formio@npm:4.2.5" dependencies: + "@formio/core": "npm:2.2.3" "@formio/node-fetch-http-proxy": "npm:^1.1.0" + "@formio/vm": "npm:0.2.5" JSONStream: "npm:^1.3.5" adm-zip: "npm:^0.5.9" async: "npm:^3.2.4" @@ -16422,8 +16255,7 @@ __metadata: expose-gc: "npm:^1.0.0" express: "npm:^4.18.2" fast-json-patch: "npm:^3.1.1" - formio-workers: "npm:1.21.0" - formiojs: "npm:4.19.0" + formiojs: "npm:4.21.4" fs-extra: "npm:^10.1.0" html-entities: "npm:^2.3.3" jsonwebtoken: "npm:^9.0.0" @@ -16437,19 +16269,19 @@ __metadata: progress: "npm:^2.0.3" prompt: "npm:^1.3.0" q: "npm:^1.5.0" + resolve: "npm:^1.22.8" resourcejs: "npm:^2.5.0" semver: "npm:^7.3.8" superagent-retry: "npm:^0.6.0" through: "npm:^2.3.8" vanilla-text-mask: "npm:^5.1.1" - vm2: "npm:^3.9.9" - checksum: 10/e74266e330f6cd11c425cbbc4fb8e4c3e41c37d8a9cdfd3ca16dc284a0e500afd7aa9fa546130200fb53fc92644a217a3710c28d2e670c517dfaccce8db6d29b + checksum: 10/8130d035e169a807b5ed3930f5d0018bbdd55df03e40d8dc8577e793101babbd4d8e554a56c9163cb009d01df796a4155d89911bc86d918e4ea1bd72a1855118 languageName: node linkType: hard -"formiojs@npm:4.19.0": - version: 4.19.0 - resolution: "formiojs@npm:4.19.0" +"formiojs@npm:4.21.4": + version: 4.21.4 + resolution: "formiojs@npm:4.21.4" dependencies: "@formio/bootstrap3": "npm:2.12.4-rc.1" "@formio/choices.js": "npm:10.2.1" @@ -16474,6 +16306,7 @@ __metadata: fetch-ponyfill: "npm:^7.1.0" i18next: "npm:22.4.12" idb: "npm:^7.1.1" + inputmask: "npm:^5.0.9" ismobilejs: "npm:^1.1.1" json-logic-js: "npm:^2.0.2" jstimezonedetect: "npm:^1.0.7" @@ -16488,7 +16321,7 @@ __metadata: tippy.js: "npm:^6.3.7" uuid: "npm:^9.0.0" vanilla-picker: "npm:^2.12.1" - checksum: 10/f8288616b88acf8b552302ad52ba9051156d4d0f2cb07ae491fdc243221669cbbc68e022db53d211985100b18c609271db0aff086cabbb0d7e219af54623da57 + checksum: 10/eabd0c808efe30754628632bbcb41f502f2de05694e5a11d5756abf030b78d9eb1f96a175454d45956692a33f84e7fb59d809f32c132c8e29060c481c3456604 languageName: node linkType: hard @@ -16499,13 +16332,6 @@ __metadata: languageName: node linkType: hard -"fp-ts@npm:2.16.0": - version: 2.16.0 - resolution: "fp-ts@npm:2.16.0" - checksum: 10/e87fe54c0eb47b6c10cdb9a7eb3c1d6bdf9fc45e19998bd141b5ab3d748351a97d9c093dbf140605d6e2e00173d6d223c83b17a04753ff3ec63642e2abe16690 - languageName: node - linkType: hard - "fragment-cache@npm:^0.2.1": version: 0.2.1 resolution: "fragment-cache@npm:0.2.1" @@ -16532,10 +16358,12 @@ __metadata: languageName: node linkType: hard -"fromentries@npm:^1.2.0": - version: 1.3.2 - resolution: "fromentries@npm:1.3.2" - checksum: 10/10d6e07d289db102c0c1eaf5c3e3fa55ddd6b50033d7de16d99a7cd89f1e1a302dfadb26457031f9bb5d2ed95a179aaf0396092dde5abcae06e8a2f0476826be +"front-matter@npm:^4.0.2": + version: 4.0.2 + resolution: "front-matter@npm:4.0.2" + dependencies: + js-yaml: "npm:^3.13.1" + checksum: 10/8897a831a82c5d35413b02b806ed421e793068ad8bf75e864163ec07b7f0cfd87e2fcce0893e8ceccc8f6c63a46e953a6c01208e573627626867a8b86cf6abb9 languageName: node linkType: hard @@ -16553,7 +16381,7 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:11.1.1, fs-extra@npm:^11.1.0, fs-extra@npm:^11.1.1": +"fs-extra@npm:11.1.1": version: 11.1.1 resolution: "fs-extra@npm:11.1.1" dependencies: @@ -16608,27 +16436,7 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:~7.0.1": - version: 7.0.1 - resolution: "fs-extra@npm:7.0.1" - dependencies: - graceful-fs: "npm:^4.1.2" - jsonfile: "npm:^4.0.0" - universalify: "npm:^0.1.0" - checksum: 10/3fc6e56ba2f07c00d452163f27f21a7076b72ef7da8a50fef004336d59ef4c34deda11d10ecd73fd8fbcf20e4f575f52857293090b3c9f8741d4e0598be30fea - languageName: node - linkType: hard - -"fs-jetpack@npm:5.1.0": - version: 5.1.0 - resolution: "fs-jetpack@npm:5.1.0" - dependencies: - minimatch: "npm:^5.1.0" - checksum: 10/a9b3fa798a9c8d5d1878a5856fc59cc1bdbdbd5665e9df3a464966c7c5a77aa6fe3c02c3ce5cec70481780e420b3f0779b6303fb82005a9e7a4234e1bcce03ec - languageName: node - linkType: hard - -"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": +"fs-minipass@npm:^2.0.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" dependencies: @@ -16719,6 +16527,13 @@ __metadata: languageName: node linkType: hard +"function-timeout@npm:^1.0.1": + version: 1.0.2 + resolution: "function-timeout@npm:1.0.2" + checksum: 10/3afedebacaaf237ba9aaef925886fcf5abd434ca12a18c1c7cecb001e57bf9b30434278edcc977a127baeb5b6361f7c278243c1dbf8bf349aa8b30500c57a699 + languageName: node + linkType: hard + "fuse.js@npm:^6.6.2": version: 6.6.2 resolution: "fuse.js@npm:6.6.2" @@ -16765,7 +16580,7 @@ __metadata: languageName: node linkType: hard -"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": +"get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" checksum: 10/b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 @@ -16820,6 +16635,19 @@ __metadata: languageName: node linkType: hard +"get-intrinsic@npm:^1.2.4": + version: 1.2.4 + resolution: "get-intrinsic@npm:1.2.4" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + has-proto: "npm:^1.0.1" + has-symbols: "npm:^1.0.3" + hasown: "npm:^2.0.0" + checksum: 10/85bbf4b234c3940edf8a41f4ecbd4e25ce78e5e6ad4e24ca2f77037d983b9ef943fd72f00f3ee97a49ec622a506b67db49c36246150377efcda1c9eb03e5f06d + languageName: node + linkType: hard + "get-package-type@npm:^0.1.0": version: 0.1.0 resolution: "get-package-type@npm:0.1.0" @@ -16876,6 +16704,16 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^9.0.0": + version: 9.0.1 + resolution: "get-stream@npm:9.0.1" + dependencies: + "@sec-ant/readable-stream": "npm:^0.4.1" + is-stream: "npm:^4.0.1" + checksum: 10/ce56e6db6bcd29ca9027b0546af035c3e93dcd154ca456b54c298901eb0e5b2ce799c5d727341a100c99e14c523f267f1205f46f153f7b75b1f4da6d98a21c5e + languageName: node + linkType: hard + "get-symbol-description@npm:^1.0.0": version: 1.0.0 resolution: "get-symbol-description@npm:1.0.0" @@ -16972,12 +16810,12 @@ __metadata: languageName: node linkType: hard -"git-url-parse@npm:13.1.0": - version: 13.1.0 - resolution: "git-url-parse@npm:13.1.0" +"git-url-parse@npm:14.0.0": + version: 14.0.0 + resolution: "git-url-parse@npm:14.0.0" dependencies: git-up: "npm:^7.0.0" - checksum: 10/a088e9b57235eda6a390a0af31db28c128161861675935d26fca9615c0e5c6078b0adcca00293f25ea5e69a37bed5e8afe8bc5f2a079b286a897738a24ab98a4 + checksum: 10/c19430947895676c59ce472d534c88e5d2d9f443e6b6e4deaa8ad9ad921ded6c27a996b219503775c37fbb90f4a3c02a5f106f14b61286386f9e5098dff7d634 languageName: node linkType: hard @@ -16997,12 +16835,12 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:5.1.2, glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" +"glob-parent@npm:6.0.2, glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" dependencies: - is-glob: "npm:^4.0.1" - checksum: 10/32cd106ce8c0d83731966d31517adb766d02c3812de49c30cfe0675c7c0ae6630c11214c54a5ae67aca882cf738d27fd7768f21aa19118b9245950554be07247 + is-glob: "npm:^4.0.3" + checksum: 10/c13ee97978bef4f55106b71e66428eb1512e71a7466ba49025fc2aec59a5bfb0954d5abd58fc5ee6c9b076eef4e1f6d3375c2e964b88466ca390da4419a786a8 languageName: node linkType: hard @@ -17016,12 +16854,12 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^6.0.2": - version: 6.0.2 - resolution: "glob-parent@npm:6.0.2" +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" dependencies: - is-glob: "npm:^4.0.3" - checksum: 10/c13ee97978bef4f55106b71e66428eb1512e71a7466ba49025fc2aec59a5bfb0954d5abd58fc5ee6c9b076eef4e1f6d3375c2e964b88466ca390da4419a786a8 + is-glob: "npm:^4.0.1" + checksum: 10/32cd106ce8c0d83731966d31517adb766d02c3812de49c30cfe0675c7c0ae6630c11214c54a5ae67aca882cf738d27fd7768f21aa19118b9245950554be07247 languageName: node linkType: hard @@ -17039,20 +16877,6 @@ __metadata: languageName: node linkType: hard -"glob@npm:7.1.4": - version: 7.1.4 - resolution: "glob@npm:7.1.4" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.0.4" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10/776bcc31371797eb5cf6b58c4618378f8df83d23f00aef8e98af5e7f0e59f5ee8b470c4e95e71cfa7a8682634849e21ea1f1ad38639c1828a2dbc2757bf7a63b - languageName: node - linkType: hard - "glob@npm:7.1.6": version: 7.1.6 resolution: "glob@npm:7.1.6" @@ -17083,7 +16907,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7": +"glob@npm:^10.2.2, glob@npm:^10.3.10": version: 10.3.10 resolution: "glob@npm:10.3.10" dependencies: @@ -17098,7 +16922,23 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.5, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": +"glob@npm:^11.0.0": + version: 11.0.0 + resolution: "glob@npm:11.0.0" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^4.0.1" + minimatch: "npm:^10.0.0" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^2.0.0" + bin: + glob: dist/esm/bin.mjs + checksum: 10/e66939201d11ae30fe97e3364ac2be5c59d6c9bfce18ac633edfad473eb6b46a7553f6f73658f67caaf6cccc1df1ae336298a45e9021fa5695fd78754cc1603e + languageName: node + linkType: hard + +"glob@npm:^7.0.5, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -17159,15 +16999,6 @@ __metadata: languageName: node linkType: hard -"global-dirs@npm:3.0.1": - version: 3.0.1 - resolution: "global-dirs@npm:3.0.1" - dependencies: - ini: "npm:2.0.0" - checksum: 10/70147b80261601fd40ac02a104581432325c1c47329706acd773f3a6ce99bb36d1d996038c85ccacd482ad22258ec233c586b6a91535b1a116b89663d49d6438 - languageName: node - linkType: hard - "globals@npm:^11.1.0": version: 11.12.0 resolution: "globals@npm:11.12.0" @@ -17175,12 +17006,10 @@ __metadata: languageName: node linkType: hard -"globals@npm:^13.19.0": - version: 13.24.0 - resolution: "globals@npm:13.24.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10/62c5b1997d06674fc7191d3e01e324d3eda4d65ac9cc4e78329fa3b5c4fd42a0e1c8722822497a6964eee075255ce21ccf1eec2d83f92ef3f06653af4d0ee28e +"globals@npm:^14.0.0": + version: 14.0.0 + resolution: "globals@npm:14.0.0" + checksum: 10/03939c8af95c6df5014b137cac83aa909090c3a3985caef06ee9a5a669790877af8698ab38007e4c0186873adc14c0b13764acc754b16a754c216cc56aa5f021 languageName: node linkType: hard @@ -17197,7 +17026,7 @@ __metadata: languageName: node linkType: hard -"globby@npm:11.1.0, globby@npm:^11.0.1, globby@npm:^11.1.0": +"globby@npm:11.1.0, globby@npm:^11.1.0": version: 11.1.0 resolution: "globby@npm:11.1.0" dependencies: @@ -17211,6 +17040,20 @@ __metadata: languageName: node linkType: hard +"globby@npm:14.0.2, globby@npm:^14.0.2": + version: 14.0.2 + resolution: "globby@npm:14.0.2" + dependencies: + "@sindresorhus/merge-streams": "npm:^2.1.0" + fast-glob: "npm:^3.3.2" + ignore: "npm:^5.2.4" + path-type: "npm:^5.0.0" + slash: "npm:^5.1.0" + unicorn-magic: "npm:^0.1.0" + checksum: 10/67660da70fc1223f7170c1a62ba6c373385e9e39765d952b6518606dec15ed8c7958e9dae6ba5752a31dbc1e9126f146938b830ad680fe794141734ffc3fbb75 + languageName: node + linkType: hard + "globby@npm:8.0.2": version: 8.0.2 resolution: "globby@npm:8.0.2" @@ -17289,7 +17132,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:4.2.11, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.3, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:4.2.11, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 @@ -17323,7 +17166,7 @@ __metadata: languageName: node linkType: hard -"graphql-passport@npm:0.6.8": +"graphql-passport@npm:^0.6.8": version: 0.6.8 resolution: "graphql-passport@npm:0.6.8" dependencies: @@ -17362,25 +17205,25 @@ __metadata: languageName: node linkType: hard -"graphql-query-complexity@npm:^0.7.0": - version: 0.7.2 - resolution: "graphql-query-complexity@npm:0.7.2" +"graphql-query-complexity@npm:^0.12.0": + version: 0.12.0 + resolution: "graphql-query-complexity@npm:0.12.0" dependencies: lodash.get: "npm:^4.4.2" peerDependencies: - graphql: ^0.13.0 || ^14.0.0 || ^15.0.0 - checksum: 10/b90aaf42fb8fbf128bb5998b0ab51fc3303727a2df4a35ea1ffd7694d940b5f04b543de8fa96549f98406f37b04a49cf5b9f82c8896af500b629f6585d27fb9f + graphql: ^14.6.0 || ^15.0.0 || ^16.0.0 + checksum: 10/4c91af56d02a54d9981b4a5004703c61de920b91245d9883707b70a244cfe5ecc1c75b322979d639ef86841c46e601a1fe48b2c3b4e06d0733876fb9cb9cb9a3 languageName: node linkType: hard -"graphql-subscriptions@npm:^1.1.0": - version: 1.2.1 - resolution: "graphql-subscriptions@npm:1.2.1" +"graphql-scalars@npm:1.23.0": + version: 1.23.0 + resolution: "graphql-scalars@npm:1.23.0" dependencies: - iterall: "npm:^1.3.0" + tslib: "npm:^2.5.0" peerDependencies: - graphql: ^0.10.5 || ^0.11.3 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 - checksum: 10/6dfc0bf278b595c7d99b577e05902d18cd0e56c8c060892ccba7651ff1a49218c7cdd5a8e811fcb9071b98492d238609ba6f326129f5cb0f5433c993671e2d14 + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + checksum: 10/6faa5dea621b708b485cb8c5047098c3daf7c092c8f1f53b87ff6999ef0b28553e5c904ddc01da54141685fcd5798672c4cf997d9738a04dd4e60529450ab707 languageName: node linkType: hard @@ -17410,12 +17253,12 @@ __metadata: languageName: node linkType: hard -"graphql-ws@npm:^5.15.0": - version: 5.15.0 - resolution: "graphql-ws@npm:5.15.0" +"graphql-ws@npm:5.16.0": + version: 5.16.0 + resolution: "graphql-ws@npm:5.16.0" peerDependencies: graphql: ">=0.11 <=16" - checksum: 10/0bad9451601c6d0ed3951d289ca66afa7b2bf5db8a21e9f6f5a5c553ec9f5ef8381a858bb64dfdb3ecc8c6c4d6156c7216a41aa76748c39460338f739553a270 + checksum: 10/e56d903920c78fa88966e31940d281f8b35ef8c9f4543255bfe349e47a0e972c6ca746bcb52040b1c6938d22e42560228994399972abc473cfa6bcd183aca709 languageName: node linkType: hard @@ -17426,7 +17269,14 @@ __metadata: languageName: node linkType: hard -"graphql@npm:15.8.0, graphql@npm:^15.5.3": +"graphql@npm:16.9.0": + version: 16.9.0 + resolution: "graphql@npm:16.9.0" + checksum: 10/5833f82bb6c31bec120bbf9cd400eda873e1bb7ef5c17974fa262cd82dc68728fda5d4cb859dc8aaa4c4fe4f6fe1103a9c47efc01a12c02ae5cb581d8e4029e2 + languageName: node + linkType: hard + +"graphql@npm:^15.5.3": version: 15.8.0 resolution: "graphql@npm:15.8.0" checksum: 10/f8d830287a9028d6779b59c437e0ade63a713b47521b02b60316df1761b805b1a7ce03be88053d224b7f78f5d1d1a786d287ab229cd158b42ebeea9e86daaba5 @@ -17558,6 +17408,15 @@ __metadata: languageName: node linkType: hard +"has-property-descriptors@npm:^1.0.2": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: "npm:^1.0.0" + checksum: 10/2d8c9ab8cebb572e3362f7d06139a4592105983d4317e68f7adba320fe6ddfc8874581e0971e899e633fd5f72e262830edce36d5a0bc863dad17ad20572484b2 + languageName: node + linkType: hard + "has-proto@npm:^1.0.1": version: 1.0.1 resolution: "has-proto@npm:1.0.1" @@ -17581,6 +17440,15 @@ __metadata: languageName: node linkType: hard +"has-tostringtag@npm:^1.0.2": + version: 1.0.2 + resolution: "has-tostringtag@npm:1.0.2" + dependencies: + has-symbols: "npm:^1.0.3" + checksum: 10/c74c5f5ceee3c8a5b8bc37719840dc3749f5b0306d818974141dda2471a1a2ca6c8e46b9d6ac222c5345df7a901c9b6f350b1e6d62763fec877e26609a401bfe + languageName: node + linkType: hard + "has-unicode@npm:2.0.1, has-unicode@npm:^2.0.1": version: 2.0.1 resolution: "has-unicode@npm:2.0.1" @@ -17643,13 +17511,14 @@ __metadata: languageName: node linkType: hard -"hasha@npm:5.2.2, hasha@npm:^5.0.0": - version: 5.2.2 - resolution: "hasha@npm:5.2.2" +"hash-base@npm:^3.0.0": + version: 3.1.0 + resolution: "hash-base@npm:3.1.0" dependencies: - is-stream: "npm:^2.0.0" - type-fest: "npm:^0.8.0" - checksum: 10/06cc474bed246761ff61c19d629977eb5f53fa817be4313a255a64ae0f433e831a29e83acb6555e3f4592b348497596f1d1653751008dda4f21c9c21ca60ac5a + inherits: "npm:^2.0.4" + readable-stream: "npm:^3.6.0" + safe-buffer: "npm:^5.2.0" + checksum: 10/26b7e97ac3de13cb23fc3145e7e3450b0530274a9562144fc2bf5c1e2983afd0e09ed7cc3b20974ba66039fad316db463da80eb452e7373e780cbee9a0d2f2dc languageName: node linkType: hard @@ -17697,7 +17566,7 @@ __metadata: languageName: node linkType: hard -"hexoid@npm:1.0.0": +"hexoid@npm:^1.0.0": version: 1.0.0 resolution: "hexoid@npm:1.0.0" checksum: 10/f2271b8b6b0e13fb5a1eccf740f53ce8bae689c80b9498b854c447f9dc94f75f44e0de064c0e4660ecdbfa8942bb2b69973fdcb080187b45bbb409a3c71f19d4 @@ -17737,15 +17606,6 @@ __metadata: languageName: node linkType: hard -"hosted-git-info@npm:^3.0.6": - version: 3.0.8 - resolution: "hosted-git-info@npm:3.0.8" - dependencies: - lru-cache: "npm:^6.0.0" - checksum: 10/fac26fe551d87f271b31e80e5a7519cbb50a3c30ea89cad734da8068930f27288a049258e6ed9c39e20ebec9cf4b67c5cb02055bd73230962ef34db0d45da3e7 - languageName: node - linkType: hard - "hosted-git-info@npm:^4.0.0, hosted-git-info@npm:^4.0.1": version: 4.1.0 resolution: "hosted-git-info@npm:4.1.0" @@ -17755,15 +17615,6 @@ __metadata: languageName: node linkType: hard -"hosted-git-info@npm:^6.0.0": - version: 6.1.1 - resolution: "hosted-git-info@npm:6.1.1" - dependencies: - lru-cache: "npm:^7.5.1" - checksum: 10/2e48e3fac799b52d82277ff5693916bfa33441a2c06d1f11f9e82886bd235514783c2bdffb3abde67b7aeb6af457a48df38e6894740c7fc2e1bb78f5bcfac61e - languageName: node - linkType: hard - "hosted-git-info@npm:^7.0.0, hosted-git-info@npm:^7.0.1": version: 7.0.1 resolution: "hosted-git-info@npm:7.0.1" @@ -17773,6 +17624,24 @@ __metadata: languageName: node linkType: hard +"hosted-git-info@npm:^7.0.2": + version: 7.0.2 + resolution: "hosted-git-info@npm:7.0.2" + dependencies: + lru-cache: "npm:^10.0.1" + checksum: 10/8f085df8a4a637d995f357f48b1e3f6fc1f9f92e82b33fb406415b5741834ed431a510a09141071001e8deea2eee43ce72786463e2aa5e5a70db8648c0eedeab + languageName: node + linkType: hard + +"hosted-git-info@npm:^8.0.0": + version: 8.0.0 + resolution: "hosted-git-info@npm:8.0.0" + dependencies: + lru-cache: "npm:^10.0.1" + checksum: 10/fb1e5600a57dbebfc4d708ccd6256facabb1cdfb182ac20ab7c900c311bda91f71b2129d3e15b4d1faaef82d1acb5f7c3558e50c4249402020f866a4f9958b8b + languageName: node + linkType: hard + "hpack.js@npm:^2.1.6": version: 2.1.6 resolution: "hpack.js@npm:2.1.6" @@ -17967,16 +17836,6 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:7.0.0, http-proxy-agent@npm:^7.0.0": - version: 7.0.0 - resolution: "http-proxy-agent@npm:7.0.0" - dependencies: - agent-base: "npm:^7.1.0" - debug: "npm:^4.3.4" - checksum: 10/dbaaf3d9f3fc4df4a5d7ec45d456ec50f575240b557160fa63427b447d1f812dd7fe4a4f17d2e1ba003d231f07edf5a856ea6d91cb32d533062ff20a7803ccac - languageName: node - linkType: hard - "http-proxy-agent@npm:^4.0.1": version: 4.0.1 resolution: "http-proxy-agent@npm:4.0.1" @@ -17988,14 +17847,13 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^5.0.0": - version: 5.0.0 - resolution: "http-proxy-agent@npm:5.0.0" +"http-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "http-proxy-agent@npm:7.0.0" dependencies: - "@tootallnate/once": "npm:2" - agent-base: "npm:6" - debug: "npm:4" - checksum: 10/5ee19423bc3e0fd5f23ce991b0755699ad2a46a440ce9cec99e8126bb98448ad3479d2c0ea54be5519db5b19a4ffaa69616bac01540db18506dd4dac3dc418f0 + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10/dbaaf3d9f3fc4df4a5d7ec45d456ec50f575240b557160fa63427b447d1f812dd7fe4a4f17d2e1ba003d231f07edf5a856ea6d91cb32d533062ff20a7803ccac languageName: node linkType: hard @@ -18038,17 +17896,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:7.0.0": - version: 7.0.0 - resolution: "https-proxy-agent@npm:7.0.0" - dependencies: - agent-base: "npm:^7.0.2" - debug: "npm:4" - checksum: 10/82faa9c9fc6093cdec13a248a4b5a607ea5cc9e0f9a2416d206dc1563dbd6816fb59ca06b5a882a2cb908d97e2f127db2ecbbded1eb261422f6b146ccc563f58 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^5.0.0, https-proxy-agent@npm:^5.0.1": +"https-proxy-agent@npm:^5.0.0": version: 5.0.1 resolution: "https-proxy-agent@npm:5.0.1" dependencies: @@ -18101,6 +17949,13 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^8.0.0": + version: 8.0.0 + resolution: "human-signals@npm:8.0.0" + checksum: 10/89acdc7081ac2a065e41cca7351c4b0fe2382e213b7372f90df6a554e340f31b49388a307adc1d6f4c60b2b4fe81eeff0bc1f44be6f5d844311cd92ccc7831c6 + languageName: node + linkType: hard + "humanize-ms@npm:^1.2.1": version: 1.2.1 resolution: "humanize-ms@npm:1.2.1" @@ -18110,12 +17965,12 @@ __metadata: languageName: node linkType: hard -"husky@npm:8.0.3": - version: 8.0.3 - resolution: "husky@npm:8.0.3" +"husky@npm:9.1.6": + version: 9.1.6 + resolution: "husky@npm:9.1.6" bin: - husky: lib/bin.js - checksum: 10/b754cf70fdc97c3b60fec5b80056b9c11436464953b1691bf2b5dcf0081fb6685d2c5f47abb8b2b1c49f504aabea5321fdd6496f8b755d9f6e7525a493406abb + husky: bin.js + checksum: 10/421ccd8850378231aaefd70dbe9e4f1549b84ffe3a6897f93a202242bbc04e48bd498169aef43849411105d9fcf7c192b757d42661e28d06b934a609a4eb8771 languageName: node linkType: hard @@ -18153,23 +18008,21 @@ __metadata: languageName: node linkType: hard -"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": - version: 1.2.1 - resolution: "ieee754@npm:1.2.1" - checksum: 10/d9f2557a59036f16c282aaeb107832dc957a93d73397d89bbad4eb1130560560eb695060145e8e6b3b498b15ab95510226649a0b8f52ae06583575419fe10fc4 +"ieee754@npm:1.1.13": + version: 1.1.13 + resolution: "ieee754@npm:1.1.13" + checksum: 10/5c2f365168e629b164f6b8863c399af03e4515cafb690fe143039c9bd76b8f670af6539a43859bbfbe7df707eac755478515319a357a29f8c5f17ec2daa24a4c languageName: node linkType: hard -"ignore-walk@npm:^5.0.1": - version: 5.0.1 - resolution: "ignore-walk@npm:5.0.1" - dependencies: - minimatch: "npm:^5.0.1" - checksum: 10/a88b3fbda155496363fb3db66c7c7b85cf04d614fb51146f0aa5fc6b35c65370c57f9e6c550cd6048651fc378985b7a2bb9015c9fcb3e0dc798fc0728746703c +"ieee754@npm:^1.1.13, ieee754@npm:^1.1.4, ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10/d9f2557a59036f16c282aaeb107832dc957a93d73397d89bbad4eb1130560560eb695060145e8e6b3b498b15ab95510226649a0b8f52ae06583575419fe10fc4 languageName: node linkType: hard -"ignore-walk@npm:^6.0.0, ignore-walk@npm:^6.0.4": +"ignore-walk@npm:^6.0.4": version: 6.0.4 resolution: "ignore-walk@npm:6.0.4" dependencies: @@ -18206,6 +18059,13 @@ __metadata: languageName: node linkType: hard +"ignore@npm:^5.3.1": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10/cceb6a457000f8f6a50e1196429750d782afce5680dd878aa4221bd79972d68b3a55b4b1458fc682be978f4d3c6a249046aa0880637367216444ab7b014cfc98 + languageName: node + linkType: hard + "import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" @@ -18226,13 +18086,6 @@ __metadata: languageName: node linkType: hard -"import-lazy@npm:~4.0.0": - version: 4.0.0 - resolution: "import-lazy@npm:4.0.0" - checksum: 10/943309cc8eb01ada12700448c288b0384f77a1bc33c7e00fa4cb223c665f467a13ce9aaceb8d2e4cf586b07c1d2828040263dcc069873ce63cfc2ac6fd087971 - languageName: node - linkType: hard - "import-local@npm:3.1.0, import-local@npm:^3.0.2": version: 3.1.0 resolution: "import-local@npm:3.1.0" @@ -18259,13 +18112,6 @@ __metadata: languageName: node linkType: hard -"indent-string@npm:4.0.0, indent-string@npm:^4.0.0": - version: 4.0.0 - resolution: "indent-string@npm:4.0.0" - checksum: 10/cd3f5cbc9ca2d624c6a1f53f12e6b341659aba0e2d3254ae2b4464aaea8b4294cdb09616abbc59458f980531f2429784ed6a420d48d245bcad0811980c9efae9 - languageName: node - linkType: hard - "indent-string@npm:^3.0.0": version: 3.2.0 resolution: "indent-string@npm:3.2.0" @@ -18273,6 +18119,13 @@ __metadata: languageName: node linkType: hard +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 10/cd3f5cbc9ca2d624c6a1f53f12e6b341659aba0e2d3254ae2b4464aaea8b4294cdb09616abbc59458f980531f2429784ed6a420d48d245bcad0811980c9efae9 + languageName: node + linkType: hard + "indent-string@npm:^5.0.0": version: 5.0.0 resolution: "indent-string@npm:5.0.0" @@ -18325,13 +18178,6 @@ __metadata: languageName: node linkType: hard -"ini@npm:2.0.0": - version: 2.0.0 - resolution: "ini@npm:2.0.0" - checksum: 10/04e24ba05c4f6947e15560824e153b4610bceea2f5a3ab68651d221a4aab3c77d4e3e90a917ebc8bf5ad71a30a8575de56c39d6b4c4b1375a28016b9f3625f9d - languageName: node - linkType: hard - "ini@npm:4.1.1, ini@npm:^4.1.0, ini@npm:^4.1.1": version: 4.1.1 resolution: "ini@npm:4.1.1" @@ -18346,18 +18192,18 @@ __metadata: languageName: node linkType: hard -"init-package-json@npm:5.0.0": - version: 5.0.0 - resolution: "init-package-json@npm:5.0.0" +"init-package-json@npm:6.0.3": + version: 6.0.3 + resolution: "init-package-json@npm:6.0.3" dependencies: - npm-package-arg: "npm:^10.0.0" + "@npmcli/package-json": "npm:^5.0.0" + npm-package-arg: "npm:^11.0.0" promzard: "npm:^1.0.0" - read: "npm:^2.0.0" - read-package-json: "npm:^6.0.0" + read: "npm:^3.0.1" semver: "npm:^7.3.5" validate-npm-package-license: "npm:^3.0.4" validate-npm-package-name: "npm:^5.0.0" - checksum: 10/2816821b4962ef9c090076de9abe12d4ca4ec210056999f97e5c143a8f67acaad67e4cf7d056f9131a6d859ad45d1d0d9cdb4b8e7347cb275d55a6d61b4389ef + checksum: 10/1274365e2c9e693395af07edc03692284b708fc101d7058cee956c02dca525f69c09748ac1c3de261f81ae42de301300bd62042b58943aa0088cb2c52e1e2e4f languageName: node linkType: hard @@ -18376,6 +18222,20 @@ __metadata: languageName: node linkType: hard +"inputmask@npm:5.0.8": + version: 5.0.8 + resolution: "inputmask@npm:5.0.8" + checksum: 10/b76b3f0eeb82cef55cfe0b34439008efe058dde59c659b7be739c206c47c73d5fa0ab8239ff553601cad080b7e33f2316755cd14b9dfd68d33a7c51b2a82468d + languageName: node + linkType: hard + +"inputmask@npm:^5.0.8, inputmask@npm:^5.0.9": + version: 5.0.9 + resolution: "inputmask@npm:5.0.9" + checksum: 10/a6c69e12891f7811b3bdddef6c57157a519e3230d0024a6251303f8f2bf0c3c281723009ea5c89e9ae43e3cfbe637dcc48efc170ac4d95339f2e9f40da68268a + languageName: node + linkType: hard + "inquirer@npm:>=9.2.13": version: 9.2.13 resolution: "inquirer@npm:9.2.13" @@ -18473,7 +18333,24 @@ __metadata: languageName: node linkType: hard -"ioredis@npm:5.3.2, ioredis@npm:^5.3.2": +"ioredis@npm:5.4.1, ioredis@npm:>=5": + version: 5.4.1 + resolution: "ioredis@npm:5.4.1" + dependencies: + "@ioredis/commands": "npm:^1.1.1" + cluster-key-slot: "npm:^1.1.0" + debug: "npm:^4.3.4" + denque: "npm:^2.1.0" + lodash.defaults: "npm:^4.2.0" + lodash.isarguments: "npm:^3.1.0" + redis-errors: "npm:^1.2.0" + redis-parser: "npm:^3.0.0" + standard-as-callback: "npm:^2.1.0" + checksum: 10/9043b812ac58065e80c759d130602cc64490fcaeaacf93723453fda04c7ba61dab0e2f50380eacb045592378ededf44f270c0d43e13e3e8b8d7c5a8d7fecb823 + languageName: node + linkType: hard + +"ioredis@npm:^5.3.2": version: 5.3.2 resolution: "ioredis@npm:5.3.2" dependencies: @@ -18626,7 +18503,7 @@ __metadata: languageName: node linkType: hard -"is-ci@npm:3.0.1, is-ci@npm:^3.0.1": +"is-ci@npm:3.0.1": version: 3.0.1 resolution: "is-ci@npm:3.0.1" dependencies: @@ -18653,21 +18530,12 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.11.0": - version: 2.13.1 - resolution: "is-core-module@npm:2.13.1" - dependencies: - hasown: "npm:^2.0.0" - checksum: 10/d53bd0cc24b0a0351fb4b206ee3908f71b9bbf1c47e9c9e14e5f06d292af1663704d2abd7e67700d6487b2b7864e0d0f6f10a1edf1892864bdffcb197d1845a2 - languageName: node - linkType: hard - "is-core-module@npm:^2.13.0": - version: 2.15.0 - resolution: "is-core-module@npm:2.15.0" + version: 2.15.1 + resolution: "is-core-module@npm:2.15.1" dependencies: hasown: "npm:^2.0.2" - checksum: 10/70e962543e5d3a97c07cb29144a86792d545a21f28e67da5401d85878a0193d46fbab8d97bc3ca680e2778705dca66e7b6ca840c493497a27ca0e8c5f3ac3d1d + checksum: 10/77316d5891d5743854bcef2cd2f24c5458fb69fbc9705c12ca17d54a2017a67d0693bbf1ba8c77af376c0eef6bf6d1b27a4ab08e4db4e69914c3789bdf2ceec5 languageName: node linkType: hard @@ -18787,13 +18655,6 @@ __metadata: languageName: node linkType: hard -"is-finite@npm:^1.0.0": - version: 1.1.0 - resolution: "is-finite@npm:1.1.0" - checksum: 10/532b97ed3d03e04c6bd203984d9e4ba3c0c390efee492bad5d1d1cd1802a68ab27adbd3ef6382f6312bed6c8bb1bd3e325ea79a8dc8fe080ed7a06f5f97b93e7 - languageName: node - linkType: hard - "is-fullwidth-code-point@npm:^1.0.0": version: 1.0.0 resolution: "is-fullwidth-code-point@npm:1.0.0" @@ -18867,15 +18728,6 @@ __metadata: languageName: node linkType: hard -"is-integer@npm:^1.0.7": - version: 1.0.7 - resolution: "is-integer@npm:1.0.7" - dependencies: - is-finite: "npm:^1.0.0" - checksum: 10/e57ab783fa401df8f86a80f8e47d3e7dfdd19a0acb7183d7bb1e55830364172d7035b6980e98d856a2508b261923803d800c2a430c1e6801d9792c3394827f30 - languageName: node - linkType: hard - "is-interactive@npm:^1.0.0": version: 1.0.0 resolution: "is-interactive@npm:1.0.0" @@ -18941,13 +18793,6 @@ __metadata: languageName: node linkType: hard -"is-number@npm:^5.0.0": - version: 5.0.0 - resolution: "is-number@npm:5.0.0" - checksum: 10/7f1e90876793ed60face6a6c9886705bff80f3143c748c1f6f9eb72805c2681d60a1443988bfe72db1dbc662f9e6bead21fd206d546e774be170f787d41e66ce - languageName: node - linkType: hard - "is-number@npm:^7.0.0": version: 7.0.0 resolution: "is-number@npm:7.0.0" @@ -18971,20 +18816,6 @@ __metadata: languageName: node linkType: hard -"is-path-cwd@npm:^2.2.0": - version: 2.2.0 - resolution: "is-path-cwd@npm:2.2.0" - checksum: 10/46a840921bb8cc0dc7b5b423a14220e7db338072a4495743a8230533ce78812dc152548c86f4b828411fe98c5451959f07cf841c6a19f611e46600bd699e8048 - languageName: node - linkType: hard - -"is-path-inside@npm:^3.0.2, is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: 10/abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9 - languageName: node - linkType: hard - "is-plain-obj@npm:^1.0.0, is-plain-obj@npm:^1.1.0": version: 1.1.0 resolution: "is-plain-obj@npm:1.1.0" @@ -19006,6 +18837,13 @@ __metadata: languageName: node linkType: hard +"is-plain-obj@npm:^4.1.0": + version: 4.1.0 + resolution: "is-plain-obj@npm:4.1.0" + checksum: 10/6dc45da70d04a81f35c9310971e78a6a3c7a63547ef782e3a07ee3674695081b6ca4e977fbb8efc48dae3375e0b34558d2bcd722aec9bddfa2d7db5b041be8ce + languageName: node + linkType: hard + "is-plain-object@npm:^2.0.3, is-plain-object@npm:^2.0.4": version: 2.0.4 resolution: "is-plain-object@npm:2.0.4" @@ -19090,6 +18928,13 @@ __metadata: languageName: node linkType: hard +"is-stream@npm:^4.0.1": + version: 4.0.1 + resolution: "is-stream@npm:4.0.1" + checksum: 10/cbea3f1fc271b21ceb228819d0c12a0965a02b57f39423925f99530b4eb86935235f258f06310b67cd02b2d10b49e9a0998f5ececf110ab7d3760bae4055ad23 + languageName: node + linkType: hard + "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -19137,6 +18982,15 @@ __metadata: languageName: node linkType: hard +"is-typed-array@npm:^1.1.3": + version: 1.1.13 + resolution: "is-typed-array@npm:1.1.13" + dependencies: + which-typed-array: "npm:^1.1.14" + checksum: 10/f850ba08286358b9a11aee6d93d371a45e3c59b5953549ee1c1a9a55ba5c1dd1bd9952488ae194ad8f32a9cf5e79c8fa5f0cc4d78c00720aa0bbcf238b38062d + languageName: node + linkType: hard + "is-typed-array@npm:^1.1.7": version: 1.1.8 resolution: "is-typed-array@npm:1.1.8" @@ -19150,13 +19004,6 @@ __metadata: languageName: node linkType: hard -"is-typedarray@npm:^1.0.0": - version: 1.0.0 - resolution: "is-typedarray@npm:1.0.0" - checksum: 10/4b433bfb0f9026f079f4eb3fbaa4ed2de17c9995c3a0b5c800bec40799b4b2a8b4e051b1ada77749deb9ded4ae52fe2096973f3a93ff83df1a5a7184a669478c - languageName: node - linkType: hard - "is-unicode-supported@npm:^0.1.0": version: 0.1.0 resolution: "is-unicode-supported@npm:0.1.0" @@ -19206,14 +19053,14 @@ __metadata: languageName: node linkType: hard -"is-windows@npm:1.0.2, is-windows@npm:^1.0.2": +"is-windows@npm:^1.0.2": version: 1.0.2 resolution: "is-windows@npm:1.0.2" checksum: 10/438b7e52656fe3b9b293b180defb4e448088e7023a523ec21a91a80b9ff8cdb3377ddb5b6e60f7c7de4fa8b63ab56e121b6705fe081b3cf1b828b0a380009ad7 languageName: node linkType: hard -"is-wsl@npm:2.2.0, is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": +"is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" dependencies: @@ -19222,14 +19069,7 @@ __metadata: languageName: node linkType: hard -"isarray@npm:0.0.1": - version: 0.0.1 - resolution: "isarray@npm:0.0.1" - checksum: 10/49191f1425681df4a18c2f0f93db3adb85573bcdd6a4482539d98eac9e705d8961317b01175627e860516a2fc45f8f9302db26e5a380a97a520e272e2a40a8d4 - languageName: node - linkType: hard - -"isarray@npm:1.0.0, isarray@npm:~1.0.0": +"isarray@npm:1.0.0, isarray@npm:^1.0.0, isarray@npm:~1.0.0": version: 1.0.0 resolution: "isarray@npm:1.0.0" checksum: 10/f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab @@ -19287,6 +19127,16 @@ __metadata: languageName: node linkType: hard +"isolated-vm@npm:^4.6.0": + version: 4.7.2 + resolution: "isolated-vm@npm:4.7.2" + dependencies: + node-gyp: "npm:latest" + prebuild-install: "npm:^7.1.1" + checksum: 10/02973e9cf1fbfa013988abda0e8fc3a1ba30054126036570a54576779680d30166b8e7b81579bb5bd6e0bb060defcd9a0dbb05215ec297b5d8a002fc73a8924d + languageName: node + linkType: hard + "isstream@npm:0.1.x, isstream@npm:~0.1.2": version: 0.1.2 resolution: "isstream@npm:0.1.2" @@ -19307,7 +19157,7 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.0.0-alpha.1, istanbul-lib-coverage@npm:^3.2.0": +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": version: 3.2.0 resolution: "istanbul-lib-coverage@npm:3.2.0" checksum: 10/31621b84ad29339242b63d454243f558a7958ee0b5177749bacf1f74be7d95d3fd93853738ef7eebcddfaf3eab014716e51392a8dbd5aa1bdc1b15c2ebc53c24 @@ -19321,42 +19171,6 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-hook@npm:^3.0.0": - version: 3.0.0 - resolution: "istanbul-lib-hook@npm:3.0.0" - dependencies: - append-transform: "npm:^2.0.0" - checksum: 10/512a996cce6b1b9003ba59eab42299dd1527176c01f3ceb7b16bf68f437eeab4958f9df7df0a6b258d45d5f1a2ca2a1bdb915970711e1a5d7b2de911c582f721 - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^4.0.0": - version: 4.0.3 - resolution: "istanbul-lib-instrument@npm:4.0.3" - dependencies: - "@babel/core": "npm:^7.7.5" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-coverage: "npm:^3.0.0" - semver: "npm:^6.3.0" - checksum: 10/6e04ab365b95644ec4954b645f901be90be8ad81233d6df536300cdafcf70dd1ed22a912ceda38b32053c7fc9830c44cd23550c603f493329a8532073d1d6c42 - languageName: node - linkType: hard - -"istanbul-lib-processinfo@npm:^2.0.2": - version: 2.0.2 - resolution: "istanbul-lib-processinfo@npm:2.0.2" - dependencies: - archy: "npm:^1.0.0" - cross-spawn: "npm:^7.0.0" - istanbul-lib-coverage: "npm:^3.0.0-alpha.1" - make-dir: "npm:^3.0.0" - p-map: "npm:^3.0.0" - rimraf: "npm:^3.0.0" - uuid: "npm:^3.3.3" - checksum: 10/40efb26ea9d96a4c7571a70cf657ff7dc3e9fde3863020c3086c482bd8851320b127cc0a7e80e403a70e26b2b88579b007ca1a15af6ed351db6d4ec63fc2792d - languageName: node - linkType: hard - "istanbul-lib-report@npm:^3.0.0": version: 3.0.0 resolution: "istanbul-lib-report@npm:3.0.0" @@ -19379,17 +19193,6 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-source-maps@npm:^4.0.0": - version: 4.0.1 - resolution: "istanbul-lib-source-maps@npm:4.0.1" - dependencies: - debug: "npm:^4.1.1" - istanbul-lib-coverage: "npm:^3.0.0" - source-map: "npm:^0.6.1" - checksum: 10/5526983462799aced011d776af166e350191b816821ea7bcf71cab3e5272657b062c47dc30697a22a43656e3ced78893a42de677f9ccf276a28c913190953b82 - languageName: node - linkType: hard - "istanbul-lib-source-maps@npm:^5.0.6": version: 5.0.6 resolution: "istanbul-lib-source-maps@npm:5.0.6" @@ -19401,16 +19204,6 @@ __metadata: languageName: node linkType: hard -"istanbul-reports@npm:^3.0.2": - version: 3.1.4 - resolution: "istanbul-reports@npm:3.1.4" - dependencies: - html-escaper: "npm:^2.0.0" - istanbul-lib-report: "npm:^3.0.0" - checksum: 10/b720f7ff87a37e1500e001913e781395b96cc6ca4d475e01da2ec78d1571435ded4b1b31fb53ef8d760bc5fa691b2b6b647bcb4c1238f6aaf58b261d47510c93 - languageName: node - linkType: hard - "istanbul-reports@npm:^3.1.7": version: 3.1.7 resolution: "istanbul-reports@npm:3.1.7" @@ -19421,7 +19214,7 @@ __metadata: languageName: node linkType: hard -"iterall@npm:^1.1.3, iterall@npm:^1.2.1, iterall@npm:^1.3.0": +"iterall@npm:^1.1.3, iterall@npm:^1.2.1": version: 1.3.0 resolution: "iterall@npm:1.3.0" checksum: 10/700c3e9ae194a00b66dc8dcb449195f84add4e64afaf7ed624177e19565393f9bddd34d621ea70c8eceab87a8536fc0e45bb1c9d1ea7c710d41ed0c3d937b19f @@ -19454,6 +19247,15 @@ __metadata: languageName: node linkType: hard +"jackspeak@npm:^4.0.1": + version: 4.0.2 + resolution: "jackspeak@npm:4.0.2" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + checksum: 10/d9722f0e55f6c322c57aedf094c405f4201b834204629817187953988075521cfddb23df83e2a7b845723ca7eb0555068c5ce1556732e9c275d32a531881efa8 + languageName: node + linkType: hard + "jake@npm:^10.8.5": version: 10.8.5 resolution: "jake@npm:10.8.5" @@ -19521,10 +19323,10 @@ __metadata: languageName: node linkType: hard -"jju@npm:~1.4.0": - version: 1.4.0 - resolution: "jju@npm:1.4.0" - checksum: 10/1067ff8ce02221faac5a842116ed0ec79a53312a111d0bf8342a80bd02c0a3fdf0b8449694a65947db0a3e8420e8b326dffb489c7dd5866efc380c0d1708a707 +"jmespath@npm:0.16.0": + version: 0.16.0 + resolution: "jmespath@npm:0.16.0" + checksum: 10/cc8b4a5cd2a22a79fc2695d66e5a43bc0020ec1ebdbe648440e796764751af2f495771ce877dea45ee6545530f0a1528450c3c3026bc0e9d976a93447af9fb74 languageName: node linkType: hard @@ -19537,10 +19339,10 @@ __metadata: languageName: node linkType: hard -"jose@npm:^5.1.3": - version: 5.2.3 - resolution: "jose@npm:5.2.3" - checksum: 10/33056092ed6c1539eee6c0c75bd3664a39c639e02f21ec5cb32ddd231b9345f239e7bffe3f4741c903c711e237ceafb816ed634bd9cd5e4fb61b5a1f067e2c40 +"jose@npm:^5.6.2": + version: 5.9.3 + resolution: "jose@npm:5.9.3" + checksum: 10/9daf5511b8bfa184f1d6c265cdaf0a2b19e46f251d90703c6a5229ba76e5ac5fbd34626f263819569eb69a3f2cd2c37dab3b4fab9604258f468d343a784a9385 languageName: node linkType: hard @@ -19565,7 +19367,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:4.1.0, js-yaml@npm:^4.0.0, js-yaml@npm:^4.1.0": +"js-yaml@npm:4.1.0, js-yaml@npm:^4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" dependencies: @@ -19576,7 +19378,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.1, js-yaml@npm:^3.7.0": +"js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.1, js-yaml@npm:^3.14.1, js-yaml@npm:^3.7.0": version: 3.14.1 resolution: "js-yaml@npm:3.14.1" dependencies: @@ -19588,16 +19390,7 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^2.5.1": - version: 2.5.2 - resolution: "jsesc@npm:2.5.2" - bin: - jsesc: bin/jsesc - checksum: 10/d2096abdcdec56969764b40ffc91d4a23408aa2f351b4d1c13f736f25476643238c43fdbaf38a191c26b1b78fd856d965f5d4d0dde7b89459cd94025190cdf13 - languageName: node - linkType: hard - -"jsesc@npm:^3.0.2": +"jsesc@npm:^3.0.2, jsesc@npm:~3.0.2": version: 3.0.2 resolution: "jsesc@npm:3.0.2" bin: @@ -19657,6 +19450,13 @@ __metadata: languageName: node linkType: hard +"json-parse-even-better-errors@npm:^3.0.2": + version: 3.0.2 + resolution: "json-parse-even-better-errors@npm:3.0.2" + checksum: 10/6f04ea6c9ccb783630a59297959247e921cc90b917b8351197ca7fd058fccc7079268fd9362be21ba876fc26aa5039369dd0a2280aae49aae425784794a94927 + languageName: node + linkType: hard + "json-schema-traverse@npm:^0.4.1": version: 0.4.1 resolution: "json-schema-traverse@npm:0.4.1" @@ -19710,7 +19510,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:^2.1.1, json5@npm:^2.1.2, json5@npm:^2.2.2, json5@npm:^2.2.3": +"json5@npm:^2.1.1, json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" bin: @@ -19842,10 +19642,17 @@ __metadata: languageName: node linkType: hard -"kareem@npm:2.4.1": - version: 2.4.1 - resolution: "kareem@npm:2.4.1" - checksum: 10/566cc60b05a524fa2f2438376873652aa98c102987b5b72b42ed042ca791c324d386eae91874b801b85ba71148094f44e00306d1927f51e76f64c9bf650dbe34 +"kareem@npm:2.5.1": + version: 2.5.1 + resolution: "kareem@npm:2.5.1" + checksum: 10/6eb48a3dfbf6341e73554bda34018ba73335224d13cd47b40045fc83fc2f14656b3cd0589a7d4b6c9cbe0a6c81e2dec1f611a2406a5d5e912c83c8104b9281be + languageName: node + linkType: hard + +"kareem@npm:2.6.3": + version: 2.6.3 + resolution: "kareem@npm:2.6.3" + checksum: 10/8c2a2795b9b8537ad592d30e6a607e7db737c7401d4c178fa4f2984e7bb7444d0f185570ae0132633aeef8b3eb27d1b5fded07921661738a5723681eb6d246b4 languageName: node linkType: hard @@ -19867,6 +19674,15 @@ __metadata: languageName: node linkType: hard +"keyv@npm:^4.5.4": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10/167eb6ef64cc84b6fa0780ee50c9de456b422a1e18802209234f7c2cf7eae648c7741f32e50d7e24ccb22b24c13154070b01563d642755b156c357431a191e75 + languageName: node + linkType: hard + "kind-of@npm:^3.0.2, kind-of@npm:^3.0.3, kind-of@npm:^3.2.0": version: 3.2.2 resolution: "kind-of@npm:3.2.2" @@ -19899,13 +19715,6 @@ __metadata: languageName: node linkType: hard -"kleur@npm:4.1.5": - version: 4.1.5 - resolution: "kleur@npm:4.1.5" - checksum: 10/44d84cc4eedd4311099402ef6d4acd9b2d16e08e499d6ef3bb92389bd4692d7ef09e35248c26e27f98acac532122acb12a1bfee645994ae3af4f0a37996da7df - languageName: node - linkType: hard - "kleur@npm:^3.0.3": version: 3.0.3 resolution: "kleur@npm:3.0.3" @@ -19963,16 +19772,6 @@ __metadata: languageName: node linkType: hard -"koa-bodyparser@npm:^4.3.0": - version: 4.3.0 - resolution: "koa-bodyparser@npm:4.3.0" - dependencies: - co-body: "npm:^6.0.0" - copy-to: "npm:^2.0.1" - checksum: 10/c227fe0fb5a55b98fc91d865e80229b60178d216d53b732b07833eb38f48a7ed6aa768a083bc06e359db33298547e9a65842fbe9d3f0fdaf5149fe0becafc88f - languageName: node - linkType: hard - "koa-compose@npm:^4.1.0": version: 4.1.0 resolution: "koa-compose@npm:4.1.0" @@ -20019,12 +19818,10 @@ __metadata: languageName: node linkType: hard -"koa-override@npm:3.0.0": - version: 3.0.0 - resolution: "koa-override@npm:3.0.0" - dependencies: - methods: "npm:^1.1.2" - checksum: 10/88d489979bfa4b9c4a327cb1e06b071fd9c7d4ad05a37d8d3e1b9e1a58553936c55dc637e7b5fa35bbb75ba04329d10b5d53b0efc9c5d6f4b170f8cd746ebdbf +"koa-override@npm:4.0.0": + version: 4.0.0 + resolution: "koa-override@npm:4.0.0" + checksum: 10/3d22c974b42e76fd2c4dd9b275c984292ca84621ec1af319ce7e618723691d37a86c1576679549b2b70662c305a9a838bc3e976e2e421316387a49d7c953f9d8 languageName: node linkType: hard @@ -20071,7 +19868,7 @@ __metadata: languageName: node linkType: hard -"koa@npm:2.15.3": +"koa@npm:2.15.3, koa@npm:^2.15.3": version: 2.15.3 resolution: "koa@npm:2.15.3" dependencies: @@ -20102,44 +19899,6 @@ __metadata: languageName: node linkType: hard -"koa@npm:^2.14.2": - version: 2.15.2 - resolution: "koa@npm:2.15.2" - dependencies: - accepts: "npm:^1.3.5" - cache-content-type: "npm:^1.0.0" - content-disposition: "npm:~0.5.2" - content-type: "npm:^1.0.4" - cookies: "npm:~0.9.0" - debug: "npm:^4.3.2" - delegates: "npm:^1.0.0" - depd: "npm:^2.0.0" - destroy: "npm:^1.0.4" - encodeurl: "npm:^1.0.2" - escape-html: "npm:^1.0.3" - fresh: "npm:~0.5.2" - http-assert: "npm:^1.3.0" - http-errors: "npm:^1.6.3" - is-generator-function: "npm:^1.0.7" - koa-compose: "npm:^4.1.0" - koa-convert: "npm:^2.0.0" - on-finished: "npm:^2.3.0" - only: "npm:~0.0.2" - parseurl: "npm:^1.3.2" - statuses: "npm:^1.5.0" - type-is: "npm:^1.6.16" - vary: "npm:^1.1.2" - checksum: 10/edafa18bbbef420c557c678998252a4f448c211fdd0ff1e70eddd4f689fe1f7363fa5a05849cef5f1bcb2c3adc1ae360e68b0bcc1432cd58c5c75fb840204fe0 - languageName: node - linkType: hard - -"kolorist@npm:^1.8.0": - version: 1.8.0 - resolution: "kolorist@npm:1.8.0" - checksum: 10/71d5d122951cc65f2f14c3e1d7f8fd91694b374647d4f6deec3816d018cd04a44edd9578d93e00c82c2053b925e5d30a0565746c4171f4ca9fce1a13bd5f3315 - languageName: node - linkType: hard - "lazy-cache@npm:^1.0.3": version: 1.0.4 resolution: "lazy-cache@npm:1.0.4" @@ -20156,88 +19915,94 @@ __metadata: languageName: node linkType: hard -"lerna@npm:7.4.2": - version: 7.4.2 - resolution: "lerna@npm:7.4.2" +"lerna@npm:8.1.8": + version: 8.1.8 + resolution: "lerna@npm:8.1.8" dependencies: - "@lerna/child-process": "npm:7.4.2" - "@lerna/create": "npm:7.4.2" - "@npmcli/run-script": "npm:6.0.2" - "@nx/devkit": "npm:>=16.5.1 < 17" + "@lerna/create": "npm:8.1.8" + "@npmcli/arborist": "npm:7.5.4" + "@npmcli/package-json": "npm:5.2.0" + "@npmcli/run-script": "npm:8.1.0" + "@nx/devkit": "npm:>=17.1.2 < 20" "@octokit/plugin-enterprise-rest": "npm:6.0.1" "@octokit/rest": "npm:19.0.11" + aproba: "npm:2.0.0" byte-size: "npm:8.1.1" chalk: "npm:4.1.0" clone-deep: "npm:4.0.1" - cmd-shim: "npm:6.0.1" + cmd-shim: "npm:6.0.3" + color-support: "npm:1.1.3" columnify: "npm:1.6.0" + console-control-strings: "npm:^1.1.0" conventional-changelog-angular: "npm:7.0.0" conventional-changelog-core: "npm:5.0.1" conventional-recommended-bump: "npm:7.0.1" cosmiconfig: "npm:^8.2.0" - dedent: "npm:0.7.0" - envinfo: "npm:7.8.1" + dedent: "npm:1.5.3" + envinfo: "npm:7.13.0" execa: "npm:5.0.0" - fs-extra: "npm:^11.1.1" + fs-extra: "npm:^11.2.0" get-port: "npm:5.1.1" get-stream: "npm:6.0.0" - git-url-parse: "npm:13.1.0" - glob-parent: "npm:5.1.2" + git-url-parse: "npm:14.0.0" + glob-parent: "npm:6.0.2" globby: "npm:11.1.0" graceful-fs: "npm:4.2.11" has-unicode: "npm:2.0.1" import-local: "npm:3.1.0" ini: "npm:^1.3.8" - init-package-json: "npm:5.0.0" + init-package-json: "npm:6.0.3" inquirer: "npm:^8.2.4" is-ci: "npm:3.0.1" is-stream: "npm:2.0.0" jest-diff: "npm:>=29.4.3 < 30" js-yaml: "npm:4.1.0" - libnpmaccess: "npm:7.0.2" - libnpmpublish: "npm:7.3.0" + libnpmaccess: "npm:8.0.6" + libnpmpublish: "npm:9.0.9" load-json-file: "npm:6.2.0" lodash: "npm:^4.17.21" make-dir: "npm:4.0.0" minimatch: "npm:3.0.5" multimatch: "npm:5.0.0" node-fetch: "npm:2.6.7" - npm-package-arg: "npm:8.1.1" - npm-packlist: "npm:5.1.1" - npm-registry-fetch: "npm:^14.0.5" - npmlog: "npm:^6.0.2" - nx: "npm:>=16.5.1 < 17" + npm-package-arg: "npm:11.0.2" + npm-packlist: "npm:8.0.2" + npm-registry-fetch: "npm:^17.1.0" + nx: "npm:>=17.1.2 < 20" p-map: "npm:4.0.0" p-map-series: "npm:2.1.0" p-pipe: "npm:3.1.0" p-queue: "npm:6.6.2" p-reduce: "npm:2.1.0" p-waterfall: "npm:2.1.1" - pacote: "npm:^15.2.0" + pacote: "npm:^18.0.6" pify: "npm:5.0.0" read-cmd-shim: "npm:4.0.0" - read-package-json: "npm:6.0.4" resolve-from: "npm:5.0.0" rimraf: "npm:^4.4.1" semver: "npm:^7.3.8" + set-blocking: "npm:^2.0.0" signal-exit: "npm:3.0.7" slash: "npm:3.0.0" - ssri: "npm:^9.0.1" + ssri: "npm:^10.0.6" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" strong-log-transformer: "npm:2.1.0" - tar: "npm:6.1.11" + tar: "npm:6.2.1" temp-dir: "npm:1.0.0" typescript: "npm:>=3 < 6" upath: "npm:2.0.1" - uuid: "npm:^9.0.0" + uuid: "npm:^10.0.0" validate-npm-package-license: "npm:3.0.4" - validate-npm-package-name: "npm:5.0.0" + validate-npm-package-name: "npm:5.0.1" + wide-align: "npm:1.1.5" write-file-atomic: "npm:5.0.1" write-pkg: "npm:4.0.0" - yargs: "npm:16.2.0" - yargs-parser: "npm:20.2.4" + yargs: "npm:17.7.2" + yargs-parser: "npm:21.1.1" bin: lerna: dist/cli.js - checksum: 10/d5c8bd617c610fd31a02755ce689e5481a8e1ff2c5fc04087f9e890c5ef765a114cc9bc40a7d3b98abcee2c9f272cd037aacdc11d8d50faf8bdc153142bb5717 + checksum: 10/c058064f07b3e32fb10a2e37bd8a76b3cbba76c5e90250e508726003c4c2f80545d6a95a3de533ff8f1f20931c47055290e555a34b78de53eed786995d25b3e9 languageName: node linkType: hard @@ -20258,13 +20023,13 @@ __metadata: languageName: node linkType: hard -"libnpmaccess@npm:7.0.2": - version: 7.0.2 - resolution: "libnpmaccess@npm:7.0.2" +"libnpmaccess@npm:8.0.6": + version: 8.0.6 + resolution: "libnpmaccess@npm:8.0.6" dependencies: - npm-package-arg: "npm:^10.1.0" - npm-registry-fetch: "npm:^14.0.3" - checksum: 10/73d49f39391173276c46c12e32f503709338efd867d255d062ae9bc9e9f464d61240747f42bdd6dc6003a5dc275a27352ebfc11ed4cb424091463f302d823f23 + npm-package-arg: "npm:^11.0.2" + npm-registry-fetch: "npm:^17.0.1" + checksum: 10/62fa6a476321268ebd379f35782d9ead8993964bd9dfc8afbd201921d9037b7bc9d956f8b2717f1247e44ab33cb7de45b556ded66144f4b3038a828299cb260d languageName: node linkType: hard @@ -20355,19 +20120,19 @@ __metadata: languageName: node linkType: hard -"libnpmpublish@npm:7.3.0": - version: 7.3.0 - resolution: "libnpmpublish@npm:7.3.0" +"libnpmpublish@npm:9.0.9": + version: 9.0.9 + resolution: "libnpmpublish@npm:9.0.9" dependencies: - ci-info: "npm:^3.6.1" - normalize-package-data: "npm:^5.0.0" - npm-package-arg: "npm:^10.1.0" - npm-registry-fetch: "npm:^14.0.3" - proc-log: "npm:^3.0.0" + ci-info: "npm:^4.0.0" + normalize-package-data: "npm:^6.0.1" + npm-package-arg: "npm:^11.0.2" + npm-registry-fetch: "npm:^17.0.1" + proc-log: "npm:^4.2.0" semver: "npm:^7.3.7" - sigstore: "npm:^1.4.0" - ssri: "npm:^10.0.1" - checksum: 10/89c8b8810897f9bb584ab9c7b4aa5438636590ddfe482989b3440a4ea47f95969e395f7fe5af1a7a0364faf70a2b1680fa1d8a37002597f33acd9f3bcd6d555a + sigstore: "npm:^2.2.0" + ssri: "npm:^10.0.6" + checksum: 10/ea1064a727938abefe345d5af1261db8bdc1e71aedabf6945187c2b3a6ef1a4c9db69747ad3ffd4ecd61ea16866890e0da1a4defcbed64e555e7dcae49e55a98 languageName: node linkType: hard @@ -20426,10 +20191,17 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:2.0.5": - version: 2.0.5 - resolution: "lilconfig@npm:2.0.5" - checksum: 10/a6e201bcb5b2f876cdd8b1cb7d20b126156aff976e29a184b62e6408e1c7da127603390543441fda8656a34d710113d74bb1551317e0cdc9dcb6e96dfbf6c525 +"lilconfig@npm:~3.1.2": + version: 3.1.2 + resolution: "lilconfig@npm:3.1.2" + checksum: 10/8058403850cfad76d6041b23db23f730e52b6c17a8c28d87b90766639ca0ee40c748a3e85c2d7bd133d572efabff166c4b015e5d25e01fd666cb4b13cfada7f0 + languageName: node + linkType: hard + +"lines-and-columns@npm:2.0.3": + version: 2.0.3 + resolution: "lines-and-columns@npm:2.0.3" + checksum: 10/b5bb0d6ee2f82ae834ceddc9251af2060c30db476673e9c817c34c00bed58e0c5d90a6866b64afe7bdcb2c5eb1b418a5b1ee631d2592dc8ff381540901fa4da6 languageName: node linkType: hard @@ -20440,34 +20212,23 @@ __metadata: languageName: node linkType: hard -"lines-and-columns@npm:~2.0.3": - version: 2.0.3 - resolution: "lines-and-columns@npm:2.0.3" - checksum: 10/b5bb0d6ee2f82ae834ceddc9251af2060c30db476673e9c817c34c00bed58e0c5d90a6866b64afe7bdcb2c5eb1b418a5b1ee631d2592dc8ff381540901fa4da6 - languageName: node - linkType: hard - -"lint-staged@npm:^12.5.0": - version: 12.5.0 - resolution: "lint-staged@npm:12.5.0" +"lint-staged@npm:15.2.10": + version: 15.2.10 + resolution: "lint-staged@npm:15.2.10" dependencies: - cli-truncate: "npm:^3.1.0" - colorette: "npm:^2.0.16" - commander: "npm:^9.3.0" - debug: "npm:^4.3.4" - execa: "npm:^5.1.1" - lilconfig: "npm:2.0.5" - listr2: "npm:^4.0.5" - micromatch: "npm:^4.0.5" - normalize-path: "npm:^3.0.0" - object-inspect: "npm:^1.12.2" - pidtree: "npm:^0.5.0" - string-argv: "npm:^0.3.1" - supports-color: "npm:^9.2.2" - yaml: "npm:^1.10.2" + chalk: "npm:~5.3.0" + commander: "npm:~12.1.0" + debug: "npm:~4.3.6" + execa: "npm:~8.0.1" + lilconfig: "npm:~3.1.2" + listr2: "npm:~8.2.4" + micromatch: "npm:~4.0.8" + pidtree: "npm:~0.6.0" + string-argv: "npm:~0.3.2" + yaml: "npm:~2.5.0" bin: lint-staged: bin/lint-staged.js - checksum: 10/1bae4edc8e1529c361acf7b1162c715299411add2ad2c588fc9af1c97d1cb5ca29a0693aa0be5ad81fb0f49f8ba28e0f10b56322b1b1cc34f2b7a47299ebb5ac + checksum: 10/ab6930cd633dbb5b6ec7c81fc06c65df41e9f80d93dd22e0d79c6e272cdfd8110a0fbdec60303d46a06b30bcd92261153630e2c937531b77ec5ae41e7e9d90d3 languageName: node linkType: hard @@ -20538,24 +20299,17 @@ __metadata: languageName: node linkType: hard -"listr2@npm:^4.0.5": - version: 4.0.5 - resolution: "listr2@npm:4.0.5" +"listr2@npm:~8.2.4": + version: 8.2.4 + resolution: "listr2@npm:8.2.4" dependencies: - cli-truncate: "npm:^2.1.0" - colorette: "npm:^2.0.16" - log-update: "npm:^4.0.0" - p-map: "npm:^4.0.0" - rfdc: "npm:^1.3.0" - rxjs: "npm:^7.5.5" - through: "npm:^2.3.8" - wrap-ansi: "npm:^7.0.0" - peerDependencies: - enquirer: ">= 2.3.0 < 3" - peerDependenciesMeta: - enquirer: - optional: true - checksum: 10/9c591fdd4fd6b7e8b4feca60380be01d74c65a98857f6caff2418c609fb9f0016c2e1b65c0ef5b1f4ff015967be87e8642e7ac3ad7ce0aa3c1a0329b60128b3b + cli-truncate: "npm:^4.0.0" + colorette: "npm:^2.0.20" + eventemitter3: "npm:^5.0.1" + log-update: "npm:^6.1.0" + rfdc: "npm:^1.4.1" + wrap-ansi: "npm:^9.0.0" + checksum: 10/344d2397e127bf802935925e95b54468eef745fbbaf9326eb33a1634ae2d6e86cdb527ef48cb83a19a50671955d39b3e2608c74db85530df07b5674f5de115e1 languageName: node linkType: hard @@ -20625,16 +20379,6 @@ __metadata: languageName: node linkType: hard -"local-pkg@npm:^0.5.0": - version: 0.5.0 - resolution: "local-pkg@npm:0.5.0" - dependencies: - mlly: "npm:^1.4.2" - pkg-types: "npm:^1.0.3" - checksum: 10/20f4caba50dc6fb00ffcc1a78bc94b5acb33995e0aadf4d4edcdeab257e891aa08f50afddf02f3240b2c3d02432bc2078f2a916a280ed716b64753a3d250db70 - languageName: node - linkType: hard - "locate-path@npm:^2.0.0": version: 2.0.0 resolution: "locate-path@npm:2.0.0" @@ -20799,13 +20543,6 @@ __metadata: languageName: node linkType: hard -"lodash.difference@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.difference@npm:4.5.0" - checksum: 10/b22adb1be9c60e5997b8b483f8bab19878cb40eda65437907958e5d27990214716e1b00ebe312a97f47e63d8b891e4ae30947d08e1f0861ccdb9462f56ab9d77 - languageName: node - linkType: hard - "lodash.escaperegexp@npm:^4.1.2": version: 4.1.2 resolution: "lodash.escaperegexp@npm:4.1.2" @@ -20813,20 +20550,6 @@ __metadata: languageName: node linkType: hard -"lodash.flatten@npm:^4.4.0": - version: 4.4.0 - resolution: "lodash.flatten@npm:4.4.0" - checksum: 10/a2b192f220b0b6c78a6c0175e96bad888b9e0f2a887a8e8c1d0c29d03231fbf110bbb9be0d9de5f936537d143eeb9d5b4f44c4a44f5592c195bf2fae6a6b1e3a - languageName: node - linkType: hard - -"lodash.flattendeep@npm:^4.4.0": - version: 4.4.0 - resolution: "lodash.flattendeep@npm:4.4.0" - checksum: 10/0d0b41d8d86999e8bea94905ac65347404d427aacddbc6654dc2f85905e27cd2b708139671ecea135fa6f0a17ed94b9d4cab8ce12b08eddcbb1ddd83952ee4c2 - languageName: node - linkType: hard - "lodash.get@npm:^4.4.2": version: 4.4.2 resolution: "lodash.get@npm:4.4.2" @@ -20980,13 +20703,6 @@ __metadata: languageName: node linkType: hard -"lodash.union@npm:^4.6.0": - version: 4.6.0 - resolution: "lodash.union@npm:4.6.0" - checksum: 10/175f5786efc527238c1350ce561c28e5ba527b5957605f9e5b8a804fce78801d09ced7b72de0302325e5b14c711f94690b1a733c13ad3674cc1a76e1172db1f8 - languageName: node - linkType: hard - "lodash.uniq@npm:^3.2.2": version: 3.2.2 resolution: "lodash.uniq@npm:3.2.2" @@ -21021,7 +20737,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:4, lodash@npm:4.17.21, lodash@npm:>=4.17.21, lodash@npm:^4.17.10, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.5, lodash@npm:~4.17.15": +"lodash@npm:4.17.21, lodash@npm:>=4.17.21, lodash@npm:^4.17.10, lodash@npm:^4.17.15, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.17.5": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: 10/c08619c038846ea6ac754abd6dd29d2568aa705feb69339e836dfa8d8b09abbb2f859371e86863eda41848221f9af43714491467b5b0299122431e202bb0c532 @@ -21037,7 +20753,7 @@ __metadata: languageName: node linkType: hard -"log-symbols@npm:^4.1.0": +"log-symbols@npm:^4.0.0, log-symbols@npm:^4.1.0": version: 4.1.0 resolution: "log-symbols@npm:4.1.0" dependencies: @@ -21058,18 +20774,6 @@ __metadata: languageName: node linkType: hard -"log-update@npm:^4.0.0": - version: 4.0.0 - resolution: "log-update@npm:4.0.0" - dependencies: - ansi-escapes: "npm:^4.3.0" - cli-cursor: "npm:^3.1.0" - slice-ansi: "npm:^4.0.0" - wrap-ansi: "npm:^6.2.0" - checksum: 10/ae2f85bbabc1906034154fb7d4c4477c79b3e703d22d78adee8b3862fa913942772e7fa11713e3d96fb46de4e3cabefbf5d0a544344f03b58d3c4bff52aa9eb2 - languageName: node - linkType: hard - "log-update@npm:^6.0.0": version: 6.0.0 resolution: "log-update@npm:6.0.0" @@ -21083,6 +20787,19 @@ __metadata: languageName: node linkType: hard +"log-update@npm:^6.1.0": + version: 6.1.0 + resolution: "log-update@npm:6.1.0" + dependencies: + ansi-escapes: "npm:^7.0.0" + cli-cursor: "npm:^5.0.0" + slice-ansi: "npm:^7.1.0" + strip-ansi: "npm:^7.1.0" + wrap-ansi: "npm:^9.0.0" + checksum: 10/5abb4131e33b1e7f8416bb194fe17a3603d83e4657c5bf5bb81ce4187f3b00ea481643b85c3d5cefe6037a452cdcf7f1391ab8ea0d9c23e75d19589830ec4f11 + languageName: node + linkType: hard + "loglevel@npm:^1.6.7, loglevel@npm:^1.6.8": version: 1.8.0 resolution: "loglevel@npm:1.8.0" @@ -21147,25 +20864,12 @@ __metadata: languageName: node linkType: hard -"lowdb@npm:1.0.0": - version: 1.0.0 - resolution: "lowdb@npm:1.0.0" - dependencies: - graceful-fs: "npm:^4.1.3" - is-promise: "npm:^2.1.0" - lodash: "npm:4" - pify: "npm:^3.0.0" - steno: "npm:^0.4.1" - checksum: 10/0c94d2d2fc407424606cd30df903abbac7c403d0cd5a6b55b77c2604a366a6c37d26401d2b7889c53dcd8992031728637b26f01a55c2aa297127b2b4fa30143e - languageName: node - linkType: hard - -"lowdb@npm:3.0.0": - version: 3.0.0 - resolution: "lowdb@npm:3.0.0" +"lowdb@npm:7.0.1": + version: 7.0.1 + resolution: "lowdb@npm:7.0.1" dependencies: - steno: "npm:^2.1.0" - checksum: 10/c519dc6e1ccd9b245acde12a0449b5e47059b0435a1d830360704d5b1dc8bc477c173709cf84915a4c80f5c8c49f3c8a436030eba5dfe97af0e4d9057a3f13f1 + steno: "npm:^4.0.2" + checksum: 10/089cb878515b3b4634980c77b1697991571832a440f0fbc8cabe410ff9bb22b377387fc6cf6ebd9a6430707a835ebd69561f89d30aae7def43c93410b6f82b58 languageName: node linkType: hard @@ -21201,17 +20905,24 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.1.0": +"lru-cache@npm:^10.0.0, lru-cache@npm:^10.2.0, lru-cache@npm:^10.2.2": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10/e6e90267360476720fa8e83cc168aa2bf0311f3f2eea20a6ba78b90a885ae72071d9db132f40fda4129c803e7dcec3a6b6a6fbb44ca90b081630b810b5d6a41a + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1": version: 10.2.0 resolution: "lru-cache@npm:10.2.0" checksum: 10/502ec42c3309c0eae1ce41afca471f831c278566d45a5273a0c51102dee31e0e250a62fa9029c3370988df33a14188a38e682c16143b794de78668de3643e302 languageName: node linkType: hard -"lru-cache@npm:^10.2.0": - version: 10.4.3 - resolution: "lru-cache@npm:10.4.3" - checksum: 10/e6e90267360476720fa8e83cc168aa2bf0311f3f2eea20a6ba78b90a885ae72071d9db132f40fda4129c803e7dcec3a6b6a6fbb44ca90b081630b810b5d6a41a +"lru-cache@npm:^11.0.0": + version: 11.0.1 + resolution: "lru-cache@npm:11.0.1" + checksum: 10/26688a1b2a4d7fb97e9ea1ffb15348f1ab21b7110496814f5ce9190d50258fbba8c1444ae7232876deae1fc54adb230aa63dd1efc5bd47f240620ba8bf218041 languageName: node linkType: hard @@ -21233,13 +20944,20 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^7.10.1, lru-cache@npm:^7.4.4, lru-cache@npm:^7.5.1, lru-cache@npm:^7.7.1": +"lru-cache@npm:^7.10.1": version: 7.14.0 resolution: "lru-cache@npm:7.14.0" checksum: 10/f8e01009712d19e9da6001a9639188dc9a98f2686ed437a31432792c676e45a3ced8c4d28b117c18fd45eb49c7f8e676e5a5c31bf59c46a8ca0971c6b5280bc2 languageName: node linkType: hard +"lru-cache@npm:^7.14.1": + version: 7.18.3 + resolution: "lru-cache@npm:7.18.3" + checksum: 10/6029ca5aba3aacb554e919d7ef804fffd4adfc4c83db00fac8248c7c78811fb6d4b6f70f7fd9d55032b3823446546a007edaa66ad1f2377ae833bd983fac5d98 + languageName: node + linkType: hard + "lru-cache@npm:^9.1.1 || ^10.0.0": version: 10.0.1 resolution: "lru-cache@npm:10.0.1" @@ -21261,7 +20979,7 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.10, magic-string@npm:^0.30.11": +"magic-string@npm:^0.30.11": version: 0.30.11 resolution: "magic-string@npm:0.30.11" dependencies: @@ -21281,15 +20999,6 @@ __metadata: languageName: node linkType: hard -"make-dir@npm:3.1.0, make-dir@npm:^3.0.0, make-dir@npm:^3.0.2": - version: 3.1.0 - resolution: "make-dir@npm:3.1.0" - dependencies: - semver: "npm:^6.0.0" - checksum: 10/484200020ab5a1fdf12f393fe5f385fc8e4378824c940fba1729dcd198ae4ff24867bc7a5646331e50cead8abff5d9270c456314386e629acec6dff4b8016b78 - languageName: node - linkType: hard - "make-dir@npm:4.0.0, make-dir@npm:^4.0.0": version: 4.0.0 resolution: "make-dir@npm:4.0.0" @@ -21309,57 +21018,19 @@ __metadata: languageName: node linkType: hard -"make-error@npm:^1.1.1": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: 10/b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 - languageName: node - linkType: hard - -"make-fetch-happen@npm:^10.0.3": - version: 10.1.6 - resolution: "make-fetch-happen@npm:10.1.6" - dependencies: - agentkeepalive: "npm:^4.2.1" - cacache: "npm:^16.1.0" - http-cache-semantics: "npm:^4.1.0" - http-proxy-agent: "npm:^5.0.0" - https-proxy-agent: "npm:^5.0.0" - is-lambda: "npm:^1.0.1" - lru-cache: "npm:^7.7.1" - minipass: "npm:^3.1.6" - minipass-collect: "npm:^1.0.2" - minipass-fetch: "npm:^2.0.3" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^0.6.3" - promise-retry: "npm:^2.0.1" - socks-proxy-agent: "npm:^6.1.1" - ssri: "npm:^9.0.0" - checksum: 10/5b5d9593455489d5ff8e13190cf62a82ed01e4f02548f3be8a55efaeb64f54cbb9195c19ef1f6a0d848bfd5bc3b2e6688ee131f863c35d0434192811bb01750a - languageName: node - linkType: hard - -"make-fetch-happen@npm:^11.0.0, make-fetch-happen@npm:^11.0.1, make-fetch-happen@npm:^11.1.1": - version: 11.1.1 - resolution: "make-fetch-happen@npm:11.1.1" +"make-dir@npm:^3.0.0": + version: 3.1.0 + resolution: "make-dir@npm:3.1.0" dependencies: - agentkeepalive: "npm:^4.2.1" - cacache: "npm:^17.0.0" - http-cache-semantics: "npm:^4.1.1" - http-proxy-agent: "npm:^5.0.0" - https-proxy-agent: "npm:^5.0.0" - is-lambda: "npm:^1.0.1" - lru-cache: "npm:^7.7.1" - minipass: "npm:^5.0.0" - minipass-fetch: "npm:^3.0.0" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^0.6.3" - promise-retry: "npm:^2.0.1" - socks-proxy-agent: "npm:^7.0.0" - ssri: "npm:^10.0.0" - checksum: 10/b4b442cfaaec81db159f752a5f2e3ee3d7aa682782868fa399200824ec6298502e01bdc456e443dc219bcd5546c8e4471644d54109c8599841dc961d17a805fa + semver: "npm:^6.0.0" + checksum: 10/484200020ab5a1fdf12f393fe5f385fc8e4378824c940fba1729dcd198ae4ff24867bc7a5646331e50cead8abff5d9270c456314386e629acec6dff4b8016b78 + languageName: node + linkType: hard + +"make-error@npm:^1.1.1": + version: 1.3.6 + resolution: "make-error@npm:1.3.6" + checksum: 10/b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 languageName: node linkType: hard @@ -21470,12 +21141,14 @@ __metadata: languageName: node linkType: hard -"md5-file@npm:^5.0.0": - version: 5.0.0 - resolution: "md5-file@npm:5.0.0" - bin: - md5-file: cli.js - checksum: 10/c606a00ff58adf5428e8e2f36d86e5d3c7029f9688126faca302cd83b5e92cac183a62e1d1f05fae7c2614e80f993326fd0a8d6a3a913c41ec7ea0eefc25aa76 +"md5.js@npm:^1.3.4": + version: 1.3.5 + resolution: "md5.js@npm:1.3.5" + dependencies: + hash-base: "npm:^3.0.0" + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.1.2" + checksum: 10/098494d885684bcc4f92294b18ba61b7bd353c23147fbc4688c75b45cb8590f5a95fd4584d742415dcc52487f7a1ef6ea611cfa1543b0dc4492fe026357f3f0c languageName: node linkType: hard @@ -21622,6 +21295,13 @@ __metadata: languageName: node linkType: hard +"meow@npm:^13.0.0": + version: 13.2.0 + resolution: "meow@npm:13.2.0" + checksum: 10/4eff5bc921fed0b8a471ad79069d741a0210036d717547d0c7f36fdaf84ef7a3036225f38b6a53830d84dc9cbf8b944b097fde62381b8b5b215119e735ce1063 + languageName: node + linkType: hard + "meow@npm:^8.1.2": version: 8.1.2 resolution: "meow@npm:8.1.2" @@ -21648,6 +21328,13 @@ __metadata: languageName: node linkType: hard +"merge-descriptors@npm:1.0.3": + version: 1.0.3 + resolution: "merge-descriptors@npm:1.0.3" + checksum: 10/52117adbe0313d5defa771c9993fe081e2d2df9b840597e966aadafde04ae8d0e3da46bac7ca4efc37d4d2b839436582659cd49c6a43eacb3fe3050896a105d1 + languageName: node + linkType: hard + "merge-istanbul@npm:1.1.4": version: 1.1.4 resolution: "merge-istanbul@npm:1.1.4" @@ -21675,14 +21362,7 @@ __metadata: languageName: node linkType: hard -"merge@npm:^1.2.1": - version: 1.2.1 - resolution: "merge@npm:1.2.1" - checksum: 10/2298c4fdcf64561f320b92338681f7ffcafafb579a6e294066ae3e7bd10ae25df363903d2f028072733b9f79a1f75d2b999aef98ad5d73de13641da39cda0913 - languageName: node - linkType: hard - -"method-override@npm:3.0.0, method-override@npm:^3.0.0": +"method-override@npm:3.0.0": version: 3.0.0 resolution: "method-override@npm:3.0.0" dependencies: @@ -21778,7 +21458,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:4.0.8": +"micromatch@npm:4.0.8, micromatch@npm:~4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -21809,7 +21489,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.0, micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.5": +"micromatch@npm:^4.0.0, micromatch@npm:^4.0.2, micromatch@npm:^4.0.4": version: 4.0.5 resolution: "micromatch@npm:4.0.5" dependencies: @@ -21819,10 +21499,10 @@ __metadata: languageName: node linkType: hard -"mikro-orm@npm:6.2.2": - version: 6.2.2 - resolution: "mikro-orm@npm:6.2.2" - checksum: 10/293f111bc4c3677f57aeb67135cfc7daf091e5412c355ba6fe0b2c55c96525147f434f7373f749d1128eab8b0d4041d488cf0157990622ae6f773cd4728fc459 +"mikro-orm@npm:6.3.12": + version: 6.3.12 + resolution: "mikro-orm@npm:6.3.12" + checksum: 10/37f8643468e25bf9e27db8f0dd76654d5434c64849e87534bf285607091b5c777fe0f551cca67416513de87f840000b5f5e6bb7d9f08d434b1e5d707c3cb25e9 languageName: node linkType: hard @@ -21842,6 +21522,15 @@ __metadata: languageName: node linkType: hard +"mime@npm:*, mime@npm:^4.0.4": + version: 4.0.4 + resolution: "mime@npm:4.0.4" + bin: + mime: bin/cli.js + checksum: 10/28e41053ae09cbf4186c551d7cc3cdda10c04fdf447cfdb66db096d83279889a0e0589805b15e36c37ca8b0eedfa6317f25d0514462525271f0cffa5cb0514b4 + languageName: node + linkType: hard + "mime@npm:1.6.0": version: 1.6.0 resolution: "mime@npm:1.6.0" @@ -21851,7 +21540,7 @@ __metadata: languageName: node linkType: hard -"mime@npm:^2.5.0": +"mime@npm:2.6.0": version: 2.6.0 resolution: "mime@npm:2.6.0" bin: @@ -21860,15 +21549,6 @@ __metadata: languageName: node linkType: hard -"mime@npm:^3.0.0": - version: 3.0.0 - resolution: "mime@npm:3.0.0" - bin: - mime: cli.js - checksum: 10/b2d31580deb58be89adaa1877cbbf152b7604b980fd7ef8f08b9e96bfedf7d605d9c23a8ba62aa12c8580b910cd7c1d27b7331d0f40f7a14e17d5a0bbec3b49f - languageName: node - linkType: hard - "mime@npm:^4.0.0": version: 4.0.1 resolution: "mime@npm:4.0.1" @@ -21899,6 +21579,13 @@ __metadata: languageName: node linkType: hard +"mimic-function@npm:^5.0.0": + version: 5.0.1 + resolution: "mimic-function@npm:5.0.1" + checksum: 10/eb5893c99e902ccebbc267c6c6b83092966af84682957f79313311edb95e8bb5f39fb048d77132b700474d1c86d90ccc211e99bae0935447a4834eb4c882982c + languageName: node + linkType: hard + "mimic-response@npm:^3.1.0": version: 3.1.0 resolution: "mimic-response@npm:3.1.0" @@ -21936,7 +21623,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:3.0.x, minimatch@npm:~3.0.3": +"minimatch@npm:3.0.x": version: 3.0.8 resolution: "minimatch@npm:3.0.8" dependencies: @@ -21954,7 +21641,16 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^10.0.0": + version: 10.0.1 + resolution: "minimatch@npm:10.0.1" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10/082e7ccbc090d5f8c4e4e029255d5a1d1e3af37bda837da2b8b0085b1503a1210c91ac90d9ebfe741d8a5f286ece820a1abb4f61dc1f82ce602a055d461d93f3 + languageName: node + linkType: hard + +"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -22062,21 +21758,6 @@ __metadata: languageName: node linkType: hard -"minipass-fetch@npm:^2.0.3": - version: 2.1.0 - resolution: "minipass-fetch@npm:2.1.0" - dependencies: - encoding: "npm:^0.1.13" - minipass: "npm:^3.1.6" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^2.1.2" - dependenciesMeta: - encoding: - optional: true - checksum: 10/33b6927ef8a4516e27878e1e9966a6dee5c2efb844584b39712a8c222cf7cc586ae00c09897ce3b21e77b6600ad4c7503f8bd732ef1a8bf98137f18c45c6d6c4 - languageName: node - linkType: hard - "minipass-fetch@npm:^3.0.0": version: 3.0.4 resolution: "minipass-fetch@npm:3.0.4" @@ -22129,7 +21810,7 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3, minipass@npm:^3.1.6": +"minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3": version: 3.1.6 resolution: "minipass@npm:3.1.6" dependencies: @@ -22220,7 +21901,7 @@ __metadata: languageName: node linkType: hard -"mlly@npm:^1.4.2, mlly@npm:^1.7.1": +"mlly@npm:^1.7.1": version: 1.7.1 resolution: "mlly@npm:1.7.1" dependencies: @@ -22239,7 +21920,7 @@ __metadata: languageName: node linkType: hard -"moment-timezone@npm:^0.5.34, moment-timezone@npm:^0.5.35, moment-timezone@npm:^0.5.40": +"moment-timezone@npm:^0.5.34, moment-timezone@npm:^0.5.40": version: 0.5.44 resolution: "moment-timezone@npm:0.5.44" dependencies: @@ -22248,7 +21929,7 @@ __metadata: languageName: node linkType: hard -"moment-timezone@npm:^0.5.45": +"moment-timezone@npm:^0.5.43, moment-timezone@npm:^0.5.45": version: 0.5.45 resolution: "moment-timezone@npm:0.5.45" dependencies: @@ -22280,7 +21961,7 @@ __metadata: languageName: node linkType: hard -"mongodb-connection-string-url@npm:^2.5.2, mongodb-connection-string-url@npm:^2.6.0": +"mongodb-connection-string-url@npm:^2.6.0": version: 2.6.0 resolution: "mongodb-connection-string-url@npm:2.6.0" dependencies: @@ -22300,40 +21981,7 @@ __metadata: languageName: node linkType: hard -"mongodb-memory-server-core@npm:8.16.1": - version: 8.16.1 - resolution: "mongodb-memory-server-core@npm:8.16.1" - dependencies: - async-mutex: "npm:^0.3.2" - camelcase: "npm:^6.3.0" - debug: "npm:^4.3.4" - find-cache-dir: "npm:^3.3.2" - follow-redirects: "npm:^1.15.2" - get-port: "npm:^5.1.1" - https-proxy-agent: "npm:^5.0.1" - md5-file: "npm:^5.0.0" - mongodb: "npm:^4.16.0" - new-find-package-json: "npm:^2.0.0" - semver: "npm:^7.5.4" - tar-stream: "npm:^2.1.4" - tslib: "npm:^2.6.1" - uuid: "npm:^9.0.0" - yauzl: "npm:^2.10.0" - checksum: 10/7c7f0cb497405f17d152b3146bd2497791441bc6c1c4dc317e324a9472519c07922b0b89f804d61dc10e5709ad7644aa233519397eb0af6dd047f0de795c9555 - languageName: node - linkType: hard - -"mongodb-memory-server@npm:^8.16.0": - version: 8.16.1 - resolution: "mongodb-memory-server@npm:8.16.1" - dependencies: - mongodb-memory-server-core: "npm:8.16.1" - tslib: "npm:^2.6.1" - checksum: 10/a1746df8e5d24c37ac3e44d1ccaaa77eb6c4b192c9a5a3d2b52474756c6b43daa8921f2de67dec9b73ef0845708fb5fa218574b42107616ae40c883d82d35f3d - languageName: node - linkType: hard - -"mongodb@npm:*, mongodb@npm:^4.10.0, mongodb@npm:^4.11.0, mongodb@npm:^4.13.0, mongodb@npm:^4.16.0": +"mongodb@npm:4.17.2, mongodb@npm:^4.10.0, mongodb@npm:^4.11.0, mongodb@npm:^4.13.0": version: 4.17.2 resolution: "mongodb@npm:4.17.2" dependencies: @@ -22351,28 +21999,12 @@ __metadata: languageName: node linkType: hard -"mongodb@npm:4.8.1": - version: 4.8.1 - resolution: "mongodb@npm:4.8.1" - dependencies: - bson: "npm:^4.6.5" - denque: "npm:^2.0.1" - mongodb-connection-string-url: "npm:^2.5.2" - saslprep: "npm:^1.0.3" - socks: "npm:^2.6.2" - dependenciesMeta: - saslprep: - optional: true - checksum: 10/5adeaad4a19e80f95bf3ea40ec11e06bb9e86b9e6c5b8b0fb37f27f701efaff91cfbf3a907b4fc59cc23cce1e0fe047bbfac284e92cb74849e8a6fca6132214d - languageName: node - linkType: hard - -"mongodb@npm:6.5.0": - version: 6.5.0 - resolution: "mongodb@npm:6.5.0" +"mongodb@npm:6.9.0, mongodb@npm:^6.9.0": + version: 6.9.0 + resolution: "mongodb@npm:6.9.0" dependencies: "@mongodb-js/saslprep": "npm:^1.1.5" - bson: "npm:^6.4.0" + bson: "npm:^6.7.0" mongodb-connection-string-url: "npm:^3.0.0" peerDependencies: "@aws-sdk/credential-providers": ^3.188.0 @@ -22397,11 +22029,11 @@ __metadata: optional: true socks: optional: true - checksum: 10/537fcb59035c907b5e0a85f806893c4a0936e8d04a0cf788f0720b539195160036d6c43e40bdc0c48432d24c42e969c296adcb1eabbf70a2c5a7aafe5459e800 + checksum: 10/c2b1af2affc27d67ffd966e1821585d88970bfefae21a3f7232d2f32345df3ea1ff329118844904527f6d74cc4fcab7fcafae1f6a4d6b12a58c3f24a9a5e4e9b languageName: node linkType: hard -"mongodb@npm:6.8.0, mongodb@npm:^6.5.0": +"mongodb@npm:^6.5.0": version: 6.8.0 resolution: "mongodb@npm:6.8.0" dependencies: @@ -22435,18 +22067,33 @@ __metadata: languageName: node linkType: hard -"mongoose@npm:6.5.1": - version: 6.5.1 - resolution: "mongoose@npm:6.5.1" +"mongoose@npm:8.7.0, mongoose@npm:^8.7.0": + version: 8.7.0 + resolution: "mongoose@npm:8.7.0" + dependencies: + bson: "npm:^6.7.0" + kareem: "npm:2.6.3" + mongodb: "npm:6.9.0" + mpath: "npm:0.9.0" + mquery: "npm:5.0.0" + ms: "npm:2.1.3" + sift: "npm:17.1.3" + checksum: 10/46ef6c9c41871fde9701394e55a0bfb2ad272e862621ecbf961e42d2c7c3038fb2ba28dc7262e59114185c42680c378d6b00b8b24b01ae2c349179e32c43e641 + languageName: node + linkType: hard + +"mongoose@npm:^6.6.5": + version: 6.13.3 + resolution: "mongoose@npm:6.13.3" dependencies: - bson: "npm:^4.6.5" - kareem: "npm:2.4.1" - mongodb: "npm:4.8.1" + bson: "npm:^4.7.2" + kareem: "npm:2.5.1" + mongodb: "npm:4.17.2" mpath: "npm:0.9.0" mquery: "npm:4.0.3" ms: "npm:2.1.3" - sift: "npm:16.0.0" - checksum: 10/2498eae074f5142df10c2a8443d0c48e2e7ef320b25d973d797bd83f61f2634e00ee083ad96697301d95e5387ea4c6165c1094cb13ca6f4989c9952b0e0ab4af + sift: "npm:16.0.1" + checksum: 10/09a2cbe8dbf83a2d219818eef446a16fd7fddcd13904de0d8f9c8abec57997a94574b81ec326ffcd86ea61146b79bb2dd72983372450e14482f3a8a0849b8cb8 languageName: node linkType: hard @@ -22473,6 +22120,15 @@ __metadata: languageName: node linkType: hard +"mquery@npm:5.0.0": + version: 5.0.0 + resolution: "mquery@npm:5.0.0" + dependencies: + debug: "npm:4.x" + checksum: 10/36a792b2dc3fae92be0a7460151807fbbefe1299f8f286acd74968482e0dc042321c78ad76d6f975f0638370ff88df6e81db5efe17df5d53d2fb289cedbb0c23 + languageName: node + linkType: hard + "mrmime@npm:^2.0.0": version: 2.0.0 resolution: "mrmime@npm:2.0.0" @@ -22494,7 +22150,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.3, ms@npm:^2.0.0, ms@npm:^2.1.1, ms@npm:^2.1.2": +"ms@npm:2.1.3, ms@npm:^2.0.0, ms@npm:^2.1.1, ms@npm:^2.1.2, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10/aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d @@ -22551,13 +22207,6 @@ __metadata: languageName: node linkType: hard -"muggle-string@npm:^0.4.1": - version: 0.4.1 - resolution: "muggle-string@npm:0.4.1" - checksum: 10/8fa2ea08f497c04069718bd3fd1909b382114dacbad832d10967ca72690de43f5f8492d8ccfbf827d6be63868ed5fc10395e7b7c082aa95997eea498586c6620 - languageName: node - linkType: hard - "multer@npm:^1.4.5-lts.1": version: 1.4.5-lts.1 resolution: "multer@npm:1.4.5-lts.1" @@ -22614,7 +22263,7 @@ __metadata: languageName: node linkType: hard -"mute-stream@npm:1.0.0, mute-stream@npm:~1.0.0": +"mute-stream@npm:1.0.0, mute-stream@npm:^1.0.0, mute-stream@npm:~1.0.0": version: 1.0.0 resolution: "mute-stream@npm:1.0.0" checksum: 10/36fc968b0e9c9c63029d4f9dc63911950a3bdf55c9a87f58d3a266289b67180201cade911e7699f8b2fa596b34c9db43dad37649e3f7fdd13c3bb9edb0017ee7 @@ -22650,12 +22299,12 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^5.0.4": - version: 5.0.6 - resolution: "nanoid@npm:5.0.6" +"nanoid@npm:^5.0.7": + version: 5.0.7 + resolution: "nanoid@npm:5.0.7" bin: nanoid: bin/nanoid.js - checksum: 10/cd5d3eebd3b148b68b4b0238d94b1d8b4d955cc1a74b8e5217c1daecaed584d4b3701f41ce0f5e909ba4cd214592aff41fb53ac1955d77ea85d58df936726f29 + checksum: 10/25ab0b0cf9082ae6747f0f55cec930e6c1cc5975103aa3a5fda44be5720eff57d9b25a8a9850274bfdde8def964b49bf03def71c6aa7ad1cba32787819b79f60 languageName: node linkType: hard @@ -22692,13 +22341,6 @@ __metadata: languageName: node linkType: hard -"natural-compare-lite@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare-lite@npm:1.4.0" - checksum: 10/5222ac3986a2b78dd6069ac62cbb52a7bf8ffc90d972ab76dfe7b01892485d229530ed20d0c62e79a6b363a663b273db3bde195a1358ce9e5f779d4453887225 - languageName: node - linkType: hard - "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -22727,22 +22369,6 @@ __metadata: languageName: node linkType: hard -"new-find-package-json@npm:^2.0.0": - version: 2.0.0 - resolution: "new-find-package-json@npm:2.0.0" - dependencies: - debug: "npm:^4.3.4" - checksum: 10/5488ead794bd506894ddd8f3ac6240615e625ce56241ed6ff41a5ff46bdf495a81881bef6d25a3aa16d25f742e86e5629c2d052cd2f60530db3a85b2b1bd146c - languageName: node - linkType: hard - -"new-github-issue-url@npm:0.2.1": - version: 0.2.1 - resolution: "new-github-issue-url@npm:0.2.1" - checksum: 10/123c34296521353883ac7c43109a01a565a56fbd6d8e876db86978a74c798a9e1703180a77196b6abb5f608fd54c9853dda97a1eb43148ebebe7b0c89269f46d - languageName: node - linkType: hard - "no-case@npm:^2.2.0": version: 2.3.2 resolution: "no-case@npm:2.3.2" @@ -22771,22 +22397,13 @@ __metadata: languageName: node linkType: hard -"node-abort-controller@npm:^3.0.1, node-abort-controller@npm:^3.1.1": +"node-abort-controller@npm:^3.1.1": version: 3.1.1 resolution: "node-abort-controller@npm:3.1.1" checksum: 10/0a2cdb7ec0aeaf3cb31e1ca0e192f5add48f1c5c9c9ed822129f9dddbd9432f69b7425982f94ce803c56a2104884530aa67cd57696e5774b2e5b8ec2f58de042 languageName: node linkType: hard -"node-addon-api@npm:^3.2.1": - version: 3.2.1 - resolution: "node-addon-api@npm:3.2.1" - dependencies: - node-gyp: "npm:latest" - checksum: 10/681b52dfa3e15b0a8e5cf283cc0d8cd5fd2a57c559ae670fcfd20544cbb32f75de7648674110defcd17ab2c76ebef630aa7d2d2f930bc7a8cc439b20fe233518 - languageName: node - linkType: hard - "node-addon-api@npm:^7.0.0": version: 7.1.0 resolution: "node-addon-api@npm:7.1.0" @@ -22808,20 +22425,6 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:2.6.11": - version: 2.6.11 - resolution: "node-fetch@npm:2.6.11" - dependencies: - whatwg-url: "npm:^5.0.0" - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 10/de59f077d419ecb7889c2fda6c641af99ab7d4131e7a90803b68b2911c81f77483f15d515096603a6dd3dc738b53d8c28b68d47d38c7c41770c0dbf4238fa6fe - languageName: node - linkType: hard - "node-fetch@npm:2.6.7": version: 2.6.7 resolution: "node-fetch@npm:2.6.7" @@ -22868,17 +22471,6 @@ __metadata: languageName: node linkType: hard -"node-gyp-build@npm:^4.3.0": - version: 4.8.0 - resolution: "node-gyp-build@npm:4.8.0" - bin: - node-gyp-build: bin.js - node-gyp-build-optional: optional.js - node-gyp-build-test: build-test.js - checksum: 10/80f410ab412df38e84171d3634a5716b6c6f14ecfa4eb971424d289381fb76f8bcbe1b666419ceb2c81060e558fd7c6d70cc0f60832bcca6a1559098925d9657 - languageName: node - linkType: hard - "node-gyp@npm:8.x": version: 8.4.1 resolution: "node-gyp@npm:8.4.1" @@ -22919,26 +22511,6 @@ __metadata: languageName: node linkType: hard -"node-gyp@npm:^9.0.0": - version: 9.0.0 - resolution: "node-gyp@npm:9.0.0" - dependencies: - env-paths: "npm:^2.2.0" - glob: "npm:^7.1.4" - graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^10.0.3" - nopt: "npm:^5.0.0" - npmlog: "npm:^6.0.0" - rimraf: "npm:^3.0.2" - semver: "npm:^7.3.5" - tar: "npm:^6.1.2" - which: "npm:^2.0.2" - bin: - node-gyp: bin/node-gyp.js - checksum: 10/7a9f184dda7bd53970ac52e138b091b417505bef5be0a7d9a902137a55246afaebbae1263a0545b6d7d94af131bcd49ac99f18db0b801c5b4c627dd291c08a7f - languageName: node - linkType: hard - "node-machine-id@npm:1.1.12": version: 1.1.12 resolution: "node-machine-id@npm:1.1.12" @@ -22953,15 +22525,6 @@ __metadata: languageName: node linkType: hard -"node-preload@npm:^0.2.1": - version: 0.2.1 - resolution: "node-preload@npm:0.2.1" - dependencies: - process-on-spawn: "npm:^1.0.0" - checksum: 10/de36ed365b7e474eaf05c41f976774dece23a7f398fe76dbf9705f9670a1f49e6a27c5f31fe58b4e43d96413fdce4806192c60d35317b25725636c90889d5bab - languageName: node - linkType: hard - "node-releases@npm:^2.0.13": version: 2.0.13 resolution: "node-releases@npm:2.0.13" @@ -22969,10 +22532,10 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^2.0.14": - version: 2.0.14 - resolution: "node-releases@npm:2.0.14" - checksum: 10/0f7607ec7db5ef1dc616899a5f24ae90c869b6a54c2d4f36ff6d84a282ab9343c7ff3ca3670fe4669171bb1e8a9b3e286e1ef1c131f09a83d70554f855d54f24 +"node-releases@npm:^2.0.18": + version: 2.0.18 + resolution: "node-releases@npm:2.0.18" + checksum: 10/241e5fa9556f1c12bafb83c6c3e94f8cf3d8f2f8f904906ecef6e10bcaa1d59aa61212d4651bec70052015fc54bd3fdcdbe7fc0f638a17e6685aa586c076ec4e languageName: node linkType: hard @@ -23030,6 +22593,17 @@ __metadata: languageName: node linkType: hard +"nopt@npm:^7.2.1": + version: 7.2.1 + resolution: "nopt@npm:7.2.1" + dependencies: + abbrev: "npm:^2.0.0" + bin: + nopt: bin/nopt.js + checksum: 10/95a1f6dec8a81cd18cdc2fed93e6f0b4e02cf6bdb4501c848752c6e34f9883d9942f036a5e3b21a699047d8a448562d891e67492df68ec9c373e6198133337ae + languageName: node + linkType: hard + "normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.5.0": version: 2.5.0 resolution: "normalize-package-data@npm:2.5.0" @@ -23054,27 +22628,26 @@ __metadata: languageName: node linkType: hard -"normalize-package-data@npm:^5.0.0": - version: 5.0.0 - resolution: "normalize-package-data@npm:5.0.0" +"normalize-package-data@npm:^6.0.0": + version: 6.0.0 + resolution: "normalize-package-data@npm:6.0.0" dependencies: - hosted-git-info: "npm:^6.0.0" + hosted-git-info: "npm:^7.0.0" is-core-module: "npm:^2.8.1" semver: "npm:^7.3.5" validate-npm-package-license: "npm:^3.0.4" - checksum: 10/477344ee99c6c81afbc4359f9dc7a3a219cc29a37fe0220a4595bbdb7e1e5fa9e3c195e99900228b72d8676edf99eb99fd3b66aa94b4b8ab74d516f2ff60e510 + checksum: 10/e31e31a2ebaef93ef107feb9408f105044eeae9cb7d0d4619544ab2323cd4b15ca648b0d558ac29db2fece161c7b8658206bb27ebe9340df723f7174b3e2759d languageName: node linkType: hard -"normalize-package-data@npm:^6.0.0": - version: 6.0.0 - resolution: "normalize-package-data@npm:6.0.0" +"normalize-package-data@npm:^6.0.1": + version: 6.0.2 + resolution: "normalize-package-data@npm:6.0.2" dependencies: hosted-git-info: "npm:^7.0.0" - is-core-module: "npm:^2.8.1" semver: "npm:^7.3.5" validate-npm-package-license: "npm:^3.0.4" - checksum: 10/e31e31a2ebaef93ef107feb9408f105044eeae9cb7d0d4619544ab2323cd4b15ca648b0d558ac29db2fece161c7b8658206bb27ebe9340df723f7174b3e2759d + checksum: 10/7c4216a2426aa76c0197f8372f06b23a0484d62b3518fb5c0f6ebccb16376bdfab29ceba96f95c75f60506473198f1337fe337b945c8df0541fe32b8049ab4c9 languageName: node linkType: hard @@ -23099,24 +22672,6 @@ __metadata: languageName: node linkType: hard -"npm-bundled@npm:^1.1.2": - version: 1.1.2 - resolution: "npm-bundled@npm:1.1.2" - dependencies: - npm-normalize-package-bin: "npm:^1.0.1" - checksum: 10/722154cb5e9792abc2aa0112f8a5ac62885224f2e01f010d4e1a32233522a8b7849a716a9184bbf7d6ba865177da337fafeaf41bd32800785067093133a380e3 - languageName: node - linkType: hard - -"npm-bundled@npm:^2.0.0": - version: 2.0.1 - resolution: "npm-bundled@npm:2.0.1" - dependencies: - npm-normalize-package-bin: "npm:^2.0.0" - checksum: 10/adf5d727915cbd61603e2171ba67e39319efa343ceb72868348232a36ad774a8365d5af5e1aad29acc41c3caeda4ebd80e5b7a3da319985509aeedf79e352c0d - languageName: node - linkType: hard - "npm-bundled@npm:^3.0.0": version: 3.0.0 resolution: "npm-bundled@npm:3.0.0" @@ -23135,20 +22690,6 @@ __metadata: languageName: node linkType: hard -"npm-normalize-package-bin@npm:^1.0.1": - version: 1.0.1 - resolution: "npm-normalize-package-bin@npm:1.0.1" - checksum: 10/b61593d1afc2b05258afe791043d1b665376ec91ae56dfcf6c67bb802acfc2c249136d3fb600f356562ef013f9e46a009c5e4769693bf13bcabf99fb5e806e6a - languageName: node - linkType: hard - -"npm-normalize-package-bin@npm:^2.0.0": - version: 2.0.0 - resolution: "npm-normalize-package-bin@npm:2.0.0" - checksum: 10/7c5379f9b188b564c4332c97bdd9a5d6b7b15f02b5823b00989d6a0e6fb31eb0280f02b0a924f930e1fcaf00e60fae333aec8923d2a4c7747613c7d629d8aa25 - languageName: node - linkType: hard - "npm-normalize-package-bin@npm:^3.0.0": version: 3.0.1 resolution: "npm-normalize-package-bin@npm:3.0.1" @@ -23156,26 +22697,15 @@ __metadata: languageName: node linkType: hard -"npm-package-arg@npm:8.1.1": - version: 8.1.1 - resolution: "npm-package-arg@npm:8.1.1" - dependencies: - hosted-git-info: "npm:^3.0.6" - semver: "npm:^7.0.0" - validate-npm-package-name: "npm:^3.0.0" - checksum: 10/b50b130680997f37c97fd6a4b100e447739eb5615a7f06e8c8010c2cc6ba61ba91e370d481cea06a90febc89816197a900189a9f91dab7b860171dda2334b320 - languageName: node - linkType: hard - -"npm-package-arg@npm:^10.0.0, npm-package-arg@npm:^10.1.0": - version: 10.1.0 - resolution: "npm-package-arg@npm:10.1.0" +"npm-package-arg@npm:11.0.2": + version: 11.0.2 + resolution: "npm-package-arg@npm:11.0.2" dependencies: - hosted-git-info: "npm:^6.0.0" - proc-log: "npm:^3.0.0" + hosted-git-info: "npm:^7.0.0" + proc-log: "npm:^4.0.0" semver: "npm:^7.3.5" validate-npm-package-name: "npm:^5.0.0" - checksum: 10/3bbb5f081099f73e852b4d3a3a10f78d495bdf21e050ca5c78dc134921c99ec856d1555ff6ba9c1c15b7475ad976ce803ef53fdda34abec622fe8f5d76421319 + checksum: 10/ce4c51900a73aadb408c9830c38a61b1930e1ab08509ec5ebbcf625ad14326ee33b014df289c942039bd28071ab17e813368f68d26a4ccad0eb6e9928f8ad03c languageName: node linkType: hard @@ -23191,44 +22721,19 @@ __metadata: languageName: node linkType: hard -"npm-packlist@npm:5.1.1": - version: 5.1.1 - resolution: "npm-packlist@npm:5.1.1" - dependencies: - glob: "npm:^8.0.1" - ignore-walk: "npm:^5.0.1" - npm-bundled: "npm:^1.1.2" - npm-normalize-package-bin: "npm:^1.0.1" - bin: - npm-packlist: bin/index.js - checksum: 10/938299a48c7d2435199c8245f3ed79ad38c26f2256fe223d8654702d5e84d91a4193ee552333cf66d1716a94bc19a03b8ba43e1c5cd0535323de958b8dc7049e - languageName: node - linkType: hard - -"npm-packlist@npm:5.1.3": - version: 5.1.3 - resolution: "npm-packlist@npm:5.1.3" +"npm-package-arg@npm:^11.0.2": + version: 11.0.3 + resolution: "npm-package-arg@npm:11.0.3" dependencies: - glob: "npm:^8.0.1" - ignore-walk: "npm:^5.0.1" - npm-bundled: "npm:^2.0.0" - npm-normalize-package-bin: "npm:^2.0.0" - bin: - npm-packlist: bin/index.js - checksum: 10/78aa1c69a349c40cf7ba556581bff2dd5cbc1455614a44bd673e076f7f402096ac7c01660c45ec17cbd51bf0db3a4df7e9bc3a0a8e8e497ebf6d53848f33dfad - languageName: node - linkType: hard - -"npm-packlist@npm:^7.0.0": - version: 7.0.4 - resolution: "npm-packlist@npm:7.0.4" - dependencies: - ignore-walk: "npm:^6.0.0" - checksum: 10/b24644eefa21d33c55a8f49c64eda4b06edfb7d25853be8ded7346e73c6c447be8a0482314b74f04f94e3f5712e467505dc030826ba55a71d1b948459fad6486 + hosted-git-info: "npm:^7.0.0" + proc-log: "npm:^4.0.0" + semver: "npm:^7.3.5" + validate-npm-package-name: "npm:^5.0.0" + checksum: 10/bacc863907edf98940286edc2fd80327901c1e8b34426d538cdc708ed66bc6567f06d742d838eaf35db6804347bb4ba56ca9cef032c4b52743b33e7a22a2678e languageName: node linkType: hard -"npm-packlist@npm:^8.0.0": +"npm-packlist@npm:8.0.2, npm-packlist@npm:^8.0.0": version: 8.0.2 resolution: "npm-packlist@npm:8.0.2" dependencies: @@ -23237,27 +22742,27 @@ __metadata: languageName: node linkType: hard -"npm-pick-manifest@npm:^8.0.0": - version: 8.0.2 - resolution: "npm-pick-manifest@npm:8.0.2" +"npm-pick-manifest@npm:^9.0.0": + version: 9.0.0 + resolution: "npm-pick-manifest@npm:9.0.0" dependencies: npm-install-checks: "npm:^6.0.0" npm-normalize-package-bin: "npm:^3.0.0" - npm-package-arg: "npm:^10.0.0" + npm-package-arg: "npm:^11.0.0" semver: "npm:^7.3.5" - checksum: 10/3f10a34e12cbb576edb694562a32730c6c0244b2929b91202d1be62ece76bc8b282dc7e9535d313d598963f8e3d06d19973611418a191fe3102be149a8fa0910 + checksum: 10/29dca2a838ed35c714df1a76f76616df2df51ce31bc3ca5943a0668b2eca2a5aab448f9f89cadf7a77eb5e3831c554cebaf7802f3e432838acb34c1a74fa2786 languageName: node linkType: hard -"npm-pick-manifest@npm:^9.0.0": - version: 9.0.0 - resolution: "npm-pick-manifest@npm:9.0.0" +"npm-pick-manifest@npm:^9.0.1": + version: 9.1.0 + resolution: "npm-pick-manifest@npm:9.1.0" dependencies: npm-install-checks: "npm:^6.0.0" npm-normalize-package-bin: "npm:^3.0.0" npm-package-arg: "npm:^11.0.0" semver: "npm:^7.3.5" - checksum: 10/29dca2a838ed35c714df1a76f76616df2df51ce31bc3ca5943a0668b2eca2a5aab448f9f89cadf7a77eb5e3831c554cebaf7802f3e432838acb34c1a74fa2786 + checksum: 10/e759e4fe4076da9169cf522964a80bbc096d50cd24c8c44b50b44706c4479bd9d9d018fbdb76c6ea0c6037e012e07c6c917a1ecaa7ae1a1169cddfae1c0f24b6 languageName: node linkType: hard @@ -23271,33 +22776,34 @@ __metadata: languageName: node linkType: hard -"npm-registry-fetch@npm:^14.0.0, npm-registry-fetch@npm:^14.0.3, npm-registry-fetch@npm:^14.0.5": - version: 14.0.5 - resolution: "npm-registry-fetch@npm:14.0.5" +"npm-registry-fetch@npm:^16.0.0, npm-registry-fetch@npm:^16.1.0": + version: 16.1.0 + resolution: "npm-registry-fetch@npm:16.1.0" dependencies: - make-fetch-happen: "npm:^11.0.0" - minipass: "npm:^5.0.0" + make-fetch-happen: "npm:^13.0.0" + minipass: "npm:^7.0.2" minipass-fetch: "npm:^3.0.0" minipass-json-stream: "npm:^1.0.1" minizlib: "npm:^2.1.2" - npm-package-arg: "npm:^10.0.0" + npm-package-arg: "npm:^11.0.0" proc-log: "npm:^3.0.0" - checksum: 10/63026b22d6a6afe5cb3a02dca96db783b88d3acc68be94f3485f25a5e4932800fdeff08145a77b35b8f61987033346462d4b3e710c0729a9735357ff97596062 + checksum: 10/ba760c9cdacb1219ac5d8fecc26b1c55d502b55d45ab85ad556353b9bc5ba664c226fda54284c06df8c7eecfdcacb1aa065838ea7d1b0189d24c4d3f186309d2 languageName: node linkType: hard -"npm-registry-fetch@npm:^16.0.0, npm-registry-fetch@npm:^16.1.0": - version: 16.1.0 - resolution: "npm-registry-fetch@npm:16.1.0" +"npm-registry-fetch@npm:^17.0.0, npm-registry-fetch@npm:^17.0.1, npm-registry-fetch@npm:^17.1.0": + version: 17.1.0 + resolution: "npm-registry-fetch@npm:17.1.0" dependencies: + "@npmcli/redact": "npm:^2.0.0" + jsonparse: "npm:^1.3.1" make-fetch-happen: "npm:^13.0.0" minipass: "npm:^7.0.2" minipass-fetch: "npm:^3.0.0" - minipass-json-stream: "npm:^1.0.1" minizlib: "npm:^2.1.2" npm-package-arg: "npm:^11.0.0" - proc-log: "npm:^3.0.0" - checksum: 10/ba760c9cdacb1219ac5d8fecc26b1c55d502b55d45ab85ad556353b9bc5ba664c226fda54284c06df8c7eecfdcacb1aa065838ea7d1b0189d24c4d3f186309d2 + proc-log: "npm:^4.0.0" + checksum: 10/b9b2a73907fb5b2d8187031e040d7b2918f2b127ac858a84bd244f6435d16dd04df23c9660f32d7e9deb0216b91071623f040fd51b0bd375e8c7fed7d7a82a1c languageName: node linkType: hard @@ -23319,6 +22825,16 @@ __metadata: languageName: node linkType: hard +"npm-run-path@npm:^6.0.0": + version: 6.0.0 + resolution: "npm-run-path@npm:6.0.0" + dependencies: + path-key: "npm:^4.0.0" + unicorn-magic: "npm:^0.3.0" + checksum: 10/1a1b50aba6e6af7fd34a860ba2e252e245c4a59b316571a990356417c0cdf0414cabf735f7f52d9c330899cb56f0ab804a8e21fb12a66d53d7843e39ada4a3b6 + languageName: node + linkType: hard + "npm-user-validate@npm:^2.0.0": version: 2.0.0 resolution: "npm-user-validate@npm:2.0.0" @@ -23407,7 +22923,7 @@ __metadata: languageName: node linkType: hard -"npmlog@npm:^6.0.0, npmlog@npm:^6.0.2": +"npmlog@npm:^6.0.0": version: 6.0.2 resolution: "npmlog@npm:6.0.2" dependencies: @@ -23463,7 +22979,7 @@ __metadata: languageName: node linkType: hard -"nunjucks@npm:^3.2.3, nunjucks@npm:^3.2.4": +"nunjucks@npm:^3.2.4": version: 3.2.4 resolution: "nunjucks@npm:3.2.4" dependencies: @@ -23481,58 +22997,56 @@ __metadata: languageName: node linkType: hard -"nx@npm:16.10.0, nx@npm:>=16.5.1 < 17": - version: 16.10.0 - resolution: "nx@npm:16.10.0" +"nx@npm:19.8.4, nx@npm:>=17.1.2 < 20": + version: 19.8.4 + resolution: "nx@npm:19.8.4" dependencies: - "@nrwl/tao": "npm:16.10.0" - "@nx/nx-darwin-arm64": "npm:16.10.0" - "@nx/nx-darwin-x64": "npm:16.10.0" - "@nx/nx-freebsd-x64": "npm:16.10.0" - "@nx/nx-linux-arm-gnueabihf": "npm:16.10.0" - "@nx/nx-linux-arm64-gnu": "npm:16.10.0" - "@nx/nx-linux-arm64-musl": "npm:16.10.0" - "@nx/nx-linux-x64-gnu": "npm:16.10.0" - "@nx/nx-linux-x64-musl": "npm:16.10.0" - "@nx/nx-win32-arm64-msvc": "npm:16.10.0" - "@nx/nx-win32-x64-msvc": "npm:16.10.0" - "@parcel/watcher": "npm:2.0.4" + "@napi-rs/wasm-runtime": "npm:0.2.4" + "@nrwl/tao": "npm:19.8.4" + "@nx/nx-darwin-arm64": "npm:19.8.4" + "@nx/nx-darwin-x64": "npm:19.8.4" + "@nx/nx-freebsd-x64": "npm:19.8.4" + "@nx/nx-linux-arm-gnueabihf": "npm:19.8.4" + "@nx/nx-linux-arm64-gnu": "npm:19.8.4" + "@nx/nx-linux-arm64-musl": "npm:19.8.4" + "@nx/nx-linux-x64-gnu": "npm:19.8.4" + "@nx/nx-linux-x64-musl": "npm:19.8.4" + "@nx/nx-win32-arm64-msvc": "npm:19.8.4" + "@nx/nx-win32-x64-msvc": "npm:19.8.4" "@yarnpkg/lockfile": "npm:^1.1.0" "@yarnpkg/parsers": "npm:3.0.0-rc.46" - "@zkochan/js-yaml": "npm:0.0.6" - axios: "npm:^1.0.0" + "@zkochan/js-yaml": "npm:0.0.7" + axios: "npm:^1.7.4" chalk: "npm:^4.1.0" cli-cursor: "npm:3.1.0" cli-spinners: "npm:2.6.1" cliui: "npm:^8.0.1" - dotenv: "npm:~16.3.1" - dotenv-expand: "npm:~10.0.0" + dotenv: "npm:~16.4.5" + dotenv-expand: "npm:~11.0.6" enquirer: "npm:~2.3.6" figures: "npm:3.2.0" flat: "npm:^5.0.2" - fs-extra: "npm:^11.1.0" - glob: "npm:7.1.4" + front-matter: "npm:^4.0.2" ignore: "npm:^5.0.4" jest-diff: "npm:^29.4.1" - js-yaml: "npm:4.1.0" jsonc-parser: "npm:3.2.0" - lines-and-columns: "npm:~2.0.3" - minimatch: "npm:3.0.5" + lines-and-columns: "npm:2.0.3" + minimatch: "npm:9.0.3" node-machine-id: "npm:1.1.12" npm-run-path: "npm:^4.0.1" open: "npm:^8.4.0" - semver: "npm:7.5.3" + ora: "npm:5.3.0" + semver: "npm:^7.5.3" string-width: "npm:^4.2.3" strong-log-transformer: "npm:^2.1.0" tar-stream: "npm:~2.2.0" tmp: "npm:~0.2.1" tsconfig-paths: "npm:^4.1.2" tslib: "npm:^2.3.0" - v8-compile-cache: "npm:2.3.0" yargs: "npm:^17.6.2" yargs-parser: "npm:21.1.1" peerDependencies: - "@swc-node/register": ^1.6.7 + "@swc-node/register": ^1.8.0 "@swc/core": ^1.3.85 dependenciesMeta: "@nx/nx-darwin-arm64": @@ -23562,44 +23076,8 @@ __metadata: optional: true bin: nx: bin/nx.js - checksum: 10/748a28491ac607e6d3ab1878dc17b0a78a74be1a272a2775336a8110660d6c39e3e993793391b5810d2e482156421a247cce47b9c3035e4f156129a4b595dd2e - languageName: node - linkType: hard - -"nyc@npm:15.1.0": - version: 15.1.0 - resolution: "nyc@npm:15.1.0" - dependencies: - "@istanbuljs/load-nyc-config": "npm:^1.0.0" - "@istanbuljs/schema": "npm:^0.1.2" - caching-transform: "npm:^4.0.0" - convert-source-map: "npm:^1.7.0" - decamelize: "npm:^1.2.0" - find-cache-dir: "npm:^3.2.0" - find-up: "npm:^4.1.0" - foreground-child: "npm:^2.0.0" - get-package-type: "npm:^0.1.0" - glob: "npm:^7.1.6" - istanbul-lib-coverage: "npm:^3.0.0" - istanbul-lib-hook: "npm:^3.0.0" - istanbul-lib-instrument: "npm:^4.0.0" - istanbul-lib-processinfo: "npm:^2.0.2" - istanbul-lib-report: "npm:^3.0.0" - istanbul-lib-source-maps: "npm:^4.0.0" - istanbul-reports: "npm:^3.0.2" - make-dir: "npm:^3.0.0" - node-preload: "npm:^0.2.1" - p-map: "npm:^3.0.0" - process-on-spawn: "npm:^1.0.0" - resolve-from: "npm:^5.0.0" - rimraf: "npm:^3.0.0" - signal-exit: "npm:^3.0.2" - spawn-wrap: "npm:^2.0.0" - test-exclude: "npm:^6.0.0" - yargs: "npm:^15.0.2" - bin: - nyc: bin/nyc.js - checksum: 10/c987f04f4192dfd94e9e69869c76a54220b3ed555016751f380a413a378cceff8ec346df579e9126035b6acbc60ab893cc65e67729cc427c0171361bcb481e66 + nx-cloud: bin/nx-cloud.js + checksum: 10/f12e98004aa7d6b8a3633c557c26ad96be6ec075089c0f0692e54582e9a5ae3213e82498c18c74fbd4cf9feb1a95714db12b427aa63bdc5d8dd4b6debd1b4d5a languageName: node linkType: hard @@ -23642,10 +23120,10 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.12.2": - version: 1.13.1 - resolution: "object-inspect@npm:1.13.1" - checksum: 10/92f4989ed83422d56431bc39656d4c780348eb15d397ce352ade6b7fec08f973b53744bd41b94af021901e61acaf78fcc19e65bf464ecc0df958586a672700f0 +"object-inspect@npm:^1.13.1": + version: 1.13.2 + resolution: "object-inspect@npm:1.13.2" + checksum: 10/7ef65583b6397570a17c56f0c1841e0920e83900f2c94638927abb7b81ac08a19c7aae135bd9dcca96208cac0c7332b4650fb927f027b0cf92d71df2990d0561 languageName: node linkType: hard @@ -23740,24 +23218,24 @@ __metadata: languageName: node linkType: hard -"oidc-provider@npm:8.4.5": - version: 8.4.5 - resolution: "oidc-provider@npm:8.4.5" +"oidc-provider@npm:8.5.1": + version: 8.5.1 + resolution: "oidc-provider@npm:8.5.1" dependencies: "@koa/cors": "npm:^5.0.0" "@koa/router": "npm:^12.0.1" - debug: "npm:^4.3.4" - eta: "npm:^3.2.0" + debug: "npm:^4.3.5" + eta: "npm:^3.4.0" got: "npm:^13.0.0" - jose: "npm:^5.1.3" + jose: "npm:^5.6.2" jsesc: "npm:^3.0.2" - koa: "npm:^2.14.2" - nanoid: "npm:^5.0.4" + koa: "npm:^2.15.3" + nanoid: "npm:^5.0.7" object-hash: "npm:^3.0.0" oidc-token-hash: "npm:^5.0.3" quick-lru: "npm:^7.0.0" raw-body: "npm:^2.5.2" - checksum: 10/f3fece1bdd51340d29849179c59880620f296e0dc1bd79bc762603f4dc08b0b6e7526eed4df6a7b04d8b182a9ea442dcfd5a54b1b11708db6d55ff3b32a08e40 + checksum: 10/e2d12878c72a6f9a4fe802135c9d5b5405634a24cf237c71257fc813c073927ee98aeae8f8bf4b66b3e6fbca1db77ba27eb8a5c5e7c9995c56bcfb39c44551c7 languageName: node linkType: hard @@ -23784,7 +23262,7 @@ __metadata: languageName: node linkType: hard -"once@npm:1.4.0, once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" dependencies: @@ -23820,6 +23298,15 @@ __metadata: languageName: node linkType: hard +"onetime@npm:^7.0.0": + version: 7.0.0 + resolution: "onetime@npm:7.0.0" + dependencies: + mimic-function: "npm:^5.0.0" + checksum: 10/eb08d2da9339819e2f9d52cab9caf2557d80e9af8c7d1ae86e1a0fef027d00a88e9f5bd67494d350df360f7c559fbb44e800b32f310fb989c860214eacbb561c + languageName: node + linkType: hard + "only@npm:~0.0.2": version: 0.0.2 resolution: "only@npm:0.0.2" @@ -23827,16 +23314,6 @@ __metadata: languageName: node linkType: hard -"open@npm:7.4.2": - version: 7.4.2 - resolution: "open@npm:7.4.2" - dependencies: - is-docker: "npm:^2.0.0" - is-wsl: "npm:^2.1.1" - checksum: 10/4fc02ed3368dcd5d7247ad3566433ea2695b0713b041ebc0eeb2f0f9e5d4e29fc2068f5cdd500976b3464e77fe8b61662b1b059c73233ccc601fe8b16d6c1cd6 - languageName: node - linkType: hard - "open@npm:^8.0.9": version: 8.4.0 resolution: "open@npm:8.4.0" @@ -23892,6 +23369,22 @@ __metadata: languageName: node linkType: hard +"ora@npm:5.3.0": + version: 5.3.0 + resolution: "ora@npm:5.3.0" + dependencies: + bl: "npm:^4.0.3" + chalk: "npm:^4.1.0" + cli-cursor: "npm:^3.1.0" + cli-spinners: "npm:^2.5.0" + is-interactive: "npm:^1.0.0" + log-symbols: "npm:^4.0.0" + strip-ansi: "npm:^6.0.0" + wcwidth: "npm:^1.0.1" + checksum: 10/989a075b596c297acfee647010e555709bd657dedd9eee9ff99d923cbc65c68b6189c2c9ea58167675b101433509f87d1674a84047c7b766babab15d9220f1d5 + languageName: node + linkType: hard + "ora@npm:^5.4.1": version: 5.4.1 resolution: "ora@npm:5.4.1" @@ -23916,6 +23409,48 @@ __metadata: languageName: node linkType: hard +"oxc-resolver@npm:^1.10.2": + version: 1.12.0 + resolution: "oxc-resolver@npm:1.12.0" + dependencies: + "@oxc-resolver/binding-darwin-arm64": "npm:1.12.0" + "@oxc-resolver/binding-darwin-x64": "npm:1.12.0" + "@oxc-resolver/binding-freebsd-x64": "npm:1.12.0" + "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:1.12.0" + "@oxc-resolver/binding-linux-arm64-gnu": "npm:1.12.0" + "@oxc-resolver/binding-linux-arm64-musl": "npm:1.12.0" + "@oxc-resolver/binding-linux-x64-gnu": "npm:1.12.0" + "@oxc-resolver/binding-linux-x64-musl": "npm:1.12.0" + "@oxc-resolver/binding-wasm32-wasi": "npm:1.12.0" + "@oxc-resolver/binding-win32-arm64-msvc": "npm:1.12.0" + "@oxc-resolver/binding-win32-x64-msvc": "npm:1.12.0" + dependenciesMeta: + "@oxc-resolver/binding-darwin-arm64": + optional: true + "@oxc-resolver/binding-darwin-x64": + optional: true + "@oxc-resolver/binding-freebsd-x64": + optional: true + "@oxc-resolver/binding-linux-arm-gnueabihf": + optional: true + "@oxc-resolver/binding-linux-arm64-gnu": + optional: true + "@oxc-resolver/binding-linux-arm64-musl": + optional: true + "@oxc-resolver/binding-linux-x64-gnu": + optional: true + "@oxc-resolver/binding-linux-x64-musl": + optional: true + "@oxc-resolver/binding-wasm32-wasi": + optional: true + "@oxc-resolver/binding-win32-arm64-msvc": + optional: true + "@oxc-resolver/binding-win32-x64-msvc": + optional: true + checksum: 10/3a5a89cbcb019c809e9597ca7828354e45f4d85ecb86b178d6f5497c69dad51f462cc3adcfcde56a67eb08e2ce4988da9834c9e07b99c7bc43f8a44235385ede + languageName: node + linkType: hard + "p-cancelable@npm:^3.0.0": version: 3.0.0 resolution: "p-cancelable@npm:3.0.0" @@ -23930,15 +23465,6 @@ __metadata: languageName: node linkType: hard -"p-filter@npm:2.1.0": - version: 2.1.0 - resolution: "p-filter@npm:2.1.0" - dependencies: - p-map: "npm:^2.0.0" - checksum: 10/76e552ca624ce2233448d68b19eec9de42b695208121998f7e011edce71d1079a83096ee6a2078fb2a59cfa8a5c999f046edf00ebf16a8e780022010b4693234 - languageName: node - linkType: hard - "p-filter@npm:^4.0.0": version: 4.1.0 resolution: "p-filter@npm:4.1.0" @@ -24057,15 +23583,6 @@ __metadata: languageName: node linkType: hard -"p-map@npm:^3.0.0": - version: 3.0.0 - resolution: "p-map@npm:3.0.0" - dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 10/d4a0664d2af05d7e5f6f342e6493d4cad48f7398ac803c5066afb1f8d2010bfc2a83d935689437288f7b1a743772085b8fa0909a8282b5df4210bcda496c37c8 - languageName: node - linkType: hard - "p-map@npm:^7.0.1": version: 7.0.1 resolution: "p-map@npm:7.0.1" @@ -24104,7 +23621,7 @@ __metadata: languageName: node linkType: hard -"p-retry@npm:4.6.2, p-retry@npm:^4.5.0": +"p-retry@npm:^4.5.0": version: 4.6.2 resolution: "p-retry@npm:4.6.2" dependencies: @@ -24146,18 +23663,6 @@ __metadata: languageName: node linkType: hard -"package-hash@npm:^4.0.0": - version: 4.0.0 - resolution: "package-hash@npm:4.0.0" - dependencies: - graceful-fs: "npm:^4.1.15" - hasha: "npm:^5.0.0" - lodash.flattendeep: "npm:^4.4.0" - release-zalgo: "npm:^1.0.0" - checksum: 10/c7209d98ac31926e0c1753d014f8b6b924e1e6a1aacf833dc99edece9c8381424c41c97c26c7eee82026944a79e99023cde5998bf515d7465c87005d52152040 - languageName: node - linkType: hard - "package-json-from-dist@npm:^1.0.0": version: 1.0.0 resolution: "package-json-from-dist@npm:1.0.0" @@ -24165,59 +23670,58 @@ __metadata: languageName: node linkType: hard -"pacote@npm:^15.2.0": - version: 15.2.0 - resolution: "pacote@npm:15.2.0" +"pacote@npm:^17.0.0, pacote@npm:^17.0.4, pacote@npm:^17.0.6": + version: 17.0.6 + resolution: "pacote@npm:17.0.6" dependencies: - "@npmcli/git": "npm:^4.0.0" + "@npmcli/git": "npm:^5.0.0" "@npmcli/installed-package-contents": "npm:^2.0.1" - "@npmcli/promise-spawn": "npm:^6.0.1" - "@npmcli/run-script": "npm:^6.0.0" - cacache: "npm:^17.0.0" + "@npmcli/promise-spawn": "npm:^7.0.0" + "@npmcli/run-script": "npm:^7.0.0" + cacache: "npm:^18.0.0" fs-minipass: "npm:^3.0.0" - minipass: "npm:^5.0.0" - npm-package-arg: "npm:^10.0.0" - npm-packlist: "npm:^7.0.0" - npm-pick-manifest: "npm:^8.0.0" - npm-registry-fetch: "npm:^14.0.0" + minipass: "npm:^7.0.2" + npm-package-arg: "npm:^11.0.0" + npm-packlist: "npm:^8.0.0" + npm-pick-manifest: "npm:^9.0.0" + npm-registry-fetch: "npm:^16.0.0" proc-log: "npm:^3.0.0" promise-retry: "npm:^2.0.1" - read-package-json: "npm:^6.0.0" + read-package-json: "npm:^7.0.0" read-package-json-fast: "npm:^3.0.0" - sigstore: "npm:^1.3.0" + sigstore: "npm:^2.2.0" ssri: "npm:^10.0.0" tar: "npm:^6.1.11" bin: pacote: lib/bin.js - checksum: 10/57e18f4f963abb5f67f794158a55c01ad23f76e56dcdc74e6b843dfdda017515b0e8c0f56e60e842cd5af5ab9b351afdc49fc70633994f0e5fc0c6c9f4bcaebc + checksum: 10/fe96b362623128c67b4974bc2d0e8721515927c3546f04e9f3b0df0fe93ab74a8ed59c2896dec3ad1ed5395a8e439b3b64007b32d31b4b86796b50c75dffc924 languageName: node linkType: hard -"pacote@npm:^17.0.0, pacote@npm:^17.0.4, pacote@npm:^17.0.6": - version: 17.0.6 - resolution: "pacote@npm:17.0.6" +"pacote@npm:^18.0.0, pacote@npm:^18.0.6": + version: 18.0.6 + resolution: "pacote@npm:18.0.6" dependencies: "@npmcli/git": "npm:^5.0.0" "@npmcli/installed-package-contents": "npm:^2.0.1" + "@npmcli/package-json": "npm:^5.1.0" "@npmcli/promise-spawn": "npm:^7.0.0" - "@npmcli/run-script": "npm:^7.0.0" + "@npmcli/run-script": "npm:^8.0.0" cacache: "npm:^18.0.0" fs-minipass: "npm:^3.0.0" minipass: "npm:^7.0.2" npm-package-arg: "npm:^11.0.0" npm-packlist: "npm:^8.0.0" npm-pick-manifest: "npm:^9.0.0" - npm-registry-fetch: "npm:^16.0.0" - proc-log: "npm:^3.0.0" + npm-registry-fetch: "npm:^17.0.0" + proc-log: "npm:^4.0.0" promise-retry: "npm:^2.0.1" - read-package-json: "npm:^7.0.0" - read-package-json-fast: "npm:^3.0.0" sigstore: "npm:^2.2.0" ssri: "npm:^10.0.0" tar: "npm:^6.1.11" bin: - pacote: lib/bin.js - checksum: 10/fe96b362623128c67b4974bc2d0e8721515927c3546f04e9f3b0df0fe93ab74a8ed59c2896dec3ad1ed5395a8e439b3b64007b32d31b4b86796b50c75dffc924 + pacote: bin/index.js + checksum: 10/48cbcb3c20792952d431c995c2965340d3501e1795313d7225149435c883fb071d6a9bfbe11b1021dc888319f27a8c865cb70656f6472d7443545eb347447553 languageName: node linkType: hard @@ -24323,6 +23827,13 @@ __metadata: languageName: node linkType: hard +"parse-ms@npm:^4.0.0": + version: 4.0.0 + resolution: "parse-ms@npm:4.0.0" + checksum: 10/673c801d9f957ff79962d71ed5a24850163f4181a90dd30c4e3666b3a804f53b77f1f0556792e8b2adbb5d58757907d1aa51d7d7dc75997c2a56d72937cbc8b7 + languageName: node + linkType: hard + "parse-node-version@npm:^1.0.0": version: 1.0.1 resolution: "parse-node-version@npm:1.0.1" @@ -24371,7 +23882,7 @@ __metadata: languageName: node linkType: hard -"parseurl@npm:^1.3.2, parseurl@npm:^1.3.3, parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": +"parseurl@npm:^1.3.2, parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": version: 1.3.3 resolution: "parseurl@npm:1.3.3" checksum: 10/407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 @@ -24543,6 +24054,23 @@ __metadata: languageName: node linkType: hard +"path-scurry@npm:^2.0.0": + version: 2.0.0 + resolution: "path-scurry@npm:2.0.0" + dependencies: + lru-cache: "npm:^11.0.0" + minipass: "npm:^7.1.2" + checksum: 10/285ae0c2d6c34ae91dc1d5378ede21981c9a2f6de1ea9ca5a88b5a270ce9763b83dbadc7a324d512211d8d36b0c540427d3d0817030849d97a60fa840a2c59ec + languageName: node + linkType: hard + +"path-to-regexp@npm:0.1.10": + version: 0.1.10 + resolution: "path-to-regexp@npm:0.1.10" + checksum: 10/894e31f1b20e592732a87db61fff5b95c892a3fe430f9ab18455ebe69ee88ef86f8eb49912e261f9926fc53da9f93b46521523e33aefd9cb0a7b0d85d7096006 + languageName: node + linkType: hard + "path-to-regexp@npm:0.1.7": version: 0.1.7 resolution: "path-to-regexp@npm:0.1.7" @@ -24550,15 +24078,6 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:^1.0.3": - version: 1.8.0 - resolution: "path-to-regexp@npm:1.8.0" - dependencies: - isarray: "npm:0.0.1" - checksum: 10/45a01690f72919163cf89714e31a285937b14ad54c53734c826363fcf7beba9d9d0f2de802b4986b1264374562d6a3398a2e5289753a764e3a256494f1e52add - languageName: node - linkType: hard - "path-to-regexp@npm:^2.1.0": version: 2.4.0 resolution: "path-to-regexp@npm:2.4.0" @@ -24573,6 +24092,13 @@ __metadata: languageName: node linkType: hard +"path-to-regexp@npm:^6.3.0": + version: 6.3.0 + resolution: "path-to-regexp@npm:6.3.0" + checksum: 10/6822f686f01556d99538b350722ef761541ec0ce95ca40ce4c29e20a5b492fe8361961f57993c71b2418de12e604478dcf7c430de34b2c31a688363a7a944d9c + languageName: node + linkType: hard + "path-type@npm:^3.0.0": version: 3.0.0 resolution: "path-type@npm:3.0.0" @@ -24617,13 +24143,6 @@ __metadata: languageName: node linkType: hard -"pend@npm:~1.2.0": - version: 1.2.0 - resolution: "pend@npm:1.2.0" - checksum: 10/6c72f5243303d9c60bd98e6446ba7d30ae29e3d56fdb6fae8767e8ba6386f33ee284c97efe3230a0d0217e2b1723b8ab490b1bbf34fcbb2180dbc8a9de47850d - languageName: node - linkType: hard - "pg-connection-string@npm:2.6.2": version: 2.6.2 resolution: "pg-connection-string@npm:2.6.2" @@ -24645,6 +24164,13 @@ __metadata: languageName: node linkType: hard +"picocolors@npm:^1.1.0": + version: 1.1.0 + resolution: "picocolors@npm:1.1.0" + checksum: 10/a2ad60d94d185c30f2a140b19c512547713fb89b920d32cc6cf658fa786d63a37ba7b8451872c3d9fc34883971fb6e5878e07a20b60506e0bb2554dce9169ccb + languageName: node + linkType: hard + "picomatch-browser@npm:^2.2.6": version: 2.2.6 resolution: "picomatch-browser@npm:2.2.6" @@ -24659,12 +24185,12 @@ __metadata: languageName: node linkType: hard -"pidtree@npm:^0.5.0": - version: 0.5.0 - resolution: "pidtree@npm:0.5.0" +"pidtree@npm:~0.6.0": + version: 0.6.0 + resolution: "pidtree@npm:0.6.0" bin: pidtree: bin/pidtree.js - checksum: 10/72a5d75c345d7b1ed1f30ff50342d601040334be50f9cad1d6d7457f1ad7bbaacccb037667f4088ca2c257a574eeb00f03664bbd05c5e7d02e3feb1bc77ddbd3 + checksum: 10/ea67fb3159e170fd069020e0108ba7712df9f0fd13c8db9b2286762856ddce414fb33932e08df4bfe36e91fe860b51852aee49a6f56eb4714b69634343add5df languageName: node linkType: hard @@ -24696,7 +24222,7 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.5": +"pirates@npm:^4.0.6": version: 4.0.6 resolution: "pirates@npm:4.0.6" checksum: 10/d02dda76f4fec1cbdf395c36c11cf26f76a644f9f9a1bfa84d3167d0d3154d5289aacc72677aa20d599bb4a6937a471de1b65c995e2aea2d8687cbcd7e43ea5f @@ -24713,7 +24239,7 @@ __metadata: languageName: node linkType: hard -"pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0": +"pkg-dir@npm:^4.2.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" dependencies: @@ -24754,6 +24280,13 @@ __metadata: languageName: node linkType: hard +"possible-typed-array-names@npm:^1.0.0": + version: 1.0.0 + resolution: "possible-typed-array-names@npm:1.0.0" + checksum: 10/8ed3e96dfeea1c5880c1f4c9cb707e5fb26e8be22f14f82ef92df20fd2004e635c62ba47fbe8f2bb63bfd80dac1474be2fb39798da8c2feba2815435d1f749af + languageName: node + linkType: hard + "postcss-selector-parser@npm:^6.0.10": version: 6.0.15 resolution: "postcss-selector-parser@npm:6.0.15" @@ -24775,6 +24308,17 @@ __metadata: languageName: node linkType: hard +"postcss@npm:^8.4.43": + version: 8.4.47 + resolution: "postcss@npm:8.4.47" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.1.0" + source-map-js: "npm:^1.2.1" + checksum: 10/f2b50ba9b6fcb795232b6bb20de7cdc538c0025989a8ed9c4438d1960196ba3b7eaff41fdb1a5c701b3504651ea87aeb685577707f0ae4d6ce6f3eae5df79a81 + languageName: node + linkType: hard + "prebuild-install@npm:^7.1.1": version: 7.1.2 resolution: "prebuild-install@npm:7.1.2" @@ -24813,12 +24357,12 @@ __metadata: languageName: node linkType: hard -"prettier@npm:3.2.5": - version: 3.2.5 - resolution: "prettier@npm:3.2.5" +"prettier@npm:3.3.3": + version: 3.3.3 + resolution: "prettier@npm:3.3.3" bin: prettier: bin/prettier.cjs - checksum: 10/d509f9da0b70e8cacc561a1911c0d99ec75117faed27b95cc8534cb2349667dee6351b0ca83fa9d5703f14127faa52b798de40f5705f02d843da133fc3aa416a + checksum: 10/5beac1f30b5b40162532b8e2f7c3a4eb650910a2695e9c8512a62ffdc09dae93190c29db9107fa7f26d1b6c71aad3628ecb9b5de1ecb0911191099be109434d7 languageName: node linkType: hard @@ -24843,6 +24387,15 @@ __metadata: languageName: node linkType: hard +"pretty-ms@npm:^9.0.0": + version: 9.1.0 + resolution: "pretty-ms@npm:9.1.0" + dependencies: + parse-ms: "npm:^4.0.0" + checksum: 10/3622a8999e4b2aa05ff64bf48c7e58143b3ede6e3434f8ce5588def90ebcf6af98edf79532344c4c9e14d5ad25deb3f0f5ca9f9b91e5d2d1ac26dad9cf428fc0 + languageName: node + linkType: hard + "prisma@npm:^4.16.2": version: 4.16.2 resolution: "prisma@npm:4.16.2" @@ -24862,6 +24415,13 @@ __metadata: languageName: node linkType: hard +"proc-log@npm:^4.0.0, proc-log@npm:^4.1.0, proc-log@npm:^4.2.0": + version: 4.2.0 + resolution: "proc-log@npm:4.2.0" + checksum: 10/4e1394491b717f6c1ade15c570ecd4c2b681698474d3ae2d303c1e4b6ab9455bd5a81566211e82890d5a5ae9859718cc6954d5150bb18b09b72ecb297beae90a + languageName: node + linkType: hard + "process-nextick-args@npm:~1.0.6": version: 1.0.7 resolution: "process-nextick-args@npm:1.0.7" @@ -24876,15 +24436,6 @@ __metadata: languageName: node linkType: hard -"process-on-spawn@npm:^1.0.0": - version: 1.0.0 - resolution: "process-on-spawn@npm:1.0.0" - dependencies: - fromentries: "npm:^1.2.0" - checksum: 10/8795d71742798e5a059e13da2a9c13988aa7c673a3a57f276c1ff6ed942ba9b7636139121c6a409eaa2ea6a8fda7af4be19c3dc576320515bb3f354e3544106e - languageName: node - linkType: hard - "process@npm:^0.11.10": version: 0.11.10 resolution: "process@npm:0.11.10" @@ -24892,7 +24443,14 @@ __metadata: languageName: node linkType: hard -"progress@npm:2.0.3, progress@npm:^2.0.3": +"proggy@npm:^2.0.0": + version: 2.0.0 + resolution: "proggy@npm:2.0.0" + checksum: 10/9c96830d30516534c91e1260cae98d2c12aa32ea4ca7ff979876557ae293581c4874c95daf80497a7350179e7fec6d119cd589ef09af9c925f5842161897ed7e + languageName: node + linkType: hard + +"progress@npm:^2.0.3": version: 2.0.3 resolution: "progress@npm:2.0.3" checksum: 10/e6f0bcb71f716eee9dfac0fe8a2606e3704d6a64dd93baaf49fbadbc8499989a610fe14cf1bc6f61b6d6653c49408d94f4a94e124538084efd8e4cf525e0293d @@ -25183,7 +24741,7 @@ __metadata: languageName: node linkType: hard -"pug@npm:^3.0.2": +"pug@npm:^3.0.3": version: 3.0.3 resolution: "pug@npm:3.0.3" dependencies: @@ -25209,6 +24767,13 @@ __metadata: languageName: node linkType: hard +"punycode@npm:1.3.2": + version: 1.3.2 + resolution: "punycode@npm:1.3.2" + checksum: 10/5c57d588c60679fd1b9400c75de06e327723f2b38e21e195027ba7a59006725f7b817dce5b26d47c7f8c1c842d28275aa59955a06d2e467cffeba70b7e0576bb + languageName: node + linkType: hard + "punycode@npm:^2.1.0, punycode@npm:^2.1.1": version: 2.1.1 resolution: "punycode@npm:2.1.1" @@ -25239,7 +24804,7 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.11.0, qs@npm:^6.10.1, qs@npm:^6.9.4": +"qs@npm:6.11.0, qs@npm:^6.9.4": version: 6.11.0 resolution: "qs@npm:6.11.0" dependencies: @@ -25248,10 +24813,12 @@ __metadata: languageName: node linkType: hard -"qs@npm:6.9.3": - version: 6.9.3 - resolution: "qs@npm:6.9.3" - checksum: 10/259d06d089c3c677c40533f60b6434d168712c18d304319a7aa6d371a7bc0b029e98fe8fb2e768f0fd371f92891e4314ddedfe3f14a9b9ff5d98ef460dd8d309 +"qs@npm:6.13.0, qs@npm:^6.11.0": + version: 6.13.0 + resolution: "qs@npm:6.13.0" + dependencies: + side-channel: "npm:^1.0.6" + checksum: 10/f548b376e685553d12e461409f0d6e5c59ec7c7d76f308e2a888fd9db3e0c5e89902bedd0754db3a9038eda5f27da2331a6f019c8517dc5e0a16b3c9a6e9cef8 languageName: node linkType: hard @@ -25264,6 +24831,13 @@ __metadata: languageName: node linkType: hard +"querystring@npm:0.2.0": + version: 0.2.0 + resolution: "querystring@npm:0.2.0" + checksum: 10/37b91720be8c8de87b49d1a68f0ceafbbeda6efe6334ce7aad080b0b4111f933a40650b8a6669c1bc629cd8bb37c67cb7b5a42ec0758662efbce44b8faa1766d + languageName: node + linkType: hard + "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -25324,12 +24898,12 @@ __metadata: languageName: node linkType: hard -"ractive@npm:^1.4.3": - version: 1.4.3 - resolution: "ractive@npm:1.4.3" +"ractive@npm:^1.4.4": + version: 1.4.4 + resolution: "ractive@npm:1.4.4" bin: ractive: bin/ractive.js - checksum: 10/ff7cb3fc0c5b30af05686a113aa030847c7f99e3905780ab9dc715465695dd9b2e757af616ff8014a4e3449b0b611f3939e086cbe32a8bcc52f83ea85c13504a + checksum: 10/261cb13159295de21f08954e688ed576d25d8f54dc42de740c41b1a5331402f561195db67da7b97d07b5b042519a548394ac49e7db292e5d171eb764df975bd4 languageName: node linkType: hard @@ -25356,27 +24930,27 @@ __metadata: languageName: node linkType: hard -"raw-body@npm:2.5.1, raw-body@npm:^2.3.3": - version: 2.5.1 - resolution: "raw-body@npm:2.5.1" +"raw-body@npm:2.5.2, raw-body@npm:^2.5.2": + version: 2.5.2 + resolution: "raw-body@npm:2.5.2" dependencies: bytes: "npm:3.1.2" http-errors: "npm:2.0.0" iconv-lite: "npm:0.4.24" unpipe: "npm:1.0.0" - checksum: 10/280bedc12db3490ecd06f740bdcf66093a07535374b51331242382c0e130bb273ebb611b7bc4cba1b4b4e016cc7b1f4b05a6df885a6af39c2bc3b94c02291c84 + checksum: 10/863b5171e140546a4d99f349b720abac4410338e23df5e409cfcc3752538c9caf947ce382c89129ba976f71894bd38b5806c774edac35ebf168d02aa1ac11a95 languageName: node linkType: hard -"raw-body@npm:2.5.2, raw-body@npm:^2.5.2": - version: 2.5.2 - resolution: "raw-body@npm:2.5.2" +"raw-body@npm:^2.3.3": + version: 2.5.1 + resolution: "raw-body@npm:2.5.1" dependencies: bytes: "npm:3.1.2" http-errors: "npm:2.0.0" iconv-lite: "npm:0.4.24" unpipe: "npm:1.0.0" - checksum: 10/863b5171e140546a4d99f349b720abac4410338e23df5e409cfcc3752538c9caf947ce382c89129ba976f71894bd38b5806c774edac35ebf168d02aa1ac11a95 + checksum: 10/280bedc12db3490ecd06f740bdcf66093a07535374b51331242382c0e130bb273ebb611b7bc4cba1b4b4e016cc7b1f4b05a6df885a6af39c2bc3b94c02291c84 languageName: node linkType: hard @@ -25403,15 +24977,15 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^18.2.0": - version: 18.2.0 - resolution: "react-dom@npm:18.2.0" +"react-dom@npm:^18.3.1": + version: 18.3.1 + resolution: "react-dom@npm:18.3.1" dependencies: loose-envify: "npm:^1.1.0" - scheduler: "npm:^0.23.0" + scheduler: "npm:^0.23.2" peerDependencies: - react: ^18.2.0 - checksum: 10/ca5e7762ec8c17a472a3605b6f111895c9f87ac7d43a610ab7024f68cd833d08eda0625ce02ec7178cc1f3c957cf0b9273cdc17aa2cd02da87544331c43b1d21 + react: ^18.3.1 + checksum: 10/3f4b73a3aa083091173b29812b10394dd06f4ac06aff410b74702cfb3aa29d7b0ced208aab92d5272919b612e5cda21aeb1d54191848cf6e46e9e354f3541f81 languageName: node linkType: hard @@ -25422,12 +24996,12 @@ __metadata: languageName: node linkType: hard -"react@npm:^18.2.0": - version: 18.2.0 - resolution: "react@npm:18.2.0" +"react@npm:^18.3.1": + version: 18.3.1 + resolution: "react@npm:18.3.1" dependencies: loose-envify: "npm:^1.1.0" - checksum: 10/b9214a9bd79e99d08de55f8bef2b7fc8c39630be97c4e29d7be173d14a9a10670b5325e94485f74cd8bff4966ef3c78ee53c79a7b0b9b70cba20aa8973acc694 + checksum: 10/261137d3f3993eaa2368a83110466fc0e558bc2c7f7ae7ca52d94f03aac945f45146bd85e5f481044db1758a1dbb57879e2fcdd33924e2dde1bdc550ce73f7bf languageName: node linkType: hard @@ -25448,18 +25022,6 @@ __metadata: languageName: node linkType: hard -"read-package-json@npm:6.0.4, read-package-json@npm:^6.0.0": - version: 6.0.4 - resolution: "read-package-json@npm:6.0.4" - dependencies: - glob: "npm:^10.2.2" - json-parse-even-better-errors: "npm:^3.0.0" - normalize-package-data: "npm:^5.0.0" - npm-normalize-package-bin: "npm:^3.0.0" - checksum: 10/2c72fc86745ffd303177ec1490a809fb916d36720cec145900ec92ca5dd159d6f096dd7842ad92dfa01eeea5509e076960a5395e8d5ce31984a4e9070018915a - languageName: node - linkType: hard - "read-package-json@npm:^7.0.0": version: 7.0.0 resolution: "read-package-json@npm:7.0.0" @@ -25472,6 +25034,17 @@ __metadata: languageName: node linkType: hard +"read-package-up@npm:^11.0.0": + version: 11.0.0 + resolution: "read-package-up@npm:11.0.0" + dependencies: + find-up-simple: "npm:^1.0.0" + read-pkg: "npm:^9.0.0" + type-fest: "npm:^4.6.0" + checksum: 10/535b7554d47fae5fb5c2e7aceebd48b5de4142cdfe7b21f942fa9a0f56db03d3b53cce298e19438e1149292279c285e6ba6722eca741d590fd242519c4bdbc17 + languageName: node + linkType: hard + "read-pkg-up@npm:7.0.0": version: 7.0.0 resolution: "read-pkg-up@npm:7.0.0" @@ -25494,17 +25067,6 @@ __metadata: languageName: node linkType: hard -"read-pkg-up@npm:^11.0.0": - version: 11.0.0 - resolution: "read-pkg-up@npm:11.0.0" - dependencies: - find-up-simple: "npm:^1.0.0" - read-pkg: "npm:^9.0.0" - type-fest: "npm:^4.6.0" - checksum: 10/c08fe324a6d8cb3f1f4533074db8a4ef222c85af74bc30e7a98117c578e5d6b2dd8868fded660386167c95ffaf5d566f95743a621581df332573bc989c19cf45 - languageName: node - linkType: hard - "read-pkg-up@npm:^3.0.0": version: 3.0.0 resolution: "read-pkg-up@npm:3.0.0" @@ -25569,6 +25131,15 @@ __metadata: languageName: node linkType: hard +"read@npm:^3.0.1": + version: 3.0.1 + resolution: "read@npm:3.0.1" + dependencies: + mute-stream: "npm:^1.0.0" + checksum: 10/446b463d04fc3fa82ed2ad9c924aef9174c9ea912ffc6a38b7b9e7b8fa10d6ce4735bcbd0dcc3b9833e9b8f561c182fa57cf6cdb9ca39c8c032ca3070d89baaa + languageName: node + linkType: hard + "readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.5, readable-stream@npm:^2.2.2, readable-stream@npm:~2.3.6": version: 2.3.7 resolution: "readable-stream@npm:2.3.7" @@ -25633,15 +25204,6 @@ __metadata: languageName: node linkType: hard -"readdir-glob@npm:^1.0.0": - version: 1.1.2 - resolution: "readdir-glob@npm:1.1.2" - dependencies: - minimatch: "npm:^5.1.0" - checksum: 10/b1d97b5c1e1a5e2d7ecda5615688c89e95daf254ff6edeb6921eb7537e4227c09f07e1e880faa76bd5d8c014ca3a07b22995d5cd9355587297a0775296fe3f66 - languageName: node - linkType: hard - "readdir-glob@npm:^1.1.2": version: 1.1.3 resolution: "readdir-glob@npm:1.1.3" @@ -25711,27 +25273,13 @@ __metadata: languageName: node linkType: hard -"reflect-metadata@npm:0.2.2": +"reflect-metadata@npm:0.2.2, reflect-metadata@npm:^0.2.2": version: 0.2.2 resolution: "reflect-metadata@npm:0.2.2" checksum: 10/1c93f9ac790fea1c852fde80c91b2760420069f4862f28e6fae0c00c6937a56508716b0ed2419ab02869dd488d123c4ab92d062ae84e8739ea7417fae10c4745 languageName: node linkType: hard -"reflect-metadata@npm:^0.1.13": - version: 0.1.14 - resolution: "reflect-metadata@npm:0.1.14" - checksum: 10/fcab9c17ec3b9fea0e2f748c2129aceb57c24af6d8d13842b8a77c8c79dde727d7456ce293e76e8d7b267d1dbf93eea4c5b3c9101299a789a075824f2e40f1ee - languageName: node - linkType: hard - -"reflect-metadata@npm:^0.2.1": - version: 0.2.1 - resolution: "reflect-metadata@npm:0.2.1" - checksum: 10/394b293bd4a538b644ed0e8730c5aeb1e08e78972c915b3d2cf3b302241952cfee8f8bd8a0fdf7d8c7fa78d31d0585489061624692e2577d767abd120cad968c - languageName: node - linkType: hard - "regenerate-unicode-properties@npm:^10.1.0": version: 10.1.1 resolution: "regenerate-unicode-properties@npm:10.1.1" @@ -25741,6 +25289,15 @@ __metadata: languageName: node linkType: hard +"regenerate-unicode-properties@npm:^10.2.0": + version: 10.2.0 + resolution: "regenerate-unicode-properties@npm:10.2.0" + dependencies: + regenerate: "npm:^1.4.2" + checksum: 10/9150eae6fe04a8c4f2ff06077396a86a98e224c8afad8344b1b656448e89e84edcd527e4b03aa5476774129eb6ad328ed684f9c1459794a935ec0cc17ce14329 + languageName: node + linkType: hard + "regenerate@npm:^1.4.2": version: 1.4.2 resolution: "regenerate@npm:1.4.2" @@ -25808,7 +25365,21 @@ __metadata: regjsparser: "npm:^0.9.1" unicode-match-property-ecmascript: "npm:^2.0.0" unicode-match-property-value-ecmascript: "npm:^2.1.0" - checksum: 10/ed0d7c66d84c633fbe8db4939d084c780190eca11f6920807dfb8ebac59e2676952cd8f2008d9c86ae8cf0463ea5fd12c5cff09ef2ce7d51ee6b420a5eb4d177 + checksum: 10/ed0d7c66d84c633fbe8db4939d084c780190eca11f6920807dfb8ebac59e2676952cd8f2008d9c86ae8cf0463ea5fd12c5cff09ef2ce7d51ee6b420a5eb4d177 + languageName: node + linkType: hard + +"regexpu-core@npm:^6.1.1": + version: 6.1.1 + resolution: "regexpu-core@npm:6.1.1" + dependencies: + regenerate: "npm:^1.4.2" + regenerate-unicode-properties: "npm:^10.2.0" + regjsgen: "npm:^0.8.0" + regjsparser: "npm:^0.11.0" + unicode-match-property-ecmascript: "npm:^2.0.0" + unicode-match-property-value-ecmascript: "npm:^2.1.0" + checksum: 10/6a7ffb42781cacedd7df3c47c72e2d725401a699855be94a37ece5e29d3f25ab3abdd81d73f2d9d32ebc4d41bd25e3c3cc21e5284203faf19e60943adc55252d languageName: node linkType: hard @@ -25821,6 +25392,24 @@ __metadata: languageName: node linkType: hard +"regjsgen@npm:^0.8.0": + version: 0.8.0 + resolution: "regjsgen@npm:0.8.0" + checksum: 10/b930f03347e4123c917d7b40436b4f87f625b8dd3e705b447ddd44804e4616c3addb7453f0902d6e914ab0446c30e816e445089bb641a4714237fe8141a0ef9d + languageName: node + linkType: hard + +"regjsparser@npm:^0.11.0": + version: 0.11.0 + resolution: "regjsparser@npm:0.11.0" + dependencies: + jsesc: "npm:~3.0.2" + bin: + regjsparser: bin/parser + checksum: 10/d8963f9bbb4da0795faaea11130abdb15c17565d515f15c990a2433912e5ed80077cbd7ad99530bb1fc8471c82c321a0699c5f48a2ce00715a7151b027fced55 + languageName: node + linkType: hard + "regjsparser@npm:^0.9.1": version: 0.9.1 resolution: "regjsparser@npm:0.9.1" @@ -25839,15 +25428,6 @@ __metadata: languageName: node linkType: hard -"release-zalgo@npm:^1.0.0": - version: 1.0.0 - resolution: "release-zalgo@npm:1.0.0" - dependencies: - es6-error: "npm:^4.0.1" - checksum: 10/1719e44b240ee1f57d034b26ea167f3cbf3c36fdae6d6efd0e6e5b202d9852baffc1c5595d378b5f8b2ad729b907ddd962f3d051d89499f83584993a5399f964 - languageName: node - linkType: hard - "remark-gfm@npm:^1.0.0": version: 1.0.0 resolution: "remark-gfm@npm:1.0.0" @@ -25903,13 +25483,6 @@ __metadata: languageName: node linkType: hard -"replace-string@npm:3.1.0": - version: 3.1.0 - resolution: "replace-string@npm:3.1.0" - checksum: 10/39eebbb8ec24220bdd44677708989895ccf0628388e283232a78fb2ef72097084dd603ce354e5105a819c517f01e040539419275f0deecfc6be9e9d398969f71 - languageName: node - linkType: hard - "require-directory@npm:^2.1.1": version: 2.1.1 resolution: "require-directory@npm:2.1.1" @@ -25924,13 +25497,6 @@ __metadata: languageName: node linkType: hard -"require-main-filename@npm:^2.0.0": - version: 2.0.0 - resolution: "require-main-filename@npm:2.0.0" - checksum: 10/8604a570c06a69c9d939275becc33a65676529e1c3e5a9f42d58471674df79357872b96d70bb93a0380a62d60dc9031c98b1a9dad98c946ffdd61b7ac0c8cedd - languageName: node - linkType: hard - "requires-port@npm:^1.0.0": version: 1.0.0 resolution: "requires-port@npm:1.0.0" @@ -25992,19 +25558,6 @@ __metadata: languageName: node linkType: hard -"resolve@npm:1.22.2": - version: 1.22.2 - resolution: "resolve@npm:1.22.2" - dependencies: - is-core-module: "npm:^2.11.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10/116c5b221ed436dbe623a892102a6241f35bcca440c29693e1e4c81a5f1ebc1b8ce5bba301405160a937e1f36015a1f4a7af58d3e9c4c85fc791cf63c04774be - languageName: node - linkType: hard - "resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.15.1, resolve@npm:^1.20.0": version: 1.22.1 resolution: "resolve@npm:1.22.1" @@ -26018,7 +25571,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:~1.22.1, resolve@npm:~1.22.2": +"resolve@npm:^1.22.8": version: 1.22.8 resolution: "resolve@npm:1.22.8" dependencies: @@ -26031,19 +25584,6 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A1.22.2#optional!builtin": - version: 1.22.2 - resolution: "resolve@patch:resolve@npm%3A1.22.2#optional!builtin::version=1.22.2&hash=c3c19d" - dependencies: - is-core-module: "npm:^2.11.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10/14594f99dbff19c1f51f6daac0caf0b75ed345256ada3722c23f63935eace79532dcfa349b3d8889d2771c143822c38dd5d7d8eb85fb8cff257b7abccbad7872 - languageName: node - linkType: hard - "resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.15.1#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin": version: 1.22.1 resolution: "resolve@patch:resolve@npm%3A1.22.1#optional!builtin::version=1.22.1&hash=c3c19d" @@ -26057,7 +25597,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A~1.22.1#optional!builtin, resolve@patch:resolve@npm%3A~1.22.2#optional!builtin": +"resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" dependencies: @@ -26126,6 +25666,16 @@ __metadata: languageName: node linkType: hard +"restore-cursor@npm:^5.0.0": + version: 5.1.0 + resolution: "restore-cursor@npm:5.1.0" + dependencies: + onetime: "npm:^7.0.0" + signal-exit: "npm:^4.1.0" + checksum: 10/838dd54e458d89cfbc1a923b343c1b0f170a04100b4ce1733e97531842d7b440463967e521216e8ab6c6f8e89df877acc7b7f4c18ec76e99fb9bf5a60d358d2c + languageName: node + linkType: hard + "ret@npm:~0.1.10": version: 0.1.15 resolution: "ret@npm:0.1.15" @@ -26133,10 +25683,10 @@ __metadata: languageName: node linkType: hard -"ret@npm:~0.4.0": - version: 0.4.3 - resolution: "ret@npm:0.4.3" - checksum: 10/d6a00f0920400b78b6aa96ce1c953d2f783f4fd5d56b5e842a744c40e33545e7955fb132386ada406361881353292fe7282f4e6e82b2c1e61f6c96a6ea4bb2d7 +"ret@npm:~0.5.0": + version: 0.5.0 + resolution: "ret@npm:0.5.0" + checksum: 10/fb58f61268ceb762de471fd5871a53def1f47160487c6e21dcbe5274b3eb2df40a80d9eab7ed3732c8de4e4fadc911a66a190a129b5cf75c3e70302a7607f82f languageName: node linkType: hard @@ -26168,13 +25718,6 @@ __metadata: languageName: node linkType: hard -"rfdc@npm:^1.3.0": - version: 1.3.0 - resolution: "rfdc@npm:1.3.0" - checksum: 10/76dedd9700cdf132947fde7ce1a8838c9cbb7f3e8f9188af0aaf97194cce745f42094dd2cf547426934cc83252ee2c0e432b2e0222a4415ab0db32de82665c69 - languageName: node - linkType: hard - "rfdc@npm:^1.3.1": version: 1.3.1 resolution: "rfdc@npm:1.3.1" @@ -26182,6 +25725,13 @@ __metadata: languageName: node linkType: hard +"rfdc@npm:^1.4.1": + version: 1.4.1 + resolution: "rfdc@npm:1.4.1" + checksum: 10/2f3d11d3d8929b4bfeefc9acb03aae90f971401de0add5ae6c5e38fec14f0405e6a4aad8fdb76344bfdd20c5193110e3750cbbd28ba86d73729d222b6cf4a729 + languageName: node + linkType: hard + "right-align@npm:^0.1.1": version: 0.1.3 resolution: "right-align@npm:0.1.3" @@ -26191,25 +25741,26 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:3.0.2, rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": - version: 3.0.2 - resolution: "rimraf@npm:3.0.2" +"rimraf@npm:6.0.1": + version: 6.0.1 + resolution: "rimraf@npm:6.0.1" dependencies: - glob: "npm:^7.1.3" + glob: "npm:^11.0.0" + package-json-from-dist: "npm:^1.0.0" bin: - rimraf: bin.js - checksum: 10/063ffaccaaaca2cfd0ef3beafb12d6a03dd7ff1260d752d62a6077b5dfff6ae81bea571f655bb6b589d366930ec1bdd285d40d560c0dae9b12f125e54eb743d5 + rimraf: dist/esm/bin.mjs + checksum: 10/0eb7edf08aa39017496c99ba675552dda11a20811ba78f8232da2ba945308c91e9cd673f95998b1a8202bc7436d33390831d23ea38ae52751038d56373ad99e2 languageName: node linkType: hard -"rimraf@npm:5.0.5": - version: 5.0.5 - resolution: "rimraf@npm:5.0.5" +"rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" dependencies: - glob: "npm:^10.3.7" + glob: "npm:^7.1.3" bin: - rimraf: dist/esm/bin.mjs - checksum: 10/a612c7184f96258b7d1328c486b12ca7b60aa30e04229a08bbfa7e964486deb1e9a1b52d917809311bdc39a808a4055c0f950c0280fba194ba0a09e6f0d404f6 + rimraf: bin.js + checksum: 10/063ffaccaaaca2cfd0ef3beafb12d6a03dd7ff1260d752d62a6077b5dfff6ae81bea571f655bb6b589d366930ec1bdd285d40d560c0dae9b12f125e54eb743d5 languageName: node linkType: hard @@ -26224,26 +25775,36 @@ __metadata: languageName: node linkType: hard +"ripemd160@npm:^2.0.1": + version: 2.0.2 + resolution: "ripemd160@npm:2.0.2" + dependencies: + hash-base: "npm:^3.0.0" + inherits: "npm:^2.0.1" + checksum: 10/006accc40578ee2beae382757c4ce2908a826b27e2b079efdcd2959ee544ddf210b7b5d7d5e80467807604244e7388427330f5c6d4cd61e6edaddc5773ccc393 + languageName: node + linkType: hard + "rollup@npm:^4.13.0": - version: 4.22.4 - resolution: "rollup@npm:4.22.4" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.22.4" - "@rollup/rollup-android-arm64": "npm:4.22.4" - "@rollup/rollup-darwin-arm64": "npm:4.22.4" - "@rollup/rollup-darwin-x64": "npm:4.22.4" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.22.4" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.22.4" - "@rollup/rollup-linux-arm64-gnu": "npm:4.22.4" - "@rollup/rollup-linux-arm64-musl": "npm:4.22.4" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.22.4" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.22.4" - "@rollup/rollup-linux-s390x-gnu": "npm:4.22.4" - "@rollup/rollup-linux-x64-gnu": "npm:4.22.4" - "@rollup/rollup-linux-x64-musl": "npm:4.22.4" - "@rollup/rollup-win32-arm64-msvc": "npm:4.22.4" - "@rollup/rollup-win32-ia32-msvc": "npm:4.22.4" - "@rollup/rollup-win32-x64-msvc": "npm:4.22.4" + version: 4.20.0 + resolution: "rollup@npm:4.20.0" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.20.0" + "@rollup/rollup-android-arm64": "npm:4.20.0" + "@rollup/rollup-darwin-arm64": "npm:4.20.0" + "@rollup/rollup-darwin-x64": "npm:4.20.0" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.20.0" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.20.0" + "@rollup/rollup-linux-arm64-gnu": "npm:4.20.0" + "@rollup/rollup-linux-arm64-musl": "npm:4.20.0" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.20.0" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.20.0" + "@rollup/rollup-linux-s390x-gnu": "npm:4.20.0" + "@rollup/rollup-linux-x64-gnu": "npm:4.20.0" + "@rollup/rollup-linux-x64-musl": "npm:4.20.0" + "@rollup/rollup-win32-arm64-msvc": "npm:4.20.0" + "@rollup/rollup-win32-ia32-msvc": "npm:4.20.0" + "@rollup/rollup-win32-x64-msvc": "npm:4.20.0" "@types/estree": "npm:1.0.5" fsevents: "npm:~2.3.2" dependenciesMeta: @@ -26283,7 +25844,70 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10/0fbee8c14d9052624c76a09fe79ed4d46024832be3ceea86c69f1521ae84b581a64c6e6596fdd796030c206835987e1a0a3be85f4c0d35b71400be5dce799d12 + checksum: 10/448bd835715aa0f78c6888314e31fb92f1b83325ef0ff861a5a322c2bc87d200b2b6c4acb9223fb669c27ae0c4b071003b6877eec1d3411174615a4057db8946 + languageName: node + linkType: hard + +"rollup@npm:^4.20.0": + version: 4.24.0 + resolution: "rollup@npm:4.24.0" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.24.0" + "@rollup/rollup-android-arm64": "npm:4.24.0" + "@rollup/rollup-darwin-arm64": "npm:4.24.0" + "@rollup/rollup-darwin-x64": "npm:4.24.0" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.24.0" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.24.0" + "@rollup/rollup-linux-arm64-gnu": "npm:4.24.0" + "@rollup/rollup-linux-arm64-musl": "npm:4.24.0" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.24.0" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.24.0" + "@rollup/rollup-linux-s390x-gnu": "npm:4.24.0" + "@rollup/rollup-linux-x64-gnu": "npm:4.24.0" + "@rollup/rollup-linux-x64-musl": "npm:4.24.0" + "@rollup/rollup-win32-arm64-msvc": "npm:4.24.0" + "@rollup/rollup-win32-ia32-msvc": "npm:4.24.0" + "@rollup/rollup-win32-x64-msvc": "npm:4.24.0" + "@types/estree": "npm:1.0.6" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-powerpc64le-gnu": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10/291dce8f180628a73d6749119a3e50aa917c416075302bc6f6ac655affc7f0ce9d7f025bef7318d424d0c5623dcb83e360f9ea0125273b6a2285c232172800cc languageName: node linkType: hard @@ -26351,19 +25975,19 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: 10/32872cd0ff68a3ddade7a7617b8f4c2ae8764d8b7d884c651b74457967a9e0e886267d3ecc781220629c44a865167b61c375d2da6c720c840ecd73f45d5d9451 languageName: node linkType: hard -"safe-regex2@npm:^3.1.0": - version: 3.1.0 - resolution: "safe-regex2@npm:3.1.0" +"safe-regex2@npm:^4.0.0": + version: 4.0.0 + resolution: "safe-regex2@npm:4.0.0" dependencies: - ret: "npm:~0.4.0" - checksum: 10/4f9f7172662763619052a45599e515efc5dd10a932690f610c8ab808a4baa41be3feafefa444f7532651d721d12871a1c9a85330626cdd013b804e8f4240dff1 + ret: "npm:~0.5.0" + checksum: 10/5607d4c20a92d66905d33556807da759ef0615d3b508ae7d6e7558e763bd59042bd30afb32d5f2456eb3f69a9d86fadbdf5e3e292494dae89fdae3087532602e languageName: node linkType: hard @@ -26383,12 +26007,10 @@ __metadata: languageName: node linkType: hard -"saslprep@npm:^1.0.3": - version: 1.0.3 - resolution: "saslprep@npm:1.0.3" - dependencies: - sparse-bitfield: "npm:^3.0.3" - checksum: 10/d6cae5f0adc960f355b7a78c25616c2aea31e7eeb6322eb2d553f09f1db249594651c1e5d54910e9a47b1dc6131beda82db13ffafbceea92f2a673d69c839982 +"sax@npm:1.2.1": + version: 1.2.1 + resolution: "sax@npm:1.2.1" + checksum: 10/d64f65291ce127f191eb2c22012f8f608736e306db6a28306e618bb1324cfbc19f6783c49ce0d88e5628fde30878c29189c8fb3c62c83f079b471734e4df455d languageName: node linkType: hard @@ -26399,12 +26021,12 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.23.0": - version: 0.23.0 - resolution: "scheduler@npm:0.23.0" +"scheduler@npm:^0.23.2": + version: 0.23.2 + resolution: "scheduler@npm:0.23.2" dependencies: loose-envify: "npm:^1.1.0" - checksum: 10/0c4557aa37bafca44ff21dc0ea7c92e2dbcb298bc62eae92b29a39b029134f02fb23917d6ebc8b1fa536b4184934314c20d8864d156a9f6357f3398aaf7bfda8 + checksum: 10/e8d68b89d18d5b028223edf090092846868a765a591944760942b77ea1f69b17235f7e956696efbb62c8130ab90af7e0949bfb8eba7896335507317236966bc9 languageName: node linkType: hard @@ -26461,26 +26083,26 @@ __metadata: languageName: node linkType: hard -"semantic-release@npm:23.0.5": - version: 23.0.5 - resolution: "semantic-release@npm:23.0.5" +"semantic-release@npm:24.1.2": + version: 24.1.2 + resolution: "semantic-release@npm:24.1.2" dependencies: - "@semantic-release/commit-analyzer": "npm:^12.0.0" + "@semantic-release/commit-analyzer": "npm:^13.0.0-beta.1" "@semantic-release/error": "npm:^4.0.0" - "@semantic-release/github": "npm:^10.0.0" + "@semantic-release/github": "npm:^11.0.0" "@semantic-release/npm": "npm:^12.0.0" - "@semantic-release/release-notes-generator": "npm:^12.0.0" + "@semantic-release/release-notes-generator": "npm:^14.0.0-beta.1" aggregate-error: "npm:^5.0.0" cosmiconfig: "npm:^9.0.0" debug: "npm:^4.0.0" env-ci: "npm:^11.0.0" - execa: "npm:^8.0.0" + execa: "npm:^9.0.0" figures: "npm:^6.0.0" - find-versions: "npm:^5.1.0" + find-versions: "npm:^6.0.0" get-stream: "npm:^6.0.0" git-log-parser: "npm:^1.2.0" hook-std: "npm:^3.0.0" - hosted-git-info: "npm:^7.0.0" + hosted-git-info: "npm:^8.0.0" import-from-esm: "npm:^1.3.1" lodash-es: "npm:^4.17.21" marked: "npm:^12.0.0" @@ -26488,7 +26110,7 @@ __metadata: micromatch: "npm:^4.0.2" p-each-series: "npm:^3.0.0" p-reduce: "npm:^3.0.0" - read-pkg-up: "npm:^11.0.0" + read-package-up: "npm:^11.0.0" resolve-from: "npm:^5.0.0" semver: "npm:^7.3.2" semver-diff: "npm:^4.0.0" @@ -26496,7 +26118,7 @@ __metadata: yargs: "npm:^17.5.1" bin: semantic-release: bin/semantic-release.js - checksum: 10/ced735ef120852db3708044b2356dfb884fe227573625a405920a646cfede0f5e758f987aefc125ea81f9b927372847c0f36ccc7bf67af4e1186bf729d6ede53 + checksum: 10/f84964268a7b75bfec2c7915ebe3cda3ccff3fcb7f3ed15165dd05781e564517bdaba1716d176ddcb84b2a7415b2e6d6e7dd080e974fda38560b20f48adb632d languageName: node linkType: hard @@ -26525,18 +26147,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.5.3": - version: 7.5.3 - resolution: "semver@npm:7.5.3" - dependencies: - lru-cache: "npm:^6.0.0" - bin: - semver: bin/semver.js - checksum: 10/80b4b3784abff33bacf200727e012dc66768ed5835441e0a802ba9f3f5dd6b10ee366294711f5e7e13d73b82a6127ea55f11f9884d35e76a6a618dc11bc16ccf - languageName: node - linkType: hard - -"semver@npm:>=7.5.4, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:~7.5.4": +"semver@npm:>=7.5.4, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4": version: 7.5.4 resolution: "semver@npm:7.5.4" dependencies: @@ -26547,7 +26158,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.3.0, semver@npm:^6.3.1": +"semver@npm:^6.0.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -26567,6 +26178,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.6.3": + version: 7.6.3 + resolution: "semver@npm:7.6.3" + bin: + semver: bin/semver.js + checksum: 10/36b1fbe1a2b6f873559cd57b238f1094a053dbfd997ceeb8757d79d1d2089c56d1321b9f1069ce263dc64cfa922fa1d2ad566b39426fe1ac6c723c1487589e10 + languageName: node + linkType: hard + "send@npm:0.18.0": version: 0.18.0 resolution: "send@npm:0.18.0" @@ -26588,6 +26208,27 @@ __metadata: languageName: node linkType: hard +"send@npm:0.19.0": + version: 0.19.0 + resolution: "send@npm:0.19.0" + dependencies: + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + mime: "npm:1.6.0" + ms: "npm:2.1.3" + on-finished: "npm:2.4.1" + range-parser: "npm:~1.2.1" + statuses: "npm:2.0.1" + checksum: 10/1f6064dea0ae4cbe4878437aedc9270c33f2a6650a77b56a16b62d057527f2766d96ee282997dd53ec0339082f2aad935bc7d989b46b48c82fc610800dc3a1d0 + languageName: node + linkType: hard + "sentence-case@npm:^1.1.1, sentence-case@npm:^1.1.2": version: 1.1.3 resolution: "sentence-case@npm:1.1.3" @@ -26644,6 +26285,18 @@ __metadata: languageName: node linkType: hard +"serve-static@npm:1.16.2": + version: 1.16.2 + resolution: "serve-static@npm:1.16.2" + dependencies: + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + parseurl: "npm:~1.3.3" + send: "npm:0.19.0" + checksum: 10/7fa9d9c68090f6289976b34fc13c50ac8cd7f16ae6bce08d16459300f7fc61fbc2d7ebfa02884c073ec9d6ab9e7e704c89561882bbe338e99fcacb2912fde737 + languageName: node + linkType: hard + "serverless-http@npm:^3.2.0": version: 3.2.0 resolution: "serverless-http@npm:3.2.0" @@ -26671,6 +26324,20 @@ __metadata: languageName: node linkType: hard +"set-function-length@npm:^1.2.1": + version: 1.2.2 + resolution: "set-function-length@npm:1.2.2" + dependencies: + define-data-property: "npm:^1.1.4" + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + get-intrinsic: "npm:^1.2.4" + gopd: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.2" + checksum: 10/505d62b8e088468917ca4e3f8f39d0e29f9a563b97dbebf92f4bd2c3172ccfb3c5b8e4566d5fcd00784a00433900e7cb8fbc404e2dbd8c3818ba05bb9d4a8a6d + languageName: node + linkType: hard + "set-value@npm:^2.0.0, set-value@npm:^2.0.1": version: 2.0.1 resolution: "set-value@npm:2.0.1" @@ -26697,7 +26364,7 @@ __metadata: languageName: node linkType: hard -"sha.js@npm:^2.4.11": +"sha.js@npm:^2.4.0, sha.js@npm:^2.4.11": version: 2.4.11 resolution: "sha.js@npm:2.4.11" dependencies: @@ -26752,10 +26419,29 @@ __metadata: languageName: node linkType: hard -"sift@npm:16.0.0": - version: 16.0.0 - resolution: "sift@npm:16.0.0" - checksum: 10/b9e92b2c4893904ad76d7988cdb3e2f4d7e78be2e880ab5609eabf90b8d7b1c55c68af1379c5f0d68798e580f5ce1197ed2de2dae5247aa68cf78b63efe56c41 +"side-channel@npm:^1.0.6": + version: 1.0.6 + resolution: "side-channel@npm:1.0.6" + dependencies: + call-bind: "npm:^1.0.7" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.4" + object-inspect: "npm:^1.13.1" + checksum: 10/eb10944f38cebad8ad643dd02657592fa41273ce15b8bfa928d3291aff2d30c20ff777cfe908f76ccc4551ace2d1245822fdc576657cce40e9066c638ca8fa4d + languageName: node + linkType: hard + +"sift@npm:16.0.1": + version: 16.0.1 + resolution: "sift@npm:16.0.1" + checksum: 10/b35feea1b917af095b69aa3bdf69ee0409d8b20a16cd6a94d4cdeb1fcebe02350bad5bb37fc2e2edde2dcfc73adf3621c2f367ede9574607d6b8cd9ca9989c87 + languageName: node + linkType: hard + +"sift@npm:17.1.3": + version: 17.1.3 + resolution: "sift@npm:17.1.3" + checksum: 10/278a0308cb4c7a48620caeb25339072fcef50d9a1296bc78c9710b1bb974ef5b3e375acf6646fe0a698e0f3ea19af81c11a348980dc28ff80c979e050f7f8585 languageName: node linkType: hard @@ -26798,21 +26484,6 @@ __metadata: languageName: node linkType: hard -"sigstore@npm:^1.3.0, sigstore@npm:^1.4.0": - version: 1.9.0 - resolution: "sigstore@npm:1.9.0" - dependencies: - "@sigstore/bundle": "npm:^1.1.0" - "@sigstore/protobuf-specs": "npm:^0.2.0" - "@sigstore/sign": "npm:^1.0.0" - "@sigstore/tuf": "npm:^1.0.3" - make-fetch-happen: "npm:^11.0.1" - bin: - sigstore: bin/sigstore.js - checksum: 10/7ff59f6bbc6fbf4e11f99df36562cdfd8f27f74650e1794942b0f9b567c6facdd0a6c245375111c464a0c367e617793a1c1787ec1dea9784ad2fb698932b9fb9 - languageName: node - linkType: hard - "sigstore@npm:^2.2.0": version: 2.2.2 resolution: "sigstore@npm:2.2.2" @@ -26922,28 +26593,6 @@ __metadata: languageName: node linkType: hard -"slice-ansi@npm:^3.0.0": - version: 3.0.0 - resolution: "slice-ansi@npm:3.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - astral-regex: "npm:^2.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - checksum: 10/5ec6d022d12e016347e9e3e98a7eb2a592213a43a65f1b61b74d2c78288da0aded781f665807a9f3876b9daa9ad94f64f77d7633a0458876c3a4fdc4eb223f24 - languageName: node - linkType: hard - -"slice-ansi@npm:^4.0.0": - version: 4.0.0 - resolution: "slice-ansi@npm:4.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - astral-regex: "npm:^2.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - checksum: 10/4a82d7f085b0e1b070e004941ada3c40d3818563ac44766cca4ceadd2080427d337554f9f99a13aaeb3b4a94d9964d9466c807b3d7b7541d1ec37ee32d308756 - languageName: node - linkType: hard - "slice-ansi@npm:^5.0.0": version: 5.0.0 resolution: "slice-ansi@npm:5.0.0" @@ -26954,7 +26603,7 @@ __metadata: languageName: node linkType: hard -"slice-ansi@npm:^7.0.0": +"slice-ansi@npm:^7.0.0, slice-ansi@npm:^7.1.0": version: 7.1.0 resolution: "slice-ansi@npm:7.1.0" dependencies: @@ -27051,15 +26700,15 @@ __metadata: languageName: node linkType: hard -"socket.io-client@npm:^4.7.5": - version: 4.7.5 - resolution: "socket.io-client@npm:4.7.5" +"socket.io-client@npm:^4.8.0": + version: 4.8.0 + resolution: "socket.io-client@npm:4.8.0" dependencies: "@socket.io/component-emitter": "npm:~3.1.0" debug: "npm:~4.3.2" - engine.io-client: "npm:~6.5.2" + engine.io-client: "npm:~6.6.1" socket.io-parser: "npm:~4.2.4" - checksum: 10/a9e118081dc1669a63af3abd9defce94f85c8ed8d9146cd7a77665b5f1f78baf0b9f4155cf0fce7770856f97493416551abcba686f02778045f4768ceaafed5c + checksum: 10/98e05a6e3b19e6bae39bedbb6fd07e970e90c962b6ab9b68c4968a789be84efe40129b7f8abc73bafa31a29d444c3a0bde992131f93e7c3ddb27ef5192131e08 languageName: node linkType: hard @@ -27073,18 +26722,18 @@ __metadata: languageName: node linkType: hard -"socket.io@npm:4.7.5": - version: 4.7.5 - resolution: "socket.io@npm:4.7.5" +"socket.io@npm:4.8.0": + version: 4.8.0 + resolution: "socket.io@npm:4.8.0" dependencies: accepts: "npm:~1.3.4" base64id: "npm:~2.0.0" cors: "npm:~2.8.5" debug: "npm:~4.3.2" - engine.io: "npm:~6.5.2" + engine.io: "npm:~6.6.0" socket.io-adapter: "npm:~2.5.2" socket.io-parser: "npm:~4.2.4" - checksum: 10/911528f5bfdf83dbe2b154866884b736a7498f112f294a6f8420418fa11baadf08578869dab3e220c943094ff0d17b7f4587de3b1ad39679d9c12ed4cb226900 + checksum: 10/94863e53f22bce683d40f58967d56c72fdf0bb0530512c45663451ad2dd75edfbcc67c5a356c47c04275d915aaaec3731e8f73230634b5330abc47a45a212c82 languageName: node linkType: hard @@ -27099,7 +26748,7 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^6.0.0, socks-proxy-agent@npm:^6.1.1": +"socks-proxy-agent@npm:^6.0.0": version: 6.2.1 resolution: "socks-proxy-agent@npm:6.2.1" dependencies: @@ -27110,17 +26759,6 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^7.0.0": - version: 7.0.0 - resolution: "socks-proxy-agent@npm:7.0.0" - dependencies: - agent-base: "npm:^6.0.2" - debug: "npm:^4.3.3" - socks: "npm:^2.6.2" - checksum: 10/26c75d9c62a9ed3fd494df60e65e88da442f78e0d4bc19bfd85ac37bd2c67470d6d4bba5202e804561cda6674db52864c9e2a2266775f879bc8d89c1445a5f4c - languageName: node - linkType: hard - "socks-proxy-agent@npm:^8.0.1": version: 8.0.2 resolution: "socks-proxy-agent@npm:8.0.2" @@ -27165,6 +26803,13 @@ __metadata: languageName: node linkType: hard +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10/ff9d8c8bf096d534a5b7707e0382ef827b4dd360a577d3f34d2b9f48e12c9d230b5747974ee7c607f0df65113732711bb701fe9ece3c7edbd43cb2294d707df3 + languageName: node + linkType: hard + "source-map-loader@npm:^4.0.0": version: 4.0.1 resolution: "source-map-loader@npm:4.0.1" @@ -27217,14 +26862,14 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.5.0, source-map@npm:^0.5.6, source-map@npm:~0.5.1": +"source-map@npm:^0.5.6, source-map@npm:~0.5.1": version: 0.5.7 resolution: "source-map@npm:0.5.7" checksum: 10/9b4ac749ec5b5831cad1f8cc4c19c4298ebc7474b24a0acf293e2f040f03f8eeccb3d01f12aa0f90cf46d555c887e03912b83a042c627f419bda5152d89c5269 languageName: node linkType: hard -"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1": +"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0": version: 0.6.1 resolution: "source-map@npm:0.6.1" checksum: 10/59ef7462f1c29d502b3057e822cdbdae0b0e565302c4dd1a95e11e793d8d9d62006cdc10e0fd99163ca33ff2071360cf50ee13f90440806e7ed57d81cba2f7ff @@ -27263,13 +26908,6 @@ __metadata: languageName: node linkType: hard -"spawn-command@npm:0.0.2": - version: 0.0.2 - resolution: "spawn-command@npm:0.0.2" - checksum: 10/f13e8c3c63abd4a0b52fb567eba5f7940d480c5ed3ec61781d38a1850f179b1196c39e6efa2bbd301f82c1bf1cd7807abc8fbd8fc8e44bcaa3975a124c0d1657 - languageName: node - linkType: hard - "spawn-error-forwarder@npm:~1.0.0": version: 1.0.0 resolution: "spawn-error-forwarder@npm:1.0.0" @@ -27277,20 +26915,6 @@ __metadata: languageName: node linkType: hard -"spawn-wrap@npm:^2.0.0": - version: 2.0.0 - resolution: "spawn-wrap@npm:2.0.0" - dependencies: - foreground-child: "npm:^2.0.0" - is-windows: "npm:^1.0.2" - make-dir: "npm:^3.0.0" - rimraf: "npm:^3.0.0" - signal-exit: "npm:^3.0.2" - which: "npm:^2.0.1" - checksum: 10/ce6ca08d66c3a41a28a7ecc10bf4945d7930fd3ae961d40804ee109cee6ee9f8436125f53bc07918ca1eb461fe2ff0033af1dc3cb803469b585639675fc2d2e7 - languageName: node - linkType: hard - "spdx-correct@npm:^3.0.0": version: 3.1.1 resolution: "spdx-correct@npm:3.1.1" @@ -27473,7 +27097,7 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^10.0.0, ssri@npm:^10.0.1, ssri@npm:^10.0.5": +"ssri@npm:^10.0.0, ssri@npm:^10.0.5": version: 10.0.5 resolution: "ssri@npm:10.0.5" dependencies: @@ -27482,21 +27106,21 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^8.0.0, ssri@npm:^8.0.1": - version: 8.0.1 - resolution: "ssri@npm:8.0.1" +"ssri@npm:^10.0.6": + version: 10.0.6 + resolution: "ssri@npm:10.0.6" dependencies: - minipass: "npm:^3.1.1" - checksum: 10/fde247b7107674d9a424a20f9c1a6e3ad88a139c2636b9d9ffa7df59e85e11a894cdae48fadd0ad6be41eb0d5b847fe094736513d333615c7eebc3d111abe0d2 + minipass: "npm:^7.0.3" + checksum: 10/f92c1b3cc9bfd0a925417412d07d999935917bc87049f43ebec41074661d64cf720315661844106a77da9f8204b6d55ae29f9514e673083cae39464343af2a8b languageName: node linkType: hard -"ssri@npm:^9.0.0, ssri@npm:^9.0.1": - version: 9.0.1 - resolution: "ssri@npm:9.0.1" +"ssri@npm:^8.0.0, ssri@npm:^8.0.1": + version: 8.0.1 + resolution: "ssri@npm:8.0.1" dependencies: minipass: "npm:^3.1.1" - checksum: 10/7638a61e91432510718e9265d48d0438a17d53065e5184f1336f234ef6aa3479663942e41e97df56cda06bb24d9d0b5ef342c10685add3cac7267a82d7fa6718 + checksum: 10/fde247b7107674d9a424a20f9c1a6e3ad88a139c2636b9d9ffa7df59e85e11a894cdae48fadd0ad6be41eb0d5b847fe094736513d333615c7eebc3d111abe0d2 languageName: node linkType: hard @@ -27531,7 +27155,7 @@ __metadata: languageName: node linkType: hard -"statuses@npm:2.0.1, statuses@npm:>=2.0.1": +"statuses@npm:2.0.1, statuses@npm:^2.0.1": version: 2.0.1 resolution: "statuses@npm:2.0.1" checksum: 10/18c7623fdb8f646fb213ca4051be4df7efb3484d4ab662937ca6fbef7ced9b9e12842709872eb3020cc3504b93bde88935c9f6417489627a7786f24f8031cbcb @@ -27552,19 +27176,10 @@ __metadata: languageName: node linkType: hard -"steno@npm:^0.4.1": - version: 0.4.4 - resolution: "steno@npm:0.4.4" - dependencies: - graceful-fs: "npm:^4.1.3" - checksum: 10/02e23c2703140db5ddeee2f353830b7c628705fd63337c4d25bd400828cc2a86bb7a56760ae5aafd4a6db60c49d84e0405f3e18ce24bb0821a054c5fcd07bfc8 - languageName: node - linkType: hard - -"steno@npm:^2.1.0": - version: 2.1.0 - resolution: "steno@npm:2.1.0" - checksum: 10/10fc583480c62b783cd9eb906b8c65d11d19f328fa2e7a9353b1421c505048525d667ed81e16abc9658a4e03aa26bf5f964fa513a0d979d130c965ccb336c8e6 +"steno@npm:^4.0.2": + version: 4.0.2 + resolution: "steno@npm:4.0.2" + checksum: 10/cb8beb6b6da410f6a307261da813e57569ff3c85b11695437259f49f081fc6b0eeb26c059f0ec661c4098a09f361057fe834b04d3f94ece885e96a9e0eeba697 languageName: node linkType: hard @@ -27585,6 +27200,26 @@ __metadata: languageName: node linkType: hard +"stream-to-array@npm:~2.3.0": + version: 2.3.0 + resolution: "stream-to-array@npm:2.3.0" + dependencies: + any-promise: "npm:^1.1.0" + checksum: 10/7feaf63b38399b850615e6ffcaa951e96e4c8f46745dbce4b553a94c5dc43966933813747014935a3ff97793e7f30a65270bde19f82b2932871a1879229a77cf + languageName: node + linkType: hard + +"stream-to-promise@npm:^3.0.0": + version: 3.0.0 + resolution: "stream-to-promise@npm:3.0.0" + dependencies: + any-promise: "npm:~1.3.0" + end-of-stream: "npm:~1.4.1" + stream-to-array: "npm:~2.3.0" + checksum: 10/5cbe99489c6a3f3412c3285545e03c8b54d586f01151f4bfcf3ab02d490f838db1da83a29409aa68cc47aa1f6d841f6bc553567b564fc2bc24725415ceeca86e + languageName: node + linkType: hard + "stream-transform@npm:^3.3.0": version: 3.3.0 resolution: "stream-transform@npm:3.3.0" @@ -27639,14 +27274,7 @@ __metadata: languageName: node linkType: hard -"string-argv@npm:^0.3.1": - version: 0.3.1 - resolution: "string-argv@npm:0.3.1" - checksum: 10/47c637e3f47b3f5a6430036315e65564483fcf7745341d474943f0c2046f188681275fc1f2948db75c7a7e68134b1446e0dcceda60a7be1ee0c3fb026c0d90c4 - languageName: node - linkType: hard - -"string-argv@npm:~0.3.1": +"string-argv@npm:~0.3.2": version: 0.3.2 resolution: "string-argv@npm:0.3.2" checksum: 10/f9d3addf887026b4b5f997a271149e93bf71efc8692e7dc0816e8807f960b18bcb9787b45beedf0f97ff459575ee389af3f189d8b649834cac602f2e857e75af @@ -27660,7 +27288,7 @@ __metadata: languageName: node linkType: hard -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:4.2.3, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -27692,7 +27320,7 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^5.0.0, string-width@npm:^5.0.1, string-width@npm:^5.1.2": +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": version: 5.1.2 resolution: "string-width@npm:5.1.2" dependencies: @@ -27759,7 +27387,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" dependencies: @@ -27832,7 +27460,14 @@ __metadata: languageName: node linkType: hard -"strip-indent@npm:3.0.0, strip-indent@npm:^3.0.0": +"strip-final-newline@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-final-newline@npm:4.0.0" + checksum: 10/b5fe48f695d74863153a3b3155220e6e9bf51f4447832998c8edec38e6559b3af87a9fe5ac0df95570a78a26f5fa91701358842eab3c15480e27980b154a145f + languageName: node + linkType: hard + +"strip-indent@npm:^3.0.0": version: 3.0.0 resolution: "strip-indent@npm:3.0.0" dependencies: @@ -27841,7 +27476,7 @@ __metadata: languageName: node linkType: hard -"strip-json-comments@npm:^3.1.1, strip-json-comments@npm:~3.1.1": +"strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" checksum: 10/492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443 @@ -27855,13 +27490,13 @@ __metadata: languageName: node linkType: hard -"stripe@npm:^8.129.0": - version: 8.215.0 - resolution: "stripe@npm:8.215.0" +"stripe@npm:^8.222.0": + version: 8.222.0 + resolution: "stripe@npm:8.222.0" dependencies: "@types/node": "npm:>=8.1.0" qs: "npm:^6.10.3" - checksum: 10/6fd8435826e6feabde97e51762df5bf418d3cec84159ea817909db951a8684ec48822ce6e66c8bb552ee034fa8b5461dd8f76c1ec991fa6559ef2798c842eff6 + checksum: 10/5d88142ec118c2799c9d96d96703e3136bb41b3c74609c1b532a4b2892d4611c73ef0ebad5f2fd1c6585591c1aca0ddcd1ab484bd1634e0632a00fd357d2bac2 languageName: node linkType: hard @@ -27922,6 +27557,16 @@ __metadata: languageName: node linkType: hard +"super-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "super-regex@npm:1.0.0" + dependencies: + function-timeout: "npm:^1.0.1" + time-span: "npm:^5.1.0" + checksum: 10/d99e90ee0950356b86b01ad327605080e72ee0712c7e5c66335e7e4e3bd2919206caea929fa2d5ca97c2afc1d1ab91466d09eadcf1101196edcfb94bebfea388 + languageName: node + linkType: hard + "superagent-retry@npm:^0.6.0": version: 0.6.0 resolution: "superagent-retry@npm:0.6.0" @@ -27931,32 +27576,30 @@ __metadata: languageName: node linkType: hard -"superagent@npm:^7.1.0": - version: 7.1.2 - resolution: "superagent@npm:7.1.2" +"superagent@npm:^9.0.1": + version: 9.0.2 + resolution: "superagent@npm:9.0.2" dependencies: component-emitter: "npm:^1.3.0" - cookiejar: "npm:^2.1.3" - debug: "npm:^4.3.3" + cookiejar: "npm:^2.1.4" + debug: "npm:^4.3.4" fast-safe-stringify: "npm:^2.1.1" form-data: "npm:^4.0.0" - formidable: "npm:^2.0.1" + formidable: "npm:^3.5.1" methods: "npm:^1.1.2" - mime: "npm:^2.5.0" - qs: "npm:^6.10.1" - readable-stream: "npm:^3.6.0" - semver: "npm:^7.3.5" - checksum: 10/f4adb4439c63a2ca0571c3ec414a89411d3baa26ef3243b3e489df97fe8aa0b0e1927d149da29d467e799dc0fcb131c4dd44f35cf98e50ef7d487fc447217ddc + mime: "npm:2.6.0" + qs: "npm:^6.11.0" + checksum: 10/d3c0c9051ceec84d5b431eaa410ad81bcd53255cea57af1fc66d683a24c34f3ba4761b411072a9bf489a70e3d5b586a78a0e6f2eac6a561067e7d196ddab0907 languageName: node linkType: hard -"supertest@npm:6.2.2": - version: 6.2.2 - resolution: "supertest@npm:6.2.2" +"supertest@npm:7.0.0": + version: 7.0.0 + resolution: "supertest@npm:7.0.0" dependencies: methods: "npm:^1.1.2" - superagent: "npm:^7.1.0" - checksum: 10/5715b1fb684af65f54f8e0571026f851c9a2425b571ec2407fe693cd8b7a0bdeb4b0d3998ab8564048261a903441ac43c18566a9f17ebb0f4178e2225b3337db + superagent: "npm:^9.0.1" + checksum: 10/73bf2a37e13856a1b3e6a37b9df5cec8e506aa0360a5f5ecd989d1f4b0edf168883e306012e81e371d5252c17d4c7bef4ba30633dbf3877cbf52fc7af51cca9b languageName: node linkType: hard @@ -27985,7 +27628,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^8.0.0, supports-color@npm:^8.1.1, supports-color@npm:~8.1.1": +"supports-color@npm:^8.0.0, supports-color@npm:^8.1.1": version: 8.1.1 resolution: "supports-color@npm:8.1.1" dependencies: @@ -27994,23 +27637,13 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^9.2.2, supports-color@npm:^9.4.0": +"supports-color@npm:^9.4.0": version: 9.4.0 resolution: "supports-color@npm:9.4.0" checksum: 10/cb8ff8daeaf1db642156f69a9aa545b6c01dd9c4def4f90a49f46cbf24be0c245d392fcf37acd119cd1819b99dad2cc9b7e3260813f64bcfd7f5b18b5a1eefb8 languageName: node linkType: hard -"supports-hyperlinks@npm:^2.0.0": - version: 2.3.0 - resolution: "supports-hyperlinks@npm:2.3.0" - dependencies: - has-flag: "npm:^4.0.0" - supports-color: "npm:^7.0.0" - checksum: 10/3e7df6e9eaa177d7bfbbe065c91325e9b482f48de0f7c9133603e3ffa8af31cbceac104a0941cd0266a57f8e691de6eb58b79fec237852dc84ed7ad152b116b0 - languageName: node - linkType: hard - "supports-hyperlinks@npm:^3.0.0": version: 3.0.0 resolution: "supports-hyperlinks@npm:3.0.0" @@ -28028,10 +27661,10 @@ __metadata: languageName: node linkType: hard -"swagger-ui-dist@npm:>=5.17.1": - version: 5.17.1 - resolution: "swagger-ui-dist@npm:5.17.1" - checksum: 10/f993c5f6537f7223a122b419204979ba2f29a1c643f541bdd9e46468bb9aa9c7e0b455b8566e2dc4b94c3cfe81958c4d7517d62149775d52aea11638aa8c91f4 +"swagger-ui-dist@npm:>=5.17.14": + version: 5.17.14 + resolution: "swagger-ui-dist@npm:5.17.14" + checksum: 10/b9e62d7ecb64e837849252c9f82af654b26cae60ebd551cff96495d826166d3ed866ebae40f22a2c61d307330151945d79d995e50659ae17eea6cf4ece788f9d languageName: node linkType: hard @@ -28074,13 +27707,13 @@ __metadata: languageName: node linkType: hard -"synckit@npm:^0.8.6": - version: 0.8.8 - resolution: "synckit@npm:0.8.8" +"synckit@npm:^0.9.1": + version: 0.9.1 + resolution: "synckit@npm:0.9.1" dependencies: "@pkgr/core": "npm:^0.1.0" tslib: "npm:^2.6.2" - checksum: 10/2864a5c3e689ad5b991bebbd8a583c5682c4fa08a4f39986b510b6b5d160c08fc3672444069f8f96ed6a9d12772879c674c1f61e728573eadfa90af40a765b74 + checksum: 10/bff3903976baf8b699b5483228116d70223781a93b17c70e685c277ee960cdfd1a09cb5a741e6a9ec35e2428f14f4664baec41ccc99a598f267608b2a54f529b languageName: node linkType: hard @@ -28132,7 +27765,7 @@ __metadata: languageName: node linkType: hard -"tar-stream@npm:^2.0.0, tar-stream@npm:^2.1.4, tar-stream@npm:^2.2.0, tar-stream@npm:~2.2.0": +"tar-stream@npm:^2.0.0, tar-stream@npm:^2.1.4, tar-stream@npm:~2.2.0": version: 2.2.0 resolution: "tar-stream@npm:2.2.0" dependencies: @@ -28156,7 +27789,21 @@ __metadata: languageName: node linkType: hard -"tar@npm:6.1.11, tar@npm:^6.0.2, tar@npm:^6.1.11, tar@npm:^6.1.2": +"tar@npm:6.2.1": + version: 6.2.1 + resolution: "tar@npm:6.2.1" + dependencies: + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + minipass: "npm:^5.0.0" + minizlib: "npm:^2.1.1" + mkdirp: "npm:^1.0.3" + yallist: "npm:^4.0.0" + checksum: 10/bfbfbb2861888077fc1130b84029cdc2721efb93d1d1fb80f22a7ac3a98ec6f8972f29e564103bbebf5e97be67ebc356d37fa48dbc4960600a1eb7230fbd1ea0 + languageName: node + linkType: hard + +"tar@npm:^6.0.2, tar@npm:^6.1.11, tar@npm:^6.1.2": version: 6.1.11 resolution: "tar@npm:6.1.11" dependencies: @@ -28198,20 +27845,13 @@ __metadata: languageName: node linkType: hard -"temp-dir@npm:1.0.0, temp-dir@npm:^1.0.0": +"temp-dir@npm:1.0.0": version: 1.0.0 resolution: "temp-dir@npm:1.0.0" checksum: 10/cb2b58ddfb12efa83e939091386ad73b425c9a8487ea0095fe4653192a40d49184a771a1beba99045fbd011e389fd563122d79f54f82be86a55620667e08a6b2 languageName: node linkType: hard -"temp-dir@npm:2.0.0, temp-dir@npm:^2.0.0": - version: 2.0.0 - resolution: "temp-dir@npm:2.0.0" - checksum: 10/cc4f0404bf8d6ae1a166e0e64f3f409b423f4d1274d8c02814a59a5529f07db6cd070a749664141b992b2c1af337fa9bb451a460a43bb9bcddc49f235d3115aa - languageName: node - linkType: hard - "temp-dir@npm:^3.0.0": version: 3.0.0 resolution: "temp-dir@npm:3.0.0" @@ -28219,19 +27859,6 @@ __metadata: languageName: node linkType: hard -"temp-write@npm:4.0.0": - version: 4.0.0 - resolution: "temp-write@npm:4.0.0" - dependencies: - graceful-fs: "npm:^4.1.15" - is-stream: "npm:^2.0.0" - make-dir: "npm:^3.0.0" - temp-dir: "npm:^1.0.0" - uuid: "npm:^3.3.2" - checksum: 10/4f94187662968b7cc9d88d7f8eeecc9e7317e26d640d2f90e833151e1049702ec6c63512d095b8bd69c09735eb5b5bfba9bb37dbed3bf2fe8b01076ffa161338 - languageName: node - linkType: hard - "templayed@npm:>=0.2.3": version: 0.2.3 resolution: "templayed@npm:0.2.3" @@ -28239,19 +27866,6 @@ __metadata: languageName: node linkType: hard -"tempy@npm:1.0.1": - version: 1.0.1 - resolution: "tempy@npm:1.0.1" - dependencies: - del: "npm:^6.0.0" - is-stream: "npm:^2.0.0" - temp-dir: "npm:^2.0.0" - type-fest: "npm:^0.16.0" - unique-string: "npm:^2.0.0" - checksum: 10/e3a3857cd102db84c484b8e878203b496f0e927025b7c60dd118c0c9a0962f4589321c6b3093185d529576af5c58be65d755e72c2a6ad009ff340ab8cbbe4d33 - languageName: node - linkType: hard - "tempy@npm:^3.0.0": version: 3.1.0 resolution: "tempy@npm:3.1.0" @@ -28264,16 +27878,6 @@ __metadata: languageName: node linkType: hard -"terminal-link@npm:2.1.1": - version: 2.1.1 - resolution: "terminal-link@npm:2.1.1" - dependencies: - ansi-escapes: "npm:^4.2.1" - supports-hyperlinks: "npm:^2.0.0" - checksum: 10/ce3d2cd3a438c4a9453947aa664581519173ea40e77e2534d08c088ee6dda449eabdbe0a76d2a516b8b73c33262fedd10d5270ccf7576ae316e3db170ce6562f - languageName: node - linkType: hard - "terser-webpack-plugin@npm:^5.1.3": version: 5.3.6 resolution: "terser-webpack-plugin@npm:5.3.6" @@ -28310,17 +27914,6 @@ __metadata: languageName: node linkType: hard -"test-exclude@npm:^6.0.0": - version: 6.0.0 - resolution: "test-exclude@npm:6.0.0" - dependencies: - "@istanbuljs/schema": "npm:^0.1.2" - glob: "npm:^7.1.4" - minimatch: "npm:^3.0.4" - checksum: 10/8fccb2cb6c8fcb6bb4115394feb833f8b6cf4b9503ec2485c2c90febf435cac62abe882a0c5c51a37b9bbe70640cdd05acf5f45e486ac4583389f4b0855f69e5 - languageName: node - linkType: hard - "test-exclude@npm:^7.0.1": version: 7.0.1 resolution: "test-exclude@npm:7.0.1" @@ -28332,7 +27925,7 @@ __metadata: languageName: node linkType: hard -"testcontainers@npm:>=10.11.0, testcontainers@npm:^10.11.0": +"testcontainers@npm:>=10.11.0": version: 10.11.0 resolution: "testcontainers@npm:10.11.0" dependencies: @@ -28355,6 +27948,29 @@ __metadata: languageName: node linkType: hard +"testcontainers@npm:^10.13.2": + version: 10.13.2 + resolution: "testcontainers@npm:10.13.2" + dependencies: + "@balena/dockerignore": "npm:^1.0.2" + "@types/dockerode": "npm:^3.3.29" + archiver: "npm:^7.0.1" + async-lock: "npm:^1.4.1" + byline: "npm:^5.0.0" + debug: "npm:^4.3.5" + docker-compose: "npm:^0.24.8" + dockerode: "npm:^3.3.5" + get-port: "npm:^5.1.1" + proper-lockfile: "npm:^4.1.2" + properties-reader: "npm:^2.3.0" + ssh-remote-port-forward: "npm:^1.0.4" + tar-fs: "npm:^3.0.6" + tmp: "npm:^0.2.3" + undici: "npm:^5.28.4" + checksum: 10/9d1c7028b494ef68a15138c1de3880f2629e46e80fec4c427c885589b26249be3294ee3824e3409a8a8db4420f16db84e8e5be06b69162e98ebdcde8ecd6c951 + languageName: node + linkType: hard + "text-decoder@npm:^1.1.0": version: 1.1.1 resolution: "text-decoder@npm:1.1.1" @@ -28441,6 +28057,15 @@ __metadata: languageName: node linkType: hard +"time-span@npm:^5.1.0": + version: 5.1.0 + resolution: "time-span@npm:5.1.0" + dependencies: + convert-hrtime: "npm:^5.0.0" + checksum: 10/949c45fcb873f2d26fda3db1b7f7161ce65206f6e94a7c6c9bf3a5a07a373570dba57ca5c1f816efa6326adbc3f9e93bb6ef19a7a220f4259a917e1192d49418 + languageName: node + linkType: hard + "time-stamp@npm:^1.0.0": version: 1.1.0 resolution: "time-stamp@npm:1.1.0" @@ -28455,13 +28080,20 @@ __metadata: languageName: node linkType: hard -"tinybench@npm:^2.8.0": +"tinybench@npm:^2.9.0": version: 2.9.0 resolution: "tinybench@npm:2.9.0" checksum: 10/cfa1e1418e91289219501703c4693c70708c91ffb7f040fd318d24aef419fb5a43e0c0160df9471499191968b2451d8da7f8087b08c3133c251c40d24aced06c languageName: node linkType: hard +"tinyexec@npm:^0.3.0": + version: 0.3.0 + resolution: "tinyexec@npm:0.3.0" + checksum: 10/317cc536d091ce7e50271287798d91ef53c4dc80088844d890752a2c7387d213004cba83e5e1d9129390ced617625e34f4a8f0ba5779e31c9b6939f9be0d3543 + languageName: node + linkType: hard + "tinyliquid@npm:^0.2.34": version: 0.2.34 resolution: "tinyliquid@npm:0.2.34" @@ -28518,7 +28150,14 @@ __metadata: languageName: node linkType: hard -"tmp@npm:0.2.1, tmp@npm:~0.2.1": +"tmp@npm:^0.2.3": + version: 0.2.3 + resolution: "tmp@npm:0.2.3" + checksum: 10/7b13696787f159c9754793a83aa79a24f1522d47b87462ddb57c18ee93ff26c74cbb2b8d9138f571d2e0e765c728fb2739863a672b280528512c6d83d511c6fa + languageName: node + linkType: hard + +"tmp@npm:~0.2.1": version: 0.2.1 resolution: "tmp@npm:0.2.1" dependencies: @@ -28527,13 +28166,6 @@ __metadata: languageName: node linkType: hard -"tmp@npm:^0.2.3": - version: 0.2.3 - resolution: "tmp@npm:0.2.3" - checksum: 10/7b13696787f159c9754793a83aa79a24f1522d47b87462ddb57c18ee93ff26c74cbb2b8d9138f571d2e0e765c728fb2739863a672b280528512c6d83d511c6fa - languageName: node - linkType: hard - "to-fast-properties@npm:^2.0.0": version: 2.0.0 resolution: "to-fast-properties@npm:2.0.0" @@ -28673,6 +28305,15 @@ __metadata: languageName: node linkType: hard +"ts-api-utils@npm:^1.3.0": + version: 1.3.0 + resolution: "ts-api-utils@npm:1.3.0" + peerDependencies: + typescript: ">=4.2.0" + checksum: 10/3ee44faa24410cd649b5c864e068d438aa437ef64e9e4a66a41646a6d3024d3097a695eeb3fb26ee364705d3cb9653a65756d009e6a53badb6066a5f447bf7ed + languageName: node + linkType: hard + "ts-invariant@npm:^0.4.0": version: 0.4.4 resolution: "ts-invariant@npm:0.4.4" @@ -28682,18 +28323,19 @@ __metadata: languageName: node linkType: hard -"ts-loader@npm:^9.4.2": - version: 9.4.2 - resolution: "ts-loader@npm:9.4.2" +"ts-loader@npm:9.5.1": + version: 9.5.1 + resolution: "ts-loader@npm:9.5.1" dependencies: chalk: "npm:^4.1.0" enhanced-resolve: "npm:^5.0.0" micromatch: "npm:^4.0.0" semver: "npm:^7.3.4" + source-map: "npm:^0.7.4" peerDependencies: typescript: "*" webpack: ^5.0.0 - checksum: 10/6779ca2627f36c2ffbaf62c20eba8aa420e39b33dfbb7ea03ee84e97010b3139fe63bda7d37117dcd08b2be2235684d8e4971750e5c92441af18dac8b18907c3 + checksum: 10/a85d43bb6f72858d613290ac02d1d24e81c38ba2dcb98b90465dc97eb6c2036bf9a389542c1a7865548643e7ed39f063fdff2dbb3e5aafbc511de6a3eb275adf languageName: node linkType: hard @@ -28706,7 +28348,7 @@ __metadata: languageName: node linkType: hard -"ts-morph@npm:^12.0.0": +"ts-morph@npm:^12.2.0": version: 12.2.0 resolution: "ts-morph@npm:12.2.0" dependencies: @@ -28754,13 +28396,6 @@ __metadata: languageName: node linkType: hard -"ts-pattern@npm:4.3.0": - version: 4.3.0 - resolution: "ts-pattern@npm:4.3.0" - checksum: 10/bfece8241117031bc302e7dd657afc1d4f504c64ec745ca9f9ec3ea454e441fd1491dc73e10f62c3685ee51a740699244a716c4145d98bd61b38fcc067e81f81 - languageName: node - linkType: hard - "tsconfig-paths@npm:^4.1.2": version: 4.2.0 resolution: "tsconfig-paths@npm:4.2.0" @@ -28772,41 +28407,27 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.3.1, tslib@npm:~2.3.0": - version: 2.3.1 - resolution: "tslib@npm:2.3.1" - checksum: 10/5e7de59ed9f2b705b399bda28326b7c3e7526deb48bbe1716e2e17fbd4cecbb610253d09c7b8fd0a6e76cfed9304e2e608cdb81bb1ee812d69e5089d1a94c71a - languageName: node - linkType: hard - -"tslib@npm:2.6.1": - version: 2.6.1 - resolution: "tslib@npm:2.6.1" - checksum: 10/5cf1aa7ea4ca7ee9b8aa3d80eb7ee86634b307fbefcb948a831c2b13728e21e156ef7fb9edcbe21f05c08f65e4cf4480587086f31133491ba1a49c9e0b28fc75 - languageName: node - linkType: hard - -"tslib@npm:2.6.2, tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.6.2": +"tslib@npm:2.6.2, tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.5.0, tslib@npm:^2.6.2": version: 2.6.2 resolution: "tslib@npm:2.6.2" checksum: 10/bd26c22d36736513980091a1e356378e8b662ded04204453d353a7f34a4c21ed0afc59b5f90719d4ba756e581a162ecbf93118dc9c6be5acf70aa309188166ca languageName: node linkType: hard -"tslib@npm:^1.10.0, tslib@npm:^1.11.1, tslib@npm:^1.8.1, tslib@npm:^1.9.0, tslib@npm:^1.9.3": - version: 1.14.1 - resolution: "tslib@npm:1.14.1" - checksum: 10/7dbf34e6f55c6492637adb81b555af5e3b4f9cc6b998fb440dac82d3b42bdc91560a35a5fb75e20e24a076c651438234da6743d139e4feabf0783f3cdfe1dddb - languageName: node - linkType: hard - -"tslib@npm:^2.6.1": +"tslib@npm:2.7.0, tslib@npm:^2.5.2, tslib@npm:^2.6.3": version: 2.7.0 resolution: "tslib@npm:2.7.0" checksum: 10/9a5b47ddac65874fa011c20ff76db69f97cf90c78cff5934799ab8894a5342db2d17b4e7613a087046bc1d133d21547ddff87ac558abeec31ffa929c88b7fce6 languageName: node linkType: hard +"tslib@npm:^1.10.0, tslib@npm:^1.11.1, tslib@npm:^1.9.0, tslib@npm:^1.9.3": + version: 1.14.1 + resolution: "tslib@npm:1.14.1" + checksum: 10/7dbf34e6f55c6492637adb81b555af5e3b4f9cc6b998fb440dac82d3b42bdc91560a35a5fb75e20e24a076c651438234da6743d139e4feabf0783f3cdfe1dddb + languageName: node + linkType: hard + "tsscmp@npm:1.0.6": version: 1.0.6 resolution: "tsscmp@npm:1.0.6" @@ -28814,28 +28435,6 @@ __metadata: languageName: node linkType: hard -"tsutils@npm:^3.21.0": - version: 3.21.0 - resolution: "tsutils@npm:3.21.0" - dependencies: - tslib: "npm:^1.8.1" - peerDependencies: - typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - checksum: 10/ea036bec1dd024e309939ffd49fda7a351c0e87a1b8eb049570dd119d447250e2c56e0e6c00554e8205760e7417793fdebff752a46e573fbe07d4f375502a5b2 - languageName: node - linkType: hard - -"tuf-js@npm:^1.1.7": - version: 1.1.7 - resolution: "tuf-js@npm:1.1.7" - dependencies: - "@tufjs/models": "npm:1.0.4" - debug: "npm:^4.3.4" - make-fetch-happen: "npm:^11.1.1" - checksum: 10/8ce0061b76a9dc89fc6e53bc1870afeb8e70083a751910273f959c5d0d574ba9b037a22d944ff97623e58eefa16b051f0ac678bd2da973d2f6b57359604fee31 - languageName: node - linkType: hard - "tuf-js@npm:^2.2.0": version: 2.2.0 resolution: "tuf-js@npm:2.2.0" @@ -28872,40 +28471,35 @@ __metadata: languageName: node linkType: hard -"twig@npm:^1.15.2": - version: 1.15.4 - resolution: "twig@npm:1.15.4" +"twig@npm:^1.17.1": + version: 1.17.1 + resolution: "twig@npm:1.17.1" dependencies: "@babel/runtime": "npm:^7.8.4" locutus: "npm:^2.0.11" minimatch: "npm:3.0.x" walk: "npm:2.3.x" bin: - twigjs: ./bin/twigjs - checksum: 10/098e8c4d1df2ac679a571782f4ad3d3d3187f67f846ffe07953dfe83d0736ed9f5aa8ac9ce14c7a487f16bdf2a7cfa76a1c9ed38f0c61d726624032d1d34accb + twigjs: bin/twigjs + checksum: 10/5910c05e481fb90c0c2207754a5510ed0171d65aa628998366d54c802f7eeff37a15b86b53cb2fd706cb448414e63d6a7dbfd1cbdd78ecbaad3becb0e8d2175c languageName: node linkType: hard -"twing@npm:^5.0.2": - version: 5.1.2 - resolution: "twing@npm:5.1.2" +"twing@npm:^5.2.2": + version: 5.2.2 + resolution: "twing@npm:5.2.2" dependencies: - "@types/luxon": "npm:^1.4.0" - camelcase: "npm:^4.1.0" capitalize: "npm:^1.0.0" - crypto-js: "npm:^3.1.9-1" + create-hash: "npm:^1.2.0" esrever: "npm:^0.2.0" fs-extra: "npm:^5.0.0" htmlspecialchars: "npm:^1.0.5" iconv-lite: "npm:^0.4.19" - is-integer: "npm:^1.0.7" - is-number: "npm:^5.0.0" is-plain-object: "npm:^2.0.4" isobject: "npm:^3.0.1" levenshtein: "npm:^1.0.5" locutus: "npm:^2.0.11" luxon: "npm:^1.19.3" - merge: "npm:^1.2.1" object-hash: "npm:^1.2.0" pad: "npm:^2.0.3" regex-parser: "npm:^2.2.8" @@ -28915,7 +28509,7 @@ __metadata: tmp: "npm:0.0.33" twig-lexer: "npm:^0.7.2" utf8-binary-cutter: "npm:^0.9.2" - checksum: 10/162e3c8357a7be833f2c8b61e753c31162aae8b5682c5fe44d798c5c30ec497a2866f26080190dae58a0ee40e90469b0aaef59ac9acfbd31b36aa4efece8a3bd + checksum: 10/df3440930422366e16140da9bdbe3b9f318721fbdfe227d4527ca5fe2323be7688dbff871fc83294c00c7f5175b996f00d0e8d4b269dc6fa573cf248ab3fc58d languageName: node linkType: hard @@ -28928,13 +28522,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.16.0": - version: 0.16.0 - resolution: "type-fest@npm:0.16.0" - checksum: 10/fd8c47ccb90e9fe7bae8bfc0e116e200e096120200c1ab1737bf0bc9334b344dd4925f876ed698174ffd58cd179bb56a55467be96aedc22d5d72748eac428bc8 - languageName: node - linkType: hard - "type-fest@npm:^0.18.0": version: 0.18.1 resolution: "type-fest@npm:0.18.1" @@ -28942,13 +28529,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10/8907e16284b2d6cfa4f4817e93520121941baba36b39219ea36acfe64c86b9dbc10c9941af450bd60832c8f43464974d51c0957f9858bc66b952b66b6914cbb9 - languageName: node - linkType: hard - "type-fest@npm:^0.21.3": version: 0.21.3 resolution: "type-fest@npm:0.21.3" @@ -28970,7 +28550,7 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.8.0, type-fest@npm:^0.8.1": +"type-fest@npm:^0.8.1": version: 0.8.1 resolution: "type-fest@npm:0.8.1" checksum: 10/fd4a91bfb706aeeb0d326ebd2e9a8ea5263979e5dec8d16c3e469a5bd3a946e014a062ef76c02e3086d3d1c7209a56a20a4caafd0e9f9a5c2ab975084ea3d388 @@ -28991,7 +28571,7 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^3.0.0, type-fest@npm:^3.2.0": +"type-fest@npm:^3.0.0": version: 3.13.1 resolution: "type-fest@npm:3.13.1" checksum: 10/9a8a2359ada34c9b3affcaf3a8f73ee14c52779e89950db337ce66fb74c3399776c697c99f2532e9b16e10e61cfdba3b1c19daffb93b338b742f0acd0117ce12 @@ -29012,22 +28592,24 @@ __metadata: languageName: node linkType: hard -"type-graphql@npm:^1.1.1": - version: 1.1.1 - resolution: "type-graphql@npm:1.1.1" +"type-graphql@npm:>=2.0.0-rc.2": + version: 2.0.0-rc.2 + resolution: "type-graphql@npm:2.0.0-rc.2" dependencies: - "@types/glob": "npm:^7.1.3" + "@graphql-yoga/subscription": "npm:^5.0.0" "@types/node": "npm:*" - "@types/semver": "npm:^7.3.3" - glob: "npm:^7.1.6" - graphql-query-complexity: "npm:^0.7.0" - graphql-subscriptions: "npm:^1.1.0" - semver: "npm:^7.3.2" - tslib: "npm:^2.0.1" + "@types/semver": "npm:^7.5.6" + graphql-query-complexity: "npm:^0.12.0" + semver: "npm:^7.5.4" + tslib: "npm:^2.6.2" peerDependencies: - class-validator: ">=0.12.0" - graphql: ^15.3.0 - checksum: 10/587536d9e94075273c60dc52f335869c297b966e188d76395eba62ee2992fc7630be5b33c0b034ef1e3cbaf54d77f32e3a0a664de16f6972c87a179c5409abf5 + class-validator: ">=0.14.0" + graphql: ^16.8.1 + graphql-scalars: ^1.23.0 + peerDependenciesMeta: + class-validator: + optional: true + checksum: 10/846a4e6d0a1d2e8bab6a74dfaa55e0813d3e55023b4ace1477159b77135b6dd0bcb55245609a8b279bdae0eb1cbd094aa522fd82851fc09a058b65c330b24c76 languageName: node linkType: hard @@ -29041,15 +28623,6 @@ __metadata: languageName: node linkType: hard -"typedarray-to-buffer@npm:^3.1.5": - version: 3.1.5 - resolution: "typedarray-to-buffer@npm:3.1.5" - dependencies: - is-typedarray: "npm:^1.0.0" - checksum: 10/7c850c3433fbdf4d04f04edfc751743b8f577828b8e1eb93b95a3bce782d156e267d83e20fb32b3b47813e69a69ab5e9b5342653332f7d21c7d1210661a7a72c - languageName: node - linkType: hard - "typedarray@npm:^0.0.6, typedarray@npm:~0.0.5": version: 0.0.6 resolution: "typedarray@npm:0.0.6" @@ -29057,97 +28630,13 @@ __metadata: languageName: node linkType: hard -"typeorm@npm:^0.2.45": - version: 0.2.45 - resolution: "typeorm@npm:0.2.45" - dependencies: - "@sqltools/formatter": "npm:^1.2.2" - app-root-path: "npm:^3.0.0" - buffer: "npm:^6.0.3" - chalk: "npm:^4.1.0" - cli-highlight: "npm:^2.1.11" - debug: "npm:^4.3.1" - dotenv: "npm:^8.2.0" - glob: "npm:^7.1.6" - js-yaml: "npm:^4.0.0" - mkdirp: "npm:^1.0.4" - reflect-metadata: "npm:^0.1.13" - sha.js: "npm:^2.4.11" - tslib: "npm:^2.1.0" - uuid: "npm:^8.3.2" - xml2js: "npm:^0.4.23" - yargs: "npm:^17.0.1" - zen-observable-ts: "npm:^1.0.0" - peerDependencies: - "@sap/hana-client": ^2.11.14 - better-sqlite3: ^7.1.2 - hdb-pool: ^0.1.6 - ioredis: ^4.28.3 - mongodb: ^3.6.0 - mssql: ^6.3.1 - mysql2: ^2.2.5 - oracledb: ^5.1.0 - pg: ^8.5.1 - pg-native: ^3.0.0 - pg-query-stream: ^4.0.0 - redis: ^3.1.1 - sql.js: ^1.4.0 - sqlite3: ^5.0.2 - typeorm-aurora-data-api-driver: ^2.0.0 - peerDependenciesMeta: - "@sap/hana-client": - optional: true - better-sqlite3: - optional: true - hdb-pool: - 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 - typeorm-aurora-data-api-driver: - optional: true - bin: - typeorm: cli.js - checksum: 10/48d291ec6dba9f214b6622055a76e8cb1186cfaf3048b9e6149def42112e4529e4a63375cc44119ec6649169131aa07151190322beb7eb322d0898675eeab8c6 - languageName: node - linkType: hard - -"typescript@npm:4.9.5": - version: 4.9.5 - resolution: "typescript@npm:4.9.5" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10/458f7220ab11e0fc191514cc41be1707645ec9a8c2d609448a448e18c522cef9646f58728f6811185a4c35613dacdf6c98cf8965c88b3541d0288c47291e4300 - languageName: node - linkType: hard - -"typescript@npm:5.4.2": - version: 5.4.2 - resolution: "typescript@npm:5.4.2" +"typescript@npm:5.4.5": + version: 5.4.5 + resolution: "typescript@npm:5.4.5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/f8cfdc630ab1672f004e9561eb2916935b2d267792d07ce93e97fc601c7a65191af32033d5e9c0169b7dc37da7db9bf320f7432bc84527cb7697effaa4e4559d + checksum: 10/d04a9e27e6d83861f2126665aa8d84847e8ebabcea9125b9ebc30370b98cb38b5dff2508d74e2326a744938191a83a69aa9fddab41f193ffa43eabfdf3f190a5 languageName: node linkType: hard @@ -29171,23 +28660,13 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A4.9.5#optional!builtin": - version: 4.9.5 - resolution: "typescript@patch:typescript@npm%3A4.9.5#optional!builtin::version=4.9.5&hash=289587" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10/5659316360b5cc2d6f5931b346401fa534107b68b60179cf14970e27978f0936c1d5c46f4b5b8175f8cba0430f522b3ce355b4b724c0ea36ce6c0347fab25afd - languageName: node - linkType: hard - -"typescript@patch:typescript@npm%3A5.4.2#optional!builtin": - version: 5.4.2 - resolution: "typescript@patch:typescript@npm%3A5.4.2#optional!builtin::version=5.4.2&hash=d69c25" +"typescript@patch:typescript@npm%3A5.4.5#optional!builtin": + version: 5.4.5 + resolution: "typescript@patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=d69c25" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/ef4fc2994cc0219dc9ada94c92106ba8d44cbfd7a0328ed6f8d730311caf66e114cdfa07fbc6f369bfc0fc182d9493851b3bf1644c06fc5818690b19ee960d72 + checksum: 10/584be8bac7112ad49a9eb9992f71d542b1ff2fafb5bb315e1c196145e8feab589f1d7223cfb2d5df6770789582e6918f8287d1f2f89911b38eb80e29c560ad00 languageName: node linkType: hard @@ -29283,10 +28762,10 @@ __metadata: languageName: node linkType: hard -"underscore@npm:^1.11.0": - version: 1.13.2 - resolution: "underscore@npm:1.13.2" - checksum: 10/1609644983348f99ed563f025df7f578a16f6e29a6488a74e6d120c5c2b4315133efa406df70491eeb79a1ac9c456c7f419a9a9919186f0bf6ff0a15f3cfd7ca +"underscore@npm:^1.13.7": + version: 1.13.7 + resolution: "underscore@npm:1.13.7" + checksum: 10/1ce3368dbe73d1e99678fa5d341a9682bd27316032ad2de7883901918f0f5d50e80320ccc543f53c1862ab057a818abc560462b5f83578afe2dd8dd7f779766c languageName: node linkType: hard @@ -29297,6 +28776,20 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~6.19.2": + version: 6.19.8 + resolution: "undici-types@npm:6.19.8" + checksum: 10/cf0b48ed4fc99baf56584afa91aaffa5010c268b8842f62e02f752df209e3dea138b372a60a963b3b2576ed932f32329ce7ddb9cb5f27a6c83040d8cd74b7a70 + languageName: node + linkType: hard + +"undici@npm:^4.13.0": + version: 4.16.0 + resolution: "undici@npm:4.16.0" + checksum: 10/9cb629eeb81bcaa265e58fe172177e5cb1d16a8d8ba5b44570553cefcfc3274630a26b55548c4b0885091483ce05285231b94552be85adf2fccc871cc316b4e8 + languageName: node + linkType: hard + "undici@npm:^5.28.4": version: 5.28.4 resolution: "undici@npm:5.28.4" @@ -29351,6 +28844,13 @@ __metadata: languageName: node linkType: hard +"unicorn-magic@npm:^0.3.0": + version: 0.3.0 + resolution: "unicorn-magic@npm:0.3.0" + checksum: 10/bdd7d7c522f9456f32a0b77af23f8854f9a7db846088c3868ec213f9550683ab6a2bdf3803577eacbafddb4e06900974385841ccb75338d17346ccef45f9cb01 + languageName: node + linkType: hard + "unified@npm:^9.0.0": version: 9.2.2 resolution: "unified@npm:9.2.2" @@ -29422,15 +28922,6 @@ __metadata: languageName: node linkType: hard -"unique-string@npm:^2.0.0": - version: 2.0.0 - resolution: "unique-string@npm:2.0.0" - dependencies: - crypto-random-string: "npm:^2.0.0" - checksum: 10/107cae65b0b618296c2c663b8e52e4d1df129e9af04ab38d53b4f2189e96da93f599c85f4589b7ffaf1a11c9327cbb8a34f04c71b8d4950d3e385c2da2a93828 - languageName: node - linkType: hard - "unique-string@npm:^3.0.0": version: 3.0.0 resolution: "unique-string@npm:3.0.0" @@ -29591,6 +29082,20 @@ __metadata: languageName: node linkType: hard +"update-browserslist-db@npm:^1.1.0": + version: 1.1.1 + resolution: "update-browserslist-db@npm:1.1.1" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.0" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10/7678dd8609750588d01aa7460e8eddf2ff9d16c2a52fb1811190e0d056390f1fdffd94db3cf8fb209cf634ab4fa9407886338711c71cc6ccade5eeb22b093734 + languageName: node + linkType: hard + "upper-case-first@npm:^1.1.0": version: 1.1.2 resolution: "upper-case-first@npm:1.1.2" @@ -29625,7 +29130,7 @@ __metadata: languageName: node linkType: hard -"uri-js@npm:^4.2.2, uri-js@npm:^4.4.1": +"uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" dependencies: @@ -29648,6 +29153,16 @@ __metadata: languageName: node linkType: hard +"url@npm:0.10.3": + version: 0.10.3 + resolution: "url@npm:0.10.3" + dependencies: + punycode: "npm:1.3.2" + querystring: "npm:0.2.0" + checksum: 10/8c04e30d65907a1e01569cead632c74ea3af99d1b9b63dfbb2cf636640fe210f7a1bc16990aac04914dbb63ad2bd50effee3e782e0170d5938a11e8aa38358a5 + languageName: node + linkType: hard + "use@npm:^3.1.0": version: 3.1.1 resolution: "use@npm:3.1.1" @@ -29684,6 +29199,19 @@ __metadata: languageName: node linkType: hard +"util@npm:^0.12.4": + version: 0.12.5 + resolution: "util@npm:0.12.5" + dependencies: + inherits: "npm:^2.0.3" + is-arguments: "npm:^1.0.4" + is-generator-function: "npm:^1.0.7" + is-typed-array: "npm:^1.1.3" + which-typed-array: "npm:^1.1.2" + checksum: 10/61a10de7753353dd4d744c917f74cdd7d21b8b46379c1e48e1c4fd8e83f8190e6bd9978fc4e5102ab6a10ebda6019d1b36572fa4a325e175ec8b789a121f6147 + languageName: node + linkType: hard + "utila@npm:~0.4": version: 0.4.0 resolution: "utila@npm:0.4.0" @@ -29698,25 +29226,25 @@ __metadata: languageName: node linkType: hard -"uuid@npm:9.0.0, uuid@npm:^9.0.0": - version: 9.0.0 - resolution: "uuid@npm:9.0.0" +"uuid@npm:10.0.0, uuid@npm:^10.0.0": + version: 10.0.0 + resolution: "uuid@npm:10.0.0" bin: uuid: dist/bin/uuid - checksum: 10/23857699a616d1b48224bc2b8440eae6e57d25463c3a0200e514ba8279dfa3bde7e92ea056122237839cfa32045e57d8f8f4a30e581d720fd72935572853ae2e + checksum: 10/35aa60614811a201ff90f8ca5e9ecb7076a75c3821e17f0f5ff72d44e36c2d35fcbc2ceee9c4ac7317f4cc41895da30e74f3885e30313bee48fda6338f250538 languageName: node linkType: hard -"uuid@npm:9.0.1, uuid@npm:^9.0.1": - version: 9.0.1 - resolution: "uuid@npm:9.0.1" +"uuid@npm:8.0.0": + version: 8.0.0 + resolution: "uuid@npm:8.0.0" bin: uuid: dist/bin/uuid - checksum: 10/9d0b6adb72b736e36f2b1b53da0d559125ba3e39d913b6072f6f033e0c87835b414f0836b45bcfaf2bdf698f92297fea1c3cc19b0b258bc182c9c43cc0fab9f2 + checksum: 10/5086c43bbe11e2337d9bb9a3b3a156311e5f5ba5da2de8152da9e00cfd5fbbf626d36e6a2838dde06e2105ac563bc298470acc0e4800c96fa2d50565c5782f8a languageName: node linkType: hard -"uuid@npm:^3.1.0, uuid@npm:^3.3.2, uuid@npm:^3.3.3": +"uuid@npm:^3.1.0": version: 3.4.0 resolution: "uuid@npm:3.4.0" bin: @@ -29734,6 +29262,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^9.0.0": + version: 9.0.0 + resolution: "uuid@npm:9.0.0" + bin: + uuid: dist/bin/uuid + checksum: 10/23857699a616d1b48224bc2b8440eae6e57d25463c3a0200e514ba8279dfa3bde7e92ea056122237839cfa32045e57d8f8f4a30e581d720fd72935572853ae2e + languageName: node + linkType: hard + "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" @@ -29741,13 +29278,6 @@ __metadata: languageName: node linkType: hard -"v8-compile-cache@npm:2.3.0": - version: 2.3.0 - resolution: "v8-compile-cache@npm:2.3.0" - checksum: 10/7de7423db6f48d76cffae93d70d503e160c97fc85e55945036d719111e20b33c4be5c21aa8b123a3da203bbb3bc4c8180f9667d5ccafcff11d749fae204ec7be - languageName: node - linkType: hard - "validate-npm-package-license@npm:3.0.4, validate-npm-package-license@npm:^3.0.1, validate-npm-package-license@npm:^3.0.4": version: 3.0.4 resolution: "validate-npm-package-license@npm:3.0.4" @@ -29758,7 +29288,14 @@ __metadata: languageName: node linkType: hard -"validate-npm-package-name@npm:5.0.0, validate-npm-package-name@npm:^5.0.0": +"validate-npm-package-name@npm:5.0.1": + version: 5.0.1 + resolution: "validate-npm-package-name@npm:5.0.1" + checksum: 10/0d583a1af23aeffea7748742cf22b6802458736fb8b60323ba5949763824d46f796474b0e1b9206beb716f9d75269e19dbd7795d6b038b29d561be95dd827381 + languageName: node + linkType: hard + +"validate-npm-package-name@npm:^5.0.0": version: 5.0.0 resolution: "validate-npm-package-name@npm:5.0.0" dependencies: @@ -29767,15 +29304,6 @@ __metadata: languageName: node linkType: hard -"validate-npm-package-name@npm:^3.0.0": - version: 3.0.0 - resolution: "validate-npm-package-name@npm:3.0.0" - dependencies: - builtins: "npm:^1.0.3" - checksum: 10/6f89bcc91bb0d46e3c756eec2fd33887eeb76c85d20e5d3e452b69fe3ffbd37062704a4e8422735ea82d69fd963451b4f85501a4dc856f384138411ec42608fa - languageName: node - linkType: hard - "validator@npm:^13.9.0": version: 13.11.0 resolution: "validator@npm:13.11.0" @@ -29783,10 +29311,10 @@ __metadata: languageName: node linkType: hard -"value-or-promise@npm:1.0.11": - version: 1.0.11 - resolution: "value-or-promise@npm:1.0.11" - checksum: 10/9bd1cf82be5b59ec4a7ee9fa17ca7b3f16165c3ea33ebabe514f7a20e4f88dd11f912900f0279760618eb7fbd5e3bb2a4cf4b351b5fd8e8da69aa2719725e54a +"value-or-promise@npm:^1.0.12": + version: 1.0.12 + resolution: "value-or-promise@npm:1.0.12" + checksum: 10/a4cc31fc9c3826b8a216ef2037b676904324c00c4acd903aaec2fe0c08516a189345261dd3cc822ec108532b2ea36b7c99bbdee1c3ddcb7f4b3d57d7e61b2064 languageName: node linkType: hard @@ -29826,7 +29354,7 @@ __metadata: languageName: node linkType: hard -"velocityjs@npm:^2.0.1": +"velocityjs@npm:^2.0.6": version: 2.0.6 resolution: "velocityjs@npm:2.0.6" dependencies: @@ -29859,96 +29387,57 @@ __metadata: languageName: node linkType: hard -"vike@npm:0.4.160": - version: 0.4.160 - resolution: "vike@npm:0.4.160" +"vike@npm:0.4.198": + version: 0.4.198 + resolution: "vike@npm:0.4.198" dependencies: "@brillout/import": "npm:^0.2.3" - "@brillout/json-serializer": "npm:^0.5.8" - "@brillout/picocolors": "npm:^1.0.10" + "@brillout/json-serializer": "npm:^0.5.13" + "@brillout/picocolors": "npm:^1.0.15" "@brillout/require-shim": "npm:^0.1.2" - "@brillout/vite-plugin-server-entry": "npm:^0.4.3" + "@brillout/vite-plugin-server-entry": "npm:^0.4.11" acorn: "npm:^8.0.0" cac: "npm:^6.0.0" es-module-lexer: "npm:^1.0.0" - esbuild: "npm:^0.19.0" + esbuild: "npm:^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0" fast-glob: "npm:^3.0.0" + semver: "npm:^7.0.0" sirv: "npm:^2.0.0" source-map-support: "npm:^0.5.0" peerDependencies: - react-streaming: ">=0.3.5" - vite: ">=3.1.0" + react-streaming: ">=0.3.42" + vite: ">=5.1.0" peerDependenciesMeta: react-streaming: optional: true bin: vike: node/cli/bin-entry.js - checksum: 10/e1d5996d9eadff23c575d45c5e40c4e828288b5674cb7a62910d5a6c204442df632dd1fa8bfc733b8c6971c02774bb79a592b211d243953091480588e0607455 - languageName: node - linkType: hard - -"vite-node@npm:2.0.4": - version: 2.0.4 - resolution: "vite-node@npm:2.0.4" - dependencies: - cac: "npm:^6.7.14" - debug: "npm:^4.3.5" - pathe: "npm:^1.1.2" - tinyrainbow: "npm:^1.2.0" - vite: "npm:^5.0.0" - bin: - vite-node: vite-node.mjs - checksum: 10/27040a5d614fa315cc735867d7e6778640b2dcfb164e1a18d6a275b991a21e99ac6d720448b1b8de6e6d10b8169e79d0cb022807d537246b816f0260eb5f8b15 + checksum: 10/bd22e2b2a7e73f552218f96855f8f851c7aba6db927443eed41e91668c14a2f23a179073e2a0472d439b7a27e657f6756d91106a54745a51eeadf1d21c12ced7 languageName: node linkType: hard -"vite-node@npm:2.0.5": - version: 2.0.5 - resolution: "vite-node@npm:2.0.5" +"vite-node@npm:2.1.2": + version: 2.1.2 + resolution: "vite-node@npm:2.1.2" dependencies: cac: "npm:^6.7.14" - debug: "npm:^4.3.5" + debug: "npm:^4.3.6" pathe: "npm:^1.1.2" - tinyrainbow: "npm:^1.2.0" vite: "npm:^5.0.0" bin: vite-node: vite-node.mjs - checksum: 10/de259cdf4b9ff82f39ba92ffca99db8a80783efd2764d3553b62cd8c8864488d590114a75bc93a93bf5ba2a2086bea1bee4b0029da9e62c4c0d3bf6c1f364eed - languageName: node - linkType: hard - -"vite-plugin-dts@npm:^4.0.3": - version: 4.0.3 - resolution: "vite-plugin-dts@npm:4.0.3" - dependencies: - "@microsoft/api-extractor": "npm:7.47.4" - "@rollup/pluginutils": "npm:^5.1.0" - "@volar/typescript": "npm:^2.3.4" - "@vue/language-core": "npm:2.0.29" - compare-versions: "npm:^6.1.1" - debug: "npm:^4.3.6" - kolorist: "npm:^1.8.0" - local-pkg: "npm:^0.5.0" - magic-string: "npm:^0.30.11" - vue-tsc: "npm:2.0.29" - peerDependencies: - typescript: "*" - vite: "*" - peerDependenciesMeta: - vite: - optional: true - checksum: 10/996603ffe81d5264da862ebcc85e05e09e1251fc456841e3f7233c4ae243c699d29889f3206be72b01873527d85beeaa4fcbacc61e31a71a5cab02fdb1d03e0d + checksum: 10/582843800ee968e7edf2cf6e6f1573634122cba74e47ef531a373337f6084c4a394c3c1c2abb210c178c8671200530412c09f5cc2f02a4519f0045a03c3eed02 languageName: node linkType: hard -"vite@npm:5.4.1, vite@npm:^5.0.0, vite@npm:^5.4.1": - version: 5.4.1 - resolution: "vite@npm:5.4.1" +"vite@npm:5.4.8, vite@npm:^5.4.8": + version: 5.4.8 + resolution: "vite@npm:5.4.8" dependencies: esbuild: "npm:^0.21.3" fsevents: "npm:~2.3.3" - postcss: "npm:^8.4.41" - rollup: "npm:^4.13.0" + postcss: "npm:^8.4.43" + rollup: "npm:^4.20.0" peerDependencies: "@types/node": ^18.0.0 || >=20.0.0 less: "*" @@ -29980,87 +29469,81 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10/1cf22e5a8ec782ea9417a77ad4b16e518f69cf23c99a5af5bb92dc4acbfce70109a35a35faea8fc0789f4637b6304618f6b84e4c5dfe3c9c2875dff7d749b02d + checksum: 10/17fdffa558abaf854f04ead7d3ddd76e4556a59871f9ac63cca3fc20a79979984837d8dddaae4b171e3d73061f781e4eec0f6d3babdbce2b4d111d29cf474c1c languageName: node linkType: hard -"vitest@npm:2.0.4": - version: 2.0.4 - resolution: "vitest@npm:2.0.4" +"vite@npm:^5.0.0": + version: 5.4.1 + resolution: "vite@npm:5.4.1" dependencies: - "@ampproject/remapping": "npm:^2.3.0" - "@vitest/expect": "npm:2.0.4" - "@vitest/pretty-format": "npm:^2.0.4" - "@vitest/runner": "npm:2.0.4" - "@vitest/snapshot": "npm:2.0.4" - "@vitest/spy": "npm:2.0.4" - "@vitest/utils": "npm:2.0.4" - chai: "npm:^5.1.1" - debug: "npm:^4.3.5" - execa: "npm:^8.0.1" - magic-string: "npm:^0.30.10" - pathe: "npm:^1.1.2" - std-env: "npm:^3.7.0" - tinybench: "npm:^2.8.0" - tinypool: "npm:^1.0.0" - tinyrainbow: "npm:^1.2.0" - vite: "npm:^5.0.0" - vite-node: "npm:2.0.4" - why-is-node-running: "npm:^2.3.0" + esbuild: "npm:^0.21.3" + fsevents: "npm:~2.3.3" + postcss: "npm:^8.4.41" + rollup: "npm:^4.13.0" peerDependencies: - "@edge-runtime/vm": "*" "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 2.0.4 - "@vitest/ui": 2.0.4 - happy-dom: "*" - jsdom: "*" - peerDependenciesMeta: - "@edge-runtime/vm": + less: "*" + lightningcss: ^1.21.0 + sass: "*" + sass-embedded: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: optional: true + peerDependenciesMeta: "@types/node": optional: true - "@vitest/browser": + less: optional: true - "@vitest/ui": + lightningcss: optional: true - happy-dom: + sass: optional: true - jsdom: + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: optional: true bin: - vitest: vitest.mjs - checksum: 10/01a173adbf40273adce5ff0ffd7b538fcc98286b15441651be4a3b9cc48748acf6cedb1f4966b4eff07ed91695847b9352591fd419c2da62181440bc6edf79ee + vite: bin/vite.js + checksum: 10/1cf22e5a8ec782ea9417a77ad4b16e518f69cf23c99a5af5bb92dc4acbfce70109a35a35faea8fc0789f4637b6304618f6b84e4c5dfe3c9c2875dff7d749b02d languageName: node linkType: hard -"vitest@npm:2.0.5": - version: 2.0.5 - resolution: "vitest@npm:2.0.5" - dependencies: - "@ampproject/remapping": "npm:^2.3.0" - "@vitest/expect": "npm:2.0.5" - "@vitest/pretty-format": "npm:^2.0.5" - "@vitest/runner": "npm:2.0.5" - "@vitest/snapshot": "npm:2.0.5" - "@vitest/spy": "npm:2.0.5" - "@vitest/utils": "npm:2.0.5" +"vitest@npm:2.1.2": + version: 2.1.2 + resolution: "vitest@npm:2.1.2" + dependencies: + "@vitest/expect": "npm:2.1.2" + "@vitest/mocker": "npm:2.1.2" + "@vitest/pretty-format": "npm:^2.1.2" + "@vitest/runner": "npm:2.1.2" + "@vitest/snapshot": "npm:2.1.2" + "@vitest/spy": "npm:2.1.2" + "@vitest/utils": "npm:2.1.2" chai: "npm:^5.1.1" - debug: "npm:^4.3.5" - execa: "npm:^8.0.1" - magic-string: "npm:^0.30.10" + debug: "npm:^4.3.6" + magic-string: "npm:^0.30.11" pathe: "npm:^1.1.2" std-env: "npm:^3.7.0" - tinybench: "npm:^2.8.0" + tinybench: "npm:^2.9.0" + tinyexec: "npm:^0.3.0" tinypool: "npm:^1.0.0" tinyrainbow: "npm:^1.2.0" vite: "npm:^5.0.0" - vite-node: "npm:2.0.5" + vite-node: "npm:2.1.2" why-is-node-running: "npm:^2.3.0" peerDependencies: "@edge-runtime/vm": "*" "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 2.0.5 - "@vitest/ui": 2.0.5 + "@vitest/browser": 2.1.2 + "@vitest/ui": 2.1.2 happy-dom: "*" jsdom: "*" peerDependenciesMeta: @@ -30078,19 +29561,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: 10/abb916e3496a3fa9e9d05ecd806332dc4000aa0e433f0cb1e99f9dd1fa5c06d2c66656874b9860a683cec0f32abe1519599babef02e5c0ca80e9afbcdbddfdbd - languageName: node - linkType: hard - -"vm2@npm:^3.9.5, vm2@npm:^3.9.9": - version: 3.9.19 - resolution: "vm2@npm:3.9.19" - dependencies: - acorn: "npm:^8.7.0" - acorn-walk: "npm:^8.2.0" - bin: - vm2: bin/vm2 - checksum: 10/8526737abbfb0ce61bae3d0ffe9ecc96eb093c859c933ed4d9cf663c7663da8f73a733771b9b21251c4d82a28a0600a0fcfd0044b685686eeef7a75e632294e6 + checksum: 10/3a331a10499f5ed678530594903869e37a0de548598bcf540db9a6e015bb7a38f36c3585376b3aeeb53fee6b20d75b93081f32b1ea09fd8c2098aa541af28491 languageName: node linkType: hard @@ -30101,28 +29572,6 @@ __metadata: languageName: node linkType: hard -"vscode-uri@npm:^3.0.8": - version: 3.0.8 - resolution: "vscode-uri@npm:3.0.8" - checksum: 10/e882d6b679e0d053cbc042893c0951a135d899a192b62cd07f0a8924f11ae722067a8d6b1b5b147034becf57faf9fff9fb543b17b749fd0f17db1f54f783f07c - languageName: node - linkType: hard - -"vue-tsc@npm:2.0.29": - version: 2.0.29 - resolution: "vue-tsc@npm:2.0.29" - dependencies: - "@volar/typescript": "npm:~2.4.0-alpha.18" - "@vue/language-core": "npm:2.0.29" - semver: "npm:^7.5.4" - peerDependencies: - typescript: ">=5.0.0" - bin: - vue-tsc: ./bin/vue-tsc.js - checksum: 10/deabe919d3d3a9c9974791d91c32244c7e831a7d613a281e1e9a9f65bfaa917723883afda79d1d06b67f886dbd23cfdf3ec902a40674f907f0bb792e8eeab088 - languageName: node - linkType: hard - "walk-up-path@npm:^3.0.1": version: 3.0.1 resolution: "walk-up-path@npm:3.0.1" @@ -30153,6 +29602,16 @@ __metadata: languageName: node linkType: hard +"watchpack@npm:^2.0.0-beta.10": + version: 2.4.2 + resolution: "watchpack@npm:2.4.2" + dependencies: + glob-to-regexp: "npm:^0.4.1" + graceful-fs: "npm:^4.1.2" + checksum: 10/6bd4c051d9af189a6c781c3158dcb3069f432a0c144159eeb0a44117412105c61b2b683a5c9eebc4324625e0e9b76536387d0ba354594fa6cbbdf1ef60bee4c3 + languageName: node + linkType: hard + "watchpack@npm:^2.4.0": version: 2.4.0 resolution: "watchpack@npm:2.4.0" @@ -30438,10 +29897,16 @@ __metadata: languageName: node linkType: hard -"which-module@npm:^2.0.0": - version: 2.0.0 - resolution: "which-module@npm:2.0.0" - checksum: 10/e3e46c9c84475bff773b9e5bbf48ffa1749bc45669c56ffc874ae4a520627a259e10f16ca67c1a1338edce7a002af86c40a036dcb13ad45c18246939997fa006 +"which-typed-array@npm:^1.1.14": + version: 1.1.15 + resolution: "which-typed-array@npm:1.1.15" + dependencies: + available-typed-arrays: "npm:^1.0.7" + call-bind: "npm:^1.0.7" + for-each: "npm:^0.3.3" + gopd: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.2" + checksum: 10/c3b6a99beadc971baa53c3ee5b749f2b9bdfa3b3b9a70650dd8511a48b61d877288b498d424712e9991d16019633086bd8b5923369460d93463c5825fa36c448 languageName: node linkType: hard @@ -30470,17 +29935,6 @@ __metadata: languageName: node linkType: hard -"which@npm:^3.0.0": - version: 3.0.1 - resolution: "which@npm:3.0.1" - dependencies: - isexe: "npm:^2.0.0" - bin: - node-which: bin/which.js - checksum: 10/adf720fe9d84be2d9190458194f814b5e9015ae4b88711b150f30d0f4d0b646544794b86f02c7ebeec1db2029bc3e83a7ff156f542d7521447e5496543e26890 - languageName: node - linkType: hard - "which@npm:^4.0.0": version: 4.0.0 resolution: "which@npm:4.0.0" @@ -30511,7 +29965,7 @@ __metadata: languageName: node linkType: hard -"wide-align@npm:^1.1.5": +"wide-align@npm:1.1.5, wide-align@npm:^1.1.5": version: 1.1.5 resolution: "wide-align@npm:1.1.5" dependencies: @@ -30520,7 +29974,14 @@ __metadata: languageName: node linkType: hard -"wildcard@npm:2.0.0, wildcard@npm:^2.0.0": +"wildcard@npm:2.0.1": + version: 2.0.1 + resolution: "wildcard@npm:2.0.1" + checksum: 10/e0c60a12a219e4b12065d1199802d81c27b841ed6ad6d9d28240980c73ceec6f856771d575af367cbec2982d9ae7838759168b551776577f155044f5a5ba843c + languageName: node + linkType: hard + +"wildcard@npm:^2.0.0": version: 2.0.0 resolution: "wildcard@npm:2.0.0" checksum: 10/56d4f8be540918ab3a676f0e57c9cac1d13009dc9974dbdc751a073bf71ec080376697eded083e8a8f86fcb3479135bfa9d4489e25e6c748666d3a53ee096d24 @@ -30663,18 +30124,6 @@ __metadata: languageName: node linkType: hard -"write-file-atomic@npm:^3.0.0": - version: 3.0.3 - resolution: "write-file-atomic@npm:3.0.3" - dependencies: - imurmurhash: "npm:^0.1.4" - is-typedarray: "npm:^1.0.0" - signal-exit: "npm:^3.0.2" - typedarray-to-buffer: "npm:^3.1.5" - checksum: 10/0955ab94308b74d32bc252afe69d8b42ba4b8a28b8d79f399f3f405969f82623f981e35d13129a52aa2973450f342107c06d86047572637584e85a1c0c246bf3 - languageName: node - linkType: hard - "write-json-file@npm:^3.2.0": version: 3.2.0 resolution: "write-json-file@npm:3.2.0" @@ -30745,13 +30194,28 @@ __metadata: languageName: node linkType: hard -"xml2js@npm:^0.4.23": - version: 0.4.23 - resolution: "xml2js@npm:0.4.23" +"ws@npm:~8.17.1": + version: 8.17.1 + resolution: "ws@npm:8.17.1" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10/4264ae92c0b3e59c7e309001e93079b26937aab181835fb7af79f906b22cd33b6196d96556dafb4e985742dd401e99139572242e9847661fdbc96556b9e6902d + languageName: node + linkType: hard + +"xml2js@npm:0.6.2": + version: 0.6.2 + resolution: "xml2js@npm:0.6.2" dependencies: sax: "npm:>=0.6.0" xmlbuilder: "npm:~11.0.0" - checksum: 10/52896ef39429f860f32471dd7bb2b89ef25b7e15528e3a4366de0bd5e55a251601565e7814763e70f9e75310c3afe649a42b8826442b74b41eff8a0ae333fccc + checksum: 10/df29de8eeedb762c367d87945c39bcf54db19a2c522607491c266ed6184b5a749e37ff29cfaed0ac149da9ba332ac3dcf8e5ff2bd0a206be3343eca95faa941d languageName: node linkType: hard @@ -30762,10 +30226,10 @@ __metadata: languageName: node linkType: hard -"xmlhttprequest-ssl@npm:~2.0.0": - version: 2.0.0 - resolution: "xmlhttprequest-ssl@npm:2.0.0" - checksum: 10/3c2edfce0c49c7a494ed16c87e6897c9e3eba29763a5505526de83ddefd195d224fa5cdf41092298c99cd6ee473c9f259a0679f6ff3b8a9535dcd09900db91f9 +"xmlhttprequest-ssl@npm:~2.1.1": + version: 2.1.1 + resolution: "xmlhttprequest-ssl@npm:2.1.1" + checksum: 10/40affa3100d566709965910bb3877f5434d61a5588fef46dc896ec39f141261aafe922b5fbbaa79927f019bb8e765877563f0b2ffa69e4c8779b7666bb0c2cc1 languageName: node linkType: hard @@ -30788,13 +30252,6 @@ __metadata: languageName: node linkType: hard -"y18n@npm:^4.0.0": - version: 4.0.3 - resolution: "y18n@npm:4.0.3" - checksum: 10/392870b2a100bbc643bc035fe3a89cef5591b719c7bdc8721bcdb3d27ab39fa4870acdca67b0ee096e146d769f311d68eda6b8195a6d970f227795061923013f - languageName: node - linkType: hard - "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8" @@ -30816,29 +30273,6 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^1.10.2": - version: 1.10.2 - resolution: "yaml@npm:1.10.2" - checksum: 10/e088b37b4d4885b70b50c9fa1b7e54bd2e27f5c87205f9deaffd1fb293ab263d9c964feadb9817a7b129a5bf30a06582cb08750f810568ecc14f3cdbabb79cb3 - languageName: node - linkType: hard - -"yaml@npm:^2.0.1": - version: 2.3.2 - resolution: "yaml@npm:2.3.2" - checksum: 10/dba78b314c4b713a7dfa4412c88c1168ffe41fe26cdd4363cb3389194765895415b800f5a2d1a5bdfb0b2e31f1ad689f8e8f9cf78153f24142b68172e72afc95 - languageName: node - linkType: hard - -"yaml@npm:^2.1.3": - version: 2.4.2 - resolution: "yaml@npm:2.4.2" - bin: - yaml: bin.mjs - checksum: 10/6eafbcd68dead734035f6f72af21bd820c29214caf7d8e40c595671a3c908535cef8092b9660a1c055c5833aa148aa640e0c5fa4adb5af2dacd6d28296ccd81c - languageName: node - linkType: hard - "yaml@npm:^2.2.2": version: 2.5.0 resolution: "yaml@npm:2.5.0" @@ -30848,10 +30282,12 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:20.2.4": - version: 20.2.4 - resolution: "yargs-parser@npm:20.2.4" - checksum: 10/db8f251ae40e24782d5c089ed86883ba3c0ce7f3c174002a67ec500802f928df9d505fea5d04829769221ce20b0f69f6fb1138fbb2e2fb102e3e9d426d20edab +"yaml@npm:^2.3.4, yaml@npm:^2.5.1, yaml@npm:~2.5.0": + version: 2.5.1 + resolution: "yaml@npm:2.5.1" + bin: + yaml: bin.mjs + checksum: 10/0eecb679db75ea6a989ad97715a9fa5d946972945aa6aa7d2175bca66c213b5564502ccb1cdd04b1bf816ee38b5c43e4e2fda3ff6f5e09da24dabb51ae92c57d languageName: node linkType: hard @@ -30862,16 +30298,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^18.1.2": - version: 18.1.3 - resolution: "yargs-parser@npm:18.1.3" - dependencies: - camelcase: "npm:^5.0.0" - decamelize: "npm:^1.2.0" - checksum: 10/235bcbad5b7ca13e5abc54df61d42f230857c6f83223a38e4ed7b824681875b7f8b6ed52139d88a3ad007050f28dc0324b3c805deac7db22ae3b4815dae0e1bf - languageName: node - linkType: hard - "yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3": version: 20.2.9 resolution: "yargs-parser@npm:20.2.9" @@ -30886,37 +30312,33 @@ __metadata: languageName: node linkType: hard -"yargs@npm:16.2.0, yargs@npm:^16.0.0, yargs@npm:^16.2.0": - version: 16.2.0 - resolution: "yargs@npm:16.2.0" +"yargs@npm:17.7.2, yargs@npm:^17.5.1, yargs@npm:^17.6.2, yargs@npm:^17.7.2": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" dependencies: - cliui: "npm:^7.0.2" + cliui: "npm:^8.0.1" escalade: "npm:^3.1.1" get-caller-file: "npm:^2.0.5" require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.0" + string-width: "npm:^4.2.3" y18n: "npm:^5.0.5" - yargs-parser: "npm:^20.2.2" - checksum: 10/807fa21211d2117135d557f95fcd3c3d390530cda2eca0c840f1d95f0f40209dcfeb5ec18c785a1f3425896e623e3b2681e8bb7b6600060eda1c3f4804e7957e + yargs-parser: "npm:^21.1.1" + checksum: 10/abb3e37678d6e38ea85485ed86ebe0d1e3464c640d7d9069805ea0da12f69d5a32df8e5625e370f9c96dd1c2dc088ab2d0a4dd32af18222ef3c4224a19471576 languageName: node linkType: hard -"yargs@npm:^15.0.2": - version: 15.4.1 - resolution: "yargs@npm:15.4.1" +"yargs@npm:^16.0.0, yargs@npm:^16.2.0": + version: 16.2.0 + resolution: "yargs@npm:16.2.0" dependencies: - cliui: "npm:^6.0.0" - decamelize: "npm:^1.2.0" - find-up: "npm:^4.1.0" - get-caller-file: "npm:^2.0.1" + cliui: "npm:^7.0.2" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" require-directory: "npm:^2.1.1" - require-main-filename: "npm:^2.0.0" - set-blocking: "npm:^2.0.0" string-width: "npm:^4.2.0" - which-module: "npm:^2.0.0" - y18n: "npm:^4.0.0" - yargs-parser: "npm:^18.1.2" - checksum: 10/bbcc82222996c0982905b668644ca363eebe6ffd6a572fbb52f0c0e8146661d8ce5af2a7df546968779bb03d1e4186f3ad3d55dfaadd1c4f0d5187c0e3a5ba16 + y18n: "npm:^5.0.5" + yargs-parser: "npm:^20.2.2" + checksum: 10/807fa21211d2117135d557f95fcd3c3d390530cda2eca0c840f1d95f0f40209dcfeb5ec18c785a1f3425896e623e3b2681e8bb7b6600060eda1c3f4804e7957e languageName: node linkType: hard @@ -30935,21 +30357,6 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.0.1, yargs@npm:^17.5.1, yargs@npm:^17.6.2, yargs@npm:^17.7.2": - version: 17.7.2 - resolution: "yargs@npm:17.7.2" - dependencies: - cliui: "npm:^8.0.1" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.3" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^21.1.1" - checksum: 10/abb3e37678d6e38ea85485ed86ebe0d1e3464c640d7d9069805ea0da12f69d5a32df8e5625e370f9c96dd1c2dc088ab2d0a4dd32af18222ef3c4224a19471576 - languageName: node - linkType: hard - "yargs@npm:~1.2.3": version: 1.2.6 resolution: "yargs@npm:1.2.6" @@ -30971,16 +30378,6 @@ __metadata: languageName: node linkType: hard -"yauzl@npm:^2.10.0": - version: 2.10.0 - resolution: "yauzl@npm:2.10.0" - dependencies: - buffer-crc32: "npm:~0.2.3" - fd-slicer: "npm:~1.1.0" - checksum: 10/1e4c311050dc0cf2ee3dbe8854fe0a6cde50e420b3e561a8d97042526b4cf7a0718d6c8d89e9e526a152f4a9cec55bcea9c3617264115f48bd6704cf12a04445 - languageName: node - linkType: hard - "ylru@npm:^1.2.0": version: 1.3.2 resolution: "ylru@npm:1.3.2" @@ -31009,6 +30406,13 @@ __metadata: languageName: node linkType: hard +"yoctocolors@npm:^2.0.0": + version: 2.1.1 + resolution: "yoctocolors@npm:2.1.1" + checksum: 10/563fbec88bce9716d1044bc98c96c329e1d7a7c503e6f1af68f1ff914adc3ba55ce953c871395e2efecad329f85f1632f51a99c362032940321ff80c42a6f74d + languageName: node + linkType: hard + "zen-observable-ts@npm:^0.8.21": version: 0.8.21 resolution: "zen-observable-ts@npm:0.8.21" @@ -31019,33 +30423,13 @@ __metadata: languageName: node linkType: hard -"zen-observable-ts@npm:^1.0.0": - version: 1.2.5 - resolution: "zen-observable-ts@npm:1.2.5" - dependencies: - zen-observable: "npm:0.8.15" - checksum: 10/2384cf92a60e39e7b9735a0696f119684fee0f8bcc81d71474c92d656eca1bc3e87b484a04e97546e56bd539f8756bf97cf21a28a933ff7a94b35a8d217848eb - languageName: node - linkType: hard - -"zen-observable@npm:0.8.15, zen-observable@npm:^0.8.0": +"zen-observable@npm:^0.8.0": version: 0.8.15 resolution: "zen-observable@npm:0.8.15" checksum: 10/30eac3f4055d33f446b4cd075d3543da347c2c8e68fbc35c3f5a19fb43be67c6ed27ee136bc8f8933efa547be7ce04957809ad00ee7f1b00a964f199ae6fb514 languageName: node linkType: hard -"zip-stream@npm:^4.1.0": - version: 4.1.0 - resolution: "zip-stream@npm:4.1.0" - dependencies: - archiver-utils: "npm:^2.1.0" - compress-commons: "npm:^4.1.0" - readable-stream: "npm:^3.6.0" - checksum: 10/4a73da856738b0634700b52f4ab3fe0bf0a532bea6820ad962d0bda0163d2d5525df4859f89a7238e204a378384e12551985049790c1894c3ac191866e85887f - languageName: node - linkType: hard - "zip-stream@npm:^6.0.1": version: 6.0.1 resolution: "zip-stream@npm:6.0.1"