From 645a9a1a1acf43dc87ad36abadb2b3acf6b29245 Mon Sep 17 00:00:00 2001 From: hxtree <19890291+hxtree@users.noreply.github.com> Date: Wed, 11 Dec 2024 11:55:22 -0600 Subject: [PATCH] feat: add basic single square movement on button press --- .vscode/settings.json | 1 + clients/jukebox/package.json | 2 +- clients/player-client/package.json | 9 +- clients/player-client/src/App.tsx | 1 + .../src/core/GameEngine/GameEngine.ts | 29 +- .../src/core/Keyboard/Keyboard.tsx | 3 +- .../src/core/Keyboard/keyBindings.ts | 25 +- .../src/core/Keyboard/useHandleInput.ts | 29 +- clients/player-client/src/core/types/index.ts | 1 - .../core/types/player-input-record.type.ts | 6 - .../player-client/src/dtos/Actor/Actor.dto.ts | 50 ++ .../src/dtos/Actor/ActorAnimation.dto.ts | 31 + .../src/dtos/Actor/ActorMovement.dto.ts | 30 + .../src/dtos/Coordinate3d.dto.ts | 12 + .../player-client/src/dtos/Dialogue.dto.ts | 10 + .../player-client/src/dtos/GameState.dto.ts | 42 ++ .../src/dtos/Player/InputEventRecord.dto.ts | 10 + .../dtos/Player/InputEventRecordKey.type.ts | 11 + .../player-client/src/dtos/Properties.dto.ts | 8 + clients/player-client/src/pages/home.page.tsx | 13 +- clients/player-client/tsconfig-build.json | 5 +- clients/player-client/vite.config.mts | 9 +- .../character-sheet-contracts/package.json | 2 +- libraries/faker-factory/package.json | 2 +- libraries/messaging-schemas/package.json | 2 +- libraries/nestjs-modules/package.json | 2 +- libraries/validation-schemas/package.json | 2 +- middleware/api/package.json | 2 +- pnpm-lock.yaml | 602 ++++++++++++++++-- services/billing-system/package.json | 2 +- services/character-sheet/package.json | 2 +- services/dynamo-image/package.json | 2 +- services/email-service/package.json | 2 +- services/html-to-pdf/package.json | 2 +- services/instances/package.json | 2 +- services/luck-by-dice/package.json | 2 +- services/player-achievements/package.json | 2 +- services/user-service/package.json | 2 +- services/weather-control/package.json | 2 +- 39 files changed, 862 insertions(+), 109 deletions(-) delete mode 100644 clients/player-client/src/core/types/index.ts delete mode 100644 clients/player-client/src/core/types/player-input-record.type.ts create mode 100644 clients/player-client/src/dtos/Actor/Actor.dto.ts create mode 100644 clients/player-client/src/dtos/Actor/ActorAnimation.dto.ts create mode 100644 clients/player-client/src/dtos/Actor/ActorMovement.dto.ts create mode 100644 clients/player-client/src/dtos/Coordinate3d.dto.ts create mode 100644 clients/player-client/src/dtos/Dialogue.dto.ts create mode 100644 clients/player-client/src/dtos/GameState.dto.ts create mode 100644 clients/player-client/src/dtos/Player/InputEventRecord.dto.ts create mode 100644 clients/player-client/src/dtos/Player/InputEventRecordKey.type.ts create mode 100644 clients/player-client/src/dtos/Properties.dto.ts diff --git a/.vscode/settings.json b/.vscode/settings.json index 8d69b0ef3..680128f69 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -52,6 +52,7 @@ "Aniroth", "Asmin", "bson", + "dtos", "Embeddable", "esbuild", "Gaali", diff --git a/clients/jukebox/package.json b/clients/jukebox/package.json index fdadf8e2a..a4e67a4b9 100644 --- a/clients/jukebox/package.json +++ b/clients/jukebox/package.json @@ -28,7 +28,7 @@ "@galaxyops/base-nodejs": "0.2.0", "@galaxyops/constructs": "2.2.0", "@galaxyops/nestjs-modules": "2.2.0", - "@galaxyops/validation-schemas": "2.2.0", + "@galaxyops/validation-schemas": "workspace:*", "@nestjs/common": "9.4.0", "@nestjs/config": "2.2.0", "@nestjs/core": "9.2.1", diff --git a/clients/player-client/package.json b/clients/player-client/package.json index 9f31ae795..8e06fc00a 100644 --- a/clients/player-client/package.json +++ b/clients/player-client/package.json @@ -22,12 +22,17 @@ }, "dependencies": { "@galaxyops/design-system": "workspace:*", + "@galaxyops/faker-factory": "3.3.0", + "@galaxyops/validation-schemas": "workspace:*", "axios": "^1.6.7", + "class-transformer": "0.5.1", + "class-validator": "0.13.2", "lodash": "4.17.21", "luxon": "~3.3.0", "react": "18.2.0", "react-dom": "18.2.0", - "react-router-dom": "6.22.1" + "react-router-dom": "6.22.1", + "reflect-metadata": "0.1.13" }, "devDependencies": { "@galaxyops/base-nodejs": "workspace:*", @@ -54,7 +59,7 @@ "ts-jest": "29.1.2", "ts-node": "10.9.2", "typescript": "5.3.3", - "vite": "^4.5.0", + "vite": "5.4.11", "vite-plugin-static-copy": "^2.1.0" } } diff --git a/clients/player-client/src/App.tsx b/clients/player-client/src/App.tsx index 1b0fe2de2..d1f3b098a 100644 --- a/clients/player-client/src/App.tsx +++ b/clients/player-client/src/App.tsx @@ -1,3 +1,4 @@ +import 'reflect-metadata'; import '@galaxyops/design-system/dist/assets/style.css'; import { AppProvider } from './context/App/AppProvider'; import { PageFooter, faGithub } from '@galaxyops/design-system/dist/main'; diff --git a/clients/player-client/src/core/GameEngine/GameEngine.ts b/clients/player-client/src/core/GameEngine/GameEngine.ts index 4f700b63a..aeeb8f675 100644 --- a/clients/player-client/src/core/GameEngine/GameEngine.ts +++ b/clients/player-client/src/core/GameEngine/GameEngine.ts @@ -1,12 +1,33 @@ -import React from 'react'; +import React, { useEffect } from 'react'; +import { useInputContext } from '../../context/Input/useInputContext'; +import { InputEventRecordKey } from '../../dtos/Player/InputEventRecordKey.type'; +import { GameState } from '../../dtos/GameState.dto'; export type GameEngineProps = { - data: any; + data: GameState; updateData: (newData: any) => void; }; -export const GameEngine: React.FC = () => { - // if input up then try to move up +export const GameEngine: React.FC = props => { + const { data, updateData } = props; + const inputContext = useInputContext(); + + useEffect(() => { + if (inputContext.state.key === InputEventRecordKey.LEFT) { + data.actors[0].movement.targetPosition.x--; + } + if (inputContext.state.key === InputEventRecordKey.RIGHT) { + data.actors[0].movement.targetPosition.x++; + } + if (inputContext.state.key === InputEventRecordKey.UP) { + data.actors[0].movement.targetPosition.y--; + } + if (inputContext.state.key === InputEventRecordKey.DOWN) { + data.actors[0].movement.targetPosition.y++; + } + + updateData(data); + }, [updateData, inputContext.state.key]); return null; }; diff --git a/clients/player-client/src/core/Keyboard/Keyboard.tsx b/clients/player-client/src/core/Keyboard/Keyboard.tsx index c59d516fe..2c4058115 100644 --- a/clients/player-client/src/core/Keyboard/Keyboard.tsx +++ b/clients/player-client/src/core/Keyboard/Keyboard.tsx @@ -2,6 +2,7 @@ import React, { useEffect, useRef } from 'react'; import useHandleInput from './useHandleInput'; import { useInputContext } from '../../context/Input/useInputContext'; import { InputActionType } from '../../context/Input/InputActionType.type'; +import { InputEventRecordKey } from '../../dtos/Player/InputEventRecordKey.type'; export type KeyboardProps = { config?: string; @@ -26,7 +27,7 @@ export const Keyboard: React.FC = () => { payload: { key: input[0]?.key, timestamp: input[0]?.timestamp }, }); - if (input[0]?.key === 'debug') { + if (input[0]?.key === InputEventRecordKey.DEBUG) { inputContextRef.current.dispatch({ type: InputActionType.SET_DEBUG, payload: { debug: !inputContextRef.current.state.debug }, diff --git a/clients/player-client/src/core/Keyboard/keyBindings.ts b/clients/player-client/src/core/Keyboard/keyBindings.ts index f4deffb99..93449f617 100644 --- a/clients/player-client/src/core/Keyboard/keyBindings.ts +++ b/clients/player-client/src/core/Keyboard/keyBindings.ts @@ -1,16 +1,13 @@ -// keyboard +import { InputEventRecordKey } from '../../dtos/Player/InputEventRecordKey.type'; + export const keyboardBindings = { - up: 'w', - down: 's', - left: 'a', - right: 'd', - jump: ' ', - debug: 'p', - select: 'Enter', - back: 'u', - pause: 'Escape', + [InputEventRecordKey.UP]: 'w', + [InputEventRecordKey.DOWN]: 's', + [InputEventRecordKey.LEFT]: 'a', + [InputEventRecordKey.RIGHT]: 'd', + [InputEventRecordKey.JUMP]: ' ', + [InputEventRecordKey.DEBUG]: 'p', + [InputEventRecordKey.SELECT]: 'Enter', + [InputEventRecordKey.BACK]: 'u', + [InputEventRecordKey.PAUSE]: 'Escape', }; - -// other inputs will be touch and based -// may need to display buttons on screen for touch -// move by clicking a tile.. diff --git a/clients/player-client/src/core/Keyboard/useHandleInput.ts b/clients/player-client/src/core/Keyboard/useHandleInput.ts index f3a9e2add..1be406acd 100644 --- a/clients/player-client/src/core/Keyboard/useHandleInput.ts +++ b/clients/player-client/src/core/Keyboard/useHandleInput.ts @@ -1,35 +1,38 @@ import { useState, useEffect } from 'react'; import { keyboardBindings } from './keyBindings'; import { DateTime } from 'luxon'; -import { PlayerInputRecord } from '../../core/types'; +import { InputEventRecord } from '../../dtos/Player/InputEventRecord.dto'; +import { InputEventRecordKey } from '../../dtos/Player/InputEventRecordKey.type'; -export default function useHandleInput(): PlayerInputRecord[] | null { - const [inputState, setInputState] = useState( - null, - ); +export default function useHandleInput(): InputEventRecord[] | null { + const [inputState, setInputState] = useState(null); const pressedKeys = new Set(); useEffect(() => { const handleKeyDown = (event: KeyboardEvent) => { + if (event.key === ' ') { + event.preventDefault(); + } + + // TODO ignore select already pressed keys if (pressedKeys.has(event.key)) { - return; // Ignore if the key is already pressed + return; } pressedKeys.add(event.key); - const newInputRecords: PlayerInputRecord[] = []; + const newInputRecords: InputEventRecord[] = []; // Handle different key strokes Object.entries(keyboardBindings).forEach(([direction, key]) => { if (event.key === key) { - // Collect key press for the given direction - newInputRecords.push({ - key: direction, - timestamp: DateTime.now(), - }); + const inputEventRecord = new InputEventRecord(); + inputEventRecord.key = direction as InputEventRecordKey; + inputEventRecord.timestamp = DateTime.now(); + newInputRecords.push(inputEventRecord); } }); - const newState: PlayerInputRecord[] = []; + const newState: InputEventRecord[] = []; newInputRecords.forEach(record => { newState.unshift(record); }); diff --git a/clients/player-client/src/core/types/index.ts b/clients/player-client/src/core/types/index.ts deleted file mode 100644 index 252f52010..000000000 --- a/clients/player-client/src/core/types/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './player-input-record.type'; diff --git a/clients/player-client/src/core/types/player-input-record.type.ts b/clients/player-client/src/core/types/player-input-record.type.ts deleted file mode 100644 index eaef9966d..000000000 --- a/clients/player-client/src/core/types/player-input-record.type.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { DateTime } from 'luxon'; - -export type PlayerInputRecord = { - key: string; - timestamp: DateTime; -}; diff --git a/clients/player-client/src/dtos/Actor/Actor.dto.ts b/clients/player-client/src/dtos/Actor/Actor.dto.ts new file mode 100644 index 000000000..430f42c1d --- /dev/null +++ b/clients/player-client/src/dtos/Actor/Actor.dto.ts @@ -0,0 +1,50 @@ +import { + IsUrl, + IsEnum, + IsString, + IsNumber, + Min, + ValidateNested, + IsOptional, +} from 'class-validator'; +import { ActorAnimation } from './ActorAnimation.dto'; +import { Transform, Type } from 'class-transformer'; +import { ActorMovement } from './ActorMovement.dto'; +import { ActorState } from '../../core/IsometricCanvas/types/ActorState.type'; +import { DateTime } from 'luxon'; + +export class Actor { + @IsString() + actorId: string; + + @IsOptional() + @IsNumber() + @Min(0) + height?: number; + + @ValidateNested() + @Type(() => ActorMovement) + movement: ActorMovement; + + @IsEnum(ActorState) + currentState?: ActorState; + + @ValidateNested() + @Type(() => ActorAnimation) + animation: ActorAnimation; + + @Transform(({ value }) => { + return Object.keys(value).reduce( + (acc, key) => { + acc[key] = value[key]; + return acc; + }, + {} as Record, + ); + }) + @IsString({ each: true }) + @IsUrl({}, { each: true }) + spriteMapRegistry: Record; + + lastUpdated?: DateTime; // Timestamp for when the actor's data was last updated +} diff --git a/clients/player-client/src/dtos/Actor/ActorAnimation.dto.ts b/clients/player-client/src/dtos/Actor/ActorAnimation.dto.ts new file mode 100644 index 000000000..351f540a1 --- /dev/null +++ b/clients/player-client/src/dtos/Actor/ActorAnimation.dto.ts @@ -0,0 +1,31 @@ +import { IsBoolean, IsDateString, IsString, IsNumber } from 'class-validator'; +import { DateTime, Duration } from 'luxon'; + +export class ActorAnimation { + @IsNumber() + startingFrame?: number; + + @IsNumber() + totalFrames: number; + + @IsNumber() + animationDuration?: number; + + // @IsNumber() + frameDuration: Duration; + + @IsBoolean() + isAnimating?: false; + + @IsDateString() + startTime: DateTime; + + @IsString() + currentAnimation?: string; + + @IsNumber() + currentFrame?: number; + + startTimestamp?: DateTime; // Time when the animation started + endTimestamp?: DateTime; // Time when the animation should end +} diff --git a/clients/player-client/src/dtos/Actor/ActorMovement.dto.ts b/clients/player-client/src/dtos/Actor/ActorMovement.dto.ts new file mode 100644 index 000000000..317021292 --- /dev/null +++ b/clients/player-client/src/dtos/Actor/ActorMovement.dto.ts @@ -0,0 +1,30 @@ +import { IsBoolean, ValidateNested, IsDateString } from 'class-validator'; +import { Type } from 'class-transformer'; +import { Duration, DateTime } from 'luxon'; +import { Coordinate3d } from '../Coordinate3d.dto'; + +export class ActorMovement { + @IsBoolean() + isInMotion: boolean; + + @ValidateNested() + @Type(() => Coordinate3d) + currentPosition: Coordinate3d; + + @ValidateNested() + @Type(() => Coordinate3d) + targetPosition: Coordinate3d; + + // TODO type for duration + + movementDuration?: Duration; // Duration of the movement (in seconds) ??? + + @IsBoolean() + targetPositionReached: boolean; + + @IsDateString() + startTimestamp: DateTime; + + @IsDateString() + endTimestamp?: DateTime; +} diff --git a/clients/player-client/src/dtos/Coordinate3d.dto.ts b/clients/player-client/src/dtos/Coordinate3d.dto.ts new file mode 100644 index 000000000..9a2873c16 --- /dev/null +++ b/clients/player-client/src/dtos/Coordinate3d.dto.ts @@ -0,0 +1,12 @@ +import { IsNumber } from 'class-validator'; + +export class Coordinate3d { + @IsNumber() + x: number; + + @IsNumber() + y: number; + + @IsNumber() + z: number; +} diff --git a/clients/player-client/src/dtos/Dialogue.dto.ts b/clients/player-client/src/dtos/Dialogue.dto.ts new file mode 100644 index 000000000..3ed5f9691 --- /dev/null +++ b/clients/player-client/src/dtos/Dialogue.dto.ts @@ -0,0 +1,10 @@ +import { IsString, Length } from 'class-validator'; + +export class Dialogue { + @IsString() + actorId: string; + + @IsString() + @Length(1, 1000) + text: string; +} diff --git a/clients/player-client/src/dtos/GameState.dto.ts b/clients/player-client/src/dtos/GameState.dto.ts new file mode 100644 index 000000000..7765939c4 --- /dev/null +++ b/clients/player-client/src/dtos/GameState.dto.ts @@ -0,0 +1,42 @@ +import { IsString, IsUrl, IsArray, ValidateNested } from 'class-validator'; +import { Transform, Type } from 'class-transformer'; +import { Properties } from './Properties.dto'; +import { Actor } from './Actor/Actor.dto'; +import { Dialogue } from './Dialogue.dto'; +import { Coordinate3d } from './Coordinate3d.dto'; + +export class GameState { + @ValidateNested() + @Type(() => Properties) + properties: Properties; + + @IsArray() + @ValidateNested({ each: true }) + @Type(() => Actor) + actors: Actor[]; + + @IsArray() + @ValidateNested({ each: true }) + @Type(() => Dialogue) + dialogues: Dialogue[]; + + @Transform(({ value }) => { + return Object.keys(value).reduce( + (acc, key) => { + acc[key] = value[key]; + return acc; + }, + {} as Record, + ); + }) + @IsString({ each: true }) + @IsUrl({}, { each: true }) + spriteMapRegistry: Record; + + // TODO add type for grid + grid: string[][][]; + + @ValidateNested() + @Type(() => Coordinate3d) + cameraPosition: Coordinate3d; +} diff --git a/clients/player-client/src/dtos/Player/InputEventRecord.dto.ts b/clients/player-client/src/dtos/Player/InputEventRecord.dto.ts new file mode 100644 index 000000000..2c0563b9d --- /dev/null +++ b/clients/player-client/src/dtos/Player/InputEventRecord.dto.ts @@ -0,0 +1,10 @@ +import { IsEnum } from 'class-validator'; +import { DateTime } from 'luxon'; +import { InputEventRecordKey } from './InputEventRecordKey.type'; + +export class InputEventRecord { + @IsEnum(InputEventRecordKey) + key: InputEventRecordKey; + + timestamp: DateTime; +} diff --git a/clients/player-client/src/dtos/Player/InputEventRecordKey.type.ts b/clients/player-client/src/dtos/Player/InputEventRecordKey.type.ts new file mode 100644 index 000000000..196498ecd --- /dev/null +++ b/clients/player-client/src/dtos/Player/InputEventRecordKey.type.ts @@ -0,0 +1,11 @@ +export enum InputEventRecordKey { + 'UP' = 'UP', + 'DOWN' = 'DOWN', + 'LEFT' = 'LEFT', + 'RIGHT' = 'RIGHT', + 'JUMP' = 'JUMP', + 'DEBUG' = 'DEBUG', + 'SELECT' = 'SELECT', + 'BACK' = 'BACK', + 'PAUSE' = 'PAUSE', +} diff --git a/clients/player-client/src/dtos/Properties.dto.ts b/clients/player-client/src/dtos/Properties.dto.ts new file mode 100644 index 000000000..faec75bde --- /dev/null +++ b/clients/player-client/src/dtos/Properties.dto.ts @@ -0,0 +1,8 @@ +import { IsEnum, IsOptional } from 'class-validator'; +import { BackgroundColor } from '../core/IsometricCanvas/types/BackgroundColor.type'; + +export class Properties { + @IsOptional() + @IsEnum(BackgroundColor) + backgroundColor?: BackgroundColor; +} diff --git a/clients/player-client/src/pages/home.page.tsx b/clients/player-client/src/pages/home.page.tsx index 8d215f250..740f9beda 100644 --- a/clients/player-client/src/pages/home.page.tsx +++ b/clients/player-client/src/pages/home.page.tsx @@ -1,12 +1,16 @@ import React, { useState } from 'react'; import { IsometricCanvas, IsometricCanvasProps } from '../core/IsometricCanvas'; -import gameState from './data/Sewer.json'; +import gameStateRaw from './data/Sewer.json'; import { InputProvider } from '../context/Input/InputProvider'; import { Keyboard } from '../core/Keyboard/Keyboard'; import { GameEngine } from '../core/GameEngine/GameEngine'; +import { plainToClass } from 'class-transformer'; +import { GameState } from '../dtos/GameState.dto'; export default function HomePage() { - const [gameData, setGameData] = useState({ input: '', playerPosition: 0 }); + const [gameData, setGameData] = useState(() => { + return plainToClass(GameState, gameStateRaw); + }); const updateGameData = (newData: any) => { setGameData(newData); @@ -16,10 +20,7 @@ export default function HomePage() { - - {/** TODO use gameData={gameData} */} - {/* @ts-expect-error needed for types temp */} - + ); } diff --git a/clients/player-client/tsconfig-build.json b/clients/player-client/tsconfig-build.json index fd7694871..47912de1d 100644 --- a/clients/player-client/tsconfig-build.json +++ b/clients/player-client/tsconfig-build.json @@ -3,8 +3,9 @@ "include": ["src", "bin", "stacks"], "compilerOptions": { "lib": ["dom"], - "module": "es2022", - "moduleResolution": "Node" + "moduleResolution": "Node", + "experimentalDecorators": true, + "emitDecoratorMetadata": true, } } diff --git a/clients/player-client/vite.config.mts b/clients/player-client/vite.config.mts index 6d4ee90d8..b6f47ca9c 100644 --- a/clients/player-client/vite.config.mts +++ b/clients/player-client/vite.config.mts @@ -1,10 +1,10 @@ -import { defineConfig } from 'vite'; +import { defineConfig, PluginOption } from 'vite'; import react from '@vitejs/plugin-react'; -import { viteStaticCopy } from 'vite-plugin-static-copy'; +import { viteStaticCopy } from 'vite-plugin-static-copy'; // Add PluginOption import export default defineConfig({ plugins: [ - react(), + react() as PluginOption, viteStaticCopy({ targets: [ { @@ -12,8 +12,9 @@ export default defineConfig({ dest: 'assets' } ] - }) + }) as PluginOption // Add type assertion ], + esbuild: { target: 'es2022' }, server: { port: 3000, host: '127.0.0.1', diff --git a/contracts/character-sheet-contracts/package.json b/contracts/character-sheet-contracts/package.json index 7b9de503a..09c02ed30 100644 --- a/contracts/character-sheet-contracts/package.json +++ b/contracts/character-sheet-contracts/package.json @@ -40,7 +40,7 @@ "class-validator-jsonschema": "3.1.1", "json-schema-faker": "~0.5.0-rcv.46", "json-schema": "~0.4.0", - "@galaxyops/validation-schemas": "2.2.0", + "@galaxyops/validation-schemas": "workspace:*", "luxon": "~3.3.0" }, "devDependencies": { diff --git a/libraries/faker-factory/package.json b/libraries/faker-factory/package.json index 27f82b705..8f12f4094 100644 --- a/libraries/faker-factory/package.json +++ b/libraries/faker-factory/package.json @@ -43,7 +43,7 @@ "json-schema-faker": "~0.5.0-rcv.46", "json-schema": "~0.4.0", "openapi3-ts": "~3.1.2", - "@galaxyops/validation-schemas": "2.2.0" + "@galaxyops/validation-schemas": "workspace:*" }, "devDependencies": { "@types/jest": "29.5.12", diff --git a/libraries/messaging-schemas/package.json b/libraries/messaging-schemas/package.json index 8f5f2f2a1..849d0311b 100644 --- a/libraries/messaging-schemas/package.json +++ b/libraries/messaging-schemas/package.json @@ -26,7 +26,7 @@ "@galaxyops/base-nodejs": "0.2.0", "@types/validator": "~13.7.10", "@galaxyops/faker-factory": "3.3.0", - "@galaxyops/validation-schemas": "2.2.0", + "@galaxyops/validation-schemas": "workspace:*", "class-transformer": "0.5.1" }, "devDependencies": { diff --git a/libraries/nestjs-modules/package.json b/libraries/nestjs-modules/package.json index 822d84a7c..ad7476413 100644 --- a/libraries/nestjs-modules/package.json +++ b/libraries/nestjs-modules/package.json @@ -53,7 +53,7 @@ "@types/uuid": "~9.0.7", "luxon": "~3.3.0", "mongodb-memory-server-global": "8.13.0", - "@galaxyops/validation-schemas": "2.2.0", + "@galaxyops/validation-schemas": "workspace:*", "bson": "~6.2.0" }, "devDependencies": { diff --git a/libraries/validation-schemas/package.json b/libraries/validation-schemas/package.json index edfe01ed7..37732f74c 100644 --- a/libraries/validation-schemas/package.json +++ b/libraries/validation-schemas/package.json @@ -1,6 +1,6 @@ { "name": "@galaxyops/validation-schemas", - "version": "2.2.0", + "version": "2.3.0", "main": "./dist/index.js", "license": "MIT", "repository": { diff --git a/middleware/api/package.json b/middleware/api/package.json index 20ed250d8..688764958 100644 --- a/middleware/api/package.json +++ b/middleware/api/package.json @@ -30,7 +30,7 @@ "@galaxyops/base-nodejs": "0.2.0", "@galaxyops/constructs": "2.2.0", "@galaxyops/nestjs-modules": "2.2.0", - "@galaxyops/validation-schemas": "2.2.0", + "@galaxyops/validation-schemas": "workspace:*", "@nestjs/common": "9.4.0", "@nestjs/config": "2.2.0", "@nestjs/core": "9.2.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9eaf50dfd..88abe9405 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -235,7 +235,7 @@ importers: version: 7.6.3(react@18.2.0) '@storybook/addon-styling': specifier: ~1.3.7 - version: 1.3.7(@types/react-dom@18.2.19)(@types/react@18.2.59)(less@4.2.0)(postcss@8.4.38)(react-dom@18.2.0)(react@18.2.0)(sass@1.77.6)(typescript@5.3.3)(webpack@5.92.1) + version: 1.3.7(@types/react-dom@18.2.19)(@types/react@18.2.59)(less@4.2.0)(postcss@8.4.49)(react-dom@18.2.0)(react@18.2.0)(sass@1.77.6)(typescript@5.3.3)(webpack@5.92.1) '@storybook/addon-viewport': specifier: 7.6.3 version: 7.6.3 @@ -316,7 +316,7 @@ importers: version: 4.3.1(vite@4.5.3) autoprefixer: specifier: ~10.4.16 - version: 10.4.19(postcss@8.4.38) + version: 10.4.19(postcss@8.4.49) aws-cdk: specifier: 2.129.0 version: 2.129.0 @@ -379,7 +379,7 @@ importers: version: 16.3.1(typescript@5.3.3) stylelint-config-standard-scss: specifier: ~13.0.0 - version: 13.0.0(postcss@8.4.38)(stylelint@16.3.1) + version: 13.0.0(postcss@8.4.49)(stylelint@16.3.1) stylelint-order: specifier: ~6.0.4 version: 6.0.4(stylelint@16.3.1) @@ -420,7 +420,7 @@ importers: specifier: 2.2.0 version: link:../../libraries/nestjs-modules '@galaxyops/validation-schemas': - specifier: 2.2.0 + specifier: workspace:* version: link:../../libraries/validation-schemas '@nestjs/common': specifier: 9.4.0 @@ -561,9 +561,21 @@ importers: '@galaxyops/design-system': specifier: workspace:* version: link:../design-system + '@galaxyops/faker-factory': + specifier: 3.3.0 + version: link:../../libraries/faker-factory + '@galaxyops/validation-schemas': + specifier: workspace:* + version: link:../../libraries/validation-schemas axios: specifier: ^1.6.7 version: 1.7.7 + class-transformer: + specifier: 0.5.1 + version: 0.5.1 + class-validator: + specifier: 0.13.2 + version: 0.13.2 lodash: specifier: 4.17.21 version: 4.17.21 @@ -579,6 +591,9 @@ importers: react-router-dom: specifier: 6.22.1 version: 6.22.1(react-dom@18.2.0)(react@18.2.0) + reflect-metadata: + specifier: 0.1.13 + version: 0.1.13 devDependencies: '@galaxyops/base-nodejs': specifier: workspace:* @@ -618,7 +633,7 @@ importers: version: 6.16.0(eslint@8.57.0)(typescript@5.3.3) '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.3.1(vite@4.5.3) + version: 4.3.1(vite@5.4.11) aws-cdk: specifier: 2.129.0 version: 2.129.0 @@ -653,11 +668,11 @@ importers: specifier: 5.3.3 version: 5.3.3 vite: - specifier: ^4.5.0 - version: 4.5.3(@types/node@20.11.25)(less@4.2.0)(sass@1.77.6) + specifier: 5.4.11 + version: 5.4.11(@types/node@20.11.25) vite-plugin-static-copy: specifier: ^2.1.0 - version: 2.1.0(vite@4.5.3) + version: 2.1.0(vite@5.4.11) contracts/character-sheet-contracts: dependencies: @@ -668,7 +683,7 @@ importers: specifier: 0.2.0 version: link:../../platform/rigs/base-nodejs '@galaxyops/validation-schemas': - specifier: 2.2.0 + specifier: workspace:* version: link:../../libraries/validation-schemas '@types/lodash': specifier: 4.17.6 @@ -787,7 +802,7 @@ importers: specifier: 0.2.0 version: link:../../platform/rigs/base-nodejs '@galaxyops/validation-schemas': - specifier: 2.2.0 + specifier: workspace:* version: link:../validation-schemas '@types/lodash': specifier: 4.17.6 @@ -869,7 +884,7 @@ importers: specifier: 3.3.0 version: link:../faker-factory '@galaxyops/validation-schemas': - specifier: 2.2.0 + specifier: workspace:* version: link:../validation-schemas '@types/lodash': specifier: 4.17.6 @@ -939,7 +954,7 @@ importers: specifier: 2.2.0 version: link:../messaging-schemas '@galaxyops/validation-schemas': - specifier: 2.2.0 + specifier: workspace:* version: link:../validation-schemas '@nestjs/common': specifier: 9.4.0 @@ -1189,7 +1204,7 @@ importers: specifier: 2.2.0 version: link:../../libraries/nestjs-modules '@galaxyops/validation-schemas': - specifier: 2.2.0 + specifier: workspace:* version: link:../../libraries/validation-schemas '@nestjs/common': specifier: 9.4.0 @@ -1921,7 +1936,7 @@ importers: specifier: 2.2.0 version: link:../../platform/constructs '@galaxyops/validation-schemas': - specifier: 2.2.0 + specifier: workspace:* version: link:../../libraries/validation-schemas '@nestjs/axios': specifier: ~2.0.0 @@ -2054,7 +2069,7 @@ importers: specifier: 2.2.0 version: link:../../libraries/nestjs-modules '@galaxyops/validation-schemas': - specifier: 2.2.0 + specifier: workspace:* version: link:../../libraries/validation-schemas '@nestjs/common': specifier: 9.4.0 @@ -2227,7 +2242,7 @@ importers: specifier: 2.2.0 version: link:../../libraries/nestjs-modules '@galaxyops/validation-schemas': - specifier: 2.2.0 + specifier: workspace:* version: link:../../libraries/validation-schemas '@nestjs/common': specifier: 9.4.0 @@ -2381,7 +2396,7 @@ importers: specifier: 2.2.0 version: link:../../libraries/nestjs-modules '@galaxyops/validation-schemas': - specifier: 2.2.0 + specifier: workspace:* version: link:../../libraries/validation-schemas '@nestjs/common': specifier: 9.4.0 @@ -2553,7 +2568,7 @@ importers: specifier: 2.2.0 version: link:../../libraries/nestjs-modules '@galaxyops/validation-schemas': - specifier: 2.2.0 + specifier: workspace:* version: link:../../libraries/validation-schemas '@nestjs/axios': specifier: ~2.0.0 @@ -2716,7 +2731,7 @@ importers: specifier: 2.2.0 version: link:../../libraries/nestjs-modules '@galaxyops/validation-schemas': - specifier: 2.2.0 + specifier: workspace:* version: link:../../libraries/validation-schemas '@nestjs/common': specifier: 9.4.0 @@ -2861,7 +2876,7 @@ importers: specifier: 0.10.0 version: link:../../libraries/dice-simulator '@galaxyops/validation-schemas': - specifier: 2.2.0 + specifier: workspace:* version: link:../../libraries/validation-schemas '@nestjs/axios': specifier: ~2.0.0 @@ -3000,7 +3015,7 @@ importers: specifier: 2.2.0 version: link:../../libraries/nestjs-modules '@galaxyops/validation-schemas': - specifier: 2.2.0 + specifier: workspace:* version: link:../../libraries/validation-schemas '@nestjs/common': specifier: 9.4.0 @@ -3166,7 +3181,7 @@ importers: specifier: 2.2.0 version: link:../../libraries/nestjs-modules '@galaxyops/validation-schemas': - specifier: 2.2.0 + specifier: workspace:* version: link:../../libraries/validation-schemas '@nestjs/common': specifier: 9.4.0 @@ -3338,7 +3353,7 @@ importers: specifier: 2.2.0 version: link:../../libraries/nestjs-modules '@galaxyops/validation-schemas': - specifier: 2.2.0 + specifier: workspace:* version: link:../../libraries/validation-schemas '@nestjs/common': specifier: 9.4.0 @@ -9148,6 +9163,15 @@ packages: requiresBuild: true optional: true + /@esbuild/aix-ppc64@0.21.5: + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm64@0.18.20: resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@ -9165,6 +9189,15 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm64@0.21.5: + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm@0.18.20: resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} @@ -9182,6 +9215,15 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm@0.21.5: + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-x64@0.18.20: resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} @@ -9199,6 +9241,15 @@ packages: requiresBuild: true optional: true + /@esbuild/android-x64@0.21.5: + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-arm64@0.18.20: resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} @@ -9216,6 +9267,15 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-arm64@0.21.5: + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-x64@0.18.20: resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} @@ -9233,6 +9293,15 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-x64@0.21.5: + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-arm64@0.18.20: resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} @@ -9250,6 +9319,15 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-arm64@0.21.5: + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-x64@0.18.20: resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} @@ -9267,6 +9345,15 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-x64@0.21.5: + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm64@0.18.20: resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} @@ -9284,6 +9371,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm64@0.21.5: + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm@0.18.20: resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} @@ -9301,6 +9397,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm@0.21.5: + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ia32@0.18.20: resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} @@ -9318,6 +9423,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ia32@0.21.5: + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64@0.18.20: resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} @@ -9335,6 +9449,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-loong64@0.21.5: + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-mips64el@0.18.20: resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} @@ -9352,6 +9475,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-mips64el@0.21.5: + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ppc64@0.18.20: resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} @@ -9369,6 +9501,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ppc64@0.21.5: + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-riscv64@0.18.20: resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} @@ -9386,6 +9527,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-riscv64@0.21.5: + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-s390x@0.18.20: resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} @@ -9403,6 +9553,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-s390x@0.21.5: + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-x64@0.18.20: resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} @@ -9420,6 +9579,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-x64@0.21.5: + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/netbsd-x64@0.18.20: resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} @@ -9437,6 +9605,15 @@ packages: requiresBuild: true optional: true + /@esbuild/netbsd-x64@0.21.5: + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/openbsd-x64@0.18.20: resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} @@ -9454,6 +9631,15 @@ packages: requiresBuild: true optional: true + /@esbuild/openbsd-x64@0.21.5: + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/sunos-x64@0.18.20: resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} @@ -9471,6 +9657,15 @@ packages: requiresBuild: true optional: true + /@esbuild/sunos-x64@0.21.5: + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-arm64@0.18.20: resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} @@ -9488,6 +9683,15 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-arm64@0.21.5: + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-ia32@0.18.20: resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} @@ -9505,6 +9709,15 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-ia32@0.21.5: + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-x64@0.18.20: resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} @@ -9522,6 +9735,15 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-x64@0.21.5: + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -13261,6 +13483,158 @@ packages: picomatch: 2.3.1 dev: true + /@rollup/rollup-android-arm-eabi@4.28.1: + resolution: {integrity: sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.28.1: + resolution: {integrity: sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.28.1: + resolution: {integrity: sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.28.1: + resolution: {integrity: sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-freebsd-arm64@4.28.1: + resolution: {integrity: sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-freebsd-x64@4.28.1: + resolution: {integrity: sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.28.1: + resolution: {integrity: sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-musleabihf@4.28.1: + resolution: {integrity: sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.28.1: + resolution: {integrity: sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.28.1: + resolution: {integrity: sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-loongarch64-gnu@4.28.1: + resolution: {integrity: sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-powerpc64le-gnu@4.28.1: + resolution: {integrity: sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.28.1: + resolution: {integrity: sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-s390x-gnu@4.28.1: + resolution: {integrity: sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.28.1: + resolution: {integrity: sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.28.1: + resolution: {integrity: sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.28.1: + resolution: {integrity: sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.28.1: + resolution: {integrity: sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.28.1: + resolution: {integrity: sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rushstack/node-core-library@4.0.2(@types/node@20.11.25): resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} peerDependencies: @@ -14358,7 +14732,7 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/addon-styling@1.3.7(@types/react-dom@18.2.19)(@types/react@18.2.59)(less@4.2.0)(postcss@8.4.38)(react-dom@18.2.0)(react@18.2.0)(sass@1.77.6)(typescript@5.3.3)(webpack@5.92.1): + /@storybook/addon-styling@1.3.7(@types/react-dom@18.2.19)(@types/react@18.2.59)(less@4.2.0)(postcss@8.4.49)(react-dom@18.2.0)(react@18.2.0)(sass@1.77.6)(typescript@5.3.3)(webpack@5.92.1): resolution: {integrity: sha512-JSBZMOrSw/3rlq5YoEI7Qyq703KSNP0Jd+gxTWu3/tP6245mpjn2dXnR8FvqVxCi+FG4lt2kQyPzgsuwEw1SSA==} deprecated: 'This package has been split into @storybook/addon-styling-webpack and @storybook/addon-themes. More info: https://github.com/storybookjs/addon-styling' hasBin: true @@ -14394,8 +14768,8 @@ packages: css-loader: 6.11.0(webpack@5.92.1) less: 4.2.0 less-loader: 11.1.4(less@4.2.0)(webpack@5.92.1) - postcss: 8.4.38 - postcss-loader: 7.3.4(postcss@8.4.38)(typescript@5.3.3)(webpack@5.92.1) + postcss: 8.4.49 + postcss-loader: 7.3.4(postcss@8.4.49)(typescript@5.3.3)(webpack@5.92.1) prettier: 2.8.8 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -15460,6 +15834,10 @@ packages: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true + /@types/estree@1.0.6: + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + dev: true + /@types/express-serve-static-core@4.19.5: resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} dependencies: @@ -16039,6 +16417,22 @@ packages: - supports-color dev: true + /@vitejs/plugin-react@4.3.1(vite@5.4.11): + resolution: {integrity: sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.2 + vite: 5.4.11(@types/node@20.11.25) + transitivePeerDependencies: + - supports-color + dev: true + /@volar/language-core@1.11.1: resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} dependencies: @@ -17097,7 +17491,7 @@ packages: engines: {node: '>= 4.0.0'} dev: false - /autoprefixer@10.4.19(postcss@8.4.38): + /autoprefixer@10.4.19(postcss@8.4.49): resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -17109,7 +17503,7 @@ packages: fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.1 - postcss: 8.4.38 + postcss: 8.4.49 postcss-value-parser: 4.2.0 dev: true @@ -19599,6 +19993,37 @@ packages: '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 + /esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 + dev: true + /escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -25223,6 +25648,10 @@ packages: /picocolors@1.0.1: resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + /picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + dev: true + /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -25305,7 +25734,7 @@ packages: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} - /postcss-loader@7.3.4(postcss@8.4.38)(typescript@5.3.3)(webpack@5.92.1): + /postcss-loader@7.3.4(postcss@8.4.49)(typescript@5.3.3)(webpack@5.92.1): resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -25314,7 +25743,7 @@ packages: dependencies: cosmiconfig: 8.3.6(typescript@5.3.3) jiti: 1.21.6 - postcss: 8.4.38 + postcss: 8.4.49 semver: 7.6.2 webpack: 5.92.1(esbuild@0.18.20) transitivePeerDependencies: @@ -25379,13 +25808,13 @@ packages: postcss: 8.4.38 dev: true - /postcss-scss@4.0.9(postcss@8.4.38): + /postcss-scss@4.0.9(postcss@8.4.49): resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.4.29 dependencies: - postcss: 8.4.38 + postcss: 8.4.49 dev: true /postcss-selector-parser@6.1.0: @@ -25417,6 +25846,15 @@ packages: source-map-js: 1.2.0 dev: true + /postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.1.1 + source-map-js: 1.2.1 + dev: true + /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -26522,6 +26960,35 @@ packages: fsevents: 2.3.3 dev: true + /rollup@4.28.1: + resolution: {integrity: sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.28.1 + '@rollup/rollup-android-arm64': 4.28.1 + '@rollup/rollup-darwin-arm64': 4.28.1 + '@rollup/rollup-darwin-x64': 4.28.1 + '@rollup/rollup-freebsd-arm64': 4.28.1 + '@rollup/rollup-freebsd-x64': 4.28.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.28.1 + '@rollup/rollup-linux-arm-musleabihf': 4.28.1 + '@rollup/rollup-linux-arm64-gnu': 4.28.1 + '@rollup/rollup-linux-arm64-musl': 4.28.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.28.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.28.1 + '@rollup/rollup-linux-riscv64-gnu': 4.28.1 + '@rollup/rollup-linux-s390x-gnu': 4.28.1 + '@rollup/rollup-linux-x64-gnu': 4.28.1 + '@rollup/rollup-linux-x64-musl': 4.28.1 + '@rollup/rollup-win32-arm64-msvc': 4.28.1 + '@rollup/rollup-win32-ia32-msvc': 4.28.1 + '@rollup/rollup-win32-x64-msvc': 4.28.1 + fsevents: 2.3.3 + dev: true + /rrweb-cssom@0.6.0: resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} dev: false @@ -26990,6 +27457,11 @@ packages: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + dev: true + /source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: @@ -27355,7 +27827,7 @@ packages: webpack: 5.92.1(esbuild@0.18.20) dev: true - /stylelint-config-recommended-scss@14.0.0(postcss@8.4.38)(stylelint@16.3.1): + /stylelint-config-recommended-scss@14.0.0(postcss@8.4.49)(stylelint@16.3.1): resolution: {integrity: sha512-HDvpoOAQ1RpF+sPbDOT2Q2/YrBDEJDnUymmVmZ7mMCeNiFSdhRdyGEimBkz06wsN+HaFwUh249gDR+I9JR7Onw==} engines: {node: '>=18.12.0'} peerDependencies: @@ -27365,8 +27837,8 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.38 - postcss-scss: 4.0.9(postcss@8.4.38) + postcss: 8.4.49 + postcss-scss: 4.0.9(postcss@8.4.49) stylelint: 16.3.1(typescript@5.3.3) stylelint-config-recommended: 14.0.0(stylelint@16.3.1) stylelint-scss: 6.3.2(stylelint@16.3.1) @@ -27381,7 +27853,7 @@ packages: stylelint: 16.3.1(typescript@5.3.3) dev: true - /stylelint-config-standard-scss@13.0.0(postcss@8.4.38)(stylelint@16.3.1): + /stylelint-config-standard-scss@13.0.0(postcss@8.4.49)(stylelint@16.3.1): resolution: {integrity: sha512-WaLvkP689qSYUpJQPCo30TFJSSc3VzvvoWnrgp+7PpVby5o8fRUY1cZcP0sePZfjrFl9T8caGhcKg0GO34VDiQ==} engines: {node: '>=18.12.0'} peerDependencies: @@ -27391,9 +27863,9 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.38 + postcss: 8.4.49 stylelint: 16.3.1(typescript@5.3.3) - stylelint-config-recommended-scss: 14.0.0(postcss@8.4.38)(stylelint@16.3.1) + stylelint-config-recommended-scss: 14.0.0(postcss@8.4.49)(stylelint@16.3.1) stylelint-config-standard: 36.0.0(stylelint@16.3.1) dev: true @@ -28595,6 +29067,19 @@ packages: vite: 4.5.3(@types/node@20.11.25)(less@4.2.0)(sass@1.77.6) dev: true + /vite-plugin-static-copy@2.1.0(vite@5.4.11): + resolution: {integrity: sha512-n8lEOIVM00Y/zronm0RG8RdPyFd0SAAFR0sii3NWmgG3PSCyYMsvUNRQTlb3onp1XeMrKIDwCrPGxthKvqX9OQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + dependencies: + chokidar: 3.5.3 + fast-glob: 3.3.2 + fs-extra: 11.2.0 + picocolors: 1.0.1 + vite: 5.4.11(@types/node@20.11.25) + dev: true + /vite@4.5.3(@types/node@20.11.25)(less@4.2.0)(sass@1.77.6): resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==} engines: {node: ^14.18.0 || >=16.0.0} @@ -28633,6 +29118,45 @@ packages: fsevents: 2.3.3 dev: true + /vite@5.4.11(@types/node@20.11.25): + resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.25 + esbuild: 0.21.5 + postcss: 8.4.49 + rollup: 4.28.1 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /vlq@1.0.1: resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==} dev: false @@ -28799,7 +29323,7 @@ packages: optional: true dependencies: '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 diff --git a/services/billing-system/package.json b/services/billing-system/package.json index 93e0f7991..0cb1c0a56 100644 --- a/services/billing-system/package.json +++ b/services/billing-system/package.json @@ -25,7 +25,7 @@ "dependencies": { "@galaxyops/base-nodejs": "0.2.0", "@galaxyops/constructs": "2.2.0", - "@galaxyops/validation-schemas": "2.2.0", + "@galaxyops/validation-schemas": "workspace:*", "@nestjs/axios": "~2.0.0", "@nestjs/common": "9.4.0", "@nestjs/core": "9.2.1", diff --git a/services/character-sheet/package.json b/services/character-sheet/package.json index 71d86f268..05c9527e2 100644 --- a/services/character-sheet/package.json +++ b/services/character-sheet/package.json @@ -29,7 +29,7 @@ "dependencies": { "@galaxyops/constructs": "2.2.0", "@galaxyops/nestjs-modules": "2.2.0", - "@galaxyops/validation-schemas": "2.2.0", + "@galaxyops/validation-schemas": "workspace:*", "@galaxyops/base-nodejs": "0.2.0", "@galaxyops/character-sheet-contracts": "0.1.0", "@nestjs/common": "9.4.0", diff --git a/services/dynamo-image/package.json b/services/dynamo-image/package.json index 57a91bbd2..2dcc196a1 100644 --- a/services/dynamo-image/package.json +++ b/services/dynamo-image/package.json @@ -29,7 +29,7 @@ "@galaxyops/base-nodejs": "0.2.0", "@galaxyops/constructs": "2.2.0", "@galaxyops/nestjs-modules": "2.2.0", - "@galaxyops/validation-schemas": "2.2.0", + "@galaxyops/validation-schemas": "workspace:*", "@nestjs/common": "9.4.0", "@nestjs/config": "2.2.0", "@nestjs/core": "9.2.1", diff --git a/services/email-service/package.json b/services/email-service/package.json index 42e272b4c..9830d9145 100644 --- a/services/email-service/package.json +++ b/services/email-service/package.json @@ -30,7 +30,7 @@ "@galaxyops/constructs": "2.2.0", "@galaxyops/messaging-schemas": "2.2.0", "@galaxyops/nestjs-modules": "2.2.0", - "@galaxyops/validation-schemas": "2.2.0", + "@galaxyops/validation-schemas": "workspace:*", "@nestjs/common": "9.4.0", "@nestjs/config": "2.2.0", "@nestjs/core": "9.2.1", diff --git a/services/html-to-pdf/package.json b/services/html-to-pdf/package.json index b85af00f1..ff9615387 100644 --- a/services/html-to-pdf/package.json +++ b/services/html-to-pdf/package.json @@ -40,7 +40,7 @@ "@galaxyops/constructs": "2.2.0", "@galaxyops/faker-factory": "3.3.0", "@galaxyops/nestjs-modules": "2.2.0", - "@galaxyops/validation-schemas": "2.2.0", + "@galaxyops/validation-schemas": "workspace:*", "@nestjs/axios": "~2.0.0", "@nestjs/common": "9.4.0", "@nestjs/config": "2.2.0", diff --git a/services/instances/package.json b/services/instances/package.json index 6aed8df7e..539437a3f 100644 --- a/services/instances/package.json +++ b/services/instances/package.json @@ -28,7 +28,7 @@ "@galaxyops/constructs": "2.2.0", "@galaxyops/create-bundle": "3.2.0", "@galaxyops/nestjs-modules": "2.2.0", - "@galaxyops/validation-schemas": "2.2.0", + "@galaxyops/validation-schemas": "workspace:*", "@nestjs/common": "9.4.0", "@nestjs/config": "2.2.0", "@nestjs/core": "9.2.1", diff --git a/services/luck-by-dice/package.json b/services/luck-by-dice/package.json index cfba640fb..4347f7600 100644 --- a/services/luck-by-dice/package.json +++ b/services/luck-by-dice/package.json @@ -32,7 +32,7 @@ "@galaxyops/base-nodejs": "0.2.0", "@galaxyops/constructs": "2.2.0", "@galaxyops/dice-simulator": "0.10.0", - "@galaxyops/validation-schemas": "2.2.0", + "@galaxyops/validation-schemas": "workspace:*", "@nestjs/axios": "~2.0.0", "@nestjs/common": "9.4.0", "@nestjs/core": "9.2.1", diff --git a/services/player-achievements/package.json b/services/player-achievements/package.json index d0edb13e2..5e5ccea1d 100644 --- a/services/player-achievements/package.json +++ b/services/player-achievements/package.json @@ -32,7 +32,7 @@ "@galaxyops/constructs": "2.2.0", "@galaxyops/create-bundle": "3.2.0", "@galaxyops/nestjs-modules": "2.2.0", - "@galaxyops/validation-schemas": "2.2.0", + "@galaxyops/validation-schemas": "workspace:*", "@nestjs/common": "9.4.0", "@nestjs/config": "2.2.0", "@nestjs/core": "9.2.1", diff --git a/services/user-service/package.json b/services/user-service/package.json index 524951cf5..9e92a3a59 100644 --- a/services/user-service/package.json +++ b/services/user-service/package.json @@ -32,7 +32,7 @@ "@galaxyops/base-nodejs": "0.2.0", "@galaxyops/constructs": "2.2.0", "@galaxyops/nestjs-modules": "2.2.0", - "@galaxyops/validation-schemas": "2.2.0", + "@galaxyops/validation-schemas": "workspace:*", "@nestjs/common": "9.4.0", "@nestjs/config": "2.2.0", "@nestjs/core": "9.2.1", diff --git a/services/weather-control/package.json b/services/weather-control/package.json index 05c634039..f6687091b 100644 --- a/services/weather-control/package.json +++ b/services/weather-control/package.json @@ -28,7 +28,7 @@ "@galaxyops/constructs": "2.2.0", "@galaxyops/create-bundle": "3.2.0", "@galaxyops/nestjs-modules": "2.2.0", - "@galaxyops/validation-schemas": "2.2.0", + "@galaxyops/validation-schemas": "workspace:*", "@nestjs/common": "9.4.0", "@nestjs/config": "2.2.0", "@nestjs/core": "9.2.1",