mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-31 04:51:31 +08:00 
			
		
		
		
	Merge pull request #1888 from TriliumNext/renovate/express-5.x
fix(deps): update dependency express to v5
This commit is contained in:
		
						commit
						cedf6cc631
					
				| @ -37,7 +37,7 @@ | |||||||
|   "devDependencies": {     |   "devDependencies": {     | ||||||
|     "@playwright/test": "1.52.0", |     "@playwright/test": "1.52.0", | ||||||
|     "@stylistic/eslint-plugin": "4.4.1",         |     "@stylistic/eslint-plugin": "4.4.1",         | ||||||
|     "@types/express": "5.0.1",     |     "@types/express": "5.0.3",     | ||||||
|     "@types/node": "22.15.30",     |     "@types/node": "22.15.30",     | ||||||
|     "@types/yargs": "17.0.33", |     "@types/yargs": "17.0.33", | ||||||
|     "@vitest/coverage-v8": "3.2.2", |     "@vitest/coverage-v8": "3.2.2", | ||||||
|  | |||||||
| @ -63,7 +63,7 @@ | |||||||
|     "electron-debug": "4.1.0", |     "electron-debug": "4.1.0", | ||||||
|     "electron-window-state": "5.0.3", |     "electron-window-state": "5.0.3", | ||||||
|     "escape-html": "1.0.3", |     "escape-html": "1.0.3", | ||||||
|     "express": "4.21.2", |     "express": "5.1.0", | ||||||
|     "express-openid-connect": "^2.17.1", |     "express-openid-connect": "^2.17.1", | ||||||
|     "express-rate-limit": "7.5.0", |     "express-rate-limit": "7.5.0", | ||||||
|     "express-session": "1.18.1", |     "express-session": "1.18.1", | ||||||
|  | |||||||
| @ -8,9 +8,26 @@ import type { Request, Response, Router } from "express"; | |||||||
| import { safeExtractMessageAndStackFromError } from "../services/utils.js"; | import { safeExtractMessageAndStackFromError } from "../services/utils.js"; | ||||||
| 
 | 
 | ||||||
| function handleRequest(req: Request, res: Response) { | function handleRequest(req: Request, res: Response) { | ||||||
|     // express puts content after first slash into 0 index element
 |  | ||||||
| 
 | 
 | ||||||
|     const path = req.params.path + req.params[0]; |     // handle path from "*path" route wildcard
 | ||||||
|  |     // in express v4, you could just add
 | ||||||
|  |     // req.params.path + req.params[0], but with v5
 | ||||||
|  |     // we get a split array that we have to join ourselves again
 | ||||||
|  | 
 | ||||||
|  |     // @TriliumNextTODO: remove typecasting once express types are fixed
 | ||||||
|  |     // they currently only treat req.params as string, while in reality
 | ||||||
|  |     // it can also be a string[], when using wildcards
 | ||||||
|  |     const splitPath = req.params.path as unknown as string[]; | ||||||
|  | 
 | ||||||
|  |     //const path = splitPath.map(segment => encodeURIComponent(segment)).join("/")
 | ||||||
|  |     // naively join the "decoded" paths using a slash
 | ||||||
|  |     // this is to mimick handleRequest behaviour
 | ||||||
|  |     // as with the previous express v4.
 | ||||||
|  |     // @TriliumNextTODO: using something like =>
 | ||||||
|  |     // splitPath.map(segment => encodeURIComponent(segment)).join("/")
 | ||||||
|  |     // might be safer
 | ||||||
|  | 
 | ||||||
|  |     const path = splitPath.join("/") | ||||||
| 
 | 
 | ||||||
|     const attributeIds = sql.getColumn<string>("SELECT attributeId FROM attributes WHERE isDeleted = 0 AND type = 'label' AND name IN ('customRequestHandler', 'customResourceProvider')"); |     const attributeIds = sql.getColumn<string>("SELECT attributeId FROM attributes WHERE isDeleted = 0 AND type = 'label' AND name IN ('customRequestHandler', 'customResourceProvider')"); | ||||||
| 
 | 
 | ||||||
| @ -70,7 +87,7 @@ function handleRequest(req: Request, res: Response) { | |||||||
| function register(router: Router) { | function register(router: Router) { | ||||||
|     // explicitly no CSRF middleware since it's meant to allow integration from external services
 |     // explicitly no CSRF middleware since it's meant to allow integration from external services
 | ||||||
| 
 | 
 | ||||||
|     router.all("/custom/:path*", (req: Request, res: Response, _next) => { |     router.all("/custom/*path", (req: Request, res: Response, _next) => { | ||||||
|         cls.namespace.bindEmitter(req); |         cls.namespace.bindEmitter(req); | ||||||
|         cls.namespace.bindEmitter(res); |         cls.namespace.bindEmitter(res); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,57 +1,123 @@ | |||||||
| import electron from "electron"; | import electron from "electron"; | ||||||
|  | import type { Application } from "express"; | ||||||
|  | import type { ParamsDictionary, Request, Response } from "express-serve-static-core"; | ||||||
|  | import type QueryString from "qs"; | ||||||
|  | import { Session, SessionData } from "express-session"; | ||||||
|  | import { parse as parseQuery } from "qs"; | ||||||
|  | import EventEmitter from "events"; | ||||||
| 
 | 
 | ||||||
| interface Response { | type MockedResponse = Response<any, Record<string, any>, number>; | ||||||
|     statusCode: number; |  | ||||||
|     getHeader: (name: string) => string; |  | ||||||
|     setHeader: (name: string, value: string) => Response; |  | ||||||
|     header: (name: string, value: string) => Response; |  | ||||||
|     status: (statusCode: number) => Response; |  | ||||||
|     send: (obj: {}) => void; // eslint-disable-line @typescript-eslint/no-empty-object-type
 |  | ||||||
| } |  | ||||||
| 
 | 
 | ||||||
| function init(app: Express.Application) { | function init(app: Application) { | ||||||
|     electron.ipcMain.on("server-request", (event, arg) => { |     electron.ipcMain.on("server-request", (event, arg) => { | ||||||
|         const req = { |         const req = new FakeRequest(arg); | ||||||
|             url: arg.url, |         const res = new FakeResponse(event, arg); | ||||||
|             method: arg.method, | 
 | ||||||
|             body: arg.data, |         return app.router(req as any, res as any, () => {}); | ||||||
|             headers: arg.headers, |     }); | ||||||
|             session: { |  | ||||||
|                 loggedIn: true |  | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | const fakeSession: Session & Partial<SessionData> = { | ||||||
|  |     id: "session-id", // Placeholder for session ID
 | ||||||
|  |     cookie: { | ||||||
|  |         originalMaxAge: 3600000, // 1 hour
 | ||||||
|  |     }, | ||||||
|  |     loggedIn: true, | ||||||
|  |     regenerate(callback) { | ||||||
|  |         callback?.(null); | ||||||
|  |         return fakeSession; | ||||||
|  |     }, | ||||||
|  |     destroy(callback) { | ||||||
|  |         callback?.(null); | ||||||
|  |         return fakeSession; | ||||||
|  |     }, | ||||||
|  |     reload(callback) { | ||||||
|  |         callback?.(null); | ||||||
|  |         return fakeSession; | ||||||
|  |     }, | ||||||
|  |     save(callback) { | ||||||
|  |         callback?.(null); | ||||||
|  |         return fakeSession; | ||||||
|  |     }, | ||||||
|  |     resetMaxAge: () => fakeSession, | ||||||
|  |     touch: () => fakeSession | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|         const respHeaders: Record<string, string> = {}; | interface Arg { | ||||||
|  |     url: string; | ||||||
|  |     method: string; | ||||||
|  |     data: any; | ||||||
|  |     headers: Record<string, string> | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
|         const res: Response = { | class FakeRequest extends EventEmitter implements Pick<Request<ParamsDictionary, any, any, QueryString.ParsedQs, Record<string, any>>, "url" | "method" | "body" | "headers" | "session" | "query"> { | ||||||
|             statusCode: 200, |     url: string; | ||||||
|             getHeader: (name) => respHeaders[name], |     method: string; | ||||||
|             setHeader: (name, value) => { |     body: any; | ||||||
|                 respHeaders[name] = value.toString(); |     headers: Record<string, string>; | ||||||
|                 return res; |     session: Session & Partial<SessionData>; | ||||||
|             }, |     query: Record<string, any>; | ||||||
|             header: (name, value) => { | 
 | ||||||
|                 respHeaders[name] = value.toString(); |     constructor(arg: Arg) { | ||||||
|                 return res; |         super(); | ||||||
|             }, |         this.url = arg.url; | ||||||
|             status: (statusCode) => { |         this.method = arg.method; | ||||||
|                 res.statusCode = statusCode; |         this.body = arg.data; | ||||||
|                 return res; |         this.headers = arg.headers; | ||||||
|             }, |         this.session = fakeSession; | ||||||
|             send: (obj) => { |         this.query = parseQuery(arg.url.split("?")[1] || "", { ignoreQueryPrefix: true }); | ||||||
|                 event.sender.send("server-response", { |     } | ||||||
|                     url: arg.url, | } | ||||||
|                     method: arg.method, | 
 | ||||||
|                     requestId: arg.requestId, | class FakeResponse extends EventEmitter implements Pick<Response<any, Record<string, any>, number>, "status" | "send" | "json" | "setHeader"> { | ||||||
|                     statusCode: res.statusCode, |     private respHeaders: Record<string, string | string[]> = {}; | ||||||
|                     headers: respHeaders, |     private event: Electron.IpcMainEvent; | ||||||
|  |     private arg: Arg & { requestId: string; }; | ||||||
|  |     statusCode: number = 200; | ||||||
|  |     headers: Record<string, string> = {}; | ||||||
|  |     locals: Record<string, any> = {}; | ||||||
|  | 
 | ||||||
|  |     constructor(event: Electron.IpcMainEvent, arg: Arg & { requestId: string; }) { | ||||||
|  |         super(); | ||||||
|  |         this.event = event; | ||||||
|  |         this.arg = arg; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     getHeader(name) { | ||||||
|  |         return this.respHeaders[name]; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     setHeader(name, value) { | ||||||
|  |         this.respHeaders[name] = value.toString(); | ||||||
|  |         return this as unknown as MockedResponse; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     header(name: string, value?: string | string[]) { | ||||||
|  |         this.respHeaders[name] = value ?? ""; | ||||||
|  |         return this as unknown as MockedResponse; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     status(statusCode) { | ||||||
|  |         this.statusCode = statusCode; | ||||||
|  |         return this as unknown as MockedResponse; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     send(obj) { | ||||||
|  |         this.event.sender.send("server-response", { | ||||||
|  |             url: this.arg.url, | ||||||
|  |             method: this.arg.method, | ||||||
|  |             requestId: this.arg.requestId, | ||||||
|  |             statusCode: this.statusCode, | ||||||
|  |             headers: this.respHeaders, | ||||||
|             body: obj |             body: obj | ||||||
|         }); |         }); | ||||||
|  |         return this as unknown as MockedResponse; | ||||||
|     } |     } | ||||||
|         }; |  | ||||||
| 
 | 
 | ||||||
|         return (app as any)._router.handle(req, res, () => {}); |     json(obj) { | ||||||
|     }); |         this.send(JSON.stringify(obj)); | ||||||
|  |         return this as unknown as MockedResponse; | ||||||
|  |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export default init; | export default init; | ||||||
|  | |||||||
| @ -216,7 +216,7 @@ function register(app: express.Application) { | |||||||
| 
 | 
 | ||||||
|     apiRoute(GET, "/api/options", optionsApiRoute.getOptions); |     apiRoute(GET, "/api/options", optionsApiRoute.getOptions); | ||||||
|     // FIXME: possibly change to sending value in the body to avoid host of HTTP server issues with slashes
 |     // FIXME: possibly change to sending value in the body to avoid host of HTTP server issues with slashes
 | ||||||
|     apiRoute(PUT, "/api/options/:name/:value*", optionsApiRoute.updateOption); |     apiRoute(PUT, "/api/options/:name/:value", optionsApiRoute.updateOption); | ||||||
|     apiRoute(PUT, "/api/options", optionsApiRoute.updateOptions); |     apiRoute(PUT, "/api/options", optionsApiRoute.updateOptions); | ||||||
|     apiRoute(GET, "/api/options/user-themes", optionsApiRoute.getUserThemes); |     apiRoute(GET, "/api/options/user-themes", optionsApiRoute.getUserThemes); | ||||||
|     apiRoute(GET, "/api/options/locales", optionsApiRoute.getSupportedLocales); |     apiRoute(GET, "/api/options/locales", optionsApiRoute.getSupportedLocales); | ||||||
|  | |||||||
| @ -39,7 +39,7 @@ | |||||||
|     "@nx/web": "21.1.3", |     "@nx/web": "21.1.3", | ||||||
|     "@playwright/test": "^1.36.0", |     "@playwright/test": "^1.36.0", | ||||||
|     "@triliumnext/server": "workspace:*", |     "@triliumnext/server": "workspace:*", | ||||||
|     "@types/express": "^4.17.21", |     "@types/express": "^5.0.0", | ||||||
|     "@types/node": "22.15.30", |     "@types/node": "22.15.30", | ||||||
|     "@vitest/coverage-v8": "^3.0.5", |     "@vitest/coverage-v8": "^3.0.5", | ||||||
|     "@vitest/ui": "^3.0.0", |     "@vitest/ui": "^3.0.0", | ||||||
| @ -81,7 +81,7 @@ | |||||||
|   "homepage": "https://github.com/TriliumNext/Notes#readme", |   "homepage": "https://github.com/TriliumNext/Notes#readme", | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "axios": "^1.6.0", |     "axios": "^1.6.0", | ||||||
|     "express": "^4.21.2" |     "express": "^5.0.0" | ||||||
|   }, |   }, | ||||||
|   "packageManager": "pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912", |   "packageManager": "pnpm@10.11.1+sha512.e519b9f7639869dc8d5c3c5dfef73b3f091094b0a006d7317353c72b124e80e1afd429732e28705ad6bfa1ee879c1fce46c128ccebd3192101f43dd67c667912", | ||||||
|   "pnpm": { |   "pnpm": { | ||||||
|  | |||||||
							
								
								
									
										230
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										230
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							| @ -33,8 +33,8 @@ importers: | |||||||
|         specifier: ^1.6.0 |         specifier: ^1.6.0 | ||||||
|         version: 1.9.0(debug@4.4.1) |         version: 1.9.0(debug@4.4.1) | ||||||
|       express: |       express: | ||||||
|         specifier: ^4.21.2 |         specifier: ^5.0.0 | ||||||
|         version: 4.21.2 |         version: 5.1.0 | ||||||
|     devDependencies: |     devDependencies: | ||||||
|       '@electron/rebuild': |       '@electron/rebuild': | ||||||
|         specifier: 4.0.1 |         specifier: 4.0.1 | ||||||
| @ -53,7 +53,7 @@ importers: | |||||||
|         version: 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@2.4.2)))(eslint@9.28.0(jiti@2.4.2))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) |         version: 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint-config-prettier@10.1.5(eslint@9.28.0(jiti@2.4.2)))(eslint@9.28.0(jiti@2.4.2))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3) | ||||||
|       '@nx/express': |       '@nx/express': | ||||||
|         specifier: 21.1.3 |         specifier: 21.1.3 | ||||||
|         version: 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.30)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.28.0(jiti@2.4.2))(express@4.21.2)(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.30)(typescript@5.8.3))(typescript@5.8.3) |         version: 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.30)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.28.0(jiti@2.4.2))(express@5.1.0)(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.30)(typescript@5.8.3))(typescript@5.8.3) | ||||||
|       '@nx/js': |       '@nx/js': | ||||||
|         specifier: 21.1.3 |         specifier: 21.1.3 | ||||||
|         version: 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) |         version: 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) | ||||||
| @ -76,8 +76,8 @@ importers: | |||||||
|         specifier: workspace:* |         specifier: workspace:* | ||||||
|         version: link:apps/server |         version: link:apps/server | ||||||
|       '@types/express': |       '@types/express': | ||||||
|         specifier: ^4.17.21 |         specifier: ^5.0.0 | ||||||
|         version: 4.17.22 |         version: 5.0.2 | ||||||
|       '@types/node': |       '@types/node': | ||||||
|         specifier: 22.15.30 |         specifier: 22.15.30 | ||||||
|         version: 22.15.30 |         version: 22.15.30 | ||||||
| @ -633,17 +633,17 @@ importers: | |||||||
|         specifier: 1.0.3 |         specifier: 1.0.3 | ||||||
|         version: 1.0.3 |         version: 1.0.3 | ||||||
|       express: |       express: | ||||||
|         specifier: 4.21.2 |         specifier: 5.1.0 | ||||||
|         version: 4.21.2 |         version: 5.1.0 | ||||||
|       express-http-proxy: |       express-http-proxy: | ||||||
|         specifier: 2.1.1 |         specifier: 2.1.1 | ||||||
|         version: 2.1.1 |         version: 2.1.1 | ||||||
|       express-openid-connect: |       express-openid-connect: | ||||||
|         specifier: ^2.17.1 |         specifier: ^2.17.1 | ||||||
|         version: 2.18.1(express@4.21.2) |         version: 2.18.1(express@5.1.0) | ||||||
|       express-rate-limit: |       express-rate-limit: | ||||||
|         specifier: 7.5.0 |         specifier: 7.5.0 | ||||||
|         version: 7.5.0(express@4.21.2) |         version: 7.5.0(express@5.1.0) | ||||||
|       express-session: |       express-session: | ||||||
|         specifier: 1.18.1 |         specifier: 1.18.1 | ||||||
|         version: 1.18.1 |         version: 1.18.1 | ||||||
| @ -748,7 +748,7 @@ importers: | |||||||
|         version: 6.2.8(openapi-types@12.1.3) |         version: 6.2.8(openapi-types@12.1.3) | ||||||
|       swagger-ui-express: |       swagger-ui-express: | ||||||
|         specifier: 5.0.1 |         specifier: 5.0.1 | ||||||
|         version: 5.0.1(express@4.21.2) |         version: 5.0.1(express@5.1.0) | ||||||
|       time2fa: |       time2fa: | ||||||
|         specifier: ^1.3.0 |         specifier: ^1.3.0 | ||||||
|         version: 1.4.2 |         version: 1.4.2 | ||||||
| @ -5059,6 +5059,10 @@ packages: | |||||||
|     resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} |     resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} | ||||||
|     engines: {node: '>= 0.6'} |     engines: {node: '>= 0.6'} | ||||||
| 
 | 
 | ||||||
|  |   accepts@2.0.0: | ||||||
|  |     resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} | ||||||
|  |     engines: {node: '>= 0.6'} | ||||||
|  | 
 | ||||||
|   accessor-fn@1.5.3: |   accessor-fn@1.5.3: | ||||||
|     resolution: {integrity: sha512-rkAofCwe/FvYFUlMB0v0gWmhqtfAtV1IUkdPbfhTUyYniu5LrC0A0UJkTH0Jv3S8SvwkmfuAlY+mQIJATdocMA==} |     resolution: {integrity: sha512-rkAofCwe/FvYFUlMB0v0gWmhqtfAtV1IUkdPbfhTUyYniu5LrC0A0UJkTH0Jv3S8SvwkmfuAlY+mQIJATdocMA==} | ||||||
|     engines: {node: '>=12'} |     engines: {node: '>=12'} | ||||||
| @ -5502,6 +5506,10 @@ packages: | |||||||
|     resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} |     resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} | ||||||
|     engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} |     engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} | ||||||
| 
 | 
 | ||||||
|  |   body-parser@2.2.0: | ||||||
|  |     resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} | ||||||
|  |     engines: {node: '>=18'} | ||||||
|  | 
 | ||||||
|   bonjour-service@1.3.0: |   bonjour-service@1.3.0: | ||||||
|     resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==} |     resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==} | ||||||
| 
 | 
 | ||||||
| @ -5983,6 +5991,10 @@ packages: | |||||||
|     resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} |     resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} | ||||||
|     engines: {node: '>= 0.6'} |     engines: {node: '>= 0.6'} | ||||||
| 
 | 
 | ||||||
|  |   content-disposition@1.0.0: | ||||||
|  |     resolution: {integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==} | ||||||
|  |     engines: {node: '>= 0.6'} | ||||||
|  | 
 | ||||||
|   content-type@1.0.5: |   content-type@1.0.5: | ||||||
|     resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} |     resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} | ||||||
|     engines: {node: '>= 0.6'} |     engines: {node: '>= 0.6'} | ||||||
| @ -6000,6 +6012,10 @@ packages: | |||||||
|   cookie-signature@1.0.7: |   cookie-signature@1.0.7: | ||||||
|     resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} |     resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} | ||||||
| 
 | 
 | ||||||
|  |   cookie-signature@1.2.2: | ||||||
|  |     resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} | ||||||
|  |     engines: {node: '>=6.6.0'} | ||||||
|  | 
 | ||||||
|   cookie@0.7.1: |   cookie@0.7.1: | ||||||
|     resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} |     resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} | ||||||
|     engines: {node: '>= 0.6'} |     engines: {node: '>= 0.6'} | ||||||
| @ -7172,6 +7188,10 @@ packages: | |||||||
|     resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} |     resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} | ||||||
|     engines: {node: '>= 0.10.0'} |     engines: {node: '>= 0.10.0'} | ||||||
| 
 | 
 | ||||||
|  |   express@5.1.0: | ||||||
|  |     resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} | ||||||
|  |     engines: {node: '>= 18'} | ||||||
|  | 
 | ||||||
|   exsolve@1.0.5: |   exsolve@1.0.5: | ||||||
|     resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==} |     resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==} | ||||||
| 
 | 
 | ||||||
| @ -7310,6 +7330,10 @@ packages: | |||||||
|     resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} |     resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} | ||||||
|     engines: {node: '>= 0.8'} |     engines: {node: '>= 0.8'} | ||||||
| 
 | 
 | ||||||
|  |   finalhandler@2.1.0: | ||||||
|  |     resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} | ||||||
|  |     engines: {node: '>= 0.8'} | ||||||
|  | 
 | ||||||
|   find-cache-dir@3.3.2: |   find-cache-dir@3.3.2: | ||||||
|     resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} |     resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} | ||||||
|     engines: {node: '>=8'} |     engines: {node: '>=8'} | ||||||
| @ -7404,6 +7428,10 @@ packages: | |||||||
|     resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} |     resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} | ||||||
|     engines: {node: '>= 0.6'} |     engines: {node: '>= 0.6'} | ||||||
| 
 | 
 | ||||||
|  |   fresh@2.0.0: | ||||||
|  |     resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} | ||||||
|  |     engines: {node: '>= 0.8'} | ||||||
|  | 
 | ||||||
|   front-matter@4.0.2: |   front-matter@4.0.2: | ||||||
|     resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==} |     resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==} | ||||||
| 
 | 
 | ||||||
| @ -8228,6 +8256,9 @@ packages: | |||||||
|   is-potential-custom-element-name@1.0.1: |   is-potential-custom-element-name@1.0.1: | ||||||
|     resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} |     resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} | ||||||
| 
 | 
 | ||||||
|  |   is-promise@4.0.0: | ||||||
|  |     resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} | ||||||
|  | 
 | ||||||
|   is-property@1.0.2: |   is-property@1.0.2: | ||||||
|     resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} |     resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} | ||||||
| 
 | 
 | ||||||
| @ -8969,6 +9000,10 @@ packages: | |||||||
|     resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} |     resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} | ||||||
|     engines: {node: '>= 0.6'} |     engines: {node: '>= 0.6'} | ||||||
| 
 | 
 | ||||||
|  |   media-typer@1.1.0: | ||||||
|  |     resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} | ||||||
|  |     engines: {node: '>= 0.8'} | ||||||
|  | 
 | ||||||
|   mem@4.3.0: |   mem@4.3.0: | ||||||
|     resolution: {integrity: sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==} |     resolution: {integrity: sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==} | ||||||
|     engines: {node: '>=6'} |     engines: {node: '>=6'} | ||||||
| @ -8984,6 +9019,10 @@ packages: | |||||||
|   merge-descriptors@1.0.3: |   merge-descriptors@1.0.3: | ||||||
|     resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} |     resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} | ||||||
| 
 | 
 | ||||||
|  |   merge-descriptors@2.0.0: | ||||||
|  |     resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} | ||||||
|  |     engines: {node: '>=18'} | ||||||
|  | 
 | ||||||
|   merge-stream@2.0.0: |   merge-stream@2.0.0: | ||||||
|     resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} |     resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} | ||||||
| 
 | 
 | ||||||
| @ -9800,6 +9839,10 @@ packages: | |||||||
|   path-to-regexp@6.3.0: |   path-to-regexp@6.3.0: | ||||||
|     resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} |     resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} | ||||||
| 
 | 
 | ||||||
|  |   path-to-regexp@8.2.0: | ||||||
|  |     resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} | ||||||
|  |     engines: {node: '>=16'} | ||||||
|  | 
 | ||||||
|   path-type@2.0.0: |   path-type@2.0.0: | ||||||
|     resolution: {integrity: sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==} |     resolution: {integrity: sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==} | ||||||
|     engines: {node: '>=4'} |     engines: {node: '>=4'} | ||||||
| @ -10684,6 +10727,10 @@ packages: | |||||||
|     resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} |     resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} | ||||||
|     engines: {node: '>= 0.8'} |     engines: {node: '>= 0.8'} | ||||||
| 
 | 
 | ||||||
|  |   raw-body@3.0.0: | ||||||
|  |     resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} | ||||||
|  |     engines: {node: '>= 0.8'} | ||||||
|  | 
 | ||||||
|   raw-loader@0.5.1: |   raw-loader@0.5.1: | ||||||
|     resolution: {integrity: sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q==} |     resolution: {integrity: sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q==} | ||||||
| 
 | 
 | ||||||
| @ -11007,6 +11054,10 @@ packages: | |||||||
|   roughjs@4.6.6: |   roughjs@4.6.6: | ||||||
|     resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} |     resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} | ||||||
| 
 | 
 | ||||||
|  |   router@2.2.0: | ||||||
|  |     resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} | ||||||
|  |     engines: {node: '>= 18'} | ||||||
|  | 
 | ||||||
|   rrweb-cssom@0.8.0: |   rrweb-cssom@0.8.0: | ||||||
|     resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} |     resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} | ||||||
| 
 | 
 | ||||||
| @ -11267,6 +11318,10 @@ packages: | |||||||
|     resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} |     resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} | ||||||
|     engines: {node: '>= 0.8.0'} |     engines: {node: '>= 0.8.0'} | ||||||
| 
 | 
 | ||||||
|  |   send@1.2.0: | ||||||
|  |     resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} | ||||||
|  |     engines: {node: '>= 18'} | ||||||
|  | 
 | ||||||
|   serialize-error@11.0.3: |   serialize-error@11.0.3: | ||||||
|     resolution: {integrity: sha512-2G2y++21dhj2R7iHAdd0FIzjGwuKZld+7Pl/bTU6YIkrC2ZMbVUjm+luj6A6V34Rv9XfKJDKpTWu9W4Gse1D9g==} |     resolution: {integrity: sha512-2G2y++21dhj2R7iHAdd0FIzjGwuKZld+7Pl/bTU6YIkrC2ZMbVUjm+luj6A6V34Rv9XfKJDKpTWu9W4Gse1D9g==} | ||||||
|     engines: {node: '>=14.16'} |     engines: {node: '>=14.16'} | ||||||
| @ -11293,6 +11348,10 @@ packages: | |||||||
|     resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} |     resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} | ||||||
|     engines: {node: '>= 0.8.0'} |     engines: {node: '>= 0.8.0'} | ||||||
| 
 | 
 | ||||||
|  |   serve-static@2.2.0: | ||||||
|  |     resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} | ||||||
|  |     engines: {node: '>= 18'} | ||||||
|  | 
 | ||||||
|   set-blocking@2.0.0: |   set-blocking@2.0.0: | ||||||
|     resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} |     resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} | ||||||
| 
 | 
 | ||||||
| @ -12147,6 +12206,10 @@ packages: | |||||||
|     resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} |     resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} | ||||||
|     engines: {node: '>= 0.6'} |     engines: {node: '>= 0.6'} | ||||||
| 
 | 
 | ||||||
|  |   type-is@2.0.1: | ||||||
|  |     resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} | ||||||
|  |     engines: {node: '>= 0.6'} | ||||||
|  | 
 | ||||||
|   typed-array-buffer@1.0.3: |   typed-array-buffer@1.0.3: | ||||||
|     resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} |     resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} | ||||||
|     engines: {node: '>= 0.4'} |     engines: {node: '>= 0.4'} | ||||||
| @ -16274,14 +16337,14 @@ snapshots: | |||||||
|       - supports-color |       - supports-color | ||||||
|       - verdaccio |       - verdaccio | ||||||
| 
 | 
 | ||||||
|   '@nx/express@21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.30)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.28.0(jiti@2.4.2))(express@4.21.2)(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.30)(typescript@5.8.3))(typescript@5.8.3)': |   '@nx/express@21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.30)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.28.0(jiti@2.4.2))(express@5.1.0)(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.30)(typescript@5.8.3))(typescript@5.8.3)': | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@nx/devkit': 21.1.3(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) |       '@nx/devkit': 21.1.3(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) | ||||||
|       '@nx/js': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) |       '@nx/js': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))) | ||||||
|       '@nx/node': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.30)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.28.0(jiti@2.4.2))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.30)(typescript@5.8.3))(typescript@5.8.3) |       '@nx/node': 21.1.3(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.30)(@zkochan/js-yaml@0.0.7)(babel-plugin-macros@3.1.0)(eslint@9.28.0(jiti@2.4.2))(nx@21.1.3(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(ts-node@10.9.2(@swc/core@1.11.29(@swc/helpers@0.5.17))(@types/node@22.15.30)(typescript@5.8.3))(typescript@5.8.3) | ||||||
|       tslib: 2.8.1 |       tslib: 2.8.1 | ||||||
|     optionalDependencies: |     optionalDependencies: | ||||||
|       express: 4.21.2 |       express: 5.1.0 | ||||||
|     transitivePeerDependencies: |     transitivePeerDependencies: | ||||||
|       - '@babel/traverse' |       - '@babel/traverse' | ||||||
|       - '@swc-node/register' |       - '@swc-node/register' | ||||||
| @ -17738,7 +17801,7 @@ snapshots: | |||||||
| 
 | 
 | ||||||
|   '@types/serve-index@1.9.4': |   '@types/serve-index@1.9.4': | ||||||
|     dependencies: |     dependencies: | ||||||
|       '@types/express': 4.17.22 |       '@types/express': 5.0.2 | ||||||
| 
 | 
 | ||||||
|   '@types/serve-static@1.15.7': |   '@types/serve-static@1.15.7': | ||||||
|     dependencies: |     dependencies: | ||||||
| @ -18276,6 +18339,11 @@ snapshots: | |||||||
|       mime-types: 2.1.35 |       mime-types: 2.1.35 | ||||||
|       negotiator: 0.6.3 |       negotiator: 0.6.3 | ||||||
| 
 | 
 | ||||||
|  |   accepts@2.0.0: | ||||||
|  |     dependencies: | ||||||
|  |       mime-types: 3.0.1 | ||||||
|  |       negotiator: 1.0.0 | ||||||
|  | 
 | ||||||
|   accessor-fn@1.5.3: {} |   accessor-fn@1.5.3: {} | ||||||
| 
 | 
 | ||||||
|   acorn-globals@6.0.0: |   acorn-globals@6.0.0: | ||||||
| @ -18760,6 +18828,20 @@ snapshots: | |||||||
|     transitivePeerDependencies: |     transitivePeerDependencies: | ||||||
|       - supports-color |       - supports-color | ||||||
| 
 | 
 | ||||||
|  |   body-parser@2.2.0: | ||||||
|  |     dependencies: | ||||||
|  |       bytes: 3.1.2 | ||||||
|  |       content-type: 1.0.5 | ||||||
|  |       debug: 4.4.1(supports-color@6.0.0) | ||||||
|  |       http-errors: 2.0.0 | ||||||
|  |       iconv-lite: 0.6.3 | ||||||
|  |       on-finished: 2.4.1 | ||||||
|  |       qs: 6.14.0 | ||||||
|  |       raw-body: 3.0.0 | ||||||
|  |       type-is: 2.0.1 | ||||||
|  |     transitivePeerDependencies: | ||||||
|  |       - supports-color | ||||||
|  | 
 | ||||||
|   bonjour-service@1.3.0: |   bonjour-service@1.3.0: | ||||||
|     dependencies: |     dependencies: | ||||||
|       fast-deep-equal: 3.1.3 |       fast-deep-equal: 3.1.3 | ||||||
| @ -19388,6 +19470,10 @@ snapshots: | |||||||
|     dependencies: |     dependencies: | ||||||
|       safe-buffer: 5.2.1 |       safe-buffer: 5.2.1 | ||||||
| 
 | 
 | ||||||
|  |   content-disposition@1.0.0: | ||||||
|  |     dependencies: | ||||||
|  |       safe-buffer: 5.2.1 | ||||||
|  | 
 | ||||||
|   content-type@1.0.5: {} |   content-type@1.0.5: {} | ||||||
| 
 | 
 | ||||||
|   convert-source-map@2.0.0: {} |   convert-source-map@2.0.0: {} | ||||||
| @ -19401,6 +19487,8 @@ snapshots: | |||||||
| 
 | 
 | ||||||
|   cookie-signature@1.0.7: {} |   cookie-signature@1.0.7: {} | ||||||
| 
 | 
 | ||||||
|  |   cookie-signature@1.2.2: {} | ||||||
|  | 
 | ||||||
|   cookie@0.7.1: {} |   cookie@0.7.1: {} | ||||||
| 
 | 
 | ||||||
|   cookie@0.7.2: {} |   cookie@0.7.2: {} | ||||||
| @ -20805,13 +20893,13 @@ snapshots: | |||||||
|     transitivePeerDependencies: |     transitivePeerDependencies: | ||||||
|       - supports-color |       - supports-color | ||||||
| 
 | 
 | ||||||
|   express-openid-connect@2.18.1(express@4.21.2): |   express-openid-connect@2.18.1(express@5.1.0): | ||||||
|     dependencies: |     dependencies: | ||||||
|       base64url: 3.0.1 |       base64url: 3.0.1 | ||||||
|       clone: 2.1.2 |       clone: 2.1.2 | ||||||
|       cookie: 0.7.2 |       cookie: 0.7.2 | ||||||
|       debug: 4.4.1(supports-color@6.0.0) |       debug: 4.4.1(supports-color@6.0.0) | ||||||
|       express: 4.21.2 |       express: 5.1.0 | ||||||
|       futoin-hkdf: 1.5.3 |       futoin-hkdf: 1.5.3 | ||||||
|       http-errors: 1.8.1 |       http-errors: 1.8.1 | ||||||
|       joi: 17.13.3 |       joi: 17.13.3 | ||||||
| @ -20822,9 +20910,9 @@ snapshots: | |||||||
|     transitivePeerDependencies: |     transitivePeerDependencies: | ||||||
|       - supports-color |       - supports-color | ||||||
| 
 | 
 | ||||||
|   express-rate-limit@7.5.0(express@4.21.2): |   express-rate-limit@7.5.0(express@5.1.0): | ||||||
|     dependencies: |     dependencies: | ||||||
|       express: 4.21.2 |       express: 5.1.0 | ||||||
| 
 | 
 | ||||||
|   express-session@1.18.1: |   express-session@1.18.1: | ||||||
|     dependencies: |     dependencies: | ||||||
| @ -20875,6 +20963,38 @@ snapshots: | |||||||
|     transitivePeerDependencies: |     transitivePeerDependencies: | ||||||
|       - supports-color |       - supports-color | ||||||
| 
 | 
 | ||||||
|  |   express@5.1.0: | ||||||
|  |     dependencies: | ||||||
|  |       accepts: 2.0.0 | ||||||
|  |       body-parser: 2.2.0 | ||||||
|  |       content-disposition: 1.0.0 | ||||||
|  |       content-type: 1.0.5 | ||||||
|  |       cookie: 0.7.2 | ||||||
|  |       cookie-signature: 1.2.2 | ||||||
|  |       debug: 4.4.1(supports-color@6.0.0) | ||||||
|  |       encodeurl: 2.0.0 | ||||||
|  |       escape-html: 1.0.3 | ||||||
|  |       etag: 1.8.1 | ||||||
|  |       finalhandler: 2.1.0 | ||||||
|  |       fresh: 2.0.0 | ||||||
|  |       http-errors: 2.0.0 | ||||||
|  |       merge-descriptors: 2.0.0 | ||||||
|  |       mime-types: 3.0.1 | ||||||
|  |       on-finished: 2.4.1 | ||||||
|  |       once: 1.4.0 | ||||||
|  |       parseurl: 1.3.3 | ||||||
|  |       proxy-addr: 2.0.7 | ||||||
|  |       qs: 6.14.0 | ||||||
|  |       range-parser: 1.2.1 | ||||||
|  |       router: 2.2.0 | ||||||
|  |       send: 1.2.0 | ||||||
|  |       serve-static: 2.2.0 | ||||||
|  |       statuses: 2.0.2 | ||||||
|  |       type-is: 2.0.1 | ||||||
|  |       vary: 1.1.2 | ||||||
|  |     transitivePeerDependencies: | ||||||
|  |       - supports-color | ||||||
|  | 
 | ||||||
|   exsolve@1.0.5: {} |   exsolve@1.0.5: {} | ||||||
| 
 | 
 | ||||||
|   ext-list@2.2.2: |   ext-list@2.2.2: | ||||||
| @ -21020,6 +21140,17 @@ snapshots: | |||||||
|     transitivePeerDependencies: |     transitivePeerDependencies: | ||||||
|       - supports-color |       - supports-color | ||||||
| 
 | 
 | ||||||
|  |   finalhandler@2.1.0: | ||||||
|  |     dependencies: | ||||||
|  |       debug: 4.4.1(supports-color@6.0.0) | ||||||
|  |       encodeurl: 2.0.0 | ||||||
|  |       escape-html: 1.0.3 | ||||||
|  |       on-finished: 2.4.1 | ||||||
|  |       parseurl: 1.3.3 | ||||||
|  |       statuses: 2.0.2 | ||||||
|  |     transitivePeerDependencies: | ||||||
|  |       - supports-color | ||||||
|  | 
 | ||||||
|   find-cache-dir@3.3.2: |   find-cache-dir@3.3.2: | ||||||
|     dependencies: |     dependencies: | ||||||
|       commondir: 1.0.1 |       commondir: 1.0.1 | ||||||
| @ -21138,6 +21269,8 @@ snapshots: | |||||||
| 
 | 
 | ||||||
|   fresh@0.5.2: {} |   fresh@0.5.2: {} | ||||||
| 
 | 
 | ||||||
|  |   fresh@2.0.0: {} | ||||||
|  | 
 | ||||||
|   front-matter@4.0.2: |   front-matter@4.0.2: | ||||||
|     dependencies: |     dependencies: | ||||||
|       js-yaml: 3.14.1 |       js-yaml: 3.14.1 | ||||||
| @ -22020,6 +22153,8 @@ snapshots: | |||||||
| 
 | 
 | ||||||
|   is-potential-custom-element-name@1.0.1: {} |   is-potential-custom-element-name@1.0.1: {} | ||||||
| 
 | 
 | ||||||
|  |   is-promise@4.0.0: {} | ||||||
|  | 
 | ||||||
|   is-property@1.0.2: |   is-property@1.0.2: | ||||||
|     optional: true |     optional: true | ||||||
| 
 | 
 | ||||||
| @ -23057,6 +23192,8 @@ snapshots: | |||||||
| 
 | 
 | ||||||
|   media-typer@0.3.0: {} |   media-typer@0.3.0: {} | ||||||
| 
 | 
 | ||||||
|  |   media-typer@1.1.0: {} | ||||||
|  | 
 | ||||||
|   mem@4.3.0: |   mem@4.3.0: | ||||||
|     dependencies: |     dependencies: | ||||||
|       map-age-cleaner: 0.1.3 |       map-age-cleaner: 0.1.3 | ||||||
| @ -23074,6 +23211,8 @@ snapshots: | |||||||
| 
 | 
 | ||||||
|   merge-descriptors@1.0.3: {} |   merge-descriptors@1.0.3: {} | ||||||
| 
 | 
 | ||||||
|  |   merge-descriptors@2.0.0: {} | ||||||
|  | 
 | ||||||
|   merge-stream@2.0.0: {} |   merge-stream@2.0.0: {} | ||||||
| 
 | 
 | ||||||
|   merge2@1.4.1: {} |   merge2@1.4.1: {} | ||||||
| @ -24111,6 +24250,8 @@ snapshots: | |||||||
|   path-to-regexp@6.3.0: |   path-to-regexp@6.3.0: | ||||||
|     optional: true |     optional: true | ||||||
| 
 | 
 | ||||||
|  |   path-to-regexp@8.2.0: {} | ||||||
|  | 
 | ||||||
|   path-type@2.0.0: |   path-type@2.0.0: | ||||||
|     dependencies: |     dependencies: | ||||||
|       pify: 2.3.0 |       pify: 2.3.0 | ||||||
| @ -24942,6 +25083,13 @@ snapshots: | |||||||
|       iconv-lite: 0.4.24 |       iconv-lite: 0.4.24 | ||||||
|       unpipe: 1.0.0 |       unpipe: 1.0.0 | ||||||
| 
 | 
 | ||||||
|  |   raw-body@3.0.0: | ||||||
|  |     dependencies: | ||||||
|  |       bytes: 3.1.2 | ||||||
|  |       http-errors: 2.0.0 | ||||||
|  |       iconv-lite: 0.6.3 | ||||||
|  |       unpipe: 1.0.0 | ||||||
|  | 
 | ||||||
|   raw-loader@0.5.1: {} |   raw-loader@0.5.1: {} | ||||||
| 
 | 
 | ||||||
|   raw-loader@4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)): |   raw-loader@4.0.2(webpack@5.99.9(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.25.5)): | ||||||
| @ -25327,6 +25475,16 @@ snapshots: | |||||||
|       points-on-curve: 0.2.0 |       points-on-curve: 0.2.0 | ||||||
|       points-on-path: 0.2.1 |       points-on-path: 0.2.1 | ||||||
| 
 | 
 | ||||||
|  |   router@2.2.0: | ||||||
|  |     dependencies: | ||||||
|  |       debug: 4.4.1(supports-color@6.0.0) | ||||||
|  |       depd: 2.0.0 | ||||||
|  |       is-promise: 4.0.0 | ||||||
|  |       parseurl: 1.3.3 | ||||||
|  |       path-to-regexp: 8.2.0 | ||||||
|  |     transitivePeerDependencies: | ||||||
|  |       - supports-color | ||||||
|  | 
 | ||||||
|   rrweb-cssom@0.8.0: {} |   rrweb-cssom@0.8.0: {} | ||||||
| 
 | 
 | ||||||
|   run-applescript@7.0.0: {} |   run-applescript@7.0.0: {} | ||||||
| @ -25576,6 +25734,22 @@ snapshots: | |||||||
|     transitivePeerDependencies: |     transitivePeerDependencies: | ||||||
|       - supports-color |       - supports-color | ||||||
| 
 | 
 | ||||||
|  |   send@1.2.0: | ||||||
|  |     dependencies: | ||||||
|  |       debug: 4.4.1(supports-color@6.0.0) | ||||||
|  |       encodeurl: 2.0.0 | ||||||
|  |       escape-html: 1.0.3 | ||||||
|  |       etag: 1.8.1 | ||||||
|  |       fresh: 2.0.0 | ||||||
|  |       http-errors: 2.0.0 | ||||||
|  |       mime-types: 3.0.1 | ||||||
|  |       ms: 2.1.3 | ||||||
|  |       on-finished: 2.4.1 | ||||||
|  |       range-parser: 1.2.1 | ||||||
|  |       statuses: 2.0.2 | ||||||
|  |     transitivePeerDependencies: | ||||||
|  |       - supports-color | ||||||
|  | 
 | ||||||
|   serialize-error@11.0.3: |   serialize-error@11.0.3: | ||||||
|     dependencies: |     dependencies: | ||||||
|       type-fest: 2.19.0 |       type-fest: 2.19.0 | ||||||
| @ -25622,6 +25796,15 @@ snapshots: | |||||||
|     transitivePeerDependencies: |     transitivePeerDependencies: | ||||||
|       - supports-color |       - supports-color | ||||||
| 
 | 
 | ||||||
|  |   serve-static@2.2.0: | ||||||
|  |     dependencies: | ||||||
|  |       encodeurl: 2.0.0 | ||||||
|  |       escape-html: 1.0.3 | ||||||
|  |       parseurl: 1.3.3 | ||||||
|  |       send: 1.2.0 | ||||||
|  |     transitivePeerDependencies: | ||||||
|  |       - supports-color | ||||||
|  | 
 | ||||||
|   set-blocking@2.0.0: {} |   set-blocking@2.0.0: {} | ||||||
| 
 | 
 | ||||||
|   set-function-length@1.2.2: |   set-function-length@1.2.2: | ||||||
| @ -25904,8 +26087,7 @@ snapshots: | |||||||
| 
 | 
 | ||||||
|   statuses@2.0.1: {} |   statuses@2.0.1: {} | ||||||
| 
 | 
 | ||||||
|   statuses@2.0.2: |   statuses@2.0.2: {} | ||||||
|     optional: true |  | ||||||
| 
 | 
 | ||||||
|   std-env@3.9.0: {} |   std-env@3.9.0: {} | ||||||
| 
 | 
 | ||||||
| @ -26295,9 +26477,9 @@ snapshots: | |||||||
|     dependencies: |     dependencies: | ||||||
|       '@scarf/scarf': 1.4.0 |       '@scarf/scarf': 1.4.0 | ||||||
| 
 | 
 | ||||||
|   swagger-ui-express@5.0.1(express@4.21.2): |   swagger-ui-express@5.0.1(express@5.1.0): | ||||||
|     dependencies: |     dependencies: | ||||||
|       express: 4.21.2 |       express: 5.1.0 | ||||||
|       swagger-ui-dist: 5.21.0 |       swagger-ui-dist: 5.21.0 | ||||||
| 
 | 
 | ||||||
|   symbol-tree@3.2.4: {} |   symbol-tree@3.2.4: {} | ||||||
| @ -26699,6 +26881,12 @@ snapshots: | |||||||
|       media-typer: 0.3.0 |       media-typer: 0.3.0 | ||||||
|       mime-types: 2.1.35 |       mime-types: 2.1.35 | ||||||
| 
 | 
 | ||||||
|  |   type-is@2.0.1: | ||||||
|  |     dependencies: | ||||||
|  |       content-type: 1.0.5 | ||||||
|  |       media-typer: 1.1.0 | ||||||
|  |       mime-types: 3.0.1 | ||||||
|  | 
 | ||||||
|   typed-array-buffer@1.0.3: |   typed-array-buffer@1.0.3: | ||||||
|     dependencies: |     dependencies: | ||||||
|       call-bound: 1.0.4 |       call-bound: 1.0.4 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Elian Doran
						Elian Doran