diff --git a/.git-hooks/pre-commit b/.git-hooks/pre-commit index f8466558..b99870a3 100755 --- a/.git-hooks/pre-commit +++ b/.git-hooks/pre-commit @@ -6,20 +6,40 @@ export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" -# This take the current active node version you want to verify the hook -export NVM_DIR="$HOME/.nvm" -a=$(nvm current) - -export PATH="$NVM_DIR/versions/node/$a/bin:$PATH" - # Define colours for nicer CLI output RED="\033[1;31m" GREEN="\033[1;32m" NO_COLOUR="\033[0m" -echo -e "${GREEN} Executing git hook $0 $@ ${NO_COLOUR}" +echo -e "${GREEN}Executing git hook $0 $@${NO_COLOUR}" + +# Use the current Node version explicitly +nvm use + +# Get the list of staged changes +STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM) + +# Exclude files that shouldn't trigger pre-commit checks +# This is done here because `nx affected` doesn't look at task inputs +# when determining if a project is affected +EXCLUDED_FILES_REGEX='.*\.md$' # Ignore markdown files +EXCLUDED_FILES_REGEX+='|.*\/step-functions\/.*\.(yml|yaml)$' # Ignore step function yaml files +EXCLUDED_FILES_REGEX+='|^\/?([^\/]*)$' # Ignore all root-level files +AFFECTED_FILES=$(echo "$STAGED_FILES" | \ + grep -vE "$EXCLUDED_FILES_REGEX" | \ + paste -sd,) + +echo -e "${GREEN}\nAffected files: $AFFECTED_FILES\n${NO_COLOUR}" + +# Exit early if there are no affected files +if [ -z "$AFFECTED_FILES" ]; then + echo -e "${GREEN}No affected files found. Exiting pre-commit hook.${NO_COLOUR}" + exit 0 +fi -commands=("npx nx affected -t lint, typecheck --parallel=3" "npx nx affected:test --coverage") +# Prepare the affected commands for static analysis targets +AFFECTED_COMMAND="yarn nx affected --files=$AFFECTED_FILES --nxBail --tui=false" +commands=("$AFFECTED_COMMAND -t lint typecheck --parallel=3", "$AFFECTED_COMMAND -t test --configuration coverage") failures=() # Loop over commands, execute and push failure message if we see one diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index 154eb6b3..1d7f1ac4 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -12,9 +12,12 @@ jobs: deploy: name: Test package building runs-on: ubuntu-latest + env: + # Generating an Nx library will cause a failure if this is enabled + YARN_ENABLE_IMMUTABLE_INSTALLS: 0 strategy: matrix: - node-version: [20.18] + node-version: [22.14] steps: - name: Checkout repository uses: actions/checkout@v4 @@ -29,13 +32,13 @@ jobs: cache: yarn - name: Install dependencies - run: yarn install --immutable + run: yarn install - name: Generate test library - run: npx nx g library test-lib --directory=libs/test-lib --unitTestRunner=none + run: yarn nx g library test-lib --directory=libs/test-lib --unitTestRunner=none - name: Generate test app - run: npx nx g service test-app + run: yarn nx g service test-app --type=general # The next 2 lines are needed for nx affected to work when CI is running on a PR - name: Set base SHA to origin/main @@ -45,10 +48,10 @@ jobs: run: git fetch - name: Run tests - run: npx nx affected -t lint, test, build --parallel=3 --base=origin/main + run: yarn nx affected -t lint, typecheck, build --parallel=3 --base=origin/main - name: Remove test library - run: npx nx g rm test-lib + run: yarn nx g rm @aligent/test-lib - name: Remove test app - run: npx nx g rm test-app + run: yarn nx g rm @services/test-app diff --git a/.gitignore b/.gitignore index a7bba5fe..74682a76 100644 --- a/.gitignore +++ b/.gitignore @@ -2,12 +2,13 @@ # environment *.env +*.env*.csv +!.env.example.csv # compiled output dist tmp -/out-tsc -.serverless +out-tsc .build # dependencies @@ -58,3 +59,7 @@ Thumbs.db # Vite temporary config files vite.config.*.timestamp* vitest.config.*.timestamp* + +# CDK asset staging directory +.cdk.staging +cdk.out diff --git a/.nvmrc b/.nvmrc index bd67975b..517f3866 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v20.18 +v22.14.0 diff --git a/.vscode/extensions.json b/.vscode/extensions.json index ef689f2d..eb0d1913 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -3,6 +3,9 @@ "nrwl.angular-console", "esbenp.prettier-vscode", "dbaeumer.vscode-eslint", - "editorconfig.editorconfig" + "editorconfig.editorconfig", + "amazonwebservices.aws-toolkit-vscode", + "usernamehw.errorlens", + "yoavbls.pretty-ts-errors" ] } diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..3648156b --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,155 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Essential Commands + +### Testing + +- **Run tests for affected projects**: `yarn test` +- **Run tests for all projects**: `yarn test:all` +- **Run a single test file**: `npx vitest run path/to/test.spec.ts` +- **Run tests in watch mode**: `npx vitest watch` +- **Run tests for specific project**: `npx nx test @libs/cdk-utils` +- **Run specific test file with Nx**: `npx nx test @libs/cdk-utils -- path/to/test.spec.ts` + +### Code Quality + +- **Lint affected projects**: `yarn lint` +- **Lint all projects**: `yarn lint:all` +- **Type check affected projects**: `yarn typecheck` +- **Type check all projects**: `yarn typecheck:all` + +### Service Management + +- **Generate new service**: `npx nx g service ` +- **Generate notification service**: `npx nx g service notification` +- **Deploy service to AWS**: `npx nx deploy -- -s --aws-profile ` +- **Remove service from AWS**: `npx nx run :remove -- -s --aws-profile ` + +### CDK Deployment + +- **Deploy all stacks**: `cd applications/core && cdk deploy` +- **Deploy staging stacks**: `cd applications/core && cdk deploy stg/**` +- **Deploy production stacks**: `cd applications/core && cdk deploy prd/**` +- **View CDK diff**: `cd applications/core && cdk diff` + +### API Client Generation + +- **Generate typed API client**: `npx nx g client ` + +## Architecture Overview + +This is an AWS microservices template using: + +- **Nx monorepo** structure with services in `services/` and libraries in `libs/` +- **AWS CDK v2** for infrastructure as code (recently migrated from Serverless Framework) +- **TypeScript** with strict type checking extending @aligent/ts-code-standards +- **Node.js 22.14.0** runtime + +### Key Architecture Patterns + +1. **Service-Based Architecture** + + - Each service is a separate CDK Stack defined in `services//src/index.ts` + - Services export a Stack class that extends `aws-cdk-lib.Stack` + - Services are imported and instantiated in `ApplicationStage` inside `applications/core/bin/main.ts` + +2. **CDK Application Structure** + + - Entry point: `applications/core/bin/main.ts` creates CDK App and stages + - Stages (dev/stg/prd) are created as ApplicationStage instances directly in `main.ts` + - Stage-specific configuration is applied via property injectors and aspects + - Each stage automatically configures resources based on deployment environment + +3. **Lambda and Step Functions** + + - Lambda functions are in `services//src/lambda/` + - Step Functions use YAML definitions in `services//src/step-functions/` + - Shared constructs in `services//src/lib/constructs/` + - Step Functions use JSONata for output transformations + - Automatic versioning and aliasing applied via VersionFunctionsAspect + - Stage-specific configuration applied via property injectors + +4. **Property Injection Architecture** + + - Configuration-based defaults applied via property injectors: + - **NodeJsFunctionDefaultsInjector**: Bundling configuration (sourceMap, esm, minify) + - **LogGroupDefaultsInjector**: Duration-based retention (SHORT/MEDIUM/LONG) + - **StepFunctionDefaultsInjector**: Automatic logging for EXPRESS workflows + - **BucketDefaultsInjector**: Auto-cleanup policies for S3 buckets + - Cross-cutting concerns handled by aspects (VersionFunctionsAspect for automatic versioning) + - Configuration can be customized per stage or globally + - Uses CDK's built-in property injection system - no custom constructs needed + +5. **CDK Constructs and Utilities** + + - **S3Bucket**: Lifecycle management with duration-based rules (SHORT/MEDIUM/LONG/PERMANENT) + - **SsmParameterGroup**: Abstract class for grouping and managing SSM parameters + - **StepFunctionFromFile**: Load Step Function definitions from YAML/JSON files + +6. **Testing Strategy** + - Vitest for unit testing with coverage reports + - Test files colocated with source files as `*.spec.ts` or `*.test.ts` + - Workspace-level Vitest configuration in `vitest.workspace.ts` + +## Important Context + +### CDK Migration Notes + +- Project migrated from Serverless Framework to CDK using property injection pattern +- CDK construct IDs are critical - changing them will replace resources +- Lambda versions and aliases are automatically created via VersionFunctionsAspect +- Step Functions use `LambdaInvoke` resource with automatic retry blocks +- Task outputs are nested in `Payload` property - use JSONata to transform +- Stage-specific resource configuration handled by property injectors + +### Configuration + +- Update brand name in `nx.json` generators section before first use +- Package name in `package.json` should follow `@-int/integrations` format +- Services are tagged with STAGE and SERVICE tags automatically + +### Development Workflow + +1. Always run lint and type checks before committing +2. Use Nx affected commands to optimize CI/CD performance +3. Follow existing code patterns and conventions in the codebase +4. Check `CDK-MIGRATION-NOTES.md` for CDK-specific guidance + +## AI Helpers + +The `docs/ai-helpers/` folder contains documentation templates to assist AI code assistants in creating consistent and comprehensive documentation: + +### Recommended MCP Servers + +When using Claude Code or other MCP-compatible tools, the following MCP servers are recommended for this repository: + +- **context7**: Provides up-to-date documentation for libraries and frameworks +- **eslint**: Enables linting capabilities for code quality checks +- **nx**: Offers Nx-specific commands and workspace insights + +These servers should be used when available to enhance development capabilities. + +### Available Templates + +- **`APPLICATION_ARCHITECTURE_FORMAT.md`**: Template for creating comprehensive architecture diagrams for AWS CDK services + - Provides guidelines for analyzing CDK application structure + - Includes Mermaid diagram formats with consistent color palettes + - Shows how to map Step Function workflows and Lambda functions + - Contains common architectural patterns and best practices + +- **`SERVICE_README_FORMAT.md`**: Template for creating service-specific README documentation + - Standardized format for service documentation + - Context diagram template showing external system interactions + - Sections for workflows, critical information, and operational details + - Consistent color palette for system visualization + +### When to Use + +Reference these templates when: +- Creating new architecture documentation (`ARCHITECTURE.md`) +- Documenting a new service with a README +- Updating existing service documentation +- Generating visual representations of service interactions +- Ensuring consistency across all service documentation diff --git a/README.md b/README.md index 5c64e385..0dcbfe32 100644 --- a/README.md +++ b/README.md @@ -1,147 +1,243 @@ # Aligent AWS microservices template using Typescript and Serverless Framework -A template for developing a suite of AWS microservices using Typescript and [Serverless Framework](https://www.serverless.com/framework/docs). +A template for developing a suite of AWS microservices using Typescript and [AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/home.html). The monorepo workspace is managed using [Nx.](https://nx.dev) -## Development +## Setup -### Setup +1. Update application name in `package.json`. -1. Update application name in `package.json`. It's recommend to have the name in the format of: `@-int/integrations`. Eg: `@aligent-int/integrations` + It's recommend to have the name in the format of: `@-int/integrations` -2. Update brand name in `nx.json`. The naming convention for this is: `-int`. Just be mindful about the length of service name. Eg: `alg-int` + Example: `@aligent-int/integrations` -3. Install dependencies: `yarn install` +2. Install the template and validate it's passing code standards -### Working with services + ```bash + nvm use && yarn install && yarn audit + ``` -Services are generated by our `@aligent/serverless-plugin`. It supports generating services based on our predefined template and some executors as described below. +3. (Optional) Commit the initial state of the template. This ensures subsequent changes are easy to review, rather than getting lost in the template boilerplate -#### Service generator (for generating new service) + ```bash + git add . && git commit -m 'Serverless application template' + ``` -- To generate a service, use the command: +4. (Optional) Bootstrap SSM parameters: - ```bash - npx nx g service - # The command above is equivalent to 'npx nx g service general' - ``` + If there are existing parameters in SSM Parameter store, import them -- To generate a `notification` service, use the command: - ```bash - npx nx g service notification - ``` + ```bash + yarn nx run core:parameters + ``` -#### Service executors + Alternatively, copy the `parameters/.env.example.csv` file to `parameters/.env.csv` in the + application project, modify the contents, and push the parameters to AWS -Our service executors are `lint`, `test`, `typecheck`, `build`, `deploy` and `remove`. Executor can be executed using the command in the format: + ```bash + yarn nx run core:parameters:import + ``` -`npx nx run : -- --` or `npx nx -- --` + The default SSM path and file path can be changed in an application's `parameters` target or via CLI arguments -- To deploy a service to AWS: +5. (Optional) Change default base branch + If your pull requests will target a branch other than `main`, change the value of `defaultBranch` in `nx.json` to the name of the branch that Nx should compare to when running tasks with `affected` - `npx nx deploy -- -s --aws-profile --verbose` + ```json + { + "defaultBase": "origin/staging" + } + ``` -- To remove a service from AWS: +## Services - `npx nx run :remove -- -s --aws-profile --verbose` +Services are the core components deployed to AWS by the application -### Working with libraries +[Add a service](#โญ-adding-a-new-service) | [Test app](#๐Ÿงช-testing-the-application) | [Deploy app](#๐Ÿš€-playground-deploy-of-the-application) | [Clean up app](#๐Ÿ—‘๏ธ-clean-up-the-application-from-playground) | [Remove a service](#โŒ-removing-a-service) | [Mock Endpoints](#๐Ÿงช-testing-with-mock-services) -Libraries are generated by `@nx/js` plugin. For more information, check out their [document](https://nx.dev/packages/js). +### โญ Adding a new service -#### Generate a shared library +Services are generated by our `@tools/cdk-service-plugin`. It supports generating CDK-based services using predefined templates and executors as described below. -`npx nx g library ` +```bash +yarn nx g service +# You will be prompted to: +# 1. Enter the service name +# 2. Select the service type (general or notification) -Shared library will need to have the `check-types` command added manually to ensure proper type checking. This is because the the `@nx/js` plugin does not add it by default. +# Alternatively, provide the name and type as arguments +yarn nx g service test-app --type=general +# Will create a project called @services/test-app in the services/ folder +``` + +Import and instantiate the service in `ApplicationStage` inside `applications/core/bin/main.ts`: + +```typescript +import { YourServiceStack } from '@services/your-service-name'; + +// Application setup here... -TODO: Check if this is required +class ApplicationStage extends Stage { + constructor(scope: Construct, id: string, props?: StageProps) { + super(scope, id, props); -```json -"check-types": { - "executor": "nx:run-commands", - "options": { - "cwd": "{projectRoot}", - "color": true, - "command": "tsc --noEmit --pretty" - }, + Tags.of(this).add('STAGE', id); + + // Instantiate service stacks here as required.. + new YourServiceStack(scope, 'your-service-name', { + ...props, + description: 'Your service description', + }); + } } ``` -### Generate an API Client +Note: You will need to run `yarn install` and `yarn nx sync` before other projects will detect the new service + +--- + +### ๐Ÿงช Testing the application + +After adding a new service, test the application: + +```bash +yarn lint # Lint affected projects +yarn test # Run tests for affected projects +yarn typecheck # Type check affected projects +``` + +By default, Nx will only test code impacted by recent changes to save time. Post-fixing with `:all` will test the whole repository, not just recently affected parts + +```bash +yarn test:all +``` + +The `yarn audit` command is useful after making significant changes to ensure the entire repository is passing code checks + +```bash +yarn audit +``` + +--- + +### ๐Ÿš€ Playground deploy of the application + +Deploy the `dev` stage of your application to your `playground` AWS Profile: + +```bash +yarn pg:deploy +# You may be prompted to confirm deployment of changes +``` + +If you just want to check the CDK compilation process without deploying, use `yarn pg:synth`. + +If you need more control, arbitrary CDK commands can be run using the core application project -`npx nx g client ` +```bash +yarn nx run core:cdk list prd/** +``` + +--- + +### ๐Ÿ—‘๏ธ Clean up the application from playground + +During normal development CDK will remove resources that are no longer used by your application. + +If necessary, the entire application can be removed from the account associated with your `playground` AWS profile: + +```bash +yarn pg:destroy +# You will be prompted to confirm deletion of the stacks +``` -Clients are generated by our `@aligent/openapi-plugin`. This plugin will generate typed API utilities to build an external API Client based on a local or remote OpenAPI Specification (3.0.0+) schema file (.json .yaml) +--- -For more detailed documentation on using the plugin see the plugin README [here](./tools/openapi-plugin/README.md) +### โŒ Removing a service -### General Nx. commands +Always remove services using the Nx generator + +```bash +yarn nx g remove +``` + +You may need to remove imports of the service from the application first. +You may need to remove references to the service in `nx.json` afterwards. + +### ๐Ÿงช Testing with Mock Services + +The application may include mock services for testing integrations without external dependencies + +To switch between mock and real dependencies, change the value of the relevant url SSM Parameter. + +## Libraries + +Libraries are located in the `libs` folder. + +General libraries are generated by the `@nx/js` plugin. For more information, check out their [document](https://nx.dev/packages/js) + +API client libraries should be generated by the `@aligent/openapi-plugin` + +[General library](#โญ-adding-a-new-library) | [API Client](#๐Ÿ”Œ-adding-a-new-api-client) | [Remove a service](#โŒ-removing-a-library) + +### โญ Adding a new library + +```bash +# Generates a non-buildable library with eslint, vitest +# Lives in a subfolder of 'libs' +# Import path defaults to @/ +yarn nx g library libs/ --importPath=libs/ +``` + +--- + +### ๐Ÿ”Œ Adding a new API client + +```bash +yarn nx g client --name= --schemaPath= +``` + +### โŒ Removing A Library + +Always remove libraries using the Nx generator + +```bash +yarn nx g remove +``` + +You may need to remove imports of the library from the codebase first + +## Working with Nx + +## General commands Below are some example of general Nx. commands. For more information, check out their [document](https://nx.dev/packages/nx/documents). - Remove a service or library: - `npx nx g rm ` + `yarn nx g rm ` - To run executors (`lint`, `test`, etc..) for all the projects: - `npx nx run-many -t ` + `yarn nx run-many -t ` - To run executors for only affected projects: - `npx nx affected -t ` + `yarn nx affected -t ` + +### Troubleshooting -## Notes: +Reset all Nx project dependencies and caching: `yarn nx reset` -- The `tsconfig.base.json` file extends [@aligent/ts-code-standard](https://bitbucket.org/aligent/ts-code-standards/src/main) package. Please note that there are settings which is not shown in that file but still applied. For more information on those settings, visit https://github.com/tsconfig/bases. +Ensure typescript project references are correct: `yarn nx sync` +Run test, lint, typecheck on all code without caching: `yarn lint:all --skip-nx-cache` etc. + +### Notes + +- This monorepo uses the new Nx [Typescript Project References setup](https://nx.dev/blog/typescript-project-references). This currently doesn't allow extending tsconfigs at all, so we are not extending `@aligent/ts-code-standard/tsconfigs-base` - Following `@aligent/ts-code-standard`, we switched to the new [Eslint's FlatConfig](https://eslint.org/blog/2022/08/new-config-system-part-2/). If you're using [VSCode's Eslint extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint), turn on the `eslint.useFlatConfig` setting. -## Maintenance - -### Upgrading NPM packages - -The NPM packages in `devDependencies` in this repository has a complicated relationship with each other. Therefore, upgrading them should be handled with care. - -- All the `@nx` packages must be pinned at the same version with `nx` package to avoid conflict. - - ```json - "@nx/devkit": "17.3.0", - "@nx/esbuild": "17.3.0", - "@nx/eslint": "17.3.0", - "@nx/eslint-plugin": "17.3.0", - "@nx/js": "17.3.0", - "@nx/plugin": "17.3.0", - "@nx/vite": "17.3.0", - "@nx/workspace": "17.3.0", - "nx": "17.3.0" - ``` - -- All the packages that are in the same scope should be at the same version. For example: - - ```json - "@typescript-eslint/eslint-plugin": "^6.13.2", - "@typescript-eslint/parser": "^6.13.2", - ``` - -- `@nx/esbuild` lists `esbuild` as peerDependency. Double check the required version of `esbuild` in `package.json` of this [package](https://www.npmjs.com/package/@nx/esbuild?activeTab=code) before upgrading. -- `eslint` and `prettier` are a peerDependencies of the following packages. Double check the required versions in `package.json` of these packages before upgrading. - - [@aligent/ts-code-standard](https://bitbucket.org/aligent/ts-code-standards/src/main/package.json) - - [eslint-plugin-import](https://www.npmjs.com/package/eslint-plugin-import?activeTab=code) -- `@nx/vite` lists `vite` and `vitest` as peerDependencies. Double check the required version of `vite` and `vitest` in `package.json` of this [package](https://www.npmjs.com/package/@nx/vite?activeTab=code) before upgrading. - - `vitest`, `@vitest/coverage-v8` and `@vitest/ui` should be at the same version. - -## Under development - -- [-] Deployment pipeline -> nodeJS container + pnpm -- [x] Typescript compilation to check types (`tsc --noEmit`) -- [x] Root client configuration (e.g. service name prefix) -- [-] Base vite configuration -> this works for service generator. -- [ ] Importing code from internal libraries -- [ ] Bespoke library generator -> use same base vite configuration if we do this. -- [ ] Develop workspace [preset](https://nx.dev/extending-nx/recipes/create-preset) -- [x] Pre-commit hooks -- [x] Add error notification service -- [ ] Add step function metric configuration +## Further documentation + +[Architecture](./docs/developer-notes/ARCHITECTURE.md) | [Maintenance](./docs/developer-notes/MAINTENANCE.md) | [Future Development](./docs/developer-notes/FUTURE-DEVELOPMENT.md) diff --git a/applications/core/README.md b/applications/core/README.md new file mode 100644 index 00000000..740e9056 --- /dev/null +++ b/applications/core/README.md @@ -0,0 +1,73 @@ +# Core CDK Application + +This application manages the deployment of microservices and their shared infrastructure. + +## Architecture + +This application deploys: + +_add details here_ + +## Configuration + +### Environment Parameters + +Parameters are managed through the `parameters/.env.csv` file by default + +```bash +# Pull down parameters from the playground environment to .env.csv +yarn nx run core:parameters + +# Update parameters from .env.csv +yarn nx run core:parameters:import + +# Custom filename and parameter path can be passed in as arguments +yarn nx run core:parameters --file .env.dev.csv --path /my/dev/path +``` + +## Deployment + +### Using Nx (Recommended) + +```bash +# From workspace root +yarn pg:deploy + +# Synthesize templates +yarn pg:synth +``` + +### Direct CDK Commands + +```bash +yarn nx run core:cdk +``` + +## Services + +This application deploys the following services: + +- _list services here_ + +## Testing + +### Mock Services + +The application includes mock services for testing integrations without external dependencies. + +- _list mock services here_ + +Change the value of the `/application/dev/url` SSM Parameter to switch between real and mock endpoints + +### Local Development + +```bash +# Type checking +yarn typecheck + +# Testing +yarn test + +# Linting +yarn lint +``` diff --git a/applications/core/bin/main.ts b/applications/core/bin/main.ts new file mode 100644 index 00000000..012d4456 --- /dev/null +++ b/applications/core/bin/main.ts @@ -0,0 +1,71 @@ +#!/usr/bin/env node +import { + LogGroupDefaultsInjector, + NodeJsFunctionDefaultsInjector, + StepFunctionDefaultsInjector, + VersionFunctionsAspect, +} from '@libs/cdk-utils'; +import { App, Aspects, Duration, Stage, Tags, type StageProps } from 'aws-cdk-lib'; +import { Architecture, Runtime } from 'aws-cdk-lib/aws-lambda'; +import type { Construct } from 'constructs'; +import { APPLICATION_CONTEXT } from '../lib/application-context'; + +const app = new App({ + context: APPLICATION_CONTEXT, + propertyInjectors: [ + new LogGroupDefaultsInjector(), + // Apply properties to the entire application + // NOTE: Aspects do not work here because the Stage construct doesn't pass them through + new NodeJsFunctionDefaultsInjector().withProps({ + timeout: Duration.seconds(6), + memorySize: 192, + runtime: Runtime.NODEJS_22_X, + architecture: Architecture.ARM_64, + }), + new StepFunctionDefaultsInjector(), + ], +}); +Tags.of(app).add('OWNER', APPLICATION_CONTEXT.APPLICATION_OWNER); + +/** + * Application stage + * + * This is the main entry point for the application. + * It is used to define context and compose service stacks. + */ +class ApplicationStage extends Stage { + constructor(scope: Construct, id: string, props?: StageProps) { + super(scope, id, props); + + Tags.of(this).add('STAGE', id); + + // Instantiate service stacks here as required + } +} + +// Set up application stages +new ApplicationStage(app, 'dev', { + propertyInjectors: [ + // NOTE: Property Injectors will only apply ONCE each, so adding one here + // overrides the same injector at the app level + new NodeJsFunctionDefaultsInjector({ + sourceMap: false, + esm: true, + minify: false, + }).withProps({ + timeout: Duration.seconds(6), + memorySize: 192, + runtime: Runtime.NODEJS_22_X, + architecture: Architecture.ARM_64, + }), + new LogGroupDefaultsInjector({ duration: 'SHORT' }), + ], +}); + +new ApplicationStage(app, 'stg', { + propertyInjectors: [new LogGroupDefaultsInjector({ duration: 'MEDIUM' })], +}); + +const prd = new ApplicationStage(app, 'prd'); +// Ensure lambdas and step functions are versioned and have the default alias +Aspects.of(prd).add(new VersionFunctionsAspect()); diff --git a/applications/core/cdk.context.json b/applications/core/cdk.context.json new file mode 100644 index 00000000..349dbe6d --- /dev/null +++ b/applications/core/cdk.context.json @@ -0,0 +1,4 @@ +{ + "cli-telemetry": false, + "acknowledged-issue-numbers": [34892] +} diff --git a/applications/core/cdk.json b/applications/core/cdk.json new file mode 100644 index 00000000..38e1a3ad --- /dev/null +++ b/applications/core/cdk.json @@ -0,0 +1,92 @@ +{ + "app": "npx tsx bin/main.ts", + "watch": { + "include": ["**"], + "exclude": [ + "README.md", + "cdk*.json", + "**/*.d.ts", + "**/*.js", + "tsconfig.json", + "package*.json", + "yarn.lock", + "node_modules", + "test" + ] + }, + "context": { + "@aws-cdk/aws-lambda:recognizeLayerVersion": true, + "@aws-cdk/core:checkSecretUsage": true, + "@aws-cdk/core:target-partitions": ["aws", "aws-cn"], + "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": true, + "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": true, + "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": true, + "@aws-cdk/aws-iam:minimizePolicies": true, + "@aws-cdk/core:validateSnapshotRemovalPolicy": true, + "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": true, + "@aws-cdk/aws-s3:createDefaultLoggingPolicy": true, + "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true, + "@aws-cdk/aws-apigateway:disableCloudWatchRole": true, + "@aws-cdk/core:enablePartitionLiterals": true, + "@aws-cdk/aws-events:eventsTargetQueueSameAccount": true, + "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true, + "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true, + "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true, + "@aws-cdk/aws-route53-patters:useCertificate": true, + "@aws-cdk/customresources:installLatestAwsSdkDefault": false, + "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true, + "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": true, + "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": true, + "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": true, + "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": true, + "@aws-cdk/aws-redshift:columnId": true, + "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true, + "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true, + "@aws-cdk/aws-apigateway:requestValidatorUniqueId": true, + "@aws-cdk/aws-kms:aliasNameRef": true, + "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": true, + "@aws-cdk/core:includePrefixInUniqueNameGeneration": true, + "@aws-cdk/aws-efs:denyAnonymousAccess": true, + "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true, + "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true, + "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": true, + "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true, + "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true, + "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true, + "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true, + "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true, + "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true, + "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true, + "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true, + "@aws-cdk/aws-eks:nodegroupNameAttribute": true, + "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true, + "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": true, + "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false, + "@aws-cdk/aws-s3:keepNotificationInImportedBucket": false, + "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": false, + "@aws-cdk/aws-ecs:disableEcsImdsBlocking": true, + "@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": true, + "@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": true, + "@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": true, + "@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission": true, + "@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": true, + "@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics": true, + "@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": true, + "@aws-cdk/aws-stepfunctions-tasks:fixRunEcsTaskPolicy": true, + "@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": true, + "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": true, + "@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault": true, + "@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections": true, + "@aws-cdk/core:enableAdditionalMetadataCollection": true, + "@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy": false, + "@aws-cdk/aws-s3:setUniqueReplicationRoleName": true, + "@aws-cdk/aws-events:requireEventBusPolicySid": true, + "@aws-cdk/core:aspectPrioritiesMutating": true, + "@aws-cdk/aws-dynamodb:retainTableReplica": true, + "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": true, + "@aws-cdk/s3-notifications:addS3TrustKeyPolicyForSnsSubscriptions": true, + "@aws-cdk/aws-ec2:requirePrivateSubnetsForEgressOnlyInternetGateway": true, + "@aws-cdk/aws-s3:publicAccessBlockedByDefault": true, + "@aws-cdk/aws-lambda:useCdkManagedLogGroup": true + } +} diff --git a/applications/core/lib/application-context.ts b/applications/core/lib/application-context.ts new file mode 100644 index 00000000..6da23669 --- /dev/null +++ b/applications/core/lib/application-context.ts @@ -0,0 +1,11 @@ +/** + * App-level context + * + * This is the primary mechanism for configuring the application. + * It is used to define the build-time properties for the application. + * + * @see https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.Context.html + */ +export const APPLICATION_CONTEXT = { + APPLICATION_OWNER: 'aligent', +} as const; diff --git a/applications/core/package.json b/applications/core/package.json new file mode 100644 index 00000000..576eec15 --- /dev/null +++ b/applications/core/package.json @@ -0,0 +1,25 @@ +{ + "name": "@applications/core", + "version": "0.0.1", + "type": "module", + "main": "./bin/main.ts", + "types": "./bin/main.ts", + "nx": { + "targets": { + "cdk": { + "executor": "nx:run-commands", + "options": { + "color": true, + "command": "cdk", + "cwd": "{projectRoot}" + } + }, + "parameters": { + "executor": "nx:run-commands", + "options": { + "path": "/application/dev" + } + } + } + } +} diff --git a/applications/core/parameters/.env.example.csv b/applications/core/parameters/.env.example.csv new file mode 100644 index 00000000..07fe662e --- /dev/null +++ b/applications/core/parameters/.env.example.csv @@ -0,0 +1,3 @@ +Name,Type,Value +/application/dev/url,String,https://dev.magento.example.com +/application/dev/token,SecureString,dev-token-placeholder diff --git a/applications/core/tsconfig.json b/applications/core/tsconfig.json new file mode 100644 index 00000000..ffb68491 --- /dev/null +++ b/applications/core/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.base.json", + "files": [], + "include": [], + "references": [ + { + "path": "../../libs/cdk-utils" + } + ] +} diff --git a/applications/core/tsconfig.lib.json b/applications/core/tsconfig.lib.json new file mode 100644 index 00000000..095452e7 --- /dev/null +++ b/applications/core/tsconfig.lib.json @@ -0,0 +1,32 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "rootDir": "src", + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo", + "emitDeclarationOnly": true, + "forceConsistentCasingInFileNames": true, + "types": ["node"] + }, + "include": ["src/**/*.ts"], + "references": [ + { + "path": "../../libs/cdk-utils/tsconfig.lib.json" + } + ], + "exclude": [ + "vite.config.ts", + "vite.config.mts", + "vitest.config.ts", + "vitest.config.mts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx" + ] +} diff --git a/tools/serverless-plugin/tsconfig.spec.json b/applications/core/tsconfig.spec.json similarity index 51% rename from tools/serverless-plugin/tsconfig.spec.json rename to applications/core/tsconfig.spec.json index adfb9fac..a15ced6e 100644 --- a/tools/serverless-plugin/tsconfig.spec.json +++ b/applications/core/tsconfig.spec.json @@ -1,12 +1,15 @@ { - "extends": "./tsconfig.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "composite": true, - "declaration": true, - "outDir": "../../dist/out-tsc", - "types": ["vitest/globals", "vitest/importMeta", "vite/client", "node"] + "outDir": "./out-tsc/vitest", + "types": ["vitest/globals", "vitest/importMeta", "vite/client", "node", "vitest"], + "forceConsistentCasingInFileNames": true }, "include": [ + "vite.config.ts", + "vite.config.mts", + "vitest.config.ts", + "vitest.config.mts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.test.tsx", @@ -16,5 +19,10 @@ "src/**/*.test.jsx", "src/**/*.spec.jsx", "src/**/*.d.ts" + ], + "references": [ + { + "path": "./tsconfig.lib.json" + } ] } diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml index 36df13d6..9b561104 100644 --- a/bitbucket-pipelines.yml +++ b/bitbucket-pipelines.yml @@ -1,4 +1,4 @@ -image: node:20 +image: node:22 definitions: services: @@ -23,7 +23,13 @@ definitions: script: - corepack enable yarn - yarn run lint - - yarn run check-types + - step: &typecheck + name: ๐Ÿ” Typecheck + caches: + - corepack-cache + script: + - corepack enable yarn + - yarn run typecheck - step: &test name: ๐Ÿงช Test caches: @@ -31,19 +37,21 @@ definitions: script: - corepack enable yarn - yarn run test - - step: &push-serverless - name: ๐Ÿš€ Deploy Service + - step: &deploy + name: 'Deploy service' script: - - pipe: docker://aligent/nx-serverless-deploy-pipe:20 + - pipe: docker://aligent/cdk-deploy-pipe:22-alpine # Ensure we are using the correct node version in the docker pipeline variables: - AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} - AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} - CFN_ROLE: ${CFN_ROLE} - STAGE: ${STAGE} - DEBUG: ${CI_DEBUG} - UPLOAD_BADGE: 'true' - APP_USERNAME: ${APP_USERNAME} - APP_PASSWORD: ${APP_PASSWORD} + AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY + AWS_DEFAULT_REGION: $CDK_DEFAULT_REGION + CDK_DEPLOY: 'true' + CDK_DIFF: 'false' + CDK_SYNTH: 'false' + CDK_EXTRA_ARGS: '--require-approval never $STACK' + CDK_CONFIG_PATH: ./cdk-config.yml + CHECK_FORMAT: 'false' + CDK_BOOTSTRAP: 'false' pipelines: pull-requests: @@ -51,28 +59,17 @@ pipelines: - step: *install - parallel: steps: - - step: *test - step: *lint - + - step: *typecheck + - step: *test branches: - production: - - stage: - name: 'Awaiting Production Deploy' - steps: - - step: - name: 'Awaiting Production Deploy' - script: - - echo "Awaiting manual trigger of production deploy" - - stage: - name: 'Deploy Production' - deployment: Production - trigger: manual - steps: - - step: - <<: *push-serverless - staging: - step: - <<: *push-serverless + <<: *deploy name: 'Deploy Staging' deployment: Staging + production: + - step: + <<: *deploy + name: 'Deploy Production' + deployment: Production diff --git a/cdk-config.yml b/cdk-config.yml new file mode 100644 index 00000000..42a9f623 --- /dev/null +++ b/cdk-config.yml @@ -0,0 +1,16 @@ +cdk-pipe: + commands: + cdk: + bootstrap: yarn nx run core:cdk bootstrap + deploy: yarn nx run core:cdk deploy + synth: yarn nx run core:cdk synth + diff: yarn nx run core:cdk diff + npm: + checks: + lint: yarn lint + format: yarn lint # Formatting is controlled by the lint step, we turn this off in the pipeline anyway + install: yarn install --immutable + beforeScripts: + - yarn --version + afterScripts: + - echo "Deployment is completed" diff --git a/docs/ai-helpers/APPLICATION_ARCHITECTURE_FORMAT.md b/docs/ai-helpers/APPLICATION_ARCHITECTURE_FORMAT.md new file mode 100644 index 00000000..45805b79 --- /dev/null +++ b/docs/ai-helpers/APPLICATION_ARCHITECTURE_FORMAT.md @@ -0,0 +1,213 @@ +# Service Architecture Documentation Format + +This document describes the process for creating comprehensive architecture diagrams for AWS CDK services, with Lambda functions properly organized within their Step Function workflows. + +## Process Overview + +### 1. Analyze CDK Application Structure + +- Read the main application file (`applications/core/bin/main.ts`) +- Identify all services from the ApplicationStage class instantiation +- List all services and their descriptions +- Analyze each service to understand what business entities it integrates (products, orders, customers, etc.) + +### 2. Examine Each Service's AWS Resources + +For each service in the `services/` directory: + +- **Lambda Functions**: Check `src/infra/functions/lambda-functions.ts` +- **Step Functions**: Look for `.asl.yaml` files in `src/infra/step-functions/` +- **Storage**: Identify S3 buckets, DynamoDB tables +- **Messaging**: Find SQS queues, SNS topics +- **API Gateway**: Check for HTTP/REST API definitions +- **EventBridge**: Look for scheduled rules +- **Other Resources**: IAM roles, CloudWatch, etc. +- **Business Logic**: Examine handler files in `src/runtime/handlers/` to understand data processing flows +- **Data Schemas**: Review `src/runtime/lib/schemas/` or `src/runtime/lib/types/` for entity definitions + +### 3. Map Step Function Workflows + +Read each Step Function definition file (`.asl.yaml`) to understand: + +- **Sequential flows**: Linear execution of Lambda functions +- **Parallel branches**: Concurrent processing (Map states) +- **Choice logic**: Conditional branching with decision points +- **Error handling**: Retry logic and error routing +- **Loops**: Pagination and iterative processing + +### 4. Create Service-Specific Diagrams + +For each service, create a Mermaid flowchart with: + +#### Structure: + +```mermaid +flowchart TB + subgraph External["External Systems"] + MYOB[MYOB API] + Magento[Magento API] + end + + subgraph SSM["AWS Systems Manager"] + Params[SSM Parameters] + end + + subgraph ServiceName_SF["Step Function: WorkflowName"] + direction TB + Lambda1 --> Lambda2 + Lambda2 --> Choice{Decision Point} + Choice -->|Yes| Lambda3 + Choice -->|No| Lambda4 + + subgraph MapProcessor["Map Processor"] + ParallelLambda[Parallel Processing] + end + end + + ServiceName_Storage[Storage Resources] + ServiceName_Queue[Message Queues] + ServiceName_EB[EventBridge Rules] +``` + +#### Key Principles: + +- **Lambda functions inside Step Functions**: Show the actual workflow execution +- **External systems**: MYOB, Magento APIs as separate entities +- **Shared resources**: SSM Parameters, EventBridge as external to Step Functions +- **Resource connections**: Show data flow and permissions with labeled arrows +- **Decision points**: Use diamond shapes for choice nodes +- **Map processors**: Show parallel/distributed processing as sub-graphs + +### 5. Apply Consistent Color Palette + +```mermaid +classDef external fill:#00429d,stroke:#333,stroke-width:4px,color:#fff +classDef lambda fill:#ffffe0,stroke:#333,stroke-width:2px,color:#000 +classDef storage fill:#ffbcaf,stroke:#333,stroke-width:2px,color:#000 +classDef orchestration fill:#4771b2,stroke:#333,stroke-width:2px,color:#000 +classDef messaging fill:#f4777f,stroke:#333,stroke-width:2px,color:#000 +classDef database fill:#93003a,stroke:#333,stroke-width:2px,color:#fff +classDef choice fill:#a5d5d8,stroke:#333,stroke-width:2px,color:#000 +classDef ssm fill:#93003a,stroke:#333,stroke-width:2px,color:#fff +classDef eventbridge fill:#73a2c6,stroke:#333,stroke-width:2px,color:#000 +classDef apigateway fill:#73a2c6,stroke:#333,stroke-width:2px,color:#000 +classDef errorhandling fill:#cf3759,stroke:#333,stroke-width:2px,color:#fff +``` + +**Color Categories:** + +- **External APIs**: `#00429d` (Primary external systems) +- **Lambda Functions**: `#ffffe0` (Service components) +- **Storage (S3)**: `#ffbcaf` (Data sources) +- **Step Functions**: `#4771b2` (Integration platforms) +- **Messaging (SQS)**: `#f4777f` (Notification systems) +- **Database (DynamoDB)**: `#93003a` (Secondary systems) +- **Choice Nodes**: `#a5d5d8` (Client applications) +- **SSM Parameters**: `#93003a` (Secondary systems) +- **EventBridge**: `#73a2c6` (Monitoring/logging) +- **API Gateway**: `#73a2c6` (Monitoring/logging) +- **Error Handling (SNS)**: `#cf3759` (Error handling systems) + +## Common Step Function Patterns + +### 1. Linear Sequence + +```mermaid +Lambda1 --> Lambda2 --> Lambda3 --> Lambda4 +``` + +### 2. Conditional Branching + +```mermaid +Lambda1 --> Choice{Condition?} +Choice -->|Yes| Lambda2 +Choice -->|No| Lambda3 +Lambda2 --> Lambda4 +Lambda3 --> Lambda4 +``` + +### 3. Pagination Loop + +```mermaid +Lambda1 --> Lambda2 --> More{More Data?} +More -->|Yes| Lambda1 +More -->|No| End[Finish] +``` + +### 4. Parallel Processing + +```mermaid +Lambda1 --> MapProcessor[Map: Parallel Processing] +subgraph MapProcessor + ParallelLambda[Process Item] +end +MapProcessor --> Lambda2 +``` + +### 5. Error Handling + +```mermaid +Lambda1 --> Lambda2 +Lambda2 --> ErrorCheck{Success?} +ErrorCheck -->|No| ErrorHandler[Error Handler] +ErrorCheck -->|Yes| Lambda3 +ErrorHandler --> Cleanup[Cleanup] +``` + +## Documentation Structure + +### Main Architecture File + +Create `ARCHITECTURE.md` with: + +1. **Overview**: List all services and their purposes +2. **Integrated Business Entities**: Comprehensive list of all business entities integrated by the application +3. **Individual Service Diagrams**: One diagram per service +4. **Resource Summary Table**: Count of resources by service +5. **Common Patterns**: Shared architectural patterns +6. **Security & Permissions**: IAM and access patterns + +### Service-Specific Sections + +For each service include: + +- **Purpose**: Brief description of what the service does +- **Mermaid Diagram**: Visual representation of the architecture +- **Key Components**: Lambda functions, Step Functions, storage, etc. +- **External Dependencies**: API calls, shared resources +- **Scheduling**: EventBridge rules and timing +- **Error Handling**: How errors are managed + +## Tools and Commands + +### Analysis Commands + +```bash +# Find all Step Function definitions +find services -name "*.asl.yaml" -type f + +# List all Lambda function files +find services -name "lambda-functions.ts" -type f + +# Check service stack files +find services -name "index.ts" -path "*/src/index.ts" +``` + +### Validation + +- Ensure all Lambda functions referenced in Step Functions exist +- Verify resource connections match IAM permissions +- Check that external API calls are properly documented +- Validate color palette consistency across all diagrams + +## Best Practices + +1. **Accuracy**: Diagrams should reflect actual implementation +2. **Clarity**: Use consistent naming and clear labels +3. **Completeness**: Include all significant resources and connections +4. **Maintainability**: Update diagrams when services change +5. **Accessibility**: Use high contrast colors with appropriate text colors +6. **Logical Grouping**: Group related resources in sub-graphs +7. **Flow Direction**: Show data flow and execution sequence clearly + +This format ensures comprehensive, consistent, and maintainable architecture documentation for AWS CDK microservices. diff --git a/docs/ai-helpers/SERVICE_README_FORMAT.md b/docs/ai-helpers/SERVICE_README_FORMAT.md new file mode 100644 index 00000000..9a14d319 --- /dev/null +++ b/docs/ai-helpers/SERVICE_README_FORMAT.md @@ -0,0 +1,94 @@ +# SERVICE NAME + +## Overview + +Brief description of what the service does and its role in the system. + +### Purpose + +Why this service exists - the business problem it solves. + +### Core Requirements + +- Key functional requirements (use bullet points) +- Critical constraints or rules the service must follow +- Important integration requirements + +## Context Diagram + +```mermaid +graph LR + EXTERNAL1[External System 1
Brief description] + EXTERNAL2[External System 2
Brief description] + + SERVICE[service-name
Service Description] + + EXTERNAL1 -->|interaction type| SERVICE + SERVICE -->|interaction type| EXTERNAL2 + + style EXTERNAL1 fill:#00429d,stroke:#333,stroke-width:2px,color:#fff + style EXTERNAL2 fill:#a5d5d8,stroke:#333,stroke-width:2px,color:#000 + style SERVICE fill:#ffffe0,stroke:#333,stroke-width:2px,color:#000 +``` + +**Colour Palette:** + +Service: +- `#ffffe0` (Black text) + +External entities: +- `#00429d` (White text) - Primary external APIs +- `#93003a` (White text) - Secondary systems +- `#a5d5d8` (Black text) - Client applications +- `#ffbcaf` (Black text) - Data sources +- `#4771b2` (Black text) - Integration platforms +- `#73a2c6` (Black text) - Monitoring/logging +- `#f4777f` (Black text) - Notification systems +- `#cf3759` (White text) - Error handling systems + +**Instructions for Context Diagram:** + +- Show ONLY external systems that interact with this service +- Do NOT include AWS services like EventBridge, SQS, SNS, etc. - these are internal infrastructure +- Treat the service as a black box - don't show internal components +- Use colors from the defined palette below +- Service always uses #ffffe0 (light yellow) +- External entities use colors from the palette based on system type +- Label interactions clearly (what data flows between systems) +- Keep it simple - focus on the service's role in the larger ecosystem + +## Key workflows + +### Main Workflow Name + +1. **Step 1**: What happens first +2. **Step 2**: What happens next +3. **Step 3**: And so on... + +### Secondary Workflow (if applicable) + +Brief description of other important processes. + +## Critical information + +### Section Name + +- **Key Point**: Important details that operators need to know +- **Another Point**: Critical constraints or behaviors + +### Performance/Timing + +- Important timing constraints +- Performance characteristics +- Scheduling information + +### Data Integrity + +- How the service ensures data consistency +- Error handling approaches +- Recovery mechanisms + +### Edge Cases + +- Important edge cases that affect operation +- Common failure scenarios and their handling diff --git a/docs/developer-notes/ARCHITECTURE.md b/docs/developer-notes/ARCHITECTURE.md new file mode 100644 index 00000000..840b086d --- /dev/null +++ b/docs/developer-notes/ARCHITECTURE.md @@ -0,0 +1,359 @@ +# Architecture Guidelines + +This document outlines the architectural patterns and best practices for building microservices in this CDK-based monorepo. + +## Core Architectural Principles + +### 1. Service Composition in Application Stages + +Services are composed in the CDK application through the ApplicationStage class: + +#### Application Stage Structure + +Import and instantiate the service in `ApplicationStage` inside `applications/core/bin/main.ts`: + +```typescript +import { YourServiceStack } from '@services/your-service-name'; + +// Application setup here... + +class ApplicationStage extends Stage { + constructor(scope: Construct, id: string, props?: StageProps) { + super(scope, id, props); + + Tags.of(this).add('STAGE', id); + + // Instantiate service stacks here as required.. + new YourServiceStack(scope, 'your-service-name', { + ...props, + description: 'Your service description', + }); + } +} +``` + +#### Service Stack Constructor Pattern + +All services must follow this standardized constructor signature: + +```typescript +export class YourServiceStack extends Stack { + constructor( + scope: Construct, + id: typeof SERVICE_NAME | (string & {}), + props: YourServiceStackProps + ) { + super(scope, id, props); + // Implementation + } +} +``` + +### 2. Infrastructure and Runtime Code Separation + +Maintain strict separation between infrastructure and runtime code: + +``` +services/[service-name]/ +โ”œโ”€โ”€ src/ +โ”‚ โ”œโ”€โ”€ index.ts # Main stack definition +โ”‚ โ”œโ”€โ”€ service-name.ts # Service name constant +โ”‚ โ”œโ”€โ”€ infra/ # Infrastructure-only code +โ”‚ โ”‚ โ”œโ”€โ”€ functions/ # Lambda construct definitions +โ”‚ โ”‚ โ”œโ”€โ”€ buckets/ # S3 bucket constructs +โ”‚ โ”‚ โ”œโ”€โ”€ step-functions/ # Step Function definitions (YAML) +โ”‚ โ”‚ โ””โ”€โ”€ environment/ # Environment parameters +โ”‚ โ””โ”€โ”€ runtime/ # Runtime-only code +โ”‚ โ”œโ”€โ”€ handlers/ # Lambda handler implementations +โ”‚ โ””โ”€โ”€ lib/ # Shared runtime utilities +โ””โ”€โ”€ tests/ # Test files +``` + +#### Key Separation Rules: + +- **Infra code**: CDK constructs, resource definitions, configuration +- **Runtime code**: Lambda handlers, business logic, utilities +- **No mixing**: Runtime code cannot import from infra, and vice versa +- **Asset resolution**: Use `resolveAssetPath()` to reference runtime assets from infra + +### 3. Default Constructs and Utilities + +#### Step Functions + +Use `StepFunctionFromFile` for YAML-based definitions: + +```typescript +import { StepFunctionFromFile } from '@libs/cdk-utils/infra'; + +const stepFunction = new StepFunctionFromFile(this, 'ProcessWorkflow', { + filepath: resolveAssetPath('infra/step-functions/process-workflow.asl.yaml'), + lambdaFunctions: [functionA, functionB, functionC], // Automatic ARN resolution +}); +``` + +#### S3 Buckets + +Use specialized bucket constructs: + +```typescript +import { TemporaryDataBucket, ConfigBucket } from '@libs/cdk-utils/infra'; + +// For short-lived data with automatic lifecycle policies +const dataBucket = new TemporaryDataBucket(this, 'DataBucket'); + +// For configuration and long-term storage +const configBucket = new ConfigBucket(this, 'ConfigBucket'); +``` + +#### SSM Parameters + +Use parameter groups for organized credential management: + +```typescript +import { SsmParameterGroup } from '@libs/cdk-utils/infra'; + +class MyServiceParameters extends SsmParameterGroup { + public readonly parameters = { + API_KEY: StringParameter.fromStringParameterName(this, 'ApiKey', `/company/my-service/api-key`), + } as const; +} + +// Grant permissions to functions +const parameters = new MyServiceParameters(this); +parameters.grantToFunction(myFunction, 'read'); +``` + +Development parameter values for an application should be stored in `parameters/.env.csv`.\ +The `parameters` Nx target can be used to import/export them from AWS SSM Parameter store. + +### 4. Asset Resolution and Service Naming + +#### Service Name Pattern + +Each service must have a `service-name.ts` file: + +```typescript +/** + * Service name constant for your-service + * + * This constant is used throughout the service for: + * - Stack identification and naming + * - Resource tagging + * - Logging context + * - Service discovery + */ +export const SERVICE_NAME = 'your-service' as const; +``` + +#### Asset Path Resolution + +Use the standardized `resolveAssetPath` function: + +```typescript +export function resolveAssetPath(assetPath: `${'runtime/' | 'infra/'}${string}`) { + return path.resolve(import.meta.dirname, assetPath); +} +``` + +**Usage examples:** + +- Lambda handlers: `resolveAssetPath('runtime/handlers/my-handler.ts')` +- Step Function definitions: `resolveAssetPath('infra/step-functions/workflow.asl.yaml')` +- Configuration files: `resolveAssetPath('infra/config/mapping.json')` + +## Service Organization Patterns + +### Lambda Function Organization + +#### For services with multiple functions: + +Wrap lambda functions with shared purpose in a factory function + +```typescript +// services/your-service/src/infra/functions/lambda-functions.ts +function lambdaFunctions(props: { commonEnvironment: Record }) { + const functionA = new NodejsFunction(this, 'FunctionA', { + entry: resolveAssetPath('runtime/handlers/function-a.ts'), + environment: props?.commonEnvironment, + }); + + const functionB = new NodejsFunction(this, 'FunctionB', { + entry: resolveAssetPath('runtime/handlers/function-b.ts'), + environment: props?.commonEnvironment, + }); + + return { functionA, functionB }; +} + +// services/your-service/src/index.ts +class Service extends Stack { + constructor(scope: Construct, id: string, props: StackProps) { + super(scope, id, props); + + const { functionA, functionB } = lambdaFunctions({ + commonEnvironment: { + DATA_BUCKET: 'data-bucket', + }, + }); + } +} +``` + +Functions can also be wrapped in a construct, but note that this will cause the construct's id to be included in the lambda names + +```typescript +// services/your-service/src/infra/functions/lambda-functions.ts +export class LambdaFunctions extends Construct { + public readonly functionA: NodejsFunction; + public readonly functionB: NodejsFunction; + + constructor(scope: Construct, id: string, props?: NodejsFunctionProps) { + super(scope, id); + + this.functionA = new NodejsFunction(this, 'FunctionA', { + entry: resolveAssetPath('runtime/handlers/function-a.ts'), + environment: props?.commonEnvironment, + }); + + this.functionB = new NodejsFunction(this, 'FunctionB', { + entry: resolveAssetPath('runtime/handlers/function-b.ts'), + environment: props?.commonEnvironment, + }); + } +} +``` + +#### Environment Variable Strategy: + +- **6+ functions**: Use `commonEnvironment` pattern +- **< 6 functions**: Assign individually for clarity + +### Common Service Patterns + +#### Scheduled Integration Service + +```typescript +// EventBridge rule triggering Step Function +new Rule(this, 'ProcessSchedule', { + schedule: Schedule.cron({ hour: '*/6', minute: '0' }), + targets: [new SfnStateMachine(processWorkflow)], +}); +``` + +#### API-Driven Service + +```typescript +// API Gateway + SQS + Step Function pattern +const api = new HttpApi(this, 'Api', { + corsPreflight: { + allowMethods: [CorsHttpMethod.POST], + allowOrigins: ['*'], + }, +}); + +const queue = new Queue(this, 'ProcessingQueue', { + queueName: `${SERVICE_NAME}-processing`, +}); + +api.addRoutes({ + path: '/process', + methods: [HttpMethod.POST], + integration: new HttpLambdaIntegration('ProcessIntegration', processFunction), +}); +``` + +#### Event-Driven Service + +```typescript +// S3 event to SQS to Lambda pattern +bucket.addEventNotification(EventType.OBJECT_CREATED, new SqsDestination(processQueue)); + +processFunction.addEventSource(new SqsEventSource(processQueue)); +``` + +## Best Practices + +### Resource Naming + +- Use CDK's automatic naming instead of explicit names +- Tag resources with service name: `Tags.of(this).add('SERVICE', SERVICE_NAME)` +- Use consistent construct IDs across services + +### Environment Management + +- Development: Optimized for debugging and fast iteration +- Staging: Production-like with enhanced logging +- Production: Optimized for performance and cost + +### Error Handling + +- Use dead letter queues for SQS processing +- Implement retry logic in Step Functions +- Use SNS topics for error notifications + +### Security + +- Grant minimal required permissions +- Use SSM parameters for sensitive data +- Never commit secrets to the repository + +### Testing + +- Use `MicroserviceChecks` aspect for CDK validation +- Test environment variable utilities +- Use CDK Template assertions for infrastructure tests + +## Common Patterns Reference + +### EventBridge Scheduling + +```typescript +// Common schedule patterns +Schedule.cron({ minute: '0' }); // Every hour +Schedule.cron({ hour: '*/6', minute: '0' }); // Every 6 hours +Schedule.cron({ minute: '*/5' }); // Every 5 minutes +Schedule.cron({ hour: '0', minute: '0' }); // Daily at midnight +``` + +### Environment Variable Management + +```typescript +import { pickFromProcessEnv, type Keys } from '@libs/cdk-utils/runtime'; +// SSM Parameter Group construct - important to only import the *type* +import type { MySsmParameters } from './my-ssm-parameters'; + +// Union of keys +type ServiceKeys = 'STAGE' | 'DATA_BUCKET'; + +// Environment object +interface ServiceEnvironment { + DATA_BUCKET: string; + API_ENDPOINT: string; +} + +// Export the generic function with allowed keys specific to this service +export function getServiceEnv = pickFromProcessEnv< + | ServiceKeys + | keyof ServiceEnvironment + | Keys + >; +``` + +### Testing Patterns + +```typescript +// CDK stack testing +import { MicroserviceChecks } from '@libs/cdk-utils/infra'; + +let stack: Stack; +let template: Template; + +beforeEach(() => { + const app = new App(); + stack = new YourServiceStack(app, 'TestStack', { description: 'Test' }); + Aspects.of(stack).add(new MicroserviceChecks()); + template = Template.fromStack(stack); +}); +``` + +This architecture ensures consistency, maintainability, and scalability across all microservices in the monorepo while providing clear guidelines for developers. diff --git a/docs/developer-notes/CDK-MIGRATION-NOTES.md b/docs/developer-notes/CDK-MIGRATION-NOTES.md new file mode 100644 index 00000000..60e8fc5e --- /dev/null +++ b/docs/developer-notes/CDK-MIGRATION-NOTES.md @@ -0,0 +1,77 @@ +# Migrating from v3 Serverless Framework services + +## Service and resource naming conventions + +Serverless Framework services used a static naming convention instead of allowing AWS to control the naming of resources. + +If you need to support this, the `@libs/cdk-utils` toolset provides property injectors for easy stack-wide overriding of resource names. + +```typescript +const legacyNameFormatter = (id: string) => `legacy-service-${stage}-${id}`; +new LegacyStack(this, 'legacy-service', { + ...props, + description: 'Legacy service template generated using Nx', + propertyInjectors: [ + new OverrideFunctionNameInjector(legacyNameFormatter), + new OverrideStateMachineNameInjector(legacyNameFormatter), + ], +}); +``` + +# Differences between serverless framework and cdk templates + +## Deployment + +CDK will produce a list of changes and ask permission to proceed + +## Ids + +The second argument for a construct is its ID. This is used by CDK to generate a logical id, and thus track the resource for replacement, deletion etc. It's important that this logical ID is not changed by accident. + +## Aliases + +The latest version of a deployed lambdas and step functions now has an alias of LATEST + +## Step Functions + +CDK Step Function setup produces a different base definition for lambda tasks + +- Uses the `LambdaInvoke` resource, not the Lambda ARN directly +- Automatically adds a retry block for internal AWS service failures +- Outputs the task result nested inside the `Payload` property on a metadata object + +To get task outputs similar to the direct lambda resource invocation, we can use the new Jsonata syntax and the `outputs` property. +Jsonata data transformation documentation: https://docs.aws.amazon.com/step-functions/latest/dg/transforming-data.html + +# CDK Documentation + +## AWS + +https://docs.aws.amazon.com/cdk/v2/guide/home.html +https://docs.aws.amazon.com/cdk/v2/guide/best-practices.html + +## Community documentation + +https://github.com/kevinslin/open-cdk + +## Issues + +- cdk-nag (and Aspects in general) do **not** work with CDK Stages: https://github.com/cdklabs/cdk-nag/issues/1726 + +# Questions + +- CDK best practices are to NOT name resources directly. I'm not exactly sure what this means though - does it apply to Lambda.functionName, for instance? + - YES. We can support legacy naming to some extent, but new stacks should allow CDK to name things +- Should we continue to version lambda functions? I don't think I've ever invoked an older version. + - YES. Eventually we want to move closer to continuous deployment with rollbacks +- What's a useful alias strategy? Eventually we want to +- How do we get step functions to call other step functions, especially in yaml definition? +- How do we get step functions to reference the stage name and other env variables? +- How do we work with env variables in general? What about the ones in SSM? + - Use `cdk.context.json` for things we want to configure at deploy time. +- What does testing look like now? +- Do we need a typesafe way of declaring/fetching default config using the context system? + +``` + +``` diff --git a/docs/developer-notes/FUTURE-DEVELOPMENT.md b/docs/developer-notes/FUTURE-DEVELOPMENT.md new file mode 100644 index 00000000..31ce2213 --- /dev/null +++ b/docs/developer-notes/FUTURE-DEVELOPMENT.md @@ -0,0 +1,33 @@ +# Future Development Ideas + +## Deployment + +- Deployment pipelines +- Parallelise CDK deployment process +- Pre-bundle and/or containerise lambda handler typescript code + +## Nx utilities + +- Custom library generator +- Workspace [preset](https://nx.dev/extending-nx/recipes/create-preset) + +## AWS Resources + +- Use Graviton for lambdas +- Use S3 Intelligent Tiering + +## Environment parameters + +- Use AppConfig for static configuration +- Use S3 Directory buckets for temporary storage + +## Documentation + +- Deploy readmes and other documentation as a microsite + +## Monitoring + +- Test error notification stack +- Deploy suite of alarms and a dashboard microsite by default +- Gadget and AppBuilder apps to display configuration and Step Function executions +- Step function metric configuration diff --git a/docs/developer-notes/MAINTENANCE.md b/docs/developer-notes/MAINTENANCE.md new file mode 100644 index 00000000..48cb08dd --- /dev/null +++ b/docs/developer-notes/MAINTENANCE.md @@ -0,0 +1,33 @@ +# Maintenance + +## Upgrading NPM packages + +The NPM packages in `devDependencies` in this repository has a complicated relationship with each other. Therefore, upgrading them should be handled with care. + +- All the `@nx` packages must be pinned at the same version with `nx` package to avoid conflict. + + ```json + "@nx/devkit": "21.2.2", + "@nx/esbuild": "21.2.2", + "@nx/eslint": "21.2.2", + "@nx/eslint-plugin": "21.2.2", + "@nx/js": "21.2.2", + "@nx/vite": "21.2.2", + "@nx/web": "21.2.2", + ... + "nx": "21.2.2" + ``` + +- All the packages that are in the same scope should be at the same version. For example: + + ```json + "@typescript-eslint/eslint-plugin": "^8.36.0", + "@typescript-eslint/parser": "^8.36.0", + ``` + +- `@nx/esbuild` lists `esbuild` as peerDependency. Double check the required version of `esbuild` in `package.json` of this [package](https://www.npmjs.com/package/@nx/esbuild?activeTab=code) before upgrading. +- `eslint` and `prettier` are a peerDependencies of the following packages. Double check the required versions in `package.json` of these packages before upgrading. + - [@aligent/ts-code-standard](https://bitbucket.org/aligent/ts-code-standards/src/main/package.json) + - [eslint-plugin-import](https://www.npmjs.com/package/eslint-plugin-import?activeTab=code) +- `@nx/vite` lists `vite` and `vitest` as peerDependencies. Double check the required version of `vite` and `vitest` in `package.json` of this [package](https://www.npmjs.com/package/@nx/vite?activeTab=code) before upgrading. + - `vitest`, `@vitest/coverage-v8` and `@vitest/ui` should be at the same version. diff --git a/docs/developer-notes/TESTING.md b/docs/developer-notes/TESTING.md new file mode 100644 index 00000000..90fbf9d8 --- /dev/null +++ b/docs/developer-notes/TESTING.md @@ -0,0 +1,294 @@ +# Testing Philosophy + +## Lambda Handler Testing Strategy + +### Core Principle: Thin Handlers + +Lambda handlers should be treated as orchestration layers, not business logic containers. We **DO NOT** unit test Lambda handlers directly. Instead: + +1. **Handlers should only:** + - Accept and validate input + - Call unit-tested functions + - Handle I/O operations (S3, API calls, etc.) + - Return properly formatted responses + - Add observability (logging, metrics, tracing) + +2. **Business logic belongs in:** + - Pure functions that are easily testable + - Service classes with mockable dependencies + - Utility libraries with clear interfaces + +### Example: Refactoring for Testability + +#### โŒ Bad: Business Logic in Handler + +```typescript +// handlers/process-data.ts +export const handler = async event => { + const data = await s3.fetchData(event.key); + + // Business logic embedded in handler + const processed = data.map(item => { + const tax = item.price * 0.1; + const shipping = item.weight > 5 ? 15 : 10; + return { + ...item, + total: item.price + tax + shipping, + taxAmount: tax, + shippingCost: shipping, + }; + }); + + return await s3.storeData(processed); +}; +``` + +#### โœ… Good: Testable Business Logic + +```typescript +// lib/pricing-calculator.ts +export interface PricingOptions { + taxRate: number; + heavyItemThreshold: number; + heavyShippingCost: number; + standardShippingCost: number; +} + +export function calculatePricing(items: Item[], options: PricingOptions): ProcessedItem[] { + return items.map(item => { + const tax = item.price * options.taxRate; + const shipping = + item.weight > options.heavyItemThreshold + ? options.heavyShippingCost + : options.standardShippingCost; + + return { + ...item, + total: item.price + tax + shipping, + taxAmount: tax, + shippingCost: shipping, + }; + }); +} + +// lib/pricing-calculator.test.ts +describe('calculatePricing', () => { + it('should calculate standard shipping for light items', () => { + const items = [{ price: 100, weight: 3 }]; + const options = { + taxRate: 0.1, + heavyItemThreshold: 5, + heavyShippingCost: 15, + standardShippingCost: 10, + }; + + const result = calculatePricing(items, options); + + expect(result[0].shippingCost).toBe(10); + expect(result[0].total).toBe(120); // 100 + 10 tax + 10 shipping + }); +}); + +// handlers/process-data.ts +import { calculatePricing } from '../lib/pricing-calculator'; + +export const handler = async (event, context) => { + logger.addContext(context); + logger.info('Processing pricing data', { key: event.key }); + + const data = await s3.fetchData(event.key); + + const processed = calculatePricing(data, { + taxRate: 0.1, + heavyItemThreshold: 5, + heavyShippingCost: 15, + standardShippingCost: 10, + }); + + const result = await s3.storeData(processed); + logger.info('Stored processed data', { key: result.Key }); + + return result; +}; +``` + +### Integration Testing + +While we don't unit test handlers, integration tests are valuable for: + +- Testing the complete flow through AWS services +- Validating IAM permissions +- Ensuring proper error handling +- Testing timeouts and retries + +See [Integration Testing Guide](#integration-testing-guide) below. + +## Integration Testing Guide + +### Step Function Integration Tests + +Integration tests for Step Functions validate the entire workflow and state transitions. + +#### Example: Step Function Integration Test + +```typescript +// tests/integration/process-shipments.integration.test.ts +import { SFNClient, StartExecutionCommand, DescribeExecutionCommand } from '@aws-sdk/client-sfn'; +import { S3Client, PutObjectCommand, GetObjectCommand } from '@aws-sdk/client-s3'; + +const sfnClient = new SFNClient({ region: 'us-east-1' }); +const s3Client = new S3Client({ region: 'us-east-1' }); + +describe('Process Shipments Step Function Integration', () => { + const stateMachineArn = process.env.STATE_MACHINE_ARN; + const testBucket = process.env.TEST_BUCKET; + + it('should process shipments end-to-end', async () => { + // Arrange: Set up test data + const testData = [ + { Sku: 'TEST-001', Total: '10', MinDate: '2024-01-01' }, + { Sku: 'TEST-002', Total: '20', MinDate: '2024-01-02' }, + ]; + + await s3Client.send( + new PutObjectCommand({ + Bucket: testBucket, + Key: 'test-input.json', + Body: JSON.stringify(testData), + }) + ); + + // Act: Execute the step function + const execution = await sfnClient.send( + new StartExecutionCommand({ + stateMachineArn, + input: JSON.stringify({ + bucket: testBucket, + key: 'test-input.json', + }), + }) + ); + + // Wait for completion + let status = 'RUNNING'; + while (status === 'RUNNING') { + const description = await sfnClient.send( + new DescribeExecutionCommand({ + executionArn: execution.executionArn, + }) + ); + status = description.status; + await new Promise(resolve => setTimeout(resolve, 1000)); + } + + // Assert: Verify the output + expect(status).toBe('SUCCEEDED'); + + const output = await s3Client.send( + new GetObjectCommand({ + Bucket: testBucket, + Key: 'processed-output.json', + }) + ); + + const processedData = JSON.parse(await output.Body.transformToString()); + expect(processedData).toHaveLength(2); + expect(processedData[0]).toHaveProperty('eta'); + }); + + it('should handle empty input gracefully', async () => { + // Test with empty array + await s3Client.send( + new PutObjectCommand({ + Bucket: testBucket, + Key: 'empty-input.json', + Body: JSON.stringify([]), + }) + ); + + const execution = await sfnClient.send( + new StartExecutionCommand({ + stateMachineArn, + input: JSON.stringify({ + bucket: testBucket, + key: 'empty-input.json', + }), + }) + ); + + // Verify it completes successfully even with no data + // ... assertion logic + }); +}); +``` + +### Local Testing with SAM or LocalStack + +For faster feedback loops, consider using AWS SAM or LocalStack: + +#### SAM Local Example + +```yaml +# template.yaml for local testing +Resources: + ProcessShipmentsFunction: + Type: AWS::Serverless::Function + Properties: + CodeUri: ./dist + Handler: handlers/process-shipments.handler + Runtime: nodejs18.x + Environment: + Variables: + DATA_BUCKET: !Ref DataBucket +``` + +```bash +# Run locally +sam local start-lambda +sam local invoke ProcessShipmentsFunction --event test-event.json +``` + +#### LocalStack Example + +```typescript +// tests/integration/localstack.config.ts +export const localStackConfig = { + services: ['s3', 'lambda', 'stepfunctions'], + region: 'us-east-1', + lambdaExecutor: 'docker', + environmentVariables: { + DATA_BUCKET: 'test-bucket', + AWS_ENDPOINT_URL: 'http://localhost:4566', + }, +}; +``` + +## Testing Best Practices + +1. **Separate Concerns**: Keep business logic in pure functions +2. **Mock External Services**: Use AWS SDK mocks for unit tests +3. **Test Data Builders**: Create factories for test data +4. **Error Scenarios**: Test both happy paths and error cases +5. **Performance Tests**: Monitor Lambda cold starts and execution times +6. **Contract Testing**: Validate API contracts between services + +## Recommended Testing Tools + +- **Unit Tests**: Vitest (already configured) +- **AWS Service Mocks**: `aws-sdk-client-mock` +- **Integration Tests**: Real AWS services or LocalStack +- **Load Testing**: Artillery or k6 +- **Contract Testing**: Pact or OpenAPI validation + +## Running Tests + +```bash +# Unit tests only +yarn test + +# Integration tests (requires AWS credentials) +yarn test:integration + +# All tests with coverage +yarn test:all --coverage +``` diff --git a/eslint.config.js b/eslint.config.js deleted file mode 100644 index a35fd9e2..00000000 --- a/eslint.config.js +++ /dev/null @@ -1,48 +0,0 @@ -const { eslintConfigs } = require('@aligent/ts-code-standards'); -const eslintPluginImport = require('eslint-plugin-import'); -const jsonParser = require('jsonc-eslint-parser'); -const nxEslintPlugin = require('@nx/eslint-plugin'); - -const eslintBaseConfig = [ - ...eslintConfigs.base, - { - ignores: ['**/*.js', '**/*.cjs', '**/*.mjs', '**/coverage'], - }, - { - files: ['**/*.ts'], - plugins: { - '@nx': nxEslintPlugin, - import: eslintPluginImport, - }, - rules: { - '@nx/enforce-module-boundaries': [ - 'error', - { - enforceBuildableLibDependency: true, - allow: [], - depConstraints: [ - { - sourceTag: '*', - onlyDependOnLibsWithTags: ['*'], - }, - ], - }, - ], - 'import/no-extraneous-dependencies': [ - 'warn', - { - optionalDependencies: false, - peerDependencies: false, - bundledDependencies: false, - packageDir: ['.', '../..'], - }, - ], - }, - }, - { - files: ['**/*.json'], - languageOptions: { parser: jsonParser }, - }, -]; - -module.exports = eslintBaseConfig; diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000..89055ef0 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,47 @@ +import { eslintConfigs } from '@aligent/ts-code-standards'; +import jsonParser from 'jsonc-eslint-parser'; +import nxEslintPlugin from '@nx/eslint-plugin'; + +const eslintBaseConfig = [ + ...eslintConfigs.base, + { + ignores: [ + '**/*.js', + '**/*.cjs', + '**/*.mjs', + '**/coverage', + '**/cdk.out', + '**/dist', + '**/out-tsc', + '**/vite.config.*.timestamp*', + '**/vitest.config.*.timestamp*', + ], + }, + { + files: ['**/*.ts'], + plugins: { + '@nx': nxEslintPlugin, + }, + rules: { + '@nx/enforce-module-boundaries': [ + 'error', + { + enforceBuildableLibDependency: true, + allow: ['^.*/eslint(\\.base)?\\.config\\.[cm]?[jt]s$'], + depConstraints: [ + { + sourceTag: '*', + onlyDependOnLibsWithTags: ['*'], + }, + ], + }, + ], + }, + }, + { + files: ['**/*.json'], + languageOptions: { parser: jsonParser }, + }, +]; + +export default eslintBaseConfig; diff --git a/libs/cdk-utils/README.md b/libs/cdk-utils/README.md new file mode 100644 index 00000000..fc1aeb56 --- /dev/null +++ b/libs/cdk-utils/README.md @@ -0,0 +1,451 @@ +# CDK Utils Library + +This library provides utilities for AWS CDK applications, including property injectors, aspects, and constructs for building scalable serverless applications. + +## Constructs + +This library contains custom constructs for common low level use cases. + +Current constructs: + +- StepFunctionFromFile - Load Step Function definitions from YAML/JSON files +- S3Bucket - S3 buckets with lifecycle management +- SsmParameterGroup - Group and manage SSM parameters + +
+ +Instructions for working with Constructs + +### StepFunctionFromFile + +A Step Function construct that loads its definition from a YAML or JSON file. + +```typescript +import { StepFunctionFromFile } from '@libs/cdk-utils/infra'; + +// Basic usage +new StepFunctionFromFile(this, 'MyStateMachine', { + filepath: 'src/step-functions/workflow.yml', +}); + +// With Lambda function substitutions +new StepFunctionFromFile(this, 'WorkflowWithLambdas', { + filepath: 'src/step-functions/workflow.yml', + lambdaFunctions: [myLambda1, myLambda2], + definitionSubstitutions: { + MyCustomParam: 'CustomValue', + }, +}); +``` + +### S3Bucket + +An S3 bucket construct with built-in lifecycle management for different data retention needs. + +```typescript +import { S3Bucket } from '@libs/cdk-utils'; + +// Short-lived data (7 days) +new S3Bucket(this, 'TempData', { + duration: 'SHORT', +}); + +// Medium-lived data (30 days) +new S3Bucket(this, 'ProcessingData', { + duration: 'MEDIUM', +}); + +// Long-lived data (365 days) +new S3Bucket(this, 'ArchiveData', { + duration: 'LONG', +}); + +// Permanent data with versioning +new S3Bucket(this, 'ConfigData', { + duration: 'PERMANENT', + versioned: true, +}); +``` + +### SsmParameterGroup + +Abstract class to group SSM parameters together and manage permissions. + +```typescript +import { SsmParameterGroup } from '@libs/cdk-utils'; +import { StringParameter } from 'aws-cdk-lib/aws-ssm'; + +class ApiCredentials extends SsmParameterGroup<'API_KEY' | 'API_SECRET'> { + public readonly parameters; + + constructor(scope: Construct, id = 'ApiCredentials') { + super(scope, id); + + this.parameters = { + API_KEY: StringParameter.fromStringParameterName( + this, + 'ApiKey', + `/myapp/${this.stageName}/api/key` + ), + API_SECRET: StringParameter.fromStringParameterName( + this, + 'ApiSecret', + `/myapp/${this.stageName}/api/secret` + ), + }; + } +} + +// Usage +const credentials = new ApiCredentials(this); +credentials.grantToFunction(myLambda, 'read'); +``` + +
+ +## Property Injectors + +This library provides configuration-aware property injectors that automatically configure resources based on your requirements. Property injectors use CDK's built-in property injection system to apply defaults without requiring custom constructs. + +Current injectors: + +- NodeJsFunctionDefaultsInjector - Configuration-specific Lambda function bundling and runtime settings +- LogGroupDefaultsInjector - Duration-based CloudWatch log group retention +- StepFunctionDefaultsInjector - Automatic logging for EXPRESS Step Functions +- BucketDefaultsInjector - Auto-cleanup policies for S3 buckets + +
+ +Instructions for working with Property Injectors + +### Using Property Injectors + +Property injectors can be added at the app or stage level to apply configuration-specific defaults to all resources within that scope. + +```typescript +import { + NodeJsFunctionDefaultsInjector, + LogGroupDefaultsInjector, + StepFunctionDefaultsInjector, + BucketDefaultsInjector, +} from '@libs/cdk-utils'; +import { App, Stage } from 'aws-cdk-lib'; + +// Apply at app level +const app = new App({ + propertyInjectors: [ + new NodeJsFunctionDefaultsInjector({ + sourceMap: true, + esm: true, + minify: true, + }).withProps({ + timeout: Duration.seconds(6), + memorySize: 192, + runtime: Runtime.NODEJS_22_X, + architecture: Architecture.ARM_64, + }), + new LogGroupDefaultsInjector({ duration: 'MEDIUM' }), + new StepFunctionDefaultsInjector(), + new BucketDefaultsInjector(), + ], +}); + +// Or override at stage level +new ApplicationStage(app, 'dev', { + propertyInjectors: [ + new NodeJsFunctionDefaultsInjector({ + sourceMap: false, + esm: true, + minify: false, // Faster builds for dev + }), + new LogGroupDefaultsInjector({ duration: 'SHORT' }), // Shorter retention for dev + ], +}); +``` + +### NodeJsFunctionDefaultsInjector + +Applies configuration-specific bundling and runtime settings to Lambda functions: + +```typescript +// Development configuration - fast builds +new NodeJsFunctionDefaultsInjector({ + sourceMap: false, + esm: true, + minify: false, +}); + +// Production configuration - optimized bundles +new NodeJsFunctionDefaultsInjector({ + sourceMap: true, + esm: true, + minify: true, +}); + +// Functions automatically inherit configuration +new NodejsFunction(stack, 'MyFunction', { + handler: 'index.handler', + entry: 'src/lambda/handler.ts', + // Bundling, source maps, ESM support applied via injector +}); +``` + +### LogGroupDefaultsInjector + +Applies duration-based retention and removal policies: + +```typescript +// Short retention (1 week) +new LogGroupDefaultsInjector({ duration: 'SHORT' }); + +// Medium retention (6 months) +new LogGroupDefaultsInjector({ duration: 'MEDIUM' }); + +// Long retention (2 years) +new LogGroupDefaultsInjector({ duration: 'LONG' }); + +// Log groups automatically inherit retention settings +new LogGroup(stack, 'MyLogGroup'); +// Retention and removal policies applied via injector +``` + +### StepFunctionDefaultsInjector + +Automatically creates log groups and configures logging for EXPRESS Step Functions: + +```typescript +// Log group and logging configuration added automatically for EXPRESS type +new StateMachine(stack, 'MyExpressWorkflow', { + stateMachineType: StateMachineType.EXPRESS, + definitionBody: DefinitionBody.fromFile('workflow.asl.yaml'), +}); +``` + +### BucketDefaultsInjector + +Automatically configures S3 buckets for clean stack deletion: + +```typescript +// Default configuration +new BucketDefaultsInjector(); +// Applies: autoDeleteObjects: true, removalPolicy: DESTROY + +// Custom configuration +new BucketDefaultsInjector({ + autoDelete: false, + removalPolicy: 'RETAIN', +}); + +// Buckets automatically get cleanup defaults +new Bucket(stack, 'MyBucket'); +// Auto-delete and removal policies applied via injector +``` + +### Customizing Injector Defaults + +You can override injector defaults using the `withProps` method: + +```typescript +const customInjector = new NodeJsFunctionDefaultsInjector({ + sourceMap: true, + esm: true, + minify: true, +}).withProps({ + memorySize: 512, // Override default memory + timeout: Duration.seconds(30), // Override default timeout + environment: { + LOG_LEVEL: 'DEBUG', + }, +}); +``` + +
+ +## Aspects + +This library provides aspects that automatically apply cross-cutting concerns to resources. + +Current aspects: + +- VersionFunctionsAspect - Automatic versioning and aliasing for Lambda functions and Step Functions + +
+ +Instructions for working with Aspects + +### VersionFunctionsAspect + +Automatically creates versions and aliases for Lambda functions and Step Functions. This is essential for blue-green deployments and traffic shifting. + +```typescript +import { VersionFunctionsAspect } from '@libs/cdk-utils'; +import { Aspects } from 'aws-cdk-lib'; + +// Apply to entire app for automatic versioning +Aspects.of(app).add(new VersionFunctionsAspect()); + +// Or with custom alias name +Aspects.of(app).add(new VersionFunctionsAspect({ alias: 'PROD' })) +``` + +**What it does:** + +- **Lambda Functions**: Adds a function alias (default: "LATEST") +- **Step Functions**: Creates a version and alias with 100% traffic routing + +**Benefits:** + +- Enables blue-green deployments +- Supports traffic shifting between versions +- Provides stable ARNs for external integrations +- Required for some AWS services that need versioned resources + +
+ +## CDK-NAG Rules + +This library contains a custom [cdk-nag](https://github.com/cdklabs/cdk-nag) NagPack called `MicroserviceChecks` for testing CDK stacks. The NagPack contains a small subset of standard rules to support rapid development + +Current rules: + +- Explicit memory and timeout settings for Lambda functions +- Active tracing for Lambda functions +- Retention policies for CloudWatch Log Groups + +
+ +Instructions for working with cdk-nag rules + +### Using MicroserviceChecks in Tests + +The `MicroserviceChecks` NagPack validates your CDK stacks against microservice best practices. It's designed to be used in your CDK test files to ensure compliance before deployment. + +#### Basic Usage + +```typescript +import { App, Stack } from 'aws-cdk-lib'; +import { Aspects } from 'aws-cdk-lib'; +import { Annotations, Match } from 'aws-cdk-lib/assertions'; +import { MicroserviceChecks } from '@libs/cdk-utils/infra'; + +describe('MyStack', () => { + it('complies with microservice checks', () => { + const app = new App(); + const stack = new Stack(app, 'TestStack'); + + // ... create your stack resources ... + + // Apply the MicroserviceChecks + Aspects.of(stack).add(new MicroserviceChecks()); + + // Check for any errors + const errors = Annotations.fromStack(stack).findError( + '*', + Match.stringLikeRegexp('Microservices.*') + ); + + expect(errors).toHaveLength(0); + }); +}); +``` + +#### Handling Violations + +When a rule is violated, you'll see an error like: + +``` +Microservices-L1: Lambda function 'MyFunction' must have memory size explicitly configured +``` + +Violations can be fixed on individual resources like below, but it is recommended to set defaults throughout the entire application using AWS Context or custom constructs + +```typescript +// โŒ Bad - Uses default memory +new Function(this, 'MyFunction', { + runtime: Runtime.NODEJS_22_X, + handler: 'index.handler', + code: Code.fromInline('...'), +}); + +// โœ… Good - Explicit configuration +new Function(this, 'MyFunction', { + runtime: Runtime.NODEJS_22_X, + handler: 'index.handler', + code: Code.fromInline('...'), + memorySize: 256, + timeout: Duration.seconds(30), + tracing: Tracing.ACTIVE, +}); +``` + +#### Suppressing Rules + +If you need to suppress a specific rule for a valid reason: + +```typescript +import { NagSuppressions } from 'cdk-nag'; + +// Suppress for a specific resource +NagSuppressions.addResourceSuppressions(myFunction, [ + { + id: 'Microservices-L1', + reason: 'This function requires default memory for testing purposes', + }, +]); + +// Suppress by path +NagSuppressions.addResourceSuppressionsByPath(stack, '/MyStack/MyFunction', [ + { + id: 'Microservices-L1', + reason: 'Documented exception for this resource', + }, +]); +``` + +#### Integration with CI/CD + +```typescript +// In your CDK test file +describe('Infrastructure Compliance', () => { + let app: App; + let stack: Stack; + + beforeEach(() => { + app = new App(); + stack = new MyApplicationStack(app, 'TestStack'); + Aspects.of(stack).add(new MicroserviceChecks()); + }); + + test('No microservice check violations', () => { + // This will fail the test if any violations are found + const errors = Annotations.fromStack(stack).findError( + '*', + Match.stringLikeRegexp('Microservices.*') + ); + + if (errors.length > 0) { + console.error('Microservice check violations:', errors); + } + + expect(errors).toHaveLength(0); + }); +}); +``` + +#### Custom Rule Configuration + +While the current implementation uses standard rules, you can extend the MicroserviceChecks class: + +```typescript +import { MicroserviceChecks } from '@libs/cdk-utils/infra'; + +class CustomMicroserviceChecks extends MicroserviceChecks { + constructor() { + super(); + // Add custom rules or modify existing ones + } +} +``` + +
+ diff --git a/libs/cdk-utils/eslint.config.mjs b/libs/cdk-utils/eslint.config.mjs new file mode 100644 index 00000000..b7f62772 --- /dev/null +++ b/libs/cdk-utils/eslint.config.mjs @@ -0,0 +1,3 @@ +import baseConfig from '../../eslint.config.mjs'; + +export default [...baseConfig]; diff --git a/libs/cdk-utils/package.json b/libs/cdk-utils/package.json new file mode 100644 index 00000000..b12d1376 --- /dev/null +++ b/libs/cdk-utils/package.json @@ -0,0 +1,23 @@ +{ + "name": "@libs/cdk-utils", + "version": "0.0.1", + "type": "module", + "exports": { + ".": { + "types": "./src/index.ts", + "import": "./src/index.ts", + "default": "./src/index.ts" + }, + "./infra": { + "types": "./src/infra.ts", + "import": "./src/infra.ts" + }, + "./runtime": { + "types": "./src/runtime.ts", + "import": "./src/runtime.ts" + }, + "./package.json": "./package.json" + }, + "main": "./src/index.ts", + "types": "./src/index.ts" +} diff --git a/libs/cdk-utils/src/index.ts b/libs/cdk-utils/src/index.ts new file mode 100644 index 00000000..a6cf1062 --- /dev/null +++ b/libs/cdk-utils/src/index.ts @@ -0,0 +1,6 @@ +/* v8 ignore start */ +export * from './lib/aspects'; +export * from './lib/constructs'; +export * from './lib/injectors'; +export * from './lib/rules/microservice-checks'; +export * from './lib/runtime/pickFromProcessEnv'; diff --git a/libs/cdk-utils/src/infra.ts b/libs/cdk-utils/src/infra.ts new file mode 100644 index 00000000..98bf07df --- /dev/null +++ b/libs/cdk-utils/src/infra.ts @@ -0,0 +1,3 @@ +/* v8 ignore start */ +export * from './lib/constructs'; +export * from './lib/rules/microservice-checks'; diff --git a/libs/cdk-utils/src/lib/aspects/__data__/test-machine.asl.yaml b/libs/cdk-utils/src/lib/aspects/__data__/test-machine.asl.yaml new file mode 100644 index 00000000..1e11917f --- /dev/null +++ b/libs/cdk-utils/src/lib/aspects/__data__/test-machine.asl.yaml @@ -0,0 +1,11 @@ +Comment: A simple minimal example of a Step Functions state machine +StartAt: Hello +States: + Hello: + Type: Pass + Result: Hello + Next: World + World: + Type: Pass + Result: World + End: true \ No newline at end of file diff --git a/libs/cdk-utils/src/lib/aspects/index.ts b/libs/cdk-utils/src/lib/aspects/index.ts new file mode 100644 index 00000000..c27e209e --- /dev/null +++ b/libs/cdk-utils/src/lib/aspects/index.ts @@ -0,0 +1,2 @@ +/* v8 ignore start */ +export * from './version-functions-aspect'; diff --git a/libs/cdk-utils/src/lib/aspects/version-functions-aspect.test.ts b/libs/cdk-utils/src/lib/aspects/version-functions-aspect.test.ts new file mode 100644 index 00000000..9565938d --- /dev/null +++ b/libs/cdk-utils/src/lib/aspects/version-functions-aspect.test.ts @@ -0,0 +1,67 @@ +import { Aspects, Stack } from 'aws-cdk-lib'; +import { Template } from 'aws-cdk-lib/assertions'; +import { Code, Runtime } from 'aws-cdk-lib/aws-lambda'; +import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs'; +import path from 'node:path'; +import { StepFunctionFromFile } from '../constructs/step-function-from-file'; +import { VersionFunctionsAspect } from './version-functions-aspect'; + +describe('VersionResourcesAspect', () => { + let stack: Stack; + + beforeEach(() => { + stack = new Stack(); + + stack.node.setContext('aws:cdk:bundling-stacks', []); + Aspects.of(stack).add(new VersionFunctionsAspect()); + }); + + it('should add a version and alias to a lambda function', () => { + new NodejsFunction(stack, 'TestFunction', { + runtime: Runtime.NODEJS_22_X, + handler: 'index.handler', + code: Code.fromInline('exports.handler = async () => ({ statusCode: 200 });'), + }); + + const template = Template.fromStack(stack); + template.hasResourceProperties('AWS::Lambda::Alias', { + Name: 'LATEST', + }); + }); + + it('should add a custom alias to a lambda function', () => { + new NodejsFunction(stack, 'TestFunction', { + handler: 'index.handler', + code: Code.fromInline('exports.handler = async () => ({ statusCode: 200 });'), + }); + + Aspects.of(stack).add(new VersionFunctionsAspect({ alias: 'PROD' })); + + const template = Template.fromStack(stack); + template.hasResourceProperties('AWS::Lambda::Alias', { + Name: 'PROD', + }); + }); + + it('should add a version and alias to a step function', () => { + new StepFunctionFromFile(stack, 'TestStepFunction', { + filepath: path.join(__dirname, '__data__', 'test-machine.asl.yaml'), + }); + + const template = Template.fromStack(stack); + + const versionId = template.getResourceId('AWS::StepFunctions::StateMachineVersion'); + + template.hasResourceProperties('AWS::StepFunctions::StateMachineAlias', { + Name: 'LATEST', + RoutingConfiguration: [ + { + StateMachineVersionArn: { + 'Fn::GetAtt': [versionId, 'Arn'], + }, + Weight: 100, + }, + ], + }); + }); +}); diff --git a/libs/cdk-utils/src/lib/aspects/version-functions-aspect.ts b/libs/cdk-utils/src/lib/aspects/version-functions-aspect.ts new file mode 100644 index 00000000..11983a72 --- /dev/null +++ b/libs/cdk-utils/src/lib/aspects/version-functions-aspect.ts @@ -0,0 +1,74 @@ +import type { IAspect } from 'aws-cdk-lib'; +import { Function } from 'aws-cdk-lib/aws-lambda'; +import { + CfnStateMachineAlias, + CfnStateMachineVersion, + StateMachine, +} from 'aws-cdk-lib/aws-stepfunctions'; +import { IConstruct } from 'constructs'; + +/** + * Aspect that automatically adds versioning and aliases to Lambda and Step Functions + * + * Visits all constructs in the scope and automatically creates versions and aliases + * for supported resource types. This enables blue-green deployments, traffic shifting, + * and provides stable ARNs for external integrations. + * + * Currently supports: + * - Lambda Functions: Creates function aliases + * - Step Functions: Creates versions and aliases with 100% traffic routing + * + * @example + * ```typescript + * // Apply to entire app for automatic versioning + * Aspects.of(app).add(new VersionFunctionsAspect()); + * + * // Or with custom alias name + * Aspects.of(app).add(new VersionFunctionsAspect({ alias: 'PROD' })); + * ``` + */ +export class VersionFunctionsAspect implements IAspect { + /** + * Creates a new VersionFunctionsAspect + * + * @param props - Configuration for the aspect + * @param props.alias - Name for the alias to create. Defaults to 'LATEST' + */ + constructor( + private readonly props: { + alias: string; + } = { + alias: 'LATEST', + } + ) {} + + /** + * Visits a construct and applies versioning if it's a supported resource type + * + * For Lambda Functions: Adds a function alias pointing to $LATEST + * For Step Functions: Creates a version and alias with 100% traffic routing + * + * @param node - The construct to potentially add versioning to + */ + visit(node: IConstruct): void { + if (node instanceof StateMachine) { + const version = new CfnStateMachineVersion(node, `Version`, { + stateMachineArn: node.stateMachineArn, + }); + + new CfnStateMachineAlias(node, `Alias`, { + name: this.props.alias, + routingConfiguration: [ + { + stateMachineVersionArn: version.attrArn, + weight: 100, + }, + ], + }); + } + + if (node instanceof Function) { + node.addAlias(this.props.alias); + } + } +} diff --git a/libs/cdk-utils/src/lib/constructs/__data__/test-machine.asl.yaml b/libs/cdk-utils/src/lib/constructs/__data__/test-machine.asl.yaml new file mode 100644 index 00000000..1e11917f --- /dev/null +++ b/libs/cdk-utils/src/lib/constructs/__data__/test-machine.asl.yaml @@ -0,0 +1,11 @@ +Comment: A simple minimal example of a Step Functions state machine +StartAt: Hello +States: + Hello: + Type: Pass + Result: Hello + Next: World + World: + Type: Pass + Result: World + End: true \ No newline at end of file diff --git a/libs/cdk-utils/src/lib/constructs/__snapshots__/ssm-parameter-group.test.ts.snap b/libs/cdk-utils/src/lib/constructs/__snapshots__/ssm-parameter-group.test.ts.snap new file mode 100644 index 00000000..07356911 --- /dev/null +++ b/libs/cdk-utils/src/lib/constructs/__snapshots__/ssm-parameter-group.test.ts.snap @@ -0,0 +1,692 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`SsmParameterGroup > grantToFunction with "read" permission > Rerun tests with the -u flag to update snapshots if changes are expected 1`] = ` +{ + "OtherTestFunction0FC8D02A": { + "DependsOn": [ + "OtherTestFunctionServiceRole5A690C20", + ], + "Properties": { + "Code": { + "ZipFile": "exports.handler = async () => ({ statusCode: 200 });", + }, + "Handler": "index.handler", + "Role": { + "Fn::GetAtt": [ + "OtherTestFunctionServiceRole5A690C20", + "Arn", + ], + }, + "Runtime": "nodejs22.x", + }, + "Type": "AWS::Lambda::Function", + }, + "TestFunction22AD90FC": { + "DependsOn": [ + "TestFunctionServiceRoleDefaultPolicy810BAB0B", + "TestFunctionServiceRole6ABD93C7", + ], + "Properties": { + "Code": { + "ZipFile": "exports.handler = async () => ({ statusCode: 200 });", + }, + "Environment": { + "Variables": { + "PARAM_ONE": { + "Ref": "MyTestParametersParam137FCD884", + }, + "PARAM_TWO": { + "Ref": "MyTestParametersParam24E319C53", + }, + }, + }, + "Handler": "index.handler", + "Role": { + "Fn::GetAtt": [ + "TestFunctionServiceRole6ABD93C7", + "Arn", + ], + }, + "Runtime": "nodejs22.x", + }, + "Type": "AWS::Lambda::Function", + }, +} +`; + +exports[`SsmParameterGroup > grantToFunction with "read" permission > Rerun tests with the -u flag to update snapshots if changes are expected 2`] = ` +{ + "TestFunctionServiceRoleDefaultPolicy810BAB0B": { + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "ssm:DescribeParameters", + "ssm:GetParameters", + "ssm:GetParameter", + "ssm:GetParameterHistory", + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition", + }, + ":ssm:", + { + "Ref": "AWS::Region", + }, + ":", + { + "Ref": "AWS::AccountId", + }, + ":parameter", + { + "Ref": "MyTestParametersParam137FCD884", + }, + ], + ], + }, + }, + { + "Action": [ + "ssm:DescribeParameters", + "ssm:GetParameters", + "ssm:GetParameter", + "ssm:GetParameterHistory", + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition", + }, + ":ssm:", + { + "Ref": "AWS::Region", + }, + ":", + { + "Ref": "AWS::AccountId", + }, + ":parameter", + { + "Ref": "MyTestParametersParam24E319C53", + }, + ], + ], + }, + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "TestFunctionServiceRoleDefaultPolicy810BAB0B", + "Roles": [ + { + "Ref": "TestFunctionServiceRole6ABD93C7", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, +} +`; + +exports[`SsmParameterGroup > grantToFunction with "readwrite" permission > Rerun tests with the -u flag to update snapshots if changes are expected 1`] = ` +{ + "OtherTestFunction0FC8D02A": { + "DependsOn": [ + "OtherTestFunctionServiceRole5A690C20", + ], + "Properties": { + "Code": { + "ZipFile": "exports.handler = async () => ({ statusCode: 200 });", + }, + "Handler": "index.handler", + "Role": { + "Fn::GetAtt": [ + "OtherTestFunctionServiceRole5A690C20", + "Arn", + ], + }, + "Runtime": "nodejs22.x", + }, + "Type": "AWS::Lambda::Function", + }, + "TestFunction22AD90FC": { + "DependsOn": [ + "TestFunctionServiceRoleDefaultPolicy810BAB0B", + "TestFunctionServiceRole6ABD93C7", + ], + "Properties": { + "Code": { + "ZipFile": "exports.handler = async () => ({ statusCode: 200 });", + }, + "Environment": { + "Variables": { + "PARAM_ONE": { + "Ref": "MyTestParametersParam137FCD884", + }, + "PARAM_TWO": { + "Ref": "MyTestParametersParam24E319C53", + }, + }, + }, + "Handler": "index.handler", + "Role": { + "Fn::GetAtt": [ + "TestFunctionServiceRole6ABD93C7", + "Arn", + ], + }, + "Runtime": "nodejs22.x", + }, + "Type": "AWS::Lambda::Function", + }, +} +`; + +exports[`SsmParameterGroup > grantToFunction with "readwrite" permission > Rerun tests with the -u flag to update snapshots if changes are expected 2`] = ` +{ + "TestFunctionServiceRoleDefaultPolicy810BAB0B": { + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "ssm:PutParameter", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition", + }, + ":ssm:", + { + "Ref": "AWS::Region", + }, + ":", + { + "Ref": "AWS::AccountId", + }, + ":parameter", + { + "Ref": "MyTestParametersParam137FCD884", + }, + ], + ], + }, + }, + { + "Action": [ + "ssm:DescribeParameters", + "ssm:GetParameters", + "ssm:GetParameter", + "ssm:GetParameterHistory", + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition", + }, + ":ssm:", + { + "Ref": "AWS::Region", + }, + ":", + { + "Ref": "AWS::AccountId", + }, + ":parameter", + { + "Ref": "MyTestParametersParam137FCD884", + }, + ], + ], + }, + }, + { + "Action": "ssm:PutParameter", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition", + }, + ":ssm:", + { + "Ref": "AWS::Region", + }, + ":", + { + "Ref": "AWS::AccountId", + }, + ":parameter", + { + "Ref": "MyTestParametersParam24E319C53", + }, + ], + ], + }, + }, + { + "Action": [ + "ssm:DescribeParameters", + "ssm:GetParameters", + "ssm:GetParameter", + "ssm:GetParameterHistory", + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition", + }, + ":ssm:", + { + "Ref": "AWS::Region", + }, + ":", + { + "Ref": "AWS::AccountId", + }, + ":parameter", + { + "Ref": "MyTestParametersParam24E319C53", + }, + ], + ], + }, + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "TestFunctionServiceRoleDefaultPolicy810BAB0B", + "Roles": [ + { + "Ref": "TestFunctionServiceRole6ABD93C7", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, +} +`; + +exports[`SsmParameterGroup > grantToFunction with "write" permission > Rerun tests with the -u flag to update snapshots if changes are expected 1`] = ` +{ + "OtherTestFunction0FC8D02A": { + "DependsOn": [ + "OtherTestFunctionServiceRole5A690C20", + ], + "Properties": { + "Code": { + "ZipFile": "exports.handler = async () => ({ statusCode: 200 });", + }, + "Handler": "index.handler", + "Role": { + "Fn::GetAtt": [ + "OtherTestFunctionServiceRole5A690C20", + "Arn", + ], + }, + "Runtime": "nodejs22.x", + }, + "Type": "AWS::Lambda::Function", + }, + "TestFunction22AD90FC": { + "DependsOn": [ + "TestFunctionServiceRoleDefaultPolicy810BAB0B", + "TestFunctionServiceRole6ABD93C7", + ], + "Properties": { + "Code": { + "ZipFile": "exports.handler = async () => ({ statusCode: 200 });", + }, + "Environment": { + "Variables": { + "PARAM_ONE": { + "Ref": "MyTestParametersParam137FCD884", + }, + "PARAM_TWO": { + "Ref": "MyTestParametersParam24E319C53", + }, + }, + }, + "Handler": "index.handler", + "Role": { + "Fn::GetAtt": [ + "TestFunctionServiceRole6ABD93C7", + "Arn", + ], + }, + "Runtime": "nodejs22.x", + }, + "Type": "AWS::Lambda::Function", + }, +} +`; + +exports[`SsmParameterGroup > grantToFunction with "write" permission > Rerun tests with the -u flag to update snapshots if changes are expected 2`] = ` +{ + "TestFunctionServiceRoleDefaultPolicy810BAB0B": { + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": "ssm:PutParameter", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition", + }, + ":ssm:", + { + "Ref": "AWS::Region", + }, + ":", + { + "Ref": "AWS::AccountId", + }, + ":parameter", + { + "Ref": "MyTestParametersParam137FCD884", + }, + ], + ], + }, + }, + { + "Action": "ssm:PutParameter", + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition", + }, + ":ssm:", + { + "Ref": "AWS::Region", + }, + ":", + { + "Ref": "AWS::AccountId", + }, + ":parameter", + { + "Ref": "MyTestParametersParam24E319C53", + }, + ], + ], + }, + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "TestFunctionServiceRoleDefaultPolicy810BAB0B", + "Roles": [ + { + "Ref": "TestFunctionServiceRole6ABD93C7", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, +} +`; + +exports[`SsmParameterGroup > grantToFunctions grants to multiple functions > Rerun tests with the -u flag to update snapshots if changes are expected 1`] = ` +{ + "OtherTestFunction0FC8D02A": { + "DependsOn": [ + "OtherTestFunctionServiceRoleDefaultPolicyFF9E1289", + "OtherTestFunctionServiceRole5A690C20", + ], + "Properties": { + "Code": { + "ZipFile": "exports.handler = async () => ({ statusCode: 200 });", + }, + "Environment": { + "Variables": { + "PARAM_ONE": { + "Ref": "MyTestParametersParam137FCD884", + }, + "PARAM_TWO": { + "Ref": "MyTestParametersParam24E319C53", + }, + }, + }, + "Handler": "index.handler", + "Role": { + "Fn::GetAtt": [ + "OtherTestFunctionServiceRole5A690C20", + "Arn", + ], + }, + "Runtime": "nodejs22.x", + }, + "Type": "AWS::Lambda::Function", + }, + "TestFunction22AD90FC": { + "DependsOn": [ + "TestFunctionServiceRoleDefaultPolicy810BAB0B", + "TestFunctionServiceRole6ABD93C7", + ], + "Properties": { + "Code": { + "ZipFile": "exports.handler = async () => ({ statusCode: 200 });", + }, + "Environment": { + "Variables": { + "PARAM_ONE": { + "Ref": "MyTestParametersParam137FCD884", + }, + "PARAM_TWO": { + "Ref": "MyTestParametersParam24E319C53", + }, + }, + }, + "Handler": "index.handler", + "Role": { + "Fn::GetAtt": [ + "TestFunctionServiceRole6ABD93C7", + "Arn", + ], + }, + "Runtime": "nodejs22.x", + }, + "Type": "AWS::Lambda::Function", + }, +} +`; + +exports[`SsmParameterGroup > grantToFunctions grants to multiple functions > Rerun tests with the -u flag to update snapshots if changes are expected 2`] = ` +{ + "OtherTestFunctionServiceRoleDefaultPolicyFF9E1289": { + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "ssm:DescribeParameters", + "ssm:GetParameters", + "ssm:GetParameter", + "ssm:GetParameterHistory", + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition", + }, + ":ssm:", + { + "Ref": "AWS::Region", + }, + ":", + { + "Ref": "AWS::AccountId", + }, + ":parameter", + { + "Ref": "MyTestParametersParam137FCD884", + }, + ], + ], + }, + }, + { + "Action": [ + "ssm:DescribeParameters", + "ssm:GetParameters", + "ssm:GetParameter", + "ssm:GetParameterHistory", + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition", + }, + ":ssm:", + { + "Ref": "AWS::Region", + }, + ":", + { + "Ref": "AWS::AccountId", + }, + ":parameter", + { + "Ref": "MyTestParametersParam24E319C53", + }, + ], + ], + }, + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "OtherTestFunctionServiceRoleDefaultPolicyFF9E1289", + "Roles": [ + { + "Ref": "OtherTestFunctionServiceRole5A690C20", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, + "TestFunctionServiceRoleDefaultPolicy810BAB0B": { + "Properties": { + "PolicyDocument": { + "Statement": [ + { + "Action": [ + "ssm:DescribeParameters", + "ssm:GetParameters", + "ssm:GetParameter", + "ssm:GetParameterHistory", + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition", + }, + ":ssm:", + { + "Ref": "AWS::Region", + }, + ":", + { + "Ref": "AWS::AccountId", + }, + ":parameter", + { + "Ref": "MyTestParametersParam137FCD884", + }, + ], + ], + }, + }, + { + "Action": [ + "ssm:DescribeParameters", + "ssm:GetParameters", + "ssm:GetParameter", + "ssm:GetParameterHistory", + ], + "Effect": "Allow", + "Resource": { + "Fn::Join": [ + "", + [ + "arn:", + { + "Ref": "AWS::Partition", + }, + ":ssm:", + { + "Ref": "AWS::Region", + }, + ":", + { + "Ref": "AWS::AccountId", + }, + ":parameter", + { + "Ref": "MyTestParametersParam24E319C53", + }, + ], + ], + }, + }, + ], + "Version": "2012-10-17", + }, + "PolicyName": "TestFunctionServiceRoleDefaultPolicy810BAB0B", + "Roles": [ + { + "Ref": "TestFunctionServiceRole6ABD93C7", + }, + ], + }, + "Type": "AWS::IAM::Policy", + }, +} +`; diff --git a/libs/cdk-utils/src/lib/constructs/__snapshots__/step-function-from-file.test.ts.snap b/libs/cdk-utils/src/lib/constructs/__snapshots__/step-function-from-file.test.ts.snap new file mode 100644 index 00000000..11bc642b --- /dev/null +++ b/libs/cdk-utils/src/lib/constructs/__snapshots__/step-function-from-file.test.ts.snap @@ -0,0 +1,26 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`StepFunctionFromFile > creates a state machine from a file > Rerun tests with the -u flag to update snapshots if changes are expected 1`] = ` +{ + "MyStateMachine6C968CA5": { + "DeletionPolicy": "Delete", + "DependsOn": [ + "MyStateMachineRoleD59FFEBC", + ], + "Properties": { + "DefinitionS3Location": { + "Bucket": "[SNAPSHOT_PLACEHOLDER]", + "Key": "[SNAPSHOT_PLACEHOLDER]", + }, + "RoleArn": { + "Fn::GetAtt": [ + "MyStateMachineRoleD59FFEBC", + "Arn", + ], + }, + }, + "Type": "AWS::StepFunctions::StateMachine", + "UpdateReplacePolicy": "Delete", + }, +} +`; diff --git a/libs/cdk-utils/src/lib/constructs/index.ts b/libs/cdk-utils/src/lib/constructs/index.ts new file mode 100644 index 00000000..092f24d1 --- /dev/null +++ b/libs/cdk-utils/src/lib/constructs/index.ts @@ -0,0 +1,4 @@ +/* v8 ignore start */ +export * from './s3-bucket'; +export * from './ssm-parameter-group'; +export * from './step-function-from-file'; diff --git a/libs/cdk-utils/src/lib/constructs/s3-bucket.test.ts b/libs/cdk-utils/src/lib/constructs/s3-bucket.test.ts new file mode 100644 index 00000000..b31c4b4d --- /dev/null +++ b/libs/cdk-utils/src/lib/constructs/s3-bucket.test.ts @@ -0,0 +1,140 @@ +import { Duration, Stack } from 'aws-cdk-lib'; +import { Template } from 'aws-cdk-lib/assertions'; +import { describe, expect, test } from 'vitest'; +import { S3Bucket } from './s3-bucket'; + +describe('S3Bucket', () => { + test('creates bucket with SHORT duration lifecycle', () => { + const stack = new Stack(); + + new S3Bucket(stack, 'TestBucket', { + duration: 'SHORT', + }); + + const template = Template.fromStack(stack); + + template.hasResourceProperties('AWS::S3::Bucket', { + LifecycleConfiguration: { + Rules: [ + { + Id: 'ShortLivedData', + Status: 'Enabled', + ExpirationInDays: 7, + }, + ], + }, + }); + }); + + test('creates bucket with MEDIUM duration lifecycle', () => { + const stack = new Stack(); + + new S3Bucket(stack, 'TestBucket', { + duration: 'MEDIUM', + }); + + const template = Template.fromStack(stack); + + template.hasResourceProperties('AWS::S3::Bucket', { + LifecycleConfiguration: { + Rules: [ + { + Id: 'MediumLivedData', + Status: 'Enabled', + ExpirationInDays: 30, + }, + ], + }, + }); + }); + + test('creates bucket with LONG duration lifecycle', () => { + const stack = new Stack(); + + new S3Bucket(stack, 'TestBucket', { + duration: 'LONG', + }); + + const template = Template.fromStack(stack); + + template.hasResourceProperties('AWS::S3::Bucket', { + LifecycleConfiguration: { + Rules: [ + { + Id: 'LongLivedData', + Status: 'Enabled', + ExpirationInDays: 365, + }, + ], + }, + }); + }); + + test('creates bucket with PERMANENT duration and versioning', () => { + const stack = new Stack(); + + new S3Bucket(stack, 'TestBucket', { + duration: 'PERMANENT', + versioned: true, + }); + + const template = Template.fromStack(stack); + + // With PERMANENT duration and versioning, versioning should be enabled + template.hasResourceProperties('AWS::S3::Bucket', { + VersioningConfiguration: { + Status: 'Enabled', + }, + }); + }); + + test('creates bucket with PERMANENT duration without versioning', () => { + const stack = new Stack(); + + new S3Bucket(stack, 'TestBucket', { + duration: 'PERMANENT', + versioned: false, + }); + + const template = Template.fromStack(stack); + + // For PERMANENT duration without versioning, bucket should not have versioning + const bucketResources = template.findResources('AWS::S3::Bucket'); + const bucketKeys = Object.keys(bucketResources); + expect(bucketKeys).toHaveLength(1); + }); + + test('merges user-provided lifecycle rules with defaults', () => { + const stack = new Stack(); + + new S3Bucket(stack, 'TestBucket', { + duration: 'SHORT', + lifecycleRules: [ + { + id: 'CustomRule', + enabled: true, + expiration: Duration.days(180), + }, + ], + }); + + const template = Template.fromStack(stack); + + template.hasResourceProperties('AWS::S3::Bucket', { + LifecycleConfiguration: { + Rules: [ + { + Id: 'CustomRule', + Status: 'Enabled', + ExpirationInDays: 180, + }, + { + Id: 'ShortLivedData', + Status: 'Enabled', + ExpirationInDays: 7, + }, + ], + }, + }); + }); +}); diff --git a/libs/cdk-utils/src/lib/constructs/s3-bucket.ts b/libs/cdk-utils/src/lib/constructs/s3-bucket.ts new file mode 100644 index 00000000..47575a83 --- /dev/null +++ b/libs/cdk-utils/src/lib/constructs/s3-bucket.ts @@ -0,0 +1,107 @@ +import { Duration } from 'aws-cdk-lib'; +import { Bucket, type BucketProps } from 'aws-cdk-lib/aws-s3'; +import { Construct } from 'constructs'; + +/** + * Properties for the TemporaryDataBucket construct + */ +export type S3BucketProps = BucketProps & + ( + | { + duration: 'SHORT' | 'MEDIUM' | 'LONG'; + } + | { + duration: 'PERMANENT'; + versioned: boolean; + } + ); + +/** + * S3 bucket construct for configuration files with versioning + * + * This construct creates an S3 bucket with the following defaults: + * - Versioning enabled if `versioned` is true + * - Lifecycle rules for short, medium, and long-lived data + * + * @example + * ```typescript + * // Create a bucket with short-lived data + * new S3Bucket(this, 'ConfigFiles', { + * duration: 'SHORT', + * }); + * + * // Create a bucket with long-lived data and versioning + * new S3Bucket(this, 'ConfigFiles', { + * duration: 'LONG', + * versioned: true, + * }); + * ``` + */ +export class S3Bucket extends Bucket { + /** + * Creates a new S3Bucket construct + * + * @param scope - The parent construct + * @param id - The construct ID + * @param props - Optional bucket properties that override or extend the defaults + */ + constructor(scope: Construct, id: string, props: S3BucketProps) { + const defaultProps = { + versioned: props?.versioned ?? false, + lifecycleRules: formatLifecycleRules(props?.duration), + } satisfies BucketProps; + + // Merge defaults with user-provided props + const finalProps = { + ...defaultProps, + ...props, + // If user provides lifecycle rules, merge them with defaults + // Apply user provided rules first, then defaults + lifecycleRules: [...(props?.lifecycleRules || []), ...defaultProps.lifecycleRules], + }; + + super(scope, id, finalProps); + } +} + +function formatLifecycleRules(duration: S3BucketProps['duration'], versioned = false) { + if (duration === 'PERMANENT') { + return versioned + ? [ + { + id: 'VersionedData', + enabled: true, + noncurrentVersionsToRetain: 5, + noncurrentVersionExpiration: Duration.days(7), + }, + ] + : []; + } + + switch (duration) { + case 'SHORT': + return [ + { + id: 'ShortLivedData', + enabled: true, + expiration: Duration.days(7), + }, + ]; + case 'MEDIUM': + return [ + { + id: 'MediumLivedData', + enabled: true, + expiration: Duration.days(30), + }, + ]; + default: + return [ + { + id: 'LongLivedData', + enabled: true, + expiration: Duration.days(365), + }, + ]; + } +} diff --git a/libs/cdk-utils/src/lib/constructs/ssm-parameter-group.test.ts b/libs/cdk-utils/src/lib/constructs/ssm-parameter-group.test.ts new file mode 100644 index 00000000..f2d7a33c --- /dev/null +++ b/libs/cdk-utils/src/lib/constructs/ssm-parameter-group.test.ts @@ -0,0 +1,102 @@ +import { App, Stack, Stage } from 'aws-cdk-lib'; +import { Template } from 'aws-cdk-lib/assertions'; +import { Code, Function, Runtime } from 'aws-cdk-lib/aws-lambda'; +import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs'; +import { StringParameter } from 'aws-cdk-lib/aws-ssm'; +import { Construct } from 'constructs'; +import { beforeEach, describe, expect, test } from 'vitest'; +import { SsmParameterGroup } from './ssm-parameter-group'; + +const snapshotMessage = 'Rerun tests with the -u flag to update snapshots if changes are expected'; + +class TestParameters extends SsmParameterGroup<'PARAM_ONE' | 'PARAM_TWO'> { + public readonly parameters; + + constructor(scope: Construct, id: string) { + super(scope, id); + + const PARAM_ONE = new StringParameter(this, 'Param1', { + parameterName: '/test/param1', + stringValue: 'value1', + }); + + const PARAM_TWO = new StringParameter(this, 'Param2', { + parameterName: '/test/param2', + stringValue: 'value2', + }); + + this.parameters = { + PARAM_ONE, + PARAM_TWO, + } as const; + } +} + +describe('SsmParameterGroup', () => { + let stack: Stack; + let template: Template; + let testParameters: TestParameters; + let lambda: Function; + let lambda2: Function; + + beforeEach(() => { + const app = new App(); + const stage = new Stage(app, 'TestStage'); + stack = new Stack(stage, 'TestStack'); + testParameters = new TestParameters(stack, 'MyTestParameters'); + lambda = new NodejsFunction(stack, 'TestFunction', { + runtime: Runtime.NODEJS_22_X, + handler: 'index.handler', + code: Code.fromInline('exports.handler = async () => ({ statusCode: 200 });'), + }); + lambda2 = new NodejsFunction(stack, 'OtherTestFunction', { + runtime: Runtime.NODEJS_22_X, + handler: 'index.handler', + code: Code.fromInline('exports.handler = async () => ({ statusCode: 200 });'), + }); + }); + + const synth = () => Template.fromStack(stack); + + const getFunctionAndPolicySnapshots = () => { + const functions = template.findResources('AWS::Lambda::Function'); + const policies = template.findResources('AWS::IAM::Policy'); + return { functions, policies }; + }; + + test('grantToFunction with "read" permission', () => { + testParameters.grantToFunction(lambda, 'read'); + template = synth(); + + const { functions, policies } = getFunctionAndPolicySnapshots(); + expect(functions).toMatchSnapshot(snapshotMessage); + expect(policies).toMatchSnapshot(snapshotMessage); + }); + + test('grantToFunction with "write" permission', () => { + testParameters.grantToFunction(lambda, 'write'); + template = synth(); + + const { functions, policies } = getFunctionAndPolicySnapshots(); + expect(functions).toMatchSnapshot(snapshotMessage); + expect(policies).toMatchSnapshot(snapshotMessage); + }); + + test('grantToFunction with "readwrite" permission', () => { + testParameters.grantToFunction(lambda, 'readwrite'); + template = synth(); + + const { functions, policies } = getFunctionAndPolicySnapshots(); + expect(functions).toMatchSnapshot(snapshotMessage); + expect(policies).toMatchSnapshot(snapshotMessage); + }); + + test('grantToFunctions grants to multiple functions', () => { + testParameters.grantToFunctions([lambda, lambda2], 'read'); + template = synth(); + + const { functions, policies } = getFunctionAndPolicySnapshots(); + expect(functions).toMatchSnapshot(snapshotMessage); + expect(policies).toMatchSnapshot(snapshotMessage); + }); +}); diff --git a/libs/cdk-utils/src/lib/constructs/ssm-parameter-group.ts b/libs/cdk-utils/src/lib/constructs/ssm-parameter-group.ts new file mode 100644 index 00000000..c318d44a --- /dev/null +++ b/libs/cdk-utils/src/lib/constructs/ssm-parameter-group.ts @@ -0,0 +1,91 @@ +import { Stage } from 'aws-cdk-lib'; +import { Function } from 'aws-cdk-lib/aws-lambda'; +import { type IStringParameter } from 'aws-cdk-lib/aws-ssm'; +import { Construct } from 'constructs'; + +/** + * Abstract class to group SSM parameters together. + * + * This class is used to group SSM parameters together and grant permissions to functions. + * + * @example + * ```ts + * class ClientParameters extends SsmParameterGroup<'CLIENT_USERNAME' | 'CLIENT_PASSWORD'> { + * public readonly parameters; + * + * constructor(scope: Construct, id = 'ClientParameters') { + * super(scope, id); + * + * const CLIENT_USERNAME = StringParameter.fromStringParameterName( + * this, + * 'clientUsername', + * `prefix/${this.stageName}/path/to/username` + * ); + * + * const CLIENT_PASSWORD = StringParameter.fromStringParameterName( + * this, + * 'clientPassword', + * `prefix/${this.stageName}/path/to/password` + * ); + * + * this.parameters = { + * CLIENT_USERNAME, + * CLIENT_PASSWORD, + * } as const; + * } + * } + * + * const clientParameters = new ClientParameters(this); + * + * clientParameters.grantToFunction(someLambdaFunction, 'read'); + */ +export abstract class SsmParameterGroup< + K extends string, + T extends Record = Record, +> extends Construct { + /** + * The parameters in this group + */ + public abstract readonly parameters: T; + + /** + * The name of the containing stage, or 'app' if no stage is found. + */ + protected readonly stageName: string; + + constructor(scope: Construct, id: string) { + super(scope, id); + + const STAGE_NAME = Stage.of(this)?.stageName; + + if (!STAGE_NAME) { + throw new Error('This construct must be used within a named CDK Stage'); + } + + this.stageName = STAGE_NAME; + } + + // TODO: Investigate using the parameters/secrets extension for fetching SSM parameters from Lambda + // https://docs.aws.amazon.com/systems-manager/latest/userguide/ps-integration-lambda-extensions.html + + // TODO: Should this generate a shared role instead? + // Concerned this might generate more cloudformation than it needs to + grantToFunction(grantee: Function, permission: 'read' | 'write' | 'readwrite') { + Object.entries(this.parameters).forEach(([key, param]) => { + grantee.addEnvironment(key, param.parameterName); + if (permission === 'write' || permission === 'readwrite') { + param.grantWrite(grantee); + } + + if (permission === 'read' || permission === 'readwrite') { + param.grantRead(grantee); + } + }); + } + + grantToFunctions(grantees: Function[], permission: 'read' | 'write' | 'readwrite') { + grantees.forEach(grantee => { + this.grantToFunction(grantee, permission); + }); + } +} diff --git a/libs/cdk-utils/src/lib/constructs/step-function-from-file.test.ts b/libs/cdk-utils/src/lib/constructs/step-function-from-file.test.ts new file mode 100644 index 00000000..b05f4137 --- /dev/null +++ b/libs/cdk-utils/src/lib/constructs/step-function-from-file.test.ts @@ -0,0 +1,74 @@ +import { Stack } from 'aws-cdk-lib'; +import { Match, Template } from 'aws-cdk-lib/assertions'; +import { Code, Runtime } from 'aws-cdk-lib/aws-lambda'; +import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs'; +import { join as pathJoin } from 'path'; +import { beforeEach, describe, expect, test } from 'vitest'; +import { StepFunctionFromFile } from './step-function-from-file'; + +const snapshotMessage = 'Rerun tests with the -u flag to update snapshots if changes are expected'; + +describe('StepFunctionFromFile', () => { + let stack: Stack; + + beforeEach(() => { + stack = new Stack(); + new StepFunctionFromFile(stack, 'MyStateMachine', { + filepath: pathJoin(__dirname, '__data__', 'test-machine.asl.yaml'), + }); + }); + + test('creates a state machine from a file', () => { + const template = Template.fromStack(stack); + + const stateMachines = template.findResources('AWS::StepFunctions::StateMachine'); + expect(stateMachines).toMatchSnapshot(snapshotMessage); + }); + + test('creates a state machine with lambda functions', () => { + // Create test lambda functions + const lambda = new NodejsFunction(stack, 'TestFunction', { + runtime: Runtime.NODEJS_22_X, + handler: 'index.handler', + code: Code.fromInline('exports.handler = async () => ({ statusCode: 200 });'), + }); + + const otherLambda = new NodejsFunction(stack, 'OtherTestFunction', { + runtime: Runtime.NODEJS_22_X, + handler: 'index.handler', + code: Code.fromInline('exports.handler = async () => ({ statusCode: 200 });'), + }); + + new StepFunctionFromFile(stack, 'LambdaStateMachine', { + filepath: pathJoin(__dirname, '__data__', 'test-machine.asl.yaml'), + lambdaFunctions: [lambda, otherLambda], + definitionSubstitutions: { + ExtraParam: 'ExtraValue', + }, + }); + + const template = Template.fromStack(stack); + + template.hasResourceProperties('AWS::StepFunctions::StateMachine', { + DefinitionSubstitutions: { + ExtraParam: 'ExtraValue', + TestFunction: { 'Fn::GetAtt': [Match.stringLikeRegexp('TestFunction.*'), 'Arn'] }, + OtherTestFunction: { + 'Fn::GetAtt': [Match.stringLikeRegexp('OtherTestFunction.*'), 'Arn'], + }, + }, + }); + + // Check that IAM policies grant invoke permissions (there should be 2 policies, one for each lambda) + template.hasResourceProperties('AWS::IAM::Policy', { + PolicyDocument: { + Statement: Match.arrayWith([ + Match.objectLike({ + Action: 'lambda:InvokeFunction', + Effect: 'Allow', + }), + ]), + }, + }); + }); +}); diff --git a/libs/cdk-utils/src/lib/constructs/step-function-from-file.ts b/libs/cdk-utils/src/lib/constructs/step-function-from-file.ts new file mode 100644 index 00000000..3f8bdea5 --- /dev/null +++ b/libs/cdk-utils/src/lib/constructs/step-function-from-file.ts @@ -0,0 +1,101 @@ +import type { Function } from 'aws-cdk-lib/aws-lambda'; +import { + DefinitionBody, + StateMachine, + type StateMachineProps, +} from 'aws-cdk-lib/aws-stepfunctions'; +import { Construct } from 'constructs'; + +export interface StepFunctionFromFileProps extends StateMachineProps { + readonly filepath: string; + readonly lambdaFunctions?: Function[]; +} + +/** + * Merges Lambda function ARNs into definition substitutions + * + * Creates definition substitutions that map Lambda function IDs to their ARNs, + * enabling the use of `${functionId}` placeholders in Step Function definitions. + * + * @param props - The Step Function properties containing lambda functions and substitutions + * @returns Object with merged definition substitutions, or empty object if no lambda functions + */ +function prepareDefinitionSubstitutionsObject(props: StepFunctionFromFileProps) { + const { definitionSubstitutions, lambdaFunctions } = props; + + if (!lambdaFunctions?.length) { + return {}; + } + + const lambdaDefinitions = Object.fromEntries( + lambdaFunctions.map(fn => [fn.node.id, fn.functionArn]) + ); + + return { definitionSubstitutions: { ...definitionSubstitutions, ...lambdaDefinitions } }; +} + +/** + * Step Function construct that loads its definition from a file + * + * Extends the standard StateMachine construct to load the state machine definition + * from an external YAML or JSON file. + * + * Supports automatic Lambda function integration + * through definition substitutions and IAM permission grants. + * + * Features: + * - Loads definition from external files (YAML or JSON) + * - Automatic Lambda function ARN substitution using `${functionId}` placeholders + * - Automatic IAM permission grants for Lambda function invocation + * + * @example + * ```typescript + * // Basic usage + * new StepFunctionFromFile(this, 'MyWorkflow', { + * filepath: 'src/step-functions/workflow.asl.yaml', + * }); + * + * // With Lambda function integration + * new StepFunctionFromFile(this, 'WorkflowWithLambdas', { + * filepath: 'src/step-functions/workflow.asl.yaml', + * lambdaFunctions: [processFunction, validateFunction], + * definitionSubstitutions: { + * BucketName: myBucket.bucketName, + * }, + * }); + * ``` + * + * @see https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_stepfunctions.StateMachine.html + */ +export class StepFunctionFromFile extends StateMachine { + /** + * Creates a new StepFunctionFromFile construct + * + * @param scope - The parent construct + * @param id - The construct ID + * @param props - Properties including file path and optional Lambda functions + */ + constructor(scope: Construct, id: string, props: StepFunctionFromFileProps) { + // Add lambda functions to definition substitutions if they have been provided + const definitionSubstitutionsObject = prepareDefinitionSubstitutionsObject(props); + + const { filepath, ...newProps } = { + ...props, + ...definitionSubstitutionsObject, + }; + + super(scope, id, { + definitionBody: DefinitionBody.fromFile(props.filepath), + ...newProps, + }); + + // If lambda functions are provided, give the state machine + // permission to invoke them + // TODO Is there a more efficient way to do this? + if (props.lambdaFunctions) { + props.lambdaFunctions.forEach(fn => { + fn.grantInvoke(this); + }); + } + } +} diff --git a/libs/cdk-utils/src/lib/injectors/__data__/test-machine.asl.yaml b/libs/cdk-utils/src/lib/injectors/__data__/test-machine.asl.yaml new file mode 100644 index 00000000..1e11917f --- /dev/null +++ b/libs/cdk-utils/src/lib/injectors/__data__/test-machine.asl.yaml @@ -0,0 +1,11 @@ +Comment: A simple minimal example of a Step Functions state machine +StartAt: Hello +States: + Hello: + Type: Pass + Result: Hello + Next: World + World: + Type: Pass + Result: World + End: true \ No newline at end of file diff --git a/libs/cdk-utils/src/lib/injectors/bucket-defaults-injector.test.ts b/libs/cdk-utils/src/lib/injectors/bucket-defaults-injector.test.ts new file mode 100644 index 00000000..e6160087 --- /dev/null +++ b/libs/cdk-utils/src/lib/injectors/bucket-defaults-injector.test.ts @@ -0,0 +1,109 @@ +import { PropertyInjectors, RemovalPolicy, Stack } from 'aws-cdk-lib'; +import { Template } from 'aws-cdk-lib/assertions'; +import { Bucket, BucketEncryption } from 'aws-cdk-lib/aws-s3'; +import { beforeEach, describe, expect, it } from 'vitest'; +import { BucketDefaultsInjector } from './bucket-defaults-injector'; + +describe('BucketDefaultsInjector', () => { + let stack: Stack; + + beforeEach(() => { + stack = new Stack(); + PropertyInjectors.of(stack).add(new BucketDefaultsInjector()); + }); + + it('should inject auto-delete and destroy defaults', () => { + new Bucket(stack, 'TestBucket'); + + const template = Template.fromStack(stack); + + template.hasResourceProperties('Custom::S3AutoDeleteObjects', {}); + + template.hasResource('AWS::S3::Bucket', { + DeletionPolicy: 'Delete', + UpdateReplacePolicy: 'Delete', + }); + }); + + it('should set autoDelete to false when explicitly configured', () => { + const injector = new BucketDefaultsInjector({ autoDelete: false }).withProps({ + versioned: true, + encryption: BucketEncryption.S3_MANAGED, + }); + PropertyInjectors.of(stack).add(injector); + + new Bucket(stack, 'TestBucket'); + + const template = Template.fromStack(stack); + + template.hasResource('AWS::S3::Bucket', { + DeletionPolicy: 'Retain', + UpdateReplacePolicy: 'Retain', + }); + + template.resourceCountIs('Custom::S3AutoDeleteObjects', 0); + }); + + it('should allow overriding defaults with explicit properties', () => { + new Bucket(stack, 'TestBucket', { + removalPolicy: RemovalPolicy.RETAIN, + autoDeleteObjects: false, + }); + + const template = Template.fromStack(stack); + + expect(() => { + template.hasResourceProperties('Custom::S3AutoDeleteObjects', {}); + }).toThrow(); + + template.hasResource('AWS::S3::Bucket', { + DeletionPolicy: 'Retain', + UpdateReplacePolicy: 'Retain', + }); + }); + + it('should work with withProps to add additional defaults', () => { + const injector = new BucketDefaultsInjector().withProps({ + versioned: true, + encryption: BucketEncryption.S3_MANAGED, + }); + PropertyInjectors.of(stack).add(injector); + + new Bucket(stack, 'TestBucket'); + + const template = Template.fromStack(stack); + + template.hasResourceProperties('AWS::S3::Bucket', { + VersioningConfiguration: { + Status: 'Enabled', + }, + BucketEncryption: { + ServerSideEncryptionConfiguration: [ + { + ServerSideEncryptionByDefault: { + SSEAlgorithm: 'AES256', + }, + }, + ], + }, + }); + + template.hasResourceProperties('Custom::S3AutoDeleteObjects', {}); + }); + + it('should apply defaults to multiple buckets', () => { + new Bucket(stack, 'Bucket1'); + new Bucket(stack, 'Bucket2'); + new Bucket(stack, 'Bucket3'); + + const template = Template.fromStack(stack); + + const resources = template.findResources('AWS::S3::Bucket'); + expect(Object.keys(resources)).toHaveLength(3); + + Object.values(resources).forEach(resource => { + expect(resource.DeletionPolicy).toBe('Delete'); + expect(resource.UpdateReplacePolicy).toBe('Delete'); + }); + }); +}); diff --git a/libs/cdk-utils/src/lib/injectors/bucket-defaults-injector.ts b/libs/cdk-utils/src/lib/injectors/bucket-defaults-injector.ts new file mode 100644 index 00000000..6d649454 --- /dev/null +++ b/libs/cdk-utils/src/lib/injectors/bucket-defaults-injector.ts @@ -0,0 +1,109 @@ +import { RemovalPolicy, type InjectionContext, type IPropertyInjector } from 'aws-cdk-lib'; +import { Bucket, type BucketProps } from 'aws-cdk-lib/aws-s3'; +import { logInjector } from './log-injector'; + +/** + * Property injector for S3 Buckets with configuration-aware defaults + * + * Applies sensible defaults to S3 buckets to ensure clean stack deletion + * and prevent orphaned resources. By default, buckets are configured to: + * - Auto-delete all objects when the bucket is removed + * - Destroy the bucket when the stack is deleted + * + * These defaults can be overridden by explicitly providing different values + * in the bucket properties. + * + * Configuration-specific behavior: + * - All configurations: Apply auto-delete and destroy policies by default + * - Production configurations may want to override with RETAIN for critical data + * + * @example + * ```typescript + * // Apply bucket defaults globally + * PropertyInjectors.of(scope).add( + * new BucketDefaultsInjector() + * ); + * + * // Buckets automatically get cleanup defaults + * new Bucket(stack, 'MyBucket', { + * // autoDeleteObjects: true (injected) + * // removalPolicy: DESTROY (injected) + * }); + * + * // Override defaults for critical data + * new Bucket(stack, 'CriticalData', { + * removalPolicy: RemovalPolicy.RETAIN, // Overrides injected default + * autoDeleteObjects: false, // Overrides injected default + * }); + * ``` + * + * @see https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3.Bucket.html + */ +export class BucketDefaultsInjector implements IPropertyInjector { + public readonly constructUniqueId = Bucket.PROPERTY_INJECTION_ID; + private defaultProps: BucketProps; + + /** + * Creates a new BucketDefaultsInjector + * + * @param configuration - Configuration identifier used for logging. + * @param configuration.autoDelete - Whether to auto-delete objects when the bucket is removed. + */ + constructor( + private readonly configuration: { + autoDelete: boolean; + } = { + autoDelete: true, + } + ) { + this.defaultProps = { + autoDeleteObjects: configuration.autoDelete, + removalPolicy: configuration.autoDelete ? RemovalPolicy.DESTROY : RemovalPolicy.RETAIN, + }; + } + + /** + * Creates a new injector instance with additional properties + * + * Returns a new injector that inherits the current configuration but includes + * additional properties that override the default cleanup behavior. + * + * @param props - Additional properties to merge with defaults + * @returns A new injector instance with merged properties + * + * @example + * ```typescript + * const customInjector = new BucketDefaultsInjector({ + * autoDelete: false, + * }) + * .withProps({ + * versioned: true, + * encryption: BucketEncryption.S3_MANAGED, + * }); + * ``` + */ + public withProps(props: BucketProps) { + const modifiedInjector = new BucketDefaultsInjector(this.configuration); + modifiedInjector.defaultProps = { ...this.defaultProps, ...props }; + return modifiedInjector; + } + + /** + * Injects default cleanup properties into bucket configuration + * + * Merges default auto-delete and removal policies with user-provided properties. + * User-provided properties take precedence over injected defaults. + * + * @param originalProps - Properties provided when creating the bucket + * @param context - CDK injection context containing construct information + * @returns Merged properties with injected defaults + */ + public inject(originalProps: BucketProps, context: InjectionContext) { + logInjector(this.constructor.name, this.configuration, context); + // User-provided properties take precedence over defaults + return { + ...this.defaultProps, + ...originalProps, + }; + } +} diff --git a/libs/cdk-utils/src/lib/injectors/index.ts b/libs/cdk-utils/src/lib/injectors/index.ts new file mode 100644 index 00000000..3d608e39 --- /dev/null +++ b/libs/cdk-utils/src/lib/injectors/index.ts @@ -0,0 +1,5 @@ +/* v8 ignore start */ +export * from './bucket-defaults-injector'; +export * from './log-group-defaults-injector'; +export * from './nodejs-function-defaults-injector'; +export * from './step-function-defaults-injector'; diff --git a/libs/cdk-utils/src/lib/injectors/log-group-defaults-injector.test.ts b/libs/cdk-utils/src/lib/injectors/log-group-defaults-injector.test.ts new file mode 100644 index 00000000..adf9c774 --- /dev/null +++ b/libs/cdk-utils/src/lib/injectors/log-group-defaults-injector.test.ts @@ -0,0 +1,48 @@ +import { PropertyInjectors, Stack } from 'aws-cdk-lib'; +import { Template } from 'aws-cdk-lib/assertions'; +import { LogGroup, RetentionDays } from 'aws-cdk-lib/aws-logs'; +import { LogGroupDefaultsInjector } from './log-group-defaults-injector'; + +describe('LogGroupDefaultsInjector', () => { + let stack: Stack; + + beforeEach(() => { + stack = new Stack(); + stack.node.setContext('aws:cdk:bundling-stacks', []); + PropertyInjectors.of(stack).add(new LogGroupDefaultsInjector()); + }); + + it('applies long duration defaults to log groups', () => { + new LogGroup(stack, 'TestLogGroup'); + + const template = Template.fromStack(stack); + + template.hasResourceProperties('AWS::Logs::LogGroup', { + RetentionInDays: RetentionDays.TWO_YEARS, + }); + }); + + it('applies short duration configuration when specified', () => { + PropertyInjectors.of(stack).add(new LogGroupDefaultsInjector({ duration: 'SHORT' })); + + new LogGroup(stack, 'ShortLogGroup'); + + const template = Template.fromStack(stack); + + template.hasResourceProperties('AWS::Logs::LogGroup', { + RetentionInDays: RetentionDays.ONE_WEEK, + }); + }); + + it('applies medium duration configuration when specified', () => { + PropertyInjectors.of(stack).add(new LogGroupDefaultsInjector({ duration: 'MEDIUM' })); + + new LogGroup(stack, 'MediumLogGroup'); + + const template = Template.fromStack(stack); + + template.hasResourceProperties('AWS::Logs::LogGroup', { + RetentionInDays: RetentionDays.SIX_MONTHS, + }); + }); +}); diff --git a/libs/cdk-utils/src/lib/injectors/log-group-defaults-injector.ts b/libs/cdk-utils/src/lib/injectors/log-group-defaults-injector.ts new file mode 100644 index 00000000..f3398828 --- /dev/null +++ b/libs/cdk-utils/src/lib/injectors/log-group-defaults-injector.ts @@ -0,0 +1,120 @@ +import { RemovalPolicy, type InjectionContext, type IPropertyInjector } from 'aws-cdk-lib'; +import { LogGroup, RetentionDays, type LogGroupProps } from 'aws-cdk-lib/aws-logs'; +import { logInjector } from './log-injector'; + +/** + * Property injector for CloudWatch Log Groups with configuration-aware defaults + * + * Applies configuration-specific retention policies and removal settings to log groups. + * Different configurations balance between cost optimization and data retention needs. + * + * Configuration-specific defaults: + * - 'dev': Short retention (1 week), destroyed with stack + * - 'stg': Medium retention (6 months), destroyed with stack + * - Default: Long retention (2 years), retained when stack is deleted + * + * @example + * ```typescript + * // Apply configuration-specific defaults + * PropertyInjectors.of(scope).add( + * new LogGroupDefaultsInjector({ duration: 'SHORT' }).withProps({ + * logGroupName: '/custom/log/group', + * }) + * ); + * + * // Log groups automatically inherit configuration defaults + * new LogGroup(stack, 'MyLogGroup', { + * // retention and removal policy applied automatically + * }); + * ``` + * + * @see https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_logs.LogGroup.html + */ +export class LogGroupDefaultsInjector implements IPropertyInjector { + readonly constructUniqueId = LogGroup.PROPERTY_INJECTION_ID; + private defaultProps: LogGroupProps; + + /** + * Creates a new LogGroupDefaultsInjector + * + * @param configuration - Configuration identifier used to select appropriate defaults. + */ + constructor( + private readonly configuration: { + duration: 'SHORT' | 'MEDIUM' | 'LONG'; + } = { + duration: 'LONG', + } + ) { + this.defaultProps = { + ...retentionProperties(configuration.duration), + }; + } + + /** + * Creates a new injector instance with additional properties + * + * Returns a new injector that inherits the current configuration but includes + * additional properties that override the configuration defaults. + * + * @param props - Additional properties to merge with configuration defaults + * @returns A new injector instance with merged properties + * + * @example + * ```typescript + * const customInjector = new LogGroupDefaultsInjector({ duration: 'SHORT' }) + * .withProps({ + * logGroupName: '/aws/lambda/custom', + * retention: RetentionDays.ONE_MONTH, + * }); + * ``` + */ + public withProps(props: LogGroupProps) { + const modifiedInjector = new LogGroupDefaultsInjector(this.configuration); + modifiedInjector.defaultProps = { ...this.defaultProps, ...props }; + return modifiedInjector; + } + + /** + * Injects configuration-appropriate defaults into log group properties + * + * Merges configuration-specific retention and removal policies with user-provided properties. + * + * @param originalProps - Properties provided when creating the log group + * @param context - CDK injection context containing construct information + * @returns Merged properties with injected defaults + */ + public inject(originalProps: LogGroupProps, context: InjectionContext) { + logInjector(this.constructor.name, this.configuration, context); + return { + ...this.defaultProps, + ...originalProps, + }; + } +} + +/** + * Get duration-specific log group properties + * + * @param duration - The duration to get the log group properties for + * @returns The log group properties for the duration + */ +function retentionProperties(duration: 'SHORT' | 'MEDIUM' | 'LONG') { + switch (true) { + case duration === 'SHORT': + return { + retention: RetentionDays.ONE_WEEK, + removalPolicy: RemovalPolicy.DESTROY, + }; + case duration === 'MEDIUM': + return { + retention: RetentionDays.SIX_MONTHS, + removalPolicy: RemovalPolicy.DESTROY, + }; + default: + return { + retention: RetentionDays.TWO_YEARS, + removalPolicy: RemovalPolicy.RETAIN, + }; + } +} diff --git a/libs/cdk-utils/src/lib/injectors/log-injector.ts b/libs/cdk-utils/src/lib/injectors/log-injector.ts new file mode 100644 index 00000000..77e8b3c3 --- /dev/null +++ b/libs/cdk-utils/src/lib/injectors/log-injector.ts @@ -0,0 +1,40 @@ +import type { InjectionContext } from 'aws-cdk-lib'; +import { Stage } from 'aws-cdk-lib'; +import { inspect } from 'util'; + +/* v8 ignore start */ +// TODO: Replace this with a decorator when we move away from ESBuild bundling +export function logInjector( + constructorName: string, + configuration: unknown, + context: InjectionContext +) { + if (process.env.DEBUG === 'true') { + // ANSI color codes for terminal output + const cyan = '\x1b[36m'; + const yellow = '\x1b[33m'; + const green = '\x1b[32m'; + const reset = '\x1b[0m'; + const dim = '\x1b[2m'; + + const stageName = Stage.of(context.scope)?.stageName || 'unknown'; + + console.log( + `${cyan}โ–บ ${constructorName}${reset}: Injecting defaults for ${yellow}${context.id}${reset} in stage ${green}${stageName}${reset}` + ); + + // Pretty-print the configuration with colors and indentation + const formattedConfig = inspect(configuration, { + colors: true, + depth: 4, + compact: false, + sorted: true, + }); + + console.log(`${dim} Configuration:${reset}`); + // Indent each line of the configuration for better readability + formattedConfig.split('\n').forEach(line => { + console.log(` ${line}`); + }); + } +} diff --git a/libs/cdk-utils/src/lib/injectors/nodejs-function-defaults-injector.test.ts b/libs/cdk-utils/src/lib/injectors/nodejs-function-defaults-injector.test.ts new file mode 100644 index 00000000..e2d8647f --- /dev/null +++ b/libs/cdk-utils/src/lib/injectors/nodejs-function-defaults-injector.test.ts @@ -0,0 +1,102 @@ +import { PropertyInjectors, Stack } from 'aws-cdk-lib'; +import { Template } from 'aws-cdk-lib/assertions'; +import { Code, Runtime } from 'aws-cdk-lib/aws-lambda'; +import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs'; +import { NodeJsFunctionDefaultsInjector } from './nodejs-function-defaults-injector'; + +describe('NodeJsFunctionDefaultsInjector', () => { + let stack: Stack; + + beforeEach(() => { + stack = new Stack(); + stack.node.setContext('aws:cdk:bundling-stacks', []); // Prevent CDK from bundling lambda functions + }); + + it('Should set the NodeJs runtime', () => { + PropertyInjectors.of(stack).add(new NodeJsFunctionDefaultsInjector()); + + new NodejsFunction(stack, 'TestFunction', { + runtime: Runtime.NODEJS_22_X, + handler: 'index.handler', + code: Code.fromInline('exports.handler = async () => ({ statusCode: 200 });'), + }); + + const template = Template.fromStack(stack); + template.hasResourceProperties('AWS::Lambda::Function', { + Runtime: Runtime.NODEJS_22_X.name, + }); + }); + + it('Should default to production configuration', () => { + PropertyInjectors.of(stack).add(new NodeJsFunctionDefaultsInjector()); + + new NodejsFunction(stack, 'TestFunction', { + runtime: Runtime.NODEJS_22_X, + handler: 'index.handler', + code: Code.fromInline('exports.handler = async () => ({ statusCode: 200 });'), + }); + + const template = Template.fromStack(stack); + template.hasResourceProperties('AWS::Lambda::Function', { + Environment: { + Variables: { + NODE_OPTIONS: '--enable-source-maps', + }, + }, + }); + }); + + it('Should add additional properties', () => { + PropertyInjectors.of(stack).add( + new NodeJsFunctionDefaultsInjector().withProps({ + memorySize: 1024, + }) + ); + + new NodejsFunction(stack, 'TestFunction', { + runtime: Runtime.NODEJS_22_X, + handler: 'index.handler', + code: Code.fromInline('exports.handler = async () => ({ statusCode: 200 });'), + }); + + const template = Template.fromStack(stack); + template.hasResourceProperties('AWS::Lambda::Function', { + MemorySize: 1024, + }); + }); + + test('merges bundling and environment properties correctly', () => { + PropertyInjectors.of(stack).add( + new NodeJsFunctionDefaultsInjector({ + sourceMap: false, + esm: true, + minify: false, + }) + ); + + new NodejsFunction(stack, 'TestFunction', { + runtime: Runtime.NODEJS_22_X, + handler: 'index.handler', + code: Code.fromInline('exports.handler = async () => ({ statusCode: 200 });'), + bundling: { + // Sourcemaps would normally be false in 'dev' configuration + sourceMap: true, + }, + environment: { + BUCKET_NAME: 'test-bucket', + }, + }); + + const template = Template.fromStack(stack); + + // Check that NODE_OPTIONS is set due to sourceMap: true from context + template.hasResourceProperties('AWS::Lambda::Function', { + Environment: { + Variables: { + BUCKET_NAME: 'test-bucket', + NODE_OPTIONS: '--enable-source-maps', + }, + }, + }); + }); +}); diff --git a/libs/cdk-utils/src/lib/injectors/nodejs-function-defaults-injector.ts b/libs/cdk-utils/src/lib/injectors/nodejs-function-defaults-injector.ts new file mode 100644 index 00000000..cba6eaae --- /dev/null +++ b/libs/cdk-utils/src/lib/injectors/nodejs-function-defaults-injector.ts @@ -0,0 +1,188 @@ +import { type InjectionContext, type IPropertyInjector } from 'aws-cdk-lib'; +import { Runtime, Tracing } from 'aws-cdk-lib/aws-lambda'; +import { + NodejsFunction, + OutputFormat, + type NodejsFunctionProps, +} from 'aws-cdk-lib/aws-lambda-nodejs'; +import { logInjector } from './log-injector'; + +/** + * ESM support banner + * + * This is a workaround to support ESM in Lambda functions. + * Aliases are used to avoid name conflicts, this may not be a real issue + * + * @see https://github.com/evanw/esbuild/issues/1944 + * @see https://aws.plainenglish.io/significantly-improve-typescript-lambda-function-readability-in-aws-console-613bc5ae98f6 + */ +const ESM_SUPPORT_BANNER = [ + `import { fileURLToPath } from 'url';`, + `import { createRequire as topLevelCreateRequire } from 'module';`, + `import { dirname as ddirname } from 'path';`, + `const require = topLevelCreateRequire(import.meta.url);`, + `const __filename = fileURLToPath(import.meta.url);`, + `const __dirname = ddirname(__filename);`, +].join(''); // Must be a single line, if the banner has `\n` characters they cause a syntax error + +/** + * Property injector for Node.js Lambda functions with configuration-aware defaults + * + * Applies configuration-specific bundling and runtime settings to Lambda functions. + * Different configurations can optimize for different priorities such as build speed, + * bundle size, or debugging capabilities. + * + * @example + * ```typescript + * // Apply configuration-specific defaults + * PropertyInjectors.of(scope).add( + * new NodeJsFunctionDefaultsInjector({ + * sourceMaps: true, + * esm: true, + * minify: true, + * }).withProps({ + * timeout: Duration.seconds(30), + * memorySize: 256, + * }) + * ); + * + * // Functions automatically inherit configuration defaults + * new Function(stack, 'MyFunction', { + * code: Code.fromAsset('src/lambda'), + * handler: 'index.handler', + * // bundling and runtime config applied automatically + * }); + * ``` + * + * @see https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda_nodejs.NodejsFunction.html + */ +export class NodeJsFunctionDefaultsInjector implements IPropertyInjector { + public readonly constructUniqueId = NodejsFunction.PROPERTY_INJECTION_ID; + + private defaultProps: NodejsFunctionProps; + + /** + * Creates a new NodeJsFunctionDefaultsInjector + * + * @param configuration - Configuration identifier used to select appropriate defaults. Uses production defaults if not specified. + * @param configuration.sourceMap - Whether to enable source maps. + * @param configuration.esm - Whether to enable ESM support. + * @param configuration.minify - Whether to enable minification. + */ + constructor( + private readonly configuration: { + sourceMap: boolean; + esm: boolean; + minify: boolean; + } = { + sourceMap: true, + esm: true, + minify: true, + } + ) { + this.defaultProps = { + runtime: Runtime.NODEJS_22_X, + bundling: bundlingProperties(configuration), + tracing: Tracing.ACTIVE, + }; + } + + /** + * Creates a new injector instance with additional properties + * + * Returns a new injector that inherits the current configuration but includes + * additional properties that override the configuration defaults. + * + * @param props - Additional properties to merge with configuration defaults + * @returns A new injector instance with merged properties + * + * @example + * ```typescript + * const customInjector = new NodeJsFunctionDefaultsInjector({ + * sourceMaps: false, + * esm: false, + * minify: false, + * }) + * .withProps({ + * timeout: Duration.minutes(5), + * memorySize: 1024, + * }); + * ``` + * + * TODO: Provide a nice way to inherit global properties from previous injectors + */ + public withProps(props: NodejsFunctionProps) { + const modifiedInjector = new NodeJsFunctionDefaultsInjector(this.configuration); + modifiedInjector.defaultProps = { ...this.defaultProps, ...props }; + return modifiedInjector; + } + + /** + * Injects configuration-appropriate defaults into Lambda function properties + * + * Merges configuration-specific defaults with user-provided properties, + * automatically configuring bundling options and runtime settings. + * + * @param originalProps - Properties provided when creating the function + * @param context - CDK injection context containing construct information + * @returns Merged properties with injected defaults + */ + public inject(originalProps: NodejsFunctionProps, context: InjectionContext) { + logInjector(this.constructor.name, this.configuration, context); + + // The NodeJsFunction constructor pre-sets runtime to 16.x or LATEST depending on feature flags + // We assume that using this injector means you want to standardise the runtime across all lambdas + const runtime = this.defaultProps.runtime; + + const props = { + ...this.defaultProps, + ...originalProps, + runtime, + }; + + // If source maps are enabled in our bundling, add the required NODE_OPTIONS flag to the environment + const environment = { + ...props.environment, + ...(props.bundling?.sourceMap ? { NODE_OPTIONS: '--enable-source-maps' } : {}), + }; + + return { + ...props, + environment, + }; + } +} + +/** + * Returns configuration-specific bundling properties for Lambda functions + * + * Provides optimized bundling configurations for different environments: + * - 'dev': Fast builds for development (no minification, bundle analysis enabled) + * - 'stg': Balanced configuration for staging + * - Default: Production-optimized (minified, tree-shaking enabled) + * + * @param configuration - Configuration identifier to determine bundling strategy + * @returns Bundling properties optimized for the specified configuration + */ +function bundlingProperties({ + sourceMap, + esm, + minify, +}: { + sourceMap: boolean; + esm: boolean; + minify: boolean; +}) { + return { + ...(sourceMap && { sourceMap: true }), + ...(esm && { format: OutputFormat.ESM, banner: ESM_SUPPORT_BANNER }), + ...(minify && { + keepNames: true, + minify: true, + buildArgs: { + bundle: 'true', + treeShaking: 'true', + }, + }), + }; +} diff --git a/libs/cdk-utils/src/lib/injectors/step-function-defaults-injector.test.ts b/libs/cdk-utils/src/lib/injectors/step-function-defaults-injector.test.ts new file mode 100644 index 00000000..4cb70a64 --- /dev/null +++ b/libs/cdk-utils/src/lib/injectors/step-function-defaults-injector.test.ts @@ -0,0 +1,52 @@ +import { PropertyInjectors, Stack } from 'aws-cdk-lib'; +import { Template } from 'aws-cdk-lib/assertions'; +import { DefinitionBody, StateMachine, StateMachineType } from 'aws-cdk-lib/aws-stepfunctions'; +import { join } from 'node:path'; +import { StepFunctionDefaultsInjector } from './step-function-defaults-injector'; + +describe('StepFunctionDefaultsInjector', () => { + let stack: Stack; + + beforeEach(() => { + stack = new Stack(); + PropertyInjectors.of(stack).add(new StepFunctionDefaultsInjector()); + }); + + it('Creates a log group for EXPRESS step functions', () => { + new StateMachine(stack, 'ExpressStateMachine', { + definitionBody: DefinitionBody.fromFile( + join(__dirname, '__data__', 'test-machine.asl.yaml') + ), + stateMachineType: StateMachineType.EXPRESS, + }); + + const template = Template.fromStack(stack); + + const logGroupId = template.getResourceId('AWS::Logs::LogGroup'); + template.hasResourceProperties('AWS::StepFunctions::StateMachine', { + LoggingConfiguration: { + Destinations: [ + { + CloudWatchLogsLogGroup: { + LogGroupArn: { + 'Fn::GetAtt': [logGroupId, 'Arn'], + }, + }, + }, + ], + }, + }); + }); + + it('Does not create a log group for STANDARD step functions', () => { + new StateMachine(stack, 'StateMachine', { + definitionBody: DefinitionBody.fromFile( + join(__dirname, '__data__', 'test-machine.asl.yaml') + ), + }); + + const template = Template.fromStack(stack); + + template.resourceCountIs('AWS::Logs::LogGroup', 0); + }); +}); diff --git a/libs/cdk-utils/src/lib/injectors/step-function-defaults-injector.ts b/libs/cdk-utils/src/lib/injectors/step-function-defaults-injector.ts new file mode 100644 index 00000000..4956b4c3 --- /dev/null +++ b/libs/cdk-utils/src/lib/injectors/step-function-defaults-injector.ts @@ -0,0 +1,134 @@ +import { type InjectionContext, type IPropertyInjector } from 'aws-cdk-lib'; +import { LogGroup } from 'aws-cdk-lib/aws-logs'; +import { + LogLevel, + StateMachine, + StateMachineType, + type StateMachineProps, +} from 'aws-cdk-lib/aws-stepfunctions'; +import type { Construct } from 'constructs'; +import { logInjector } from './log-injector'; + +type StepFunctionDefaults = Omit; + +/** + * Property injector for Step Functions with configuration-aware defaults + * + * Applies configuration-specific settings to Step Functions. All configurations enable + * X-Ray tracing by default for observability. For EXPRESS state machines, automatically + * creates log groups and configures comprehensive logging. + * + * @example + * ```typescript + * // Apply configuration-specific defaults + * PropertyInjectors.of(scope).add( + * new StepFunctionDefaultsInjector('dev').withProps({ + * timeout: Duration.minutes(30), + * }) + * ); + * + * // Step Functions automatically inherit defaults + * new StateMachine(stack, 'MyWorkflow', { + * stateMachineType: StateMachineType.EXPRESS, + * definitionBody: DefinitionBody.fromFile('workflow.asl.yaml'), + * // tracing enabled and logging configured automatically for EXPRESS + * }); + * ``` + * + * @see https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_stepfunctions.StateMachine.html + */ +export class StepFunctionDefaultsInjector implements IPropertyInjector { + public readonly constructUniqueId = StateMachine.PROPERTY_INJECTION_ID; + + private defaultProps: StateMachineProps; + + /** + * Creates a new StepFunctionDefaultsInjector + * + * @param configuration - Configuration identifier (currently unused but maintained for consistency). + * All configurations enable tracing by default. + */ + constructor(private readonly configuration?: Record) { + this.defaultProps = { + tracingEnabled: true, + }; + } + + /** + * Creates a new injector instance with additional properties + * + * Returns a new injector that inherits the current configuration but includes + * additional properties that override the configuration defaults. + * + * @param props - Additional properties to merge with configuration defaults + * @returns A new injector instance with merged properties + * + * @example + * ```typescript + * const customInjector = new StepFunctionDefaultsInjector('prod') + * .withProps({ + * timeout: Duration.hours(1), + * stateMachineName: 'custom-workflow', + * }); + * ``` + */ + public withProps(props: StateMachineProps) { + const modifiedInjector = new StepFunctionDefaultsInjector(this.configuration); + modifiedInjector.defaultProps = { ...this.defaultProps, ...props }; + return modifiedInjector; + } + + /** + * Injects configuration-appropriate defaults into Step Function properties + * + * Enables X-Ray tracing for all state machines. For EXPRESS state machines, + * automatically creates log groups and configures comprehensive logging. + * + * @param originalProps - Properties provided when creating the state machine + * @param context - CDK injection context containing construct information + * @returns Merged properties with injected defaults and logging configuration + */ + public inject(originalProps: StateMachineProps, context: InjectionContext) { + logInjector(this.constructor.name, this.configuration, context); + + // Prepare logging configuration for EXPRESS step functions + const logging = + originalProps.stateMachineType === StateMachineType.EXPRESS + ? expressLogProperties(context.scope, context.id, originalProps) + : {}; + + return { + ...this.defaultProps, + ...originalProps, + ...logging, + }; + } +} + +/** + * Build the logging configuration for an express step function, respecting + * existing logging configuration. + * + * @param machineScope - The scope of the step function. + * @param machineId - The id of the step function. + * @param props - The properties for the step function. + * @returns The logging configuration for an express step function + */ +function expressLogProperties( + machineScope: Construct, + machineId: string, + props: StepFunctionDefaults +) { + // Create a new log group if one is not provided + const logGroup = + props.logs?.destination ?? new LogGroup(machineScope, `/aws/states/${machineId}`); + + return { + logs: { + destination: logGroup, + level: LogLevel.ALL, + includeExecutionData: true, + ...props.logs, + }, + }; +} diff --git a/libs/cdk-utils/src/lib/rules/microservice-checks.test.ts b/libs/cdk-utils/src/lib/rules/microservice-checks.test.ts new file mode 100644 index 00000000..66e825fe --- /dev/null +++ b/libs/cdk-utils/src/lib/rules/microservice-checks.test.ts @@ -0,0 +1,91 @@ +import { App, Aspects, Stack } from 'aws-cdk-lib'; +import { Annotations, Match } from 'aws-cdk-lib/assertions'; +import { Code, Function, Runtime } from 'aws-cdk-lib/aws-lambda'; +import { LogGroup, RetentionDays } from 'aws-cdk-lib/aws-logs'; +import { beforeAll, describe, expect, it } from 'vitest'; +import { MicroserviceChecks } from './microservice-checks'; + +describe('MicroserviceChecks', () => { + it('should have the correct pack name', () => { + const checks = new MicroserviceChecks(); + + expect(checks.readPackName).toBe('Microservices'); + }); + + it('should instantiate with props', () => { + const checks = new MicroserviceChecks({ verbose: true }); + + expect(checks).toBeInstanceOf(MicroserviceChecks); + }); + + it('should instantiate without props', () => { + const checks = new MicroserviceChecks(); + + expect(checks).toBeInstanceOf(MicroserviceChecks); + }); + + it('should have a visit method', () => { + const checks = new MicroserviceChecks(); + + expect(typeof checks.visit).toBe('function'); + }); + + describe('visit', () => { + let annotations: Annotations; + + beforeAll(() => { + const app = new App({ + context: { + 'aws:cdk:bundling-stacks': [], + }, + }); + const stack = new Stack(app, 'TestStack'); + const checks = new MicroserviceChecks(); + Aspects.of(stack).add(checks); + + new Function(stack, 'TestFunction', { + runtime: Runtime.NODEJS_22_X, + handler: 'index.handler', + code: Code.fromInline('exports.handler = () => {};'), + }); + + new LogGroup(stack, 'TestLogGroup', { + logGroupName: 'TestLogGroup', + // The LogGroup construct defaults to 731 day retention, actually have to explicitly + // use RetentionDays.INFINITE to get a resource with no retention set + retention: RetentionDays.INFINITE, + }); + + // Act + annotations = Annotations.fromStack(stack); + }); + + it('should trigger a rule if the lambda does not have an explicit memory value configured', () => { + annotations.hasError( + '/TestStack/TestFunction/Resource', + Match.stringLikeRegexp('does not have an explicit memory value configured') + ); + }); + + it('should trigger a rule if the lambda does not have an explicit timeout value configured', () => { + annotations.hasError( + '/TestStack/TestFunction/Resource', + Match.stringLikeRegexp('does not have an explicitly defined timeout value') + ); + }); + + it('should trigger a rule if the lambda does not have tracing set to active', () => { + annotations.hasError( + '/TestStack/TestFunction/Resource', + Match.stringLikeRegexp('does not have tracing set to Tracing.ACTIVE') + ); + }); + + it('should trigger a rule if the cloudwatch log group does not have an explicit retention policy', () => { + annotations.hasError( + '/TestStack/TestLogGroup/Resource', + Match.stringLikeRegexp('does not have an explicit retention policy') + ); + }); + }); +}); diff --git a/libs/cdk-utils/src/lib/rules/microservice-checks.ts b/libs/cdk-utils/src/lib/rules/microservice-checks.ts new file mode 100644 index 00000000..79c71510 --- /dev/null +++ b/libs/cdk-utils/src/lib/rules/microservice-checks.ts @@ -0,0 +1,58 @@ +import { CfnResource } from 'aws-cdk-lib'; +import { NagMessageLevel, NagPack, rules, type NagPackProps } from 'cdk-nag'; +import type { IConstruct } from 'constructs'; + +/** + * Microservice Checks are a compilation of rules to validate infrastructure-as-code template + * against recommended practices using the cdk-nag library. + * + * @see https://github.com/cdk-patterns/cdk-nag/ + * + * @example + * const app = new App(); + * const stack = new Stack(app, 'MyStack'); + * Aspects.of(stack).add(new MicroservicesChecks()); + */ +export class MicroserviceChecks extends NagPack { + constructor(props?: NagPackProps) { + super(props); + this.packName = 'Microservices'; + } + + public visit(node: IConstruct) { + if (node instanceof CfnResource) { + this.applyRule({ + info: 'The Lambda function does not have an explicit memory value configured.', + explanation: + "Lambda allocates CPU power in proportion to the amount of memory configured. By default, your functions have 128 MB of memory allocated. You can increase that value up to 10 GB. With more CPU resources, your Lambda function's duration might decrease. You can use tools such as AWS Lambda Power Tuning to test your function at different memory settings to find the one that matches your cost and performance requirements the best.", + level: NagMessageLevel.ERROR, + rule: rules.lambda.LambdaDefaultMemorySize, + node: node, + }); + this.applyRule({ + info: 'The Lambda function does not have an explicitly defined timeout value.', + explanation: + 'Lambda functions have a default timeout of 3 seconds. If your timeout value is too short, Lambda might terminate invocations prematurely. On the other side, setting the timeout much higher than the average execution may cause functions to execute for longer upon code malfunction, resulting in higher costs and possibly reaching concurrency limits depending on how such functions are invoked. You can also use AWS Lambda Power Tuning to test your function at different timeout settings to find the one that matches your cost and performance requirements the best.', + level: NagMessageLevel.ERROR, + rule: rules.lambda.LambdaDefaultTimeout, + node: node, + }); + this.applyRule({ + info: 'The Lambda function does not have tracing set to Tracing.ACTIVE.', + explanation: + 'When a Lambda function has ACTIVE tracing, Lambda automatically samples invocation requests, based on the sampling algorithm specified by X-Ray.', + level: NagMessageLevel.ERROR, + rule: rules.lambda.LambdaTracing, + node: node, + }); + this.applyRule({ + info: 'The CloudWatch Log Group does not have an explicit retention policy defined.', + explanation: + 'By default, logs are kept indefinitely and never expire. You can adjust the retention policy for each log group, keeping the indefinite retention, or choosing a retention period between one day and 10 years. For Lambda functions, this applies to their automatically created CloudWatch Log Groups.', + level: NagMessageLevel.ERROR, + rule: rules.cloudwatch.CloudWatchLogGroupRetentionPeriod, + node: node, + }); + } + } +} diff --git a/libs/cdk-utils/src/lib/runtime/pickFromProcessEnv.test.ts b/libs/cdk-utils/src/lib/runtime/pickFromProcessEnv.test.ts new file mode 100644 index 00000000..435d62f5 --- /dev/null +++ b/libs/cdk-utils/src/lib/runtime/pickFromProcessEnv.test.ts @@ -0,0 +1,118 @@ +import { afterEach, beforeEach, describe, expect, it } from 'vitest'; +import { pickFromProcessEnv } from './pickFromProcessEnv'; + +describe('pickFromProcessEnv', () => { + const originalEnv = process.env; + + beforeEach(() => { + // Create a clean environment for each test + process.env = { ...originalEnv }; + }); + + afterEach(() => { + // Restore original environment + process.env = originalEnv; + }); + + it('should return object and values array when all environment variables are set', () => { + process.env.TEST_VAR1 = 'value1'; + process.env.TEST_VAR2 = 'value2'; + process.env.TEST_VAR3 = 'value3'; + + const result = pickFromProcessEnv('TEST_VAR1', 'TEST_VAR2', 'TEST_VAR3'); + + expect(result.object).toEqual({ + TEST_VAR1: 'value1', + TEST_VAR2: 'value2', + TEST_VAR3: 'value3', + }); + expect(result.values).toEqual(['value1', 'value2', 'value3']); + }); + + it('should handle a single environment variable', () => { + process.env.SINGLE_VAR = 'single_value'; + + const result = pickFromProcessEnv('SINGLE_VAR'); + + expect(result.object).toEqual({ + SINGLE_VAR: 'single_value', + }); + expect(result.values).toEqual(['single_value']); + }); + + it('should throw an error when one environment variable is not set', () => { + process.env.TEST_VAR1 = 'value1'; + process.env.TEST_VAR3 = 'value3'; + // TEST_VAR2 is not set + + expect(() => { + pickFromProcessEnv('TEST_VAR1', 'TEST_VAR2', 'TEST_VAR3'); + }).toThrow('Environment variable TEST_VAR2 is not set'); + }); + + it('should throw an error with all missing variables listed', () => { + process.env.TEST_VAR2 = 'value2'; + // TEST_VAR1 and TEST_VAR3 are not set + + expect(() => { + pickFromProcessEnv('TEST_VAR1', 'TEST_VAR2', 'TEST_VAR3'); + }).toThrow( + 'Environment variable TEST_VAR1 is not set\nEnvironment variable TEST_VAR3 is not set' + ); + }); + + it('should throw an error when all environment variables are not set', () => { + // None of the variables are set + + expect(() => { + pickFromProcessEnv('MISSING_VAR1', 'MISSING_VAR2'); + }).toThrow( + 'Environment variable MISSING_VAR1 is not set\nEnvironment variable MISSING_VAR2 is not set' + ); + }); + + it('should treat falsey values as missing', () => { + process.env.EMPTY_VAR = ''; + process.env.NORMAL_VAR = 'normal'; + + expect(() => pickFromProcessEnv('EMPTY_VAR', 'NORMAL_VAR')).toThrow( + 'Environment variable EMPTY_VAR is not set' + ); + }); + + it('should return frozen objects', () => { + process.env.TEST_VAR = 'value'; + + const result = pickFromProcessEnv('TEST_VAR'); + + expect(Object.isFrozen(result.object)).toBe(true); + expect(Object.isFrozen(result.values)).toBe(true); + }); + + it('should preserve the order of values in the array', () => { + process.env.THIRD = '3'; + process.env.FIRST = '1'; + process.env.SECOND = '2'; + + const result = pickFromProcessEnv('FIRST', 'SECOND', 'THIRD'); + + // Object order doesn't matter, but array order should match input order + expect(result.values).toEqual(['1', '2', '3']); + }); + + it('should handle special characters in environment variable values', () => { + process.env.SPECIAL_VAR = 'value with spaces & special chars $%^'; + process.env.JSON_VAR = '{"key": "value"}'; + + const result = pickFromProcessEnv('SPECIAL_VAR', 'JSON_VAR'); + + expect(result.object).toEqual({ + SPECIAL_VAR: 'value with spaces & special chars $%^', + JSON_VAR: '{"key": "value"}', + }); + expect(result.values).toEqual([ + 'value with spaces & special chars $%^', + '{"key": "value"}', + ]); + }); +}); diff --git a/libs/cdk-utils/src/lib/runtime/pickFromProcessEnv.ts b/libs/cdk-utils/src/lib/runtime/pickFromProcessEnv.ts new file mode 100644 index 00000000..4dc90e89 --- /dev/null +++ b/libs/cdk-utils/src/lib/runtime/pickFromProcessEnv.ts @@ -0,0 +1,52 @@ +/** + * Safely extracts required environment variables with type safety + * + * Validates that all specified environment variables are present and non-empty, + * throwing an error if any are missing. Returns both an object and array + * representation of the values for different use cases. + * + * @param keys - The environment variable names to extract (at least one required) + * @returns Object containing both object and array representations of the values + * @throws Error if any environment variables are missing or empty + * + * @example + * ```typescript + * // Extract required environment variables + * const { object, values } = pickFromProcessEnv('API_URL', 'SECRET_KEY', 'DB_HOST'); + * + * // Use as object (type-safe keys) + * console.log(object.API_URL); // string + * console.log(object.SECRET_KEY); // string + * + * // Use as array (maintains order) + * const [apiUrl, secretKey, dbHost] = values; + * ``` + */ +export function pickFromProcessEnv(...keys: [T, ...T[]]) { + const errors = []; + const entries = []; + + for (const key of keys) { + const value = process.env[key as keyof typeof process.env]; + + if (!value) { + errors.push(`Environment variable ${String(key)} is not set`); + } else { + entries.push([key, value] as const); + } + } + + if (errors.length > 0) { + throw new Error(errors.join('\n')); + } + + const parameters = Object.fromEntries(entries) as Record; + const orderedArray = entries.map(entry => entry[1]); + + return { + /** Type-safe object with environment variable names as keys */ + object: Object.freeze(parameters), + /** Array of values in the same order as the input keys */ + values: Object.freeze(orderedArray), + }; +} diff --git a/libs/cdk-utils/src/runtime.ts b/libs/cdk-utils/src/runtime.ts new file mode 100644 index 00000000..e0c39d62 --- /dev/null +++ b/libs/cdk-utils/src/runtime.ts @@ -0,0 +1,2 @@ +/* v8 ignore start */ +export * from './lib/runtime/pickFromProcessEnv'; diff --git a/tools/serverless-plugin/tsconfig.json b/libs/cdk-utils/tsconfig.json similarity index 100% rename from tools/serverless-plugin/tsconfig.json rename to libs/cdk-utils/tsconfig.json diff --git a/libs/cdk-utils/tsconfig.lib.json b/libs/cdk-utils/tsconfig.lib.json new file mode 100644 index 00000000..6580563e --- /dev/null +++ b/libs/cdk-utils/tsconfig.lib.json @@ -0,0 +1,28 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "rootDir": "src", + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo", + "emitDeclarationOnly": true, + "forceConsistentCasingInFileNames": true, + "types": ["node"] + }, + "include": ["src/**/*.ts"], + "references": [], + "exclude": [ + "vite.config.ts", + "vite.config.mts", + "vitest.config.ts", + "vitest.config.mts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx" + ] +} diff --git a/libs/cdk-utils/tsconfig.spec.json b/libs/cdk-utils/tsconfig.spec.json new file mode 100644 index 00000000..11646a65 --- /dev/null +++ b/libs/cdk-utils/tsconfig.spec.json @@ -0,0 +1,19 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./out-tsc/vitest", + "types": ["vitest/globals", "vitest/importMeta", "vite/client", "node", "vitest"] + }, + "include": [ + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.d.ts" + ], + "references": [ + { + "path": "./tsconfig.lib.json" + } + ] +} diff --git a/tools/serverless-plugin/vite.config.mjs b/libs/cdk-utils/vite.config.mjs similarity index 55% rename from tools/serverless-plugin/vite.config.mjs rename to libs/cdk-utils/vite.config.mjs index 332d6da5..14222db4 100644 --- a/tools/serverless-plugin/vite.config.mjs +++ b/libs/cdk-utils/vite.config.mjs @@ -4,6 +4,11 @@ import { viteBaseConfig } from '../../vite.config.base.mjs'; export default mergeConfig( viteBaseConfig, defineConfig({ - cacheDir: '../../node_modules/.vite/serverless-plugin', + cacheDir: '../../node_modules/.vite/cdk-utils', + test: { + environment: { + NODE_ENV: 'test', + }, + }, }) ); diff --git a/nx.json b/nx.json index 01d11dc5..04796eb5 100644 --- a/nx.json +++ b/nx.json @@ -1,13 +1,8 @@ { "$schema": "./node_modules/nx/schemas/nx-schema.json", - "defaultBase": "main", + "defaultBase": "origin/main", "generators": { - "@aligent/openapi-plugin:client": { - "brand": "brand-name" - }, - "@aligent/serverless-plugin:service": { - "brand": "brand-name" - }, + "@tools/cdk-service-plugin:service": {}, "@nx/js:library": { "bundler": "none", "linter": "eslint", @@ -28,7 +23,53 @@ "test": { "inputs": ["default", "^production"], "outputs": ["{projectRoot}/coverage"], - "cache": true + "cache": true, + "dependsOn": ["^build"], + "configurations": { + "coverage": { + "coverage": true + } + } + }, + "@nx/js:tsc": { + "cache": true, + "dependsOn": ["^build"], + "inputs": ["production", "^production"] + }, + "pg": { + "executor": "nx:run-commands", + "options": { + "color": true, + "cwd": "{workspaceRoot}/applications/core" + }, + "configurations": { + "synth": { + "command": "cdk synth '{args.stack}' --exclusively --profile playground" + }, + "deploy": { + "command": "cdk deploy --method direct '{args.stack}' --exclusively --profile playground" + }, + "watch": { + "command": "cdk watch --method direct '{args.stack}' --exclusively --profile playground" + } + } + }, + "parameters": { + "executor": "nx:run-commands", + "options": { + "color": true, + "cwd": "{projectRoot}/parameters", + "file": ".env.csv" + }, + "defaultConfiguration": "export", + "configurations": { + "import": { + "command": "store-parameters import {args.file}" + }, + "export": { + "command": "store-parameters export {args.file} --path={args.path}" + } + } } }, "namedInputs": { @@ -38,7 +79,8 @@ "!{projectRoot}/eslint.config.m[jt]s", "!{projectRoot}/**/?(*.)+(spec|test).[jt]s?(x)?(.snap)", "!{projectRoot}/tsconfig.spec.json", - "!{projectRoot}/vite.config.m[jt]s" + "!{projectRoot}/vite.config.m[jt]s", + "!{projectRoot}/src/test-setup.[jt]s" ], "sharedGlobals": [] }, @@ -50,10 +92,30 @@ { "plugin": "@nx/vite/plugin", "options": {} + }, + { + "plugin": "@nx/js/typescript", + "options": { + "typecheck": { + "targetName": "typecheck" + }, + "build": { + "targetName": "build", + "configName": "tsconfig.lib.json", + "buildDepsName": "build-deps", + "watchDepsName": "watch-deps" + } + }, + "include": ["tools/cdk-service-plugin/*"] + }, + { + "plugin": "@nx/js/typescript", + "options": { + "typecheck": { + "targetName": "typecheck" + } + }, + "include": ["libs/cdk-utils/*", "applications/core/*"] } - ], - "workspaceLayout": { - "appsDir": "services", - "libsDir": "libs" - } + ] } diff --git a/package.json b/package.json index 80fc117d..773f902c 100644 --- a/package.json +++ b/package.json @@ -1,60 +1,73 @@ { - "name": "@aligent/serverless-aws-nodejs-service-template", - "version": "3.0.0", - "description": "Aligent AWS microservices template using Typescript and Serverless Framework", + "name": "@aligent/app", + "version": "4.0.0", + "description": "Aligent AWS microservices template using Typescript and AWS CDK", "author": "Aligent Consulting", + "type": "module", "scripts": { "test": "nx affected -t test --coverage", "test:all": "nx run-many -t test --coverage", "lint": "nx affected -t lint", "lint:all": "nx run-many -t lint", - "check-types": "nx affected -t typecheck", - "check-types:all": "nx run-many -t typecheck", - "prepare": "[ -d .git ] && git config core.hooksPath '.git-hooks' || true" + "typecheck": "nx affected -t typecheck", + "typecheck:all": "nx run-many -t typecheck", + "prepare": "[ -d .git ] && git config core.hooksPath '.git-hooks' || true", + "pg:synth": "nx run core:cdk synth 'dev/**' --exclusively --profile playground", + "pg:deploy": "nx run core:cdk deploy --method 'direct' 'dev/**' --exclusively --profile playground --require-approval never", + "pg:destroy": "nx run core:cdk destroy 'dev/**' --profile playground", + "audit": "nx run-many -t lint typecheck test --configuration coverage --skip-nx-cache" }, + "workspaces": [ + "libs/*", + "services/*", + "tools/*", + "applications/*" + ], "devDependencies": { - "@aligent/serverless-conventions": "latest", - "@aligent/ts-code-standards": "^4.0.0", - "@nx/devkit": "20.4.6", - "@nx/esbuild": "20.4.6", - "@nx/eslint": "20.4.6", - "@nx/eslint-plugin": "20.4.6", - "@nx/js": "20.4.6", - "@nx/plugin": "20.4.6", - "@nx/vite": "20.4.6", - "@nx/workspace": "20.4.6", - "@redocly/cli": "^1.31.1", - "@redocly/openapi-core": "^1.31.1", - "@swc-node/register": "^1.10.9", - "@swc/core": "^1.11.5", - "@swc/helpers": "^0.5.15", - "@types/aws-lambda": "^8.10.145", - "@types/node": "20.13.0", - "@typescript-eslint/eslint-plugin": "^8.26.0", - "@typescript-eslint/parser": "^8.26.0", - "@vitest/coverage-v8": "^2.0.0", - "@vitest/ui": "^2.0.0", - "dotenv": "^16.3.1", - "enquirer": "^2.4.1", - "esbuild": "~0.19.2", - "eslint": "^9.13.0", - "eslint-config-prettier": "9.1.0", - "eslint-plugin-import": "^2.29.1", - "nx": "20.4.6", - "openapi-fetch": "^0.12.2", - "openapi-typescript": "^7.6.1", - "prettier": "^3.3.3", - "serverless": "^3.38.0", - "serverless-esbuild": "^1.54.4", - "serverless-step-functions": "^3.21.1", - "typescript": "5.7.3", - "vite": "5.4.8", + "@aligent/ts-code-standards": "^4.0.2", + "@nx/devkit": "21.3.11", + "@nx/esbuild": "21.3.11", + "@nx/eslint": "21.3.11", + "@nx/eslint-plugin": "21.3.11", + "@nx/js": "21.3.11", + "@nx/vite": "21.3.11", + "@nx/web": "21.3.11", + "@swc-node/register": "^1.10.10", + "@swc/core": "^1.13.3", + "@swc/helpers": "^0.5.17", + "@types/aws-lambda": "^8.10.152", + "@types/node": "^22.17.0", + "@typescript-eslint/eslint-plugin": "^8.39.0", + "@typescript-eslint/parser": "^8.39.0", + "@vitest/coverage-v8": "^3.2.4", + "@vitest/ui": "^3.2.4", + "aws-cdk": "^2.1023.0", + "aws-cdk-lib": "^2.211.0", + "cdk-nag": "^2.36.54", + "constructs": "^10.4.2", + "esbuild": "~0.25.8", + "esbuild-visualizer": "^0.7.0", + "eslint": "^9.32.0", + "eslint-config-prettier": "10.1.8", + "jiti": "2.5.1", + "jsonc-eslint-parser": "^2.4.0", + "nx": "21.3.11", + "open": "^10.2.0", + "prettier": "^3.6.2", + "store-parameters": "^1.0.6", + "tslib": "^2.8.1", + "typescript": "~5.9.2", + "vite": "6.3.5", "vite-tsconfig-paths": "~4.3.2", - "vitest": "^2.0.0" + "vitest": "^3.2.4" }, "engines": { - "node": "^20.18.0" + "node": "^22.14.0" }, "license": "MIT", - "packageManager": "yarn@4.7.0+sha512.5a0afa1d4c1d844b3447ee3319633797bcd6385d9a44be07993ae52ff4facabccafb4af5dcd1c2f9a94ac113e5e9ff56f6130431905884414229e284e37bb7c9" + "packageManager": "yarn@4.9.2+sha512.1fc009bc09d13cfd0e19efa44cbfc2b9cf6ca61482725eb35bbc5e257e093ebf4130db6dfe15d604ff4b79efd8e1e8e99b25fa7d0a6197c9f9826358d4d65c3c", + "dependencies": { + "@aws-lambda-powertools/logger": "^2.24.1", + "arktype": "^2.1.20" + } } diff --git a/prettier.config.js b/prettier.config.js deleted file mode 100644 index 5c05c6e4..00000000 --- a/prettier.config.js +++ /dev/null @@ -1,3 +0,0 @@ -const { prettierConfig } = require('@aligent/ts-code-standards'); - -module.exports = prettierConfig; diff --git a/prettier.config.mjs b/prettier.config.mjs new file mode 100644 index 00000000..1ed145ea --- /dev/null +++ b/prettier.config.mjs @@ -0,0 +1,3 @@ +import { prettierConfig } from '@aligent/ts-code-standards'; + +export default prettierConfig; diff --git a/tools/cdk-service-plugin/README.md b/tools/cdk-service-plugin/README.md new file mode 100644 index 00000000..c55fb7c6 --- /dev/null +++ b/tools/cdk-service-plugin/README.md @@ -0,0 +1,11 @@ +# @tools/cdk-service-plugin + +This library was generated with [Nx](https://nx.dev). + +## Building + +Run `nx build @tools/cdk-service-plugin` to build the library. + +## Running unit tests + +Run `nx test @tools/cdk-service-plugin` to execute the unit tests via [Vitest](https://vitest.dev). diff --git a/tools/cdk-service-plugin/eslint.config.mjs b/tools/cdk-service-plugin/eslint.config.mjs new file mode 100644 index 00000000..4b94cbd4 --- /dev/null +++ b/tools/cdk-service-plugin/eslint.config.mjs @@ -0,0 +1,15 @@ +import eslintBaseConfig from '../../eslint.config.mjs'; +import jsonParser from 'jsonc-eslint-parser'; +import nxEslintPlugin from '@nx/eslint-plugin'; + +export default [ + ...eslintBaseConfig, + { + plugins: { + '@nx': nxEslintPlugin, + }, + files: ['./package.json', './generators.json'], + rules: { '@nx/nx-plugin-checks': 'error' }, + languageOptions: { parser: jsonParser }, + }, +]; diff --git a/tools/serverless-plugin/generators.json b/tools/cdk-service-plugin/generators.json similarity index 78% rename from tools/serverless-plugin/generators.json rename to tools/cdk-service-plugin/generators.json index 7d60cafe..6d05b433 100644 --- a/tools/serverless-plugin/generators.json +++ b/tools/cdk-service-plugin/generators.json @@ -3,7 +3,7 @@ "service": { "factory": "./src/generators/service/generator", "schema": "./src/generators/service/schema.json", - "description": "service generator" + "description": "CDK service generator" } } } diff --git a/tools/cdk-service-plugin/package.json b/tools/cdk-service-plugin/package.json new file mode 100644 index 00000000..37ad8545 --- /dev/null +++ b/tools/cdk-service-plugin/package.json @@ -0,0 +1,38 @@ +{ + "name": "@tools/cdk-service-plugin", + "version": "0.0.1", + "private": true, + "type": "module", + "main": "./dist/index.js", + "module": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + "./package.json": "./package.json", + ".": { + "development": "./src/index.ts", + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "default": "./dist/index.js" + } + }, + "nx": { + "targets": { + "build": { + "executor": "@nx/esbuild:esbuild", + "outputs": [ + "{options.outputPath}" + ], + "options": { + "outputPath": "tools/cdk-service-plugin/dist", + "main": "tools/cdk-service-plugin/src/index.ts", + "tsConfig": "tools/cdk-service-plugin/tsconfig.lib.json", + "format": [ + "esm" + ], + "declarationRootDir": "tools/cdk-service-plugin/src" + } + } + } + }, + "generators": "./generators.json" +} diff --git a/tools/cdk-service-plugin/src/generators/service/general-files/README.md.template b/tools/cdk-service-plugin/src/generators/service/general-files/README.md.template new file mode 100644 index 00000000..c47b23d3 --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/general-files/README.md.template @@ -0,0 +1,25 @@ +# <%= name %> + +This is a CDK service generated using `@tools/cdk-service-plugin` for Nx. + +## Architecture + +[Add your architecture documentation here] + +## Development + +### Type Checking + +```bash +npx nx check-types <%= name %> +``` + +### Testing + +```bash +npx nx test <%= name %> +``` + +## Deployment + +This service is deployed as part of the CDK application. See the main README for deployment instructions. diff --git a/tools/cdk-service-plugin/src/generators/service/general-files/eslint.config.mjs.template b/tools/cdk-service-plugin/src/generators/service/general-files/eslint.config.mjs.template new file mode 100644 index 00000000..66a4fbe7 --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/general-files/eslint.config.mjs.template @@ -0,0 +1,3 @@ +import baseConfig from '../../eslint.config.mjs'; + +export default [...baseConfig]; \ No newline at end of file diff --git a/tools/cdk-service-plugin/src/generators/service/general-files/package.json.template b/tools/cdk-service-plugin/src/generators/service/general-files/package.json.template new file mode 100644 index 00000000..ee08127c --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/general-files/package.json.template @@ -0,0 +1,24 @@ +{ + "name": "@services/<%= name %>", + "version": "0.0.1", + "type": "module", + "main": "./src/index.ts", + "types": "./src/index.ts", + "exports": { + ".": { + "types": "./src/index.ts", + "import": "./src/index.ts", + "default": "./src/index.ts" + }, + "./package.json": "./package.json" + }, + "nx": { + "targets": { + "pg": { + "options": { + "stack": "dev/<%= name %>" + } + } + } + } +} diff --git a/tools/cdk-service-plugin/src/generators/service/general-files/src/index.ts.template b/tools/cdk-service-plugin/src/generators/service/general-files/src/index.ts.template new file mode 100644 index 00000000..568f04c7 --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/general-files/src/index.ts.template @@ -0,0 +1,31 @@ +import { Stack, StackProps, Stage, Tags } from 'aws-cdk-lib'; +import { Construct } from 'constructs'; +import path from 'node:path'; +import { SERVICE_NAME } from './service-name'; + +export interface <%= name.split('-').map(part => part.charAt(0).toUpperCase() + part.slice(1)).join('') %>StackProps extends StackProps { + description: string; +} + +/** + * Resolves a path to runtime or infra assets relative to this stack + * + * @param assetPath - The path to the asset. + * @returns The resolved path. + */ +export function resolveAssetPath(assetPath: `${'runtime/' | 'infra/'}${string}`) { + return path.resolve(import.meta.dirname, assetPath); +} + +export class <%= name.split('-').map(part => part.charAt(0).toUpperCase() + part.slice(1)).join('') %>Stack extends Stack { + constructor(scope: Construct, id: typeof SERVICE_NAME | (string & {}), props?: <%= name.split('-').map(part => part.charAt(0).toUpperCase() + part.slice(1)).join('') %>StackProps) { + super(scope, id, props); + + const STAGE = Stage.of(this)?.stageName; + if (!STAGE) { + throw new Error('This construct must be used within a CDK Stage'); + } + + Tags.of(this).add('SERVICE', id); + } +} diff --git a/tools/cdk-service-plugin/src/generators/service/general-files/src/infra/.gitkeep.template b/tools/cdk-service-plugin/src/generators/service/general-files/src/infra/.gitkeep.template new file mode 100644 index 00000000..e69de29b diff --git a/tools/cdk-service-plugin/src/generators/service/general-files/src/runtime/handlers/.gitkeep.template b/tools/cdk-service-plugin/src/generators/service/general-files/src/runtime/handlers/.gitkeep.template new file mode 100644 index 00000000..e69de29b diff --git a/tools/cdk-service-plugin/src/generators/service/general-files/src/runtime/lib/utils/.gitkeep.template b/tools/cdk-service-plugin/src/generators/service/general-files/src/runtime/lib/utils/.gitkeep.template new file mode 100644 index 00000000..e69de29b diff --git a/tools/cdk-service-plugin/src/generators/service/general-files/src/service-name.ts.template b/tools/cdk-service-plugin/src/generators/service/general-files/src/service-name.ts.template new file mode 100644 index 00000000..c0ab8103 --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/general-files/src/service-name.ts.template @@ -0,0 +1,8 @@ +/* v8 ignore start */ +/** + * The default service name used to identify this service in the CDK stack and logs + * + * It should be the same as in project.json, but that file doesn't + * get bundled in with lambda code so we export the value here. + */ +export const SERVICE_NAME = '<%= name %>' as const; diff --git a/tools/cdk-service-plugin/src/generators/service/general-files/tests/__data__/.gitkeep.template b/tools/cdk-service-plugin/src/generators/service/general-files/tests/__data__/.gitkeep.template new file mode 100644 index 00000000..e69de29b diff --git a/tools/cdk-service-plugin/src/generators/service/general-files/tsconfig.json.template b/tools/cdk-service-plugin/src/generators/service/general-files/tsconfig.json.template new file mode 100644 index 00000000..1e5701a2 --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/general-files/tsconfig.json.template @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/tools/cdk-service-plugin/src/generators/service/general-files/tsconfig.lib.json.template b/tools/cdk-service-plugin/src/generators/service/general-files/tsconfig.lib.json.template new file mode 100644 index 00000000..6580563e --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/general-files/tsconfig.lib.json.template @@ -0,0 +1,28 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "rootDir": "src", + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo", + "emitDeclarationOnly": true, + "forceConsistentCasingInFileNames": true, + "types": ["node"] + }, + "include": ["src/**/*.ts"], + "references": [], + "exclude": [ + "vite.config.ts", + "vite.config.mts", + "vitest.config.ts", + "vitest.config.mts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx" + ] +} diff --git a/tools/cdk-service-plugin/src/generators/service/general-files/tsconfig.spec.json.template b/tools/cdk-service-plugin/src/generators/service/general-files/tsconfig.spec.json.template new file mode 100644 index 00000000..a15ced6e --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/general-files/tsconfig.spec.json.template @@ -0,0 +1,28 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./out-tsc/vitest", + "types": ["vitest/globals", "vitest/importMeta", "vite/client", "node", "vitest"], + "forceConsistentCasingInFileNames": true + }, + "include": [ + "vite.config.ts", + "vite.config.mts", + "vitest.config.ts", + "vitest.config.mts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", + "src/**/*.d.ts" + ], + "references": [ + { + "path": "./tsconfig.lib.json" + } + ] +} diff --git a/tools/serverless-plugin/src/generators/service/general-files/vite.config.mjs.template b/tools/cdk-service-plugin/src/generators/service/general-files/vite.config.mjs.template similarity index 99% rename from tools/serverless-plugin/src/generators/service/general-files/vite.config.mjs.template rename to tools/cdk-service-plugin/src/generators/service/general-files/vite.config.mjs.template index bfb64717..697aa138 100644 --- a/tools/serverless-plugin/src/generators/service/general-files/vite.config.mjs.template +++ b/tools/cdk-service-plugin/src/generators/service/general-files/vite.config.mjs.template @@ -13,4 +13,4 @@ export default mergeConfig( unstubEnvs: true, }, }) -); +); \ No newline at end of file diff --git a/tools/cdk-service-plugin/src/generators/service/generator.spec.ts b/tools/cdk-service-plugin/src/generators/service/generator.spec.ts new file mode 100644 index 00000000..5a1fdbde --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/generator.spec.ts @@ -0,0 +1,99 @@ +import { Tree } from '@nx/devkit'; +import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; + +import { serviceGenerator } from './generator'; +import { ServiceGeneratorSchema } from './schema'; + +describe('service generator', () => { + let tree: Tree; + beforeEach(() => { + tree = createTreeWithEmptyWorkspace(); + tree.write( + 'tsconfig.json', + `{ + "extends": "./tsconfig.base.json", + "compileOnSave": false, + "files": [], + "references": [] + }` + ); + }); + + it('should run successfully when type is general', async () => { + const options: ServiceGeneratorSchema = { + name: 'test', + type: 'general', + }; + + await expect(serviceGenerator(tree, options)).resolves.not.toThrow(); + }); + + it('should run successfully when type is notification', async () => { + const options: ServiceGeneratorSchema = { + name: 'test', + type: 'notification', + }; + await expect(serviceGenerator(tree, options)).resolves.not.toThrow(); + }); + + it('should add the project reference to tsconfig.json', async () => { + const options: ServiceGeneratorSchema = { + name: 'test', + type: 'general', + }; + + await serviceGenerator(tree, options); + + const tsconfig = tree.read('tsconfig.json', 'utf-8'); + + assert.isNotNull(tsconfig); + + const references = JSON.parse(tsconfig).references; + + expect(references).toEqual([{ path: './services/test' }]); + }); + + it('should register the services as a no-buildable typecheck target', async () => { + const options: ServiceGeneratorSchema = { + name: 'test', + type: 'general', + }; + + await serviceGenerator(tree, options); + + const nxjson = tree.read('nx.json', 'utf-8'); + + assert.isNotNull(nxjson); + + const plugins = JSON.parse(nxjson).plugins; + + expect(plugins).toEqual([ + { + plugin: '@nx/js/typescript', + options: { + typecheck: { + targetName: 'typecheck', + }, + }, + include: ['services/test/*'], + }, + ]); + }); + + it('should not add paths to the base tsconfig', async () => { + const options: ServiceGeneratorSchema = { + name: 'test', + type: 'general', + }; + + await serviceGenerator(tree, options); + + const tsconfig = tree.read('tsconfig.base.json', 'utf-8'); + + assert.isNotNull(tsconfig); + + const paths = JSON.parse(tsconfig).paths; + + expect(paths).toBe(undefined); + }); +}); diff --git a/tools/cdk-service-plugin/src/generators/service/generator.ts b/tools/cdk-service-plugin/src/generators/service/generator.ts new file mode 100644 index 00000000..e3e5d828 --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/generator.ts @@ -0,0 +1,76 @@ +import { formatFiles, generateFiles, Tree, updateJson } from '@nx/devkit'; +import * as path from 'path'; +import { ServiceGeneratorSchema } from './schema'; + +function addTsConfigReference(tree: Tree, referencePath: string) { + updateJson(tree, 'tsconfig.json', json => { + json.references ??= []; + + if (json.references.some((r: { path: string }) => r.path === referencePath)) { + throw new Error( + `You already have a library using the import path "${referencePath}". Make sure to specify a unique one.` + ); + } + + json.references.push({ + path: referencePath, + }); + + return json; + }); +} + +function registerWithTypecheckPlugin(tree: Tree, referencePath: string) { + updateJson(tree, 'nx.json', json => { + json.plugins ??= []; + + // Services should be non-buildable, so we need to register them with the typescript plugin configuration + // that adds typechecking but not a build argument + const plugin = json.plugins.find( + (p: { + plugin: string; + include: string[]; + options?: { typecheck?: unknown; build?: unknown }; + }) => p.plugin === '@nx/js/typescript' && p.options?.typecheck && !p.options?.build + ); + + if (!plugin) { + json.plugins.push({ + plugin: '@nx/js/typescript', + options: { + typecheck: { + targetName: 'typecheck', + }, + }, + include: [referencePath], + }); + } else { + plugin.include.push(referencePath); + } + + return json; + }); +} + +export async function serviceGenerator(tree: Tree, options: ServiceGeneratorSchema) { + const projectRoot = `services/${options.name}`; + + const templatePath = + options.type === 'notification' + ? path.join(__dirname, 'notification-files') + : path.join(__dirname, 'general-files'); + + generateFiles(tree, templatePath, projectRoot, { + ...options, + template: '', + }); + + // Add the service to tsconfig.json references and nx.json plugins + // The root application needs to import stacks from the service + addTsConfigReference(tree, `./${projectRoot}`); + registerWithTypecheckPlugin(tree, `${projectRoot}/*`); + + await formatFiles(tree); +} + +export default serviceGenerator; diff --git a/tools/cdk-service-plugin/src/generators/service/notification-files/README.md.template b/tools/cdk-service-plugin/src/generators/service/notification-files/README.md.template new file mode 100644 index 00000000..f7bc3e20 --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/notification-files/README.md.template @@ -0,0 +1,25 @@ +# <%= name %> + +This is a CDK notification service generated using `@tools/cdk-service-plugin` for Nx. + +## Architecture + +This service provides notification capabilities using AWS SNS. + +## Development + +### Type Checking + +```bash +npx nx check-types <%= name %> +``` + +### Testing + +```bash +npx nx test <%= name %> +``` + +## Deployment + +This service is deployed as part of the CDK application. See the main README for deployment instructions. diff --git a/tools/cdk-service-plugin/src/generators/service/notification-files/eslint.config.mjs.template b/tools/cdk-service-plugin/src/generators/service/notification-files/eslint.config.mjs.template new file mode 100644 index 00000000..66a4fbe7 --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/notification-files/eslint.config.mjs.template @@ -0,0 +1,3 @@ +import baseConfig from '../../eslint.config.mjs'; + +export default [...baseConfig]; \ No newline at end of file diff --git a/tools/cdk-service-plugin/src/generators/service/notification-files/project.json.template b/tools/cdk-service-plugin/src/generators/service/notification-files/project.json.template new file mode 100644 index 00000000..8f90b3b9 --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/notification-files/project.json.template @@ -0,0 +1,8 @@ +{ + "name": "<%= name %>", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "services/<%= name %>/src", + "projectType": "library", +"targets": {}, + "tags": ["service", "notification", "<%= name %>"] +} diff --git a/tools/cdk-service-plugin/src/generators/service/notification-files/src/index.ts.template b/tools/cdk-service-plugin/src/generators/service/notification-files/src/index.ts.template new file mode 100644 index 00000000..aff1212d --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/notification-files/src/index.ts.template @@ -0,0 +1,19 @@ +import { RemovalPolicy, Stack, StackProps, Tags } from 'aws-cdk-lib'; +import { Topic } from 'aws-cdk-lib/aws-sns'; +import { Construct } from 'constructs'; + +export interface <%= name.split('-').map(part => part.charAt(0).toUpperCase() + part.slice(1)).join('') %>StackProps extends StackProps { + description: string; +} + +export class <%= name.split('-').map(part => part.charAt(0).toUpperCase() + part.slice(1)).join('') %>Stack extends Stack { + constructor(scope: Construct, id: string, props?: <%= name.split('-').map(part => part.charAt(0).toUpperCase() + part.slice(1)).join('') %>StackProps) { + super(scope, id, props); + + new Topic(this, 'notificationTopic', { + displayName: '<%= name %> Notifications', + }); + + Tags.of(this).add('SERVICE', id); + } +} \ No newline at end of file diff --git a/tools/serverless-plugin/src/generators/service/general-files/tests/__data__/example-data.ts.template b/tools/cdk-service-plugin/src/generators/service/notification-files/tests/__data__/example-data.ts.template similarity index 100% rename from tools/serverless-plugin/src/generators/service/general-files/tests/__data__/example-data.ts.template rename to tools/cdk-service-plugin/src/generators/service/notification-files/tests/__data__/example-data.ts.template diff --git a/tools/cdk-service-plugin/src/generators/service/notification-files/tests/cdk-stack.test.ts.template b/tools/cdk-service-plugin/src/generators/service/notification-files/tests/cdk-stack.test.ts.template new file mode 100644 index 00000000..d58ee40f --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/notification-files/tests/cdk-stack.test.ts.template @@ -0,0 +1,50 @@ +import { MicroserviceChecks } from '@libs/cdk-utils/infra'; +import { App, Aspects, Duration, Stack } from 'aws-cdk-lib'; +import { Annotations, Match, Template } from 'aws-cdk-lib/assertions'; +import { Runtime, Tracing } from 'aws-cdk-lib/aws-lambda'; +import { describe, expect, it } from 'vitest'; +import { <%= name.split('-').map(part => part.charAt(0).toUpperCase() + part.slice(1)).join('') %>Stack } from '../src/index'; + +let stack: Stack; +let template: Template; + +beforeEach(() => { + const app = new App({ + context: { + // This feature flag prevents bundling lambda functions when running tests + 'aws:cdk:bundling-stacks': [], + }, + }); + + stack = new <%= name.split('-').map(part => part.charAt(0).toUpperCase() + part.slice(1)).join('') %>Stack(app, 'TestStack'); + + Aspects.of(stack).add(new MicroserviceChecks()); + + template = Template.fromStack(stack); +}); + +describe('CdkNag', () => { + it('should pass Microservices cdk-nag checks', () => { + const errors = Annotations.fromStack(stack).findError( + '*', + Match.stringLikeRegexp('Microservices.*') + ); + + if (errors.length > 0) { + console.log(errors); + } + + expect( + errors, + 'Microservice checks failed - inspect console logs for details' + ).toHaveLength(0); + }); +}); + +describe('<%= name.split('-').map(part => part.charAt(0).toUpperCase() + part.slice(1)).join('') %>Stack', () => { + it('should create a notification SNS Topic', () => { + template.hasResourceProperties('AWS::SNS::Topic', { + DisplayName: '<%= name %> Notifications', + }); + }); +}); diff --git a/tools/serverless-plugin/src/generators/service/general-files/tests/example-tests.test.ts.template b/tools/cdk-service-plugin/src/generators/service/notification-files/tests/unit-tests.test.ts.template similarity index 100% rename from tools/serverless-plugin/src/generators/service/general-files/tests/example-tests.test.ts.template rename to tools/cdk-service-plugin/src/generators/service/notification-files/tests/unit-tests.test.ts.template diff --git a/tools/cdk-service-plugin/src/generators/service/notification-files/tsconfig.json.template b/tools/cdk-service-plugin/src/generators/service/notification-files/tsconfig.json.template new file mode 100644 index 00000000..814af1e9 --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/notification-files/tsconfig.json.template @@ -0,0 +1,4 @@ +{ + "extends": "../../tsconfig.base.json", + "include": ["**/*.ts"] +} \ No newline at end of file diff --git a/tools/serverless-plugin/src/generators/service/notification-files/vite.config.mjs.template b/tools/cdk-service-plugin/src/generators/service/notification-files/vite.config.mjs.template similarity index 73% rename from tools/serverless-plugin/src/generators/service/notification-files/vite.config.mjs.template rename to tools/cdk-service-plugin/src/generators/service/notification-files/vite.config.mjs.template index a28565eb..697aa138 100644 --- a/tools/serverless-plugin/src/generators/service/notification-files/vite.config.mjs.template +++ b/tools/cdk-service-plugin/src/generators/service/notification-files/vite.config.mjs.template @@ -4,12 +4,13 @@ import { viteBaseConfig } from '../../vite.config.base.mjs'; export default mergeConfig( viteBaseConfig, defineConfig({ - cacheDir: '../../node_modules/.vite/notification', + cacheDir: '../../node_modules/.vite/<%= name %>', test: { env: { NODE_ENV: 'test', + YOUR_ENV_VAR: 'environment-variable', }, unstubEnvs: true, }, }) -); +); \ No newline at end of file diff --git a/tools/cdk-service-plugin/src/generators/service/schema.d.ts b/tools/cdk-service-plugin/src/generators/service/schema.d.ts new file mode 100644 index 00000000..3339c7d2 --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/schema.d.ts @@ -0,0 +1,4 @@ +export interface ServiceGeneratorSchema { + name: string; + type: 'general' | 'notification'; +} diff --git a/tools/cdk-service-plugin/src/generators/service/schema.json b/tools/cdk-service-plugin/src/generators/service/schema.json new file mode 100644 index 00000000..1fc01a98 --- /dev/null +++ b/tools/cdk-service-plugin/src/generators/service/schema.json @@ -0,0 +1,40 @@ +{ + "$schema": "http://json-schema.org/schema", + "$id": "CdkService", + "title": "CDK Service Generator", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the service", + "$default": { + "$source": "argv", + "index": 0 + }, + "x-prompt": "What is the name of the service?", + "pattern": "^(?!.*[Ss]tack|.*[Ss]ervice).*$", + "patternErrorMessage": "Service name cannot contain '[Ss]tack' or '[Ss]ervice'" + }, + "type": { + "type": "string", + "description": "The type of CDK service to generate", + "enum": ["general", "notification"], + "default": "general", + "x-prompt": { + "message": "What type of service would you like to generate?", + "type": "list", + "items": [ + { + "value": "general", + "label": "General CDK service" + }, + { + "value": "notification", + "label": "Notification CDK service" + } + ] + } + } + }, + "required": ["name"] +} diff --git a/tools/serverless-plugin/src/index.ts b/tools/cdk-service-plugin/src/index.ts similarity index 91% rename from tools/serverless-plugin/src/index.ts rename to tools/cdk-service-plugin/src/index.ts index 3f679452..d3cc7aa5 100644 --- a/tools/serverless-plugin/src/index.ts +++ b/tools/cdk-service-plugin/src/index.ts @@ -4,4 +4,4 @@ * For our use case, it has no effects. */ /* v8 ignore next 1 */ -module.exports = {}; +export default {}; diff --git a/tools/openapi-plugin/tsconfig.json b/tools/cdk-service-plugin/tsconfig.json similarity index 77% rename from tools/openapi-plugin/tsconfig.json rename to tools/cdk-service-plugin/tsconfig.json index 5e02a08c..1e5701a2 100644 --- a/tools/openapi-plugin/tsconfig.json +++ b/tools/cdk-service-plugin/tsconfig.json @@ -1,9 +1,7 @@ { "extends": "../../tsconfig.base.json", - "compilerOptions": { - "esModuleInterop": true - }, "files": [], + "include": [], "references": [ { "path": "./tsconfig.lib.json" diff --git a/tools/cdk-service-plugin/tsconfig.lib.json b/tools/cdk-service-plugin/tsconfig.lib.json new file mode 100644 index 00000000..6580563e --- /dev/null +++ b/tools/cdk-service-plugin/tsconfig.lib.json @@ -0,0 +1,28 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "rootDir": "src", + "outDir": "dist", + "tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo", + "emitDeclarationOnly": true, + "forceConsistentCasingInFileNames": true, + "types": ["node"] + }, + "include": ["src/**/*.ts"], + "references": [], + "exclude": [ + "vite.config.ts", + "vite.config.mts", + "vitest.config.ts", + "vitest.config.mts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx" + ] +} diff --git a/tools/openapi-plugin/tsconfig.spec.json b/tools/cdk-service-plugin/tsconfig.spec.json similarity index 51% rename from tools/openapi-plugin/tsconfig.spec.json rename to tools/cdk-service-plugin/tsconfig.spec.json index 4cd14760..a15ced6e 100644 --- a/tools/openapi-plugin/tsconfig.spec.json +++ b/tools/cdk-service-plugin/tsconfig.spec.json @@ -1,14 +1,15 @@ { - "extends": "./tsconfig.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "composite": true, - "declaration": true, - "outDir": "../../dist/out-tsc", - "types": ["vitest/globals", "vitest/importMeta", "vite/client", "node"] + "outDir": "./out-tsc/vitest", + "types": ["vitest/globals", "vitest/importMeta", "vite/client", "node", "vitest"], + "forceConsistentCasingInFileNames": true }, "include": [ - "src/**/*.mjs", - "src/**/generator.ts", + "vite.config.ts", + "vite.config.mts", + "vitest.config.ts", + "vitest.config.mts", "src/**/*.test.ts", "src/**/*.spec.ts", "src/**/*.test.tsx", @@ -18,5 +19,10 @@ "src/**/*.test.jsx", "src/**/*.spec.jsx", "src/**/*.d.ts" + ], + "references": [ + { + "path": "./tsconfig.lib.json" + } ] } diff --git a/tools/openapi-plugin/vite.config.mjs b/tools/cdk-service-plugin/vite.config.mjs similarity index 73% rename from tools/openapi-plugin/vite.config.mjs rename to tools/cdk-service-plugin/vite.config.mjs index 97ff45e4..1507ce4e 100644 --- a/tools/openapi-plugin/vite.config.mjs +++ b/tools/cdk-service-plugin/vite.config.mjs @@ -4,6 +4,6 @@ import { viteBaseConfig } from '../../vite.config.base.mjs'; export default mergeConfig( viteBaseConfig, defineConfig({ - cacheDir: '../../node_modules/.vite/openapi-plugin', + cacheDir: '../../node_modules/.vite/tools/cdk-service-plugin', }) ); diff --git a/tools/openapi-plugin/README.md b/tools/openapi-plugin/README.md deleted file mode 100644 index d5e69b4d..00000000 --- a/tools/openapi-plugin/README.md +++ /dev/null @@ -1,72 +0,0 @@ -# openapi-plugin - -This library was generated with [Nx](https://nx.dev). - -The openapi-plugin can create api clients based on local or remote schema files. The source files must be .yaml or .json and must adhere to the OpenAPI Specification 3.0.0 - -## Usage - -### Generating a new client - -To build a new client in the clients folder: - -- Run `nx g client` -- Follow the prompts to name and provide a source file - -To build with flags (without needing to prompt): -Run `nx g client` with optional flags: - -- `--name` Name of the api client. -- `--schemaPath` Path to the schema. If using the --remote flag then you must specify a valid remote URL. If not you must specify a local file. -- `--remote` Specify whether you would like to fetch remotely. -- `--configPath` path to the redocly config file responsible for authentication when fetching a schema remotely. For more information: https://openapi-ts.dev/cli#auth. -- `--skipValidate` If passed, this will skip schema pre-validation. Only do this if you have good reason to - not validating the schema beforehand may produce unpredictable results (either things may not generate at all or they may generate something that is incorrect). - -**Do not edit the files in the `/generated` folder after generating a client. These files are generated using the OpenAPI Schema and editing them may put you at risk of no longer conforming to the specifications of the API you are using!** - -### Regenerating types for an existing client - -To regenerate an existing client run the same generator command again (as above). If the client already exists in the Nx project, after confirmation it will have its types file regenerated from either the existing schema or a newly provided one. - -## Development - -### Building - -Run `nx build @aligent/openapi-plugin` to build the library. - -### Running unit tests - -Run `nx test @aligent/openapi-plugin` to execute the unit tests. - -### Details - -The plugin was created following the standards for Nx custom plugins. It contains a single `generator.ts` file which is responsible for the main logic behind generating the client. -For more information on client generation check [Nx plugin documentation]() - -Normally, plugin generator take pre-defined files specified in the `/files` directory and automatically use that a basis for writing to a `Tree` object (the data structure Nx uses to generate files). -Since we are using `openapi-typescript` to generate files in real time, we can't simply create a pre-defined template. Instead we must write to the tree ourselves. We do this by taking the output of the Typescript generation and calling a built in `write` process, to write the returned generated code into a file whilst the generator runs. - -The flow for the generator is as follows: - -```mermaid -graph LR; - R[Recieve path arguments from Nx cli]-->GL[Get local schema from filesystem]; - R-->GR[Get remote schema from url]; - GL-->G[Generate TS]; - GR-->G; - G-->W[Write generated .ts file to tree]; - W-->NX[Nx generator uses tree to build directory]; - NX-->C[Cleanup]; -``` - -## What gets generated? - -The generator will generate two main things: - -A `types` file that will contain several typescript interfaces depending on the OpenAPI schema specification it was passed: - -- `paths`: Defines the routes that the API has as well as what parameters you can pass into them and what you should expect in return. [More information](https://swagger.io/docs/specification/v3_0/paths-and-operations/#paths) -- `operations`: The defined operations that can be performed on a given path. [More information.](https://swagger.io/docs/specification/v3_0/paths-and-operations/#operations) -- `components`: A way of avoid duplication when paths or operations contain the same structure in their responses. Components define a structure that is used multiple time throughout the API. [More information.](https://swagger.io/docs/specification/v3_0/components/) - -A `client` file that will contain some commented, boilerplate code to help you get started. diff --git a/tools/openapi-plugin/generators.json b/tools/openapi-plugin/generators.json deleted file mode 100644 index c1b8fb57..00000000 --- a/tools/openapi-plugin/generators.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "generators": { - "client": { - "factory": "./src/generators/client/generator", - "schema": "./src/generators/client/schema.json", - "description": "client generator" - } - } -} diff --git a/tools/openapi-plugin/package.json b/tools/openapi-plugin/package.json deleted file mode 100644 index 5eed80bf..00000000 --- a/tools/openapi-plugin/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "@aligent/openapi-plugin", - "version": "0.0.1", - "type": "commonjs", - "dependencies": { - "openapi-typescript": "^7.5.2", - "enquirer": "^2.3.6", - "@nx/devkit": "19.8.3", - "@redocly/openapi-core": "^1.27.2", - "vitest": "2.0.0" - }, - "generators": "./generators.json" -} diff --git a/tools/openapi-plugin/project.json b/tools/openapi-plugin/project.json deleted file mode 100644 index ea7bea3c..00000000 --- a/tools/openapi-plugin/project.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@aligent/openapi-plugin", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "tools/openapi-plugin/src", - "projectType": "library", - "tags": ["client"], - "targets": { - "build": { - "executor": "@nx/js:tsc", - "outputs": ["{options.outputPath}"], - "options": { - "outputPath": "dist/tools/openapi-plugin", - "main": "tools/openapi-plugin/src/index.ts", - "tsConfig": "tools/openapi-plugin/tsconfig.lib.json", - "assets": ["tools/openapi-plugin/*.md"], - "generatePackageJson": true - } - } - } -} diff --git a/tools/openapi-plugin/src/generators/client/files/README.md.template b/tools/openapi-plugin/src/generators/client/files/README.md.template deleted file mode 100644 index fad495f0..00000000 --- a/tools/openapi-plugin/src/generators/client/files/README.md.template +++ /dev/null @@ -1 +0,0 @@ -This Open API Client was generated using Nx Generators and openapi-typescript codegen diff --git a/tools/openapi-plugin/src/generators/client/files/src/client.ts.template b/tools/openapi-plugin/src/generators/client/files/src/client.ts.template deleted file mode 100644 index 87ad4940..00000000 --- a/tools/openapi-plugin/src/generators/client/files/src/client.ts.template +++ /dev/null @@ -1,22 +0,0 @@ -// The following is an example file generated to demonstrate how to use your newly generated types -import { paths } from '../generated'; -import createClient from 'openapi-fetch'; - -// This type is an example of what is initialised using the types generated in the paths interface which is created when generation occurs. -// Its worth looking into that paths interface, to see the the types that were generated for your client. -type ExampleResponse = - paths['/customers']['get']['responses']['200']['content']['application/json']; - -// Using openapi-fetch we can create a fully typed REST client by passing in paths as a generic. -// If you wish however, you can use any api client you want (axios, basic fetch etc.) and use the paths separately to maintain type safety in your client. -const client = createClient({ - baseUrl: '', - signal: AbortSignal.timeout(10000), -}); - -// Client getters are then fully typed. Try deleting '/customers' and seeing what routes you can use! -const response = client.GET('/customers', { - params: { - query: {}, - }, -}); diff --git a/tools/openapi-plugin/src/generators/client/files/tsconfig.json.template b/tools/openapi-plugin/src/generators/client/files/tsconfig.json.template deleted file mode 100644 index 62653bb8..00000000 --- a/tools/openapi-plugin/src/generators/client/files/tsconfig.json.template +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "esModuleInterop": true - }, - "include": [ - "src/**/*.ts", - "**/*.test.ts" - ] -} diff --git a/tools/openapi-plugin/src/generators/client/generator.spec.ts b/tools/openapi-plugin/src/generators/client/generator.spec.ts deleted file mode 100644 index e0c1c769..00000000 --- a/tools/openapi-plugin/src/generators/client/generator.spec.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { Tree, readProjectConfiguration } from '@nx/devkit'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; -import { clientGenerator } from './generator'; -import { ClientGeneratorSchema } from './schema'; - -describe('client generator', () => { - let tree: Tree; - beforeEach(() => { - tree = createTreeWithEmptyWorkspace(); - tree.root = ''; // Trees root is automatically /virtual/ but that breaks the unit tests - }); - - it('should generate a client successfully', async () => { - const options: ClientGeneratorSchema = { - name: 'test', - schemaPath: `${__dirname}/unit-test-schemas/valid.yaml`, - skipValidate: true, // Validation breaks this unit test for some reason (TODO: figure out wtf is going on here) - }; - await clientGenerator(tree, options); - const config = readProjectConfiguration(tree, 'test'); - expect(config).toBeDefined(); - }, 10000); - - it('should error if schema file is not found', async () => { - const options: ClientGeneratorSchema = { - name: 'test', - schemaPath: './unit-test-schemas/missing.yaml', - skipValidate: true, - }; - expect(clientGenerator(tree, options)).rejects.toThrowError(); - }); -}); diff --git a/tools/openapi-plugin/src/generators/client/generator.ts b/tools/openapi-plugin/src/generators/client/generator.ts deleted file mode 100644 index 00cf4740..00000000 --- a/tools/openapi-plugin/src/generators/client/generator.ts +++ /dev/null @@ -1,132 +0,0 @@ -import { - Tree, - addProjectConfiguration, - formatFiles, - generateFiles, - joinPathFragments, - updateJson, -} from '@nx/devkit'; -import { prompt } from 'enquirer'; -import { - copySchema, - generateOpenApiTypes, - validateSchema, -} from '../../helpers/generate-openapi-types'; -import { ClientGeneratorSchema } from './schema'; - -export async function clientGenerator(tree: Tree, options: ClientGeneratorSchema) { - const { - name, - schemaPath, - remote, - importPath = `@clients/${name}`, - configPath, - skipValidate = false, - } = options; - - const projectRoot = `clients/${name}`; - - let existingProject = false; - - // Add to project config. If project already exists then ask to overwrite existing types/schema - try { - addProjectConfiguration(tree, name, { - root: projectRoot, - projectType: 'library', - sourceRoot: `${projectRoot}/src`, - targets: { - validate: { - executor: 'nx:run-commands', - options: { - cwd: projectRoot, - command: 'npx @redocly/cli lint schema' + schemaPath.slice(-5), - }, - }, - }, - tags: ['client', name], - }); - /* v8 ignore start */ // Testing this is a pain. - } catch (error) { - if (isExistingProject(error as Error)) { - existingProject = true; - const response = await confirmOverwrite(name); - if (!response.overwrite) { - console.log('Cancelling...'); - return; - } - } else { - throw error; - } - /* v8 ignore end */ - } - - if (!skipValidate) { - await validateSchema(schemaPath); - } - - const contents = await generateOpenApiTypes(tree, schemaPath, remote, configPath); - - await copySchema(tree, name, schemaPath, remote); - - tree.write(`${projectRoot}/generated/index.ts`, contents); - - // Generate new files if the project is new - if (!existingProject) { - console.log('Generating supplementary files...'); - - // Generate other files - generateFiles(tree, joinPathFragments(__dirname, './files'), projectRoot, options); - - // Add the project to the tsconfig paths so it can be imported by namespace - addTsConfigPath(tree, importPath, [joinPathFragments(projectRoot, './src', 'index.ts')]); - } - - await formatFiles(tree); -} - -export function isExistingProject(error: Error): boolean { - return error.message.includes('already exists'); -} - -export async function confirmOverwrite(name: string): Promise<{ overwrite: boolean }> { - return await prompt({ - type: 'confirm', - name: 'overwrite', - message: `Project ${name} already exists. Do you want to overwrite it?`, - }); -} - -/** - * These utility functions are only exported by '@nx/js', not '@nx/devkit' - * They're simple so we recreate them here instead of adding '@nx/js' as a dependency - * Source: {@link https://github.com/nrwl/nx/blob/master/packages/js/src/utils/typescript/ts-config.ts} - */ -export function getRootTsConfigPathInTree(tree: Tree): string { - for (const path of ['tsconfig.base.json', 'tsconfig.json']) { - if (tree.exists(path)) { - return path; - } - } - - return 'tsconfig.base.json'; -} - -function addTsConfigPath(tree: Tree, importPath: string, lookupPaths: string[]) { - updateJson(tree, getRootTsConfigPathInTree(tree), json => { - json.compilerOptions ??= {}; - const c = json.compilerOptions; - c.paths ??= {}; - - if (c.paths[importPath]) { - throw new Error( - `You already have a library using the import path "${importPath}". Make sure to specify a unique one.` - ); - } - - c.paths[importPath] = lookupPaths; - - return json; - }); -} - -export default clientGenerator; diff --git a/tools/openapi-plugin/src/generators/client/schema.d.ts b/tools/openapi-plugin/src/generators/client/schema.d.ts deleted file mode 100644 index 4e55e65f..00000000 --- a/tools/openapi-plugin/src/generators/client/schema.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export interface ClientGeneratorSchema { - name: string; - schemaPath: string; - remote?: boolean; - configPath?: string; - importPath?: string; - skipValidate?: boolean; -} diff --git a/tools/openapi-plugin/src/generators/client/schema.json b/tools/openapi-plugin/src/generators/client/schema.json deleted file mode 100644 index 5eaedb94..00000000 --- a/tools/openapi-plugin/src/generators/client/schema.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "$schema": "https://json-schema.org/schema", - "$id": "Client", - "type": "object", - "description": "Aligent OpenAPI Client plugin generator. This generator is used for generating type-safe REST API clients using OpenAPI 3.0 Schema files. ", - "properties": { - "name": { - "type": "string", - "description": "Name of the api client.", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "Name of your api client: " - }, - "schemaPath": { - "type": "string", - "description": "Path to the schema. If using the --remote flag then you must specify a valid remote URL. If not you must specify a local file.", - "$default": { - "$source": "argv", - "index": 1 - }, - "x-prompt": "Schema path (URL to schema if using --remote): " - }, - "remote": { - "type": "boolean", - "description": "Specify whether you would like to fetch remotely." - }, - "configPath": { - "type": "string", - "description": "path to the redocly config file responsible for auth. For more information: https://openapi-ts.dev/cli#auth." - }, - "importPath": { - "type": "string", - "description": "The package name used to import the client, like @myorg/my-awesome-client. Defaults to @clients/{name} if not supplied" - }, - "skipValidate": { - "type": "boolean", - "description": "Skip validation in the generation process" - } - }, - "required": ["name", "schemaPath"] -} diff --git a/tools/openapi-plugin/src/generators/client/unit-test-schemas/invalid.yaml b/tools/openapi-plugin/src/generators/client/unit-test-schemas/invalid.yaml deleted file mode 100644 index 3044efbd..00000000 --- a/tools/openapi-plugin/src/generators/client/unit-test-schemas/invalid.yaml +++ /dev/null @@ -1,26 +0,0 @@ -# openapi: 3.0.0 <- no version specification makes this invalid -info: - title: Sample API - description: Optional multiline or single-line description in [CommonMark](http://commonmark.org/help/) or HTML. - version: 0.1.9 - -servers: - - url: http://api.example.com/v1 - description: Optional server description, e.g. Main (production) server - - url: http://staging-api.example.com - description: Optional server description, e.g. Internal staging server for testing - -paths: - /users: - get: - summary: Returns a list of users. - description: Optional extended description in CommonMark or HTML. - responses: - "200": # status code - description: A JSON array of user names - content: - application/json: - schema: - type: array - items: - type: string diff --git a/tools/openapi-plugin/src/generators/client/unit-test-schemas/valid.yaml b/tools/openapi-plugin/src/generators/client/unit-test-schemas/valid.yaml deleted file mode 100644 index ad12231a..00000000 --- a/tools/openapi-plugin/src/generators/client/unit-test-schemas/valid.yaml +++ /dev/null @@ -1,33 +0,0 @@ -openapi: 3.0.0 -info: - title: Sample API - description: Optional multiline or single-line description in [CommonMark](http://commonmark.org/help/) or HTML. - version: 0.1.9 -security: - - sampleScheme: [] - -servers: - - url: http://api.example.com/v1 - description: Optional server description, e.g. Main (production) server - - url: http://staging-api.example.com - description: Optional server description, e.g. Internal staging server for testing - -paths: - /users: - get: - summary: Returns a list of users. - description: Optional extended description in CommonMark or HTML. - responses: - "200": # status code - description: A JSON array of user names - content: - application/json: - schema: - type: array - items: - type: string -components: - securitySchemes: - sampleScheme: - type: http - scheme: basic diff --git a/tools/openapi-plugin/src/helpers/generate-openapi-types.ts b/tools/openapi-plugin/src/helpers/generate-openapi-types.ts deleted file mode 100644 index ecbc6ea9..00000000 --- a/tools/openapi-plugin/src/helpers/generate-openapi-types.ts +++ /dev/null @@ -1,119 +0,0 @@ -// @ts-expect-error This is ignored because openapi-typescript has issues with CJS support. https://arethetypeswrong.github.io/?p=openapi-typescript%407.5.2 -import openapiTS, { astToString } from 'openapi-typescript'; - -import { Tree } from '@nx/devkit'; -import { loadConfig } from '@redocly/openapi-core'; -import { spawn } from 'child_process'; - -/** - * Generates the open api types using openapi-typescript, - * @returns Generated type contents - */ -export async function generateOpenApiTypes( - tree: Tree, - schemaPath: string, - remote = false, - configPath?: string -) { - // Parse schema into type definition - let contents; - if (remote) { - console.log('Getting remote schema...'); - contents = await generateTypesFromRemoteSchema(schemaPath, configPath); - } else { - console.log('Getting local schema... (use --remote to get remote schema)'); - contents = await generateTypesFromLocalSchema(tree.root, schemaPath); - } - - return contents; -} - -function parseUrlString(url: string): URL { - const parsed = new URL(url); - - if (parsed.protocol !== 'https:' && parsed.protocol !== 'http:') { - throw new Error(`${parsed.href} is an invalid remote url.`); - } - return parsed; -} - -/** - * Gets the remote schema from an endpoint url. Uses configured authorization or passed in via the user - * @param url Remote url to fetch the schema from - * @param configPath The path to a local 'redocly' config file. This will be passed into the requests, mainly to specify auth details if required. - * @returns a string representation of the remote schema - */ -/* v8 ignore start */ // Ignored because these are just wrappers around the ts gen library. No point testing -export async function generateTypesFromRemoteSchema(url: string, configPath?: string) { - const parsedUrl = parseUrlString(url); - if (configPath) { - const config = await loadConfig({ configPath }); - console.log('Loaded Config: ', config); - console.log('Generating types...'); - const ast = await openapiTS(parsedUrl, { - redocly: config, - }); - return astToString(ast); - } else { - const ast = await openapiTS(parsedUrl); - return astToString(ast); - } -} - -/** - * Grabs schema data from local directory. The schemaPath is evaluated relative to the root of the template project, - * not the root of the generator. - * @param rootDir Root directory of the project tree - * @param schemaPath Path of the schema relative to the root of the entire project. - * @returns a string representation of the schema contents. - */ -async function generateTypesFromLocalSchema(rootDir: string, schemaPath: string) { - try { - console.log('Generating types...'); - const ast = await openapiTS(`file:///${rootDir}/${schemaPath}`); - return astToString(ast); - } catch (e) { - throw new Error( - `Failed to generate local file at path ${rootDir}/${schemaPath} (did you mean to pass --remote?)` + - e - ); - } -} -/* v8 ignore end */ - -/** - * Copies the original schema from the source to newly generated client - */ -export async function copySchema(tree: Tree, name: string, schemaPath: string, remote?: boolean) { - let schemaBuffer; - if (remote) { - const response = await fetch(schemaPath); - schemaBuffer = Buffer.from(await response.arrayBuffer()); - } else { - schemaBuffer = tree.read(schemaPath); - } - if (schemaBuffer) { - tree.write( - `clients/${name}/schema` + schemaPath.slice(-5), // Use last 5 characters to determine file type - schemaBuffer - ); - } -} - -// This is ignored by coverage because its relying on a third party package to do the validation step -/* v8 ignore start */ -export async function validateSchema(schemaPath: string) { - return new Promise((resolve, reject) => { - const child = spawn('npx', ['@redocly/cli', 'lint', schemaPath], { - stdio: ['pipe', 'inherit', 'inherit'], - }); - - child.on('close', code => { - if (code === 0) { - resolve(`Validation completed`); - } else { - reject(new Error(`Validation failed with code ${code}`)); - } - }); - }); -} diff --git a/tools/openapi-plugin/src/index.ts b/tools/openapi-plugin/src/index.ts deleted file mode 100644 index 3091187d..00000000 --- a/tools/openapi-plugin/src/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -/* v8 ignore next 1 */ -export * from './generators/client/generator'; diff --git a/tools/openapi-plugin/tsconfig.lib.json b/tools/openapi-plugin/tsconfig.lib.json deleted file mode 100644 index b2811ed8..00000000 --- a/tools/openapi-plugin/tsconfig.lib.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../dist/out-tsc", - "composite": true, - "declaration": true, - "types": ["node"] - }, - "include": ["src/**/*.ts"], - "exclude": ["vite.config.mjs", "src/**/*.spec.ts", "src/**/*.test.ts"] -} diff --git a/tools/serverless-plugin/README.md b/tools/serverless-plugin/README.md deleted file mode 100644 index 1e52c2f5..00000000 --- a/tools/serverless-plugin/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# @aligent/serverless-plugin - -This library was generated with [Nx](https://nx.dev). - -## Building - -Run `nx build @aligent/serverless-plugin` to build the library. - -## Running unit tests - -Run `nx test @aligent/serverless-plugin` to execute the unit tests via [Vitest](https://vitest.dev). diff --git a/tools/serverless-plugin/eslint.config.js b/tools/serverless-plugin/eslint.config.js deleted file mode 100644 index 728576be..00000000 --- a/tools/serverless-plugin/eslint.config.js +++ /dev/null @@ -1,11 +0,0 @@ -const eslintBaseConfig = require('../../eslint.config.js'); -const jsonParser = require('jsonc-eslint-parser'); - -module.exports = [ - ...eslintBaseConfig, - { - files: ['./package.json', './generators.json'], - rules: { '@nx/nx-plugin-checks': 'error' }, - languageOptions: { parser: jsonParser }, - }, -]; diff --git a/tools/serverless-plugin/package.json b/tools/serverless-plugin/package.json deleted file mode 100644 index 0e2829f1..00000000 --- a/tools/serverless-plugin/package.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "@aligent/serverless-plugin", - "version": "0.0.1", - "type": "commonjs", - "generators": "./generators.json", - "dependencies": { - "@nx/devkit": "^20.0.0" - } -} diff --git a/tools/serverless-plugin/project.json b/tools/serverless-plugin/project.json deleted file mode 100644 index 28f26740..00000000 --- a/tools/serverless-plugin/project.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "@aligent/serverless-plugin", - "$schema": "../../node_modules/nx/schemas/project-schema.json", - "sourceRoot": "tools/serverless-plugin/src", - "projectType": "application", - "tags": ["tools", "serverless", "plugin"], - "targets": { - "build": { - "executor": "@nx/esbuild:esbuild", - "outputs": ["{options.outputPath}"], - "options": { - "outputPath": "dist/tools/serverless-plugin", - "main": "tools/serverless-plugin/src/index.ts", - "tsConfig": "tools/serverless-plugin/tsconfig.lib.json", - "assets": ["tools/serverless-plugin/*.md"], - "generatePackageJson": true - } - } - } -} diff --git a/tools/serverless-plugin/src/generators/service/general-files/README.md b/tools/serverless-plugin/src/generators/service/general-files/README.md deleted file mode 100644 index 7840cc85..00000000 --- a/tools/serverless-plugin/src/generators/service/general-files/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# <%= name %> - -Service template generated with [Nx](https://nx.dev). - -## Context Diagram - -The context diagram should be a high level overview of the systems and the way they interact. - -![Sample Context Diagram](docs/sample-context-diagram.png) diff --git a/tools/serverless-plugin/src/generators/service/general-files/docs/sample-context-diagram.png b/tools/serverless-plugin/src/generators/service/general-files/docs/sample-context-diagram.png deleted file mode 100644 index 142e68f5..00000000 Binary files a/tools/serverless-plugin/src/generators/service/general-files/docs/sample-context-diagram.png and /dev/null differ diff --git a/tools/serverless-plugin/src/generators/service/general-files/eslint.config.js.template b/tools/serverless-plugin/src/generators/service/general-files/eslint.config.js.template deleted file mode 100644 index df7cfc23..00000000 --- a/tools/serverless-plugin/src/generators/service/general-files/eslint.config.js.template +++ /dev/null @@ -1,3 +0,0 @@ -const baseConfig = require('../../eslint.config.js'); - -module.exports = [...baseConfig]; diff --git a/tools/serverless-plugin/src/generators/service/general-files/package.json.template b/tools/serverless-plugin/src/generators/service/general-files/package.json.template deleted file mode 100644 index cf6c46c5..00000000 --- a/tools/serverless-plugin/src/generators/service/general-files/package.json.template +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "<%= name %>", - "version": "0.0.1", - "type": "commonjs" -} \ No newline at end of file diff --git a/tools/serverless-plugin/src/generators/service/general-files/serverless.yml.template b/tools/serverless-plugin/src/generators/service/general-files/serverless.yml.template deleted file mode 100644 index 79213c22..00000000 --- a/tools/serverless-plugin/src/generators/service/general-files/serverless.yml.template +++ /dev/null @@ -1,69 +0,0 @@ -service: <%= brand %>-<%= name %> - -configValidationMode: error - -package: - individually: true - patterns: - - src/**/*.js - - src/**/*.js.map - -custom: - esbuild: - bundle: true - minify: true - sourcemap: true - sourcesContent: false - -plugins: - - '@aligent/serverless-conventions' - - serverless-esbuild - - serverless-step-functions - -provider: - name: aws - runtime: nodejs20.x - stage: ${opt:stage, 'dev'} - region: ${opt:region, 'ap-southeast-2'} - memorySize: 192 #mb (default for all) - tracing: - apiGateway: true - lambda: true - environment: - NODE_OPTIONS: --enable-source-maps - -functions: - hello: - handler: src/lambda/hello.handler - world: - handler: src/lambda/world.handler - -stepFunctions: - validate: true - stateMachines: - helloWorld: - name: ${self:service}-${self:provider.stage}-helloWorld - tracingConfig: - enabled: true - definition: - StartAt: Hello - States: - Hello: - Type: Task - Resource: - Fn::GetAtt: [hello, Arn] - Next: World - World: - Type: Task - Resource: - Fn::GetAtt: [world, Arn] - Next: Passthru - Passthru: - Type: Pass - Next: Stop - Stop: - Type: Pass - End: true - -resources: - Description: Service template generated using Nx diff --git a/tools/serverless-plugin/src/generators/service/general-files/src/lambda/hello.ts.template b/tools/serverless-plugin/src/generators/service/general-files/src/lambda/hello.ts.template deleted file mode 100644 index c35fcb64..00000000 --- a/tools/serverless-plugin/src/generators/service/general-files/src/lambda/hello.ts.template +++ /dev/null @@ -1,19 +0,0 @@ -/* v8 ignore start */ - -// You can deconstruct modules to import a specific type -// AWSLambda.Handler provides generic typing -// for handler functions. Specific argument and output -// types can be supplied using generic arguments -// e.g. AWSLambda.Handler, or you can use -// event-specific handler types e.g. AWSLambda.S3Handler -import type { Handler } from 'aws-lambda/handler'; - -export const handler: Handler = async (event, context) => { - const message = 'Hello'; - console.log(message); - // Cloudwatch logs display objects more cleanly if - // they are sent as JSON strings - console.log('Lambda event: ', JSON.stringify(event)); - console.log('Lambda context: ', JSON.stringify(context)); - return {}; -}; diff --git a/tools/serverless-plugin/src/generators/service/general-files/src/lambda/world.ts.template b/tools/serverless-plugin/src/generators/service/general-files/src/lambda/world.ts.template deleted file mode 100644 index ff8abf67..00000000 --- a/tools/serverless-plugin/src/generators/service/general-files/src/lambda/world.ts.template +++ /dev/null @@ -1,18 +0,0 @@ -/* v8 ignore start */ -// You can deconstruct modules to import a specific type -// AWSLambda.Handler provides generic typing -// for handler functions. Specific argument and output -// types can be supplied using generic arguments -// e.g. AWSLambda.Handler, or you can use -// event-specific handler types e.g. AWSLambda.S3Handler -import type { Handler } from 'aws-lambda/handler'; - -export const handler: Handler = async (event, context) => { - const message = 'World'; - console.log(message); - // Cloudwatch logs display objects more cleanly if - // they are sent as JSON strings - console.log('Lambda event: ', JSON.stringify(event)); - console.log('Lambda context: ', JSON.stringify(context)); - return {}; -}; diff --git a/tools/serverless-plugin/src/generators/service/general-files/tsconfig.json.template b/tools/serverless-plugin/src/generators/service/general-files/tsconfig.json.template deleted file mode 100644 index 6327ee95..00000000 --- a/tools/serverless-plugin/src/generators/service/general-files/tsconfig.json.template +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "include": [ - "../../libs/**/src/index.ts", - "src/**/*.ts", - "**/*.test.ts" - ] -} diff --git a/tools/serverless-plugin/src/generators/service/generator.spec.ts b/tools/serverless-plugin/src/generators/service/generator.spec.ts deleted file mode 100644 index 679e8aea..00000000 --- a/tools/serverless-plugin/src/generators/service/generator.spec.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { Tree, readProjectConfiguration } from '@nx/devkit'; -import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; - -import { serviceGenerator } from './generator'; -import { serviceGeneratorSchema } from './schema'; - -describe('service generator', () => { - let tree: Tree; - beforeEach(() => { - tree = createTreeWithEmptyWorkspace(); - }); - - it('should run successfully when type is general', async () => { - const options: serviceGeneratorSchema = { - brand: 'test', - name: 'test', - type: 'general', - }; - await serviceGenerator(tree, options); - const config = readProjectConfiguration(tree, 'test'); - expect(config).toBeDefined(); - expect(config.tags).toEqual(['service', 'general', 'test']); - }); - - it('should run successfully when type is notification', async () => { - const options: serviceGeneratorSchema = { - brand: 'test', - name: 'test', - type: 'notification', - }; - await serviceGenerator(tree, options); - const config = readProjectConfiguration(tree, 'test'); - expect(config).toBeDefined(); - expect(config.tags).toEqual(['service', 'notification', 'test']); - }); -}); diff --git a/tools/serverless-plugin/src/generators/service/generator.ts b/tools/serverless-plugin/src/generators/service/generator.ts deleted file mode 100644 index 041c037a..00000000 --- a/tools/serverless-plugin/src/generators/service/generator.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Tree, addProjectConfiguration, formatFiles, generateFiles } from '@nx/devkit'; -import path from 'path'; -import { serviceGeneratorSchema } from './schema'; - -const buildRunCommandConfig = (command: string, dir = '{projectRoot}') => ({ - executor: 'nx:run-commands', - options: { - cwd: dir, - color: true, - command: command, - }, -}); - -const getTemplateFilesLocation = (type: serviceGeneratorSchema['type'] = 'general') => { - if (type === 'notification') { - return path.join(__dirname, 'notification-files'); - } - - return path.join(__dirname, 'general-files'); -}; - -export async function serviceGenerator(tree: Tree, options: serviceGeneratorSchema) { - const { name, type } = options; - const projectRoot = `services/${name}`; - - addProjectConfiguration(tree, name, { - root: projectRoot, - projectType: 'application', - sourceRoot: `${projectRoot}/src`, - targets: { - build: { - ...buildRunCommandConfig('sls package'), - }, - deploy: { - ...buildRunCommandConfig('sls deploy'), - }, - remove: { - ...buildRunCommandConfig('sls remove'), - }, - }, - tags: ['service', type, name], - }); - - const templateFilesLocation = getTemplateFilesLocation(type); - - generateFiles(tree, templateFilesLocation, projectRoot, options); - - await formatFiles(tree); -} - -export default serviceGenerator; diff --git a/tools/serverless-plugin/src/generators/service/notification-files/README.md b/tools/serverless-plugin/src/generators/service/notification-files/README.md deleted file mode 100644 index d768e831..00000000 --- a/tools/serverless-plugin/src/generators/service/notification-files/README.md +++ /dev/null @@ -1,156 +0,0 @@ -# <%= name %> - -This is a serverless notification system built using AWS Lambda and Amazon SNS. It allows you to send notifications to various channels such as email, Slack or even mobile push notification. - -## Architecture - -![Architecture Diagram](docs/architecture-diagram.svg) - -The system consists of the following components: - -1. AWS Lambda: A Lambda function is responsible for processing the notification requests and publishing messages to an SNS topic. -2. Amazon SNS: An SNS topic is used to distribute the notification messages to different channels (email, SMS, mobile push, etc.) based on subscriptions. -3. Subscribers: Various services or applications can subscribe to the SNS topic to receive notifications. For example, an email service can subscribe to receive email notifications, and `AWS Chatbot` service can subscribe to receive notifications and forward to Slack. - -## Setup - -- When posting to Slack, due to security restrictions, we do not deploy Amazon SNS & subscribe it ourselves. We will need to ask DevOps to set it up. As a result, we import the SNS arn via SSM. -- This service has 2 dependencies, we need to install them like so: - ```bash - npm install @aws-sdk/client-sns dayjs - ``` -- This service exports a Lambda Arn named as the endpoint for receiving notification. Other services can import it by: `!ImportValue: ErrorNotificationLambdaFunction-${self:provider.stage}` -- Since other services depends on this service exported value, we will need to tell Nx about this dependency by adding `implicitDependencies` & `dependsOn` to the service `project.json` like so: - -```json -{ - "name": "service-name", - "implicitDependencies": ["notification"], // For `nx graph` only - "targets": { - "build": { - "executor": "nx:run-commands", - "options": { - "cwd": "services/service-name", - "color": true, - "command": "sls package" - }, - "dependsOn": [{ "projects": ["notification"], "target": "build", "params": "forward" }] - }, - "deploy": { - "executor": "nx:run-commands", - "options": { - "cwd": "services/service-name", - "color": true, - "command": "sls deploy" - }, - "dependsOn": [{ "projects": ["notification"], "target": "deploy", "params": "forward" }] - } - } -} -``` - -## Usage - -This service accepts events in the following format (similar to CloudWatch Event events): - -```json -{ - "id": "00acdcb8-8864-405f-af3d-51a6bfb2d151", - "detail-type": "Lambda Execution Failed", - "source": "aws.lambda", - "time": "2024-06-24T04:42:33.884Z", - "region": "ap-southeast-2", - "resources": [ - "arn:aws:lambda:ap-southeast-2:XXXXXXXXXX:function:client-int-service-name-stg-lambdaName" - ], - "detail": { - "executionArn": "arn:aws:lambda:ap-southeast-2:XXXXXXXXXX:function:client-int-service-name-stg-lambdaName", - "logGroupName": "/aws/lambda/client-int-service-name-stg-lambdaName", - "name": "client-int-service-name-stg-lambdaName", - "status": "FAILED", - "error": "SyntaxError", - "cause": "{\"errorType\":\"SyntaxError\",\"errorMessage\":\"Unexpected token u in JSON at position 0\",\"trace\":\"SyntaxError: Unexpected token u in JSON at position 0\\n at JSON.parse ()\\n at Runtime.V1 (/src/lambda/create-order.ts:39:34)\\n at Runtime.handleOnceNonStreaming (file:///var/runtime/index.mjs:1173:29)\"}" - } -} -``` - -The Lambda function will process the payload, format the notification message, and publish it to the SNS topic. The subscribed services will then receive the notification and handle it accordingly. - -### Working with StepFunction - -The `serverless-step-functions` plugin supports CloudWatch Event notifications. Therefore, we only need to add the following `notifications` configure: - -```yaml -stepFunctions: - validate: true - stateMachines: - stateMachineName: - name: ${self:service}-${self:provider.stage}-stateMachineName - notifications: - ABORTED: - - lambda: arn:aws:lambda:${aws:region}:${aws:accountId}:function:tt-int-notification-${self:provider.stage}-notifyError - FAILED: - - lambda: arn:aws:lambda:${aws:region}:${aws:accountId}:function:tt-int-notification-${self:provider.stage}-notifyError - TIMED_OUT: - - lambda: arn:aws:lambda:${aws:region}:${aws:accountId}:function:tt-int-notification-${self:provider.stage}-notifyError -``` - -**_Note_**: It's unfortunate that `serverless-step-functions` does not support `!ImportValue`. Therefore, we have to manually build the notification arn. - -### Working with Lambda - -To send message to this notification service, we need to invoke the exported Lambda endpoint by [AWS SDK](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/lambda/command/InvokeCommand/). - -For that reason, we need to update the `serverless.yml` file to include necessary permissions like so: - -```yaml -provider: - iam: - role: - statements: - - Effect: Allow - Action: - - lambda:InvokeFunction - Resource: !ImportValue ErrorNotificationLambdaFunction-${self:provider.stage} - environment: - ERROR_NOTIFICATION_LAMBDA_ARN: !ImportValue ErrorNotificationLambdaFunction-${self:provider.stage} -``` - -Below is an example of how this service can be invoked: - -```typescript -async notifyError(error: Error, context: Context) { - const payload = { - id: context.awsRequestId, - 'detail-type': 'Lambda Execution Failed', - source: 'aws.lambda', - time: new Date().toISOString(), - region: context.invokedFunctionArn.split(':')[3] as string, - resources: [context.invokedFunctionArn], - detail: { - executionArn: context.invokedFunctionArn, - logGroupName: context.logGroupName, - name: context.functionName, - status: 'FAILED', - error: error.name, - cause: JSON.stringify({ - errorType: error.name, - errorMessage: error.message, - trace: error.stack, - }), - }, - }; - - const input: InvokeCommandInput = { - FunctionName: process.env.ERROR_NOTIFICATION_LAMBDA_ARN, - InvocationType: 'Event', - Payload: payload, - }; - - const response = await this.client.send(new InvokeCommand(input)); - - console.log('Error notification sent:', JSON.stringify(response)); - - return response; - } -``` diff --git a/tools/serverless-plugin/src/generators/service/notification-files/docs/architecture-diagram.mmd b/tools/serverless-plugin/src/generators/service/notification-files/docs/architecture-diagram.mmd deleted file mode 100644 index 39b3fe44..00000000 --- a/tools/serverless-plugin/src/generators/service/notification-files/docs/architecture-diagram.mmd +++ /dev/null @@ -1,4 +0,0 @@ -flowchart LR - A[Other services] --> B(AWS Lambda) - B(AWS Lambda) --> C(Amazon SNS) - C --> D[Subscribers] diff --git a/tools/serverless-plugin/src/generators/service/notification-files/docs/architecture-diagram.svg b/tools/serverless-plugin/src/generators/service/notification-files/docs/architecture-diagram.svg deleted file mode 100644 index bed2cd58..00000000 --- a/tools/serverless-plugin/src/generators/service/notification-files/docs/architecture-diagram.svg +++ /dev/null @@ -1 +0,0 @@ -
Other services
AWS Lambda
Amazon SNS
Subscribers
\ No newline at end of file diff --git a/tools/serverless-plugin/src/generators/service/notification-files/eslint.config.js.template b/tools/serverless-plugin/src/generators/service/notification-files/eslint.config.js.template deleted file mode 100644 index df7cfc23..00000000 --- a/tools/serverless-plugin/src/generators/service/notification-files/eslint.config.js.template +++ /dev/null @@ -1,3 +0,0 @@ -const baseConfig = require('../../eslint.config.js'); - -module.exports = [...baseConfig]; diff --git a/tools/serverless-plugin/src/generators/service/notification-files/package.json.template b/tools/serverless-plugin/src/generators/service/notification-files/package.json.template deleted file mode 100644 index 7a3cd52c..00000000 --- a/tools/serverless-plugin/src/generators/service/notification-files/package.json.template +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "<%= name %>", - "version": "0.0.1", - "type": "commonjs" -} diff --git a/tools/serverless-plugin/src/generators/service/notification-files/serverless.yml.template b/tools/serverless-plugin/src/generators/service/notification-files/serverless.yml.template deleted file mode 100644 index a666a537..00000000 --- a/tools/serverless-plugin/src/generators/service/notification-files/serverless.yml.template +++ /dev/null @@ -1,61 +0,0 @@ -service: <%= brand %>-<%= name %> - -configValidationMode: error - -package: - individually: true - patterns: - - src/**/*.js - - src/**/*.js.map - -custom: - esbuild: - bundle: true - minify: true - sourcemap: true - sourcesContent: false - # Use `!Ref SNSTopicNotifications` if we deploy SNS in this stack - alertSnsArn: ${ssm:/client/int/notifications/alert-sns-arn} - -plugins: - - '@aligent/serverless-conventions' - - serverless-esbuild - -provider: - name: aws - runtime: nodejs20.x - stage: ${opt:stage, 'dev'} - region: ${opt:region, 'ap-southeast-2'} - memorySize: 192 #mb (default for all) - timeout: 29 #seconds (default for all) - iam: - role: - statements: - - Effect: Allow - Action: - - sns:Publish - Resource: - - ${self:custom.alertSnsArn} - environment: - NODE_OPTIONS: --enable-source-maps - SNS_TOPIC_ARN: ${self:custom.alertSnsArn} - -functions: - notifyError: - handler: src/lambda/notify-error.handler - -resources: - Description: Notification service for error notifying - # Uncomment this part if we want to deploy SNS in this stack - # Resources: - # SNSTopicNotifications: - # Type: AWS::SNS::Topic - # Properties: - # TopicName: ${self:service}-${self:provider.stage}-notifications-topic - - Outputs: - ErrorNotificationLambdaFunction: - Description: Arn of ${self:service}-${self:provider.stage}-notifyError - Value: !GetAtt NotifyErrorLambdaFunction.Arn - Export: - Name: ErrorNotificationLambdaFunction-${self:provider.stage} diff --git a/tools/serverless-plugin/src/generators/service/notification-files/src/lambda/notify-error.ts.template b/tools/serverless-plugin/src/generators/service/notification-files/src/lambda/notify-error.ts.template deleted file mode 100644 index 134e8542..00000000 --- a/tools/serverless-plugin/src/generators/service/notification-files/src/lambda/notify-error.ts.template +++ /dev/null @@ -1,49 +0,0 @@ -/* v8 ignore start */ -import type { Handler } from 'aws-lambda/handler'; -import type { NotifyError } from '../../types/notify-error'; -import { - extractErrorDetails, - extractNameFromExecutionArn, - extractNameFromResourceName, - generateAdditionalSteps, -} from '../utils/aws-formatting'; -import { AmazonSNS } from '../utils/aws-sns'; - -const snsClient = new AmazonSNS(process.env['SNS_TOPIC_ARN'] as string); - -export const handler: Handler = async (event: NotifyError.InvocationEvent) => { - console.log('Lambda event: ', JSON.stringify(event)); - try { - const { source, region, detail } = event; - const { executionArn, logGroupName, requestId } = detail; - - const resourceName = extractNameFromExecutionArn(executionArn); - const name = extractNameFromResourceName(resourceName); - const { errorType, errorMessage } = extractErrorDetails(event); - - const steps = generateAdditionalSteps({ - source, - region, - executionArn, - logGroupName, - requestId, - }); - - const description = [`[${errorType}] ${errorMessage}`].concat(steps); - - const message: NotifyError.Message = { - version: '1.0', - source: 'custom', - content: { - textType: 'client-markdown', - title: `${event.detail.status}: ${name}`, - description: description.join('\nโ€ข '), - }, - }; - - await snsClient.publish(event['detail-type'], JSON.stringify(message)); - } catch (error) { - console.error(JSON.stringify(error)); - throw error; - } -}; diff --git a/tools/serverless-plugin/src/generators/service/notification-files/src/utils/aws-formatting.ts.template b/tools/serverless-plugin/src/generators/service/notification-files/src/utils/aws-formatting.ts.template deleted file mode 100644 index b5db17b2..00000000 --- a/tools/serverless-plugin/src/generators/service/notification-files/src/utils/aws-formatting.ts.template +++ /dev/null @@ -1,227 +0,0 @@ -import dayjs from 'dayjs'; -import utc from 'dayjs/plugin/utc'; -import { NotifyError } from '../../types/notify-error'; - -dayjs.extend(utc); - -const LOGS_INSIGHTS_TIME_FORMAT = 'YYYY-MM-DDTHH:mm:ss.SSS[Z]'; - -/** - * Extracts the name from an AWS Step Functions or Lambda execution ARN - * It assumes that the arn is always in the correct format - * For example: - * - The Step Functions execution ARN format is: arn:aws:states:region:account_id:execution:state_machine_name:execution_name - * - The Lambda execution ARN format is: arn:aws:lambda:region:account_id:function:function_name - * - * @param {string} arn - The AWS Step Functions execution ARN. - * @returns {string} The extracted name from the execution ARN. - * @throws {Error} If the provided ARN is invalid or does not contain a name. - * - * @example - * const arn = 'arn:aws:states:us-east-1:123456789012:execution:my-state-machine:my-execution'; - * const name = extractNameFromExecutionArn(arn); - * console.log(name); // Output: 'my-state-machine: my-execution' - * - * @example - * const arn = 'arn:aws:lambda:us-east-1:123456789012:function:my-function'; - * const name = extractNameFromExecutionArn(arn); - * console.log(name); // Output: 'my-function' - */ -export function extractNameFromExecutionArn(arn: string) { - const parts = arn.split(':'); - let name = parts[6]; - - if (!name) { - throw new Error('Invalid execution ARN'); - } - - // If it's a Step Function execution ARN, we want to include execution name - if (parts.length === 8) { - name += `: ${parts[7]}`; - } - - return name; -} - -/** - * Extracts the name from a resource name string. - * It assumes our resource name is in the correct format - * For example: - * - Lambda resource name format is: brand-int-service-name-stage-lambdaName - * - Step function resource name format is: brand-int-service-name-stage-stepFunctionName:994ee932-8e5f-f59f-5619-ebdefd8af815_087eb4a0-92a4-30d2-eea4-c078e9b9e5fa - * - * @param {string} resourceName - The resource name string. - * @returns {string} The extracted name from the resource name. - * - * @example - * const resourceName = 'brand-int-service-name-stage-lambdaName'; - * const name = extractNameFromResourceName(resourceName); - * console.log(name); // Output: 'lambdaName' - * - * @example - * const resourceName = 'brand-int-service-name-stage-stepFunctionName:994ee932-8e5f-f59f-5619-ebdefd8af815_087eb4a0-92a4-30d2-eea4-c078e9b9e5fa'; - * const name = extractNameFromResourceName(resourceName); - * console.log(name); // Output: 'stepFunctionName' - */ -export function extractNameFromResourceName(resourceName: string): string { - // Only Step Function resource name contains : character. - if (resourceName.includes(':')) { - const [stateMachineName, executionName] = resourceName.split(':'); - - // This is a scheduled execution, we will use the state machine name instead - resourceName = (executionName?.includes('_') ? stateMachineName : executionName) as string; - } - - return resourceName.split('-').pop() as string; -} - -/** - * Extracts the error details from the error detail object - * Notes: - * - Lambda sends a JSON string in detail.cause - * - Step Function Fail step sends an object that contains both detail.cause & detail.error - * - When Step Function rethrow lambda error, it sends detail.cause is not a JSON string - * - * @param {NotifyError.InvocationEvent} event - The event object to extract the error details from - * @returns {NotifyError.Cause} The error details - * - * @example - * const event = { - * detail: { - * cause: '{"errorType":"MyError","errorMessage":"Something went wrong"}', - * error: 'MyError', - * } - * }; - * const errorDetails = extractErrorDetails(event); - * console.log(errorDetails); - * // Output: { errorType: "MyError", errorMessage: "Something went wrong" } - */ -export function extractErrorDetails(event: NotifyError.InvocationEvent): NotifyError.Cause { - const { cause, error } = event.detail; - - let errorType = error || 'UnknownError'; - let errorMessage = cause || 'Unknown Error'; - - try { - // There are some cases when StepFunction re-throw Lambda errors. - // In these cases, the cause will not be a json string - const causeObj = JSON.parse(cause || '{}') as NotifyError.Cause; - errorType = causeObj.errorType || errorType; - errorMessage = causeObj.errorMessage || errorMessage; - } catch (error) { - console.warn('Error parsing cause, using as literal string: ', { - error, - }); - } - - return { - errorType, - errorMessage, - }; -} - -/** - * Generates a CloudWatch Logs Insights URL for a specific log group and request ID. - * The URL includes a query to filter logs by the provided request ID and a time range - * of 10 minutes before and after the current time. - * - * @param {string} region - The AWS region where the log group is located. - * @param {string} logGroupName - The name of the CloudWatch log group. - * @param {string} requestId - The request ID to filter logs by. - * @param {Date} [currentTime=new Date()] - The current time to calculate the time range for the query. - * @returns {string} The generated CloudWatch Logs Insights URL. - * - * @example - * const region = 'us-east-1'; - * const logGroupName = '/aws/lambda/my-function'; - * const requestId = '12345678-1234-1234-1234-123456789012'; - * const url = generateCloudWatchInsightUrl(region, logGroupName, requestId); - * console.log(url); - */ -function generateCloudWatchInsightUrl( - region: string, - logGroupName: string, - requestId: string, - currentTime: Date = new Date() -): string { - const logInsightUrl = `https://${region}.console.aws.amazon.com/cloudwatch/home?region=${region}#logsV2:logs-insights`; - - const encodedLogGroupName = encodeURIComponent(encodeURIComponent(logGroupName)).replace( - /%/g, - '$' - ); - - const end = `end~'${dayjs - .utc(currentTime) - .add(10, 'minutes') - .format(LOGS_INSIGHTS_TIME_FORMAT)}`; - - const start = `start~'${dayjs - .utc(currentTime) - .subtract(10, 'minutes') - .format(LOGS_INSIGHTS_TIME_FORMAT)}`; - - const query = encodeURIComponent( - `fields @timestamp, @message, @logStream | filter @requestId = "${requestId}" | sort @timestamp asc` - ).replace(/%/g, '*'); - - const queryDetail = `~(${end}~${start}~timeType~'ABSOLUTE~tz~'UTC~editorString~'${query}~queryId~'~source~(~'${encodedLogGroupName})~lang~'CWLI)`; - - return `${logInsightUrl}?queryDetail=${queryDetail}`; -} - -/** - * Generates a Step Functions execution URL for a specific execution ARN. - * The URL links to the AWS Management Console for viewing the execution details. - * - * @param {string} region - The AWS region where the Step Function is located. - * @param {string} executionArn - The Step Function execution ARN. - * @returns {string} The generated Step Functions execution URL. - * - * @example - * const region = 'us-east-1'; - * const executionArn = 'arn:aws:states:us-east-1:123456789012:execution:my-state-machine:my-execution'; - * const url = generateStepFunctionUrl(region, executionArn); - * console.log(url); - */ -function generateStepFunctionUrl(region: string, executionArn: string): string { - return `https://${region}.console.aws.amazon.com/states/home?region=${region}#/v2/executions/details/${executionArn}`; -} - -/** - * Generates a list of AWS Chatbot custom additional steps. - * These steps can be used in custom message `nextStep` or merge with the description. - * Note: - * * Description is limited to 8000 characters - * * Each individual nextStep is limited to 350 characters - * * For more information, please check https://docs.aws.amazon.com/chatbot/latest/adminguide/custom-notifs.html - * - * @param {NotifyError.NextStepsInput} input - The input object containing the source, region, executionArn, and logGroupName. - * @returns {string[]} An array of strings representing the next steps. - * @throws {Error} If the required parameters are missing for the specified source. - */ -export function generateAdditionalSteps(input: NotifyError.NextStepsInput) { - const { source, region, executionArn, logGroupName, requestId } = input; - const steps: string[] = []; - - if (source === 'aws.lambda') { - steps.push( - `Check the <${generateCloudWatchInsightUrl( - region, - logGroupName as string, - requestId as string - )}|*CloudWatch Insight*> for more details.` - ); - } - - if (source === 'aws.states') { - steps.push( - `Check the <${generateStepFunctionUrl( - region, - executionArn - )}|*Step Functions execution*> for more details.` - ); - } - - return steps; -} diff --git a/tools/serverless-plugin/src/generators/service/notification-files/src/utils/aws-sns.ts.template b/tools/serverless-plugin/src/generators/service/notification-files/src/utils/aws-sns.ts.template deleted file mode 100644 index c02bb26e..00000000 --- a/tools/serverless-plugin/src/generators/service/notification-files/src/utils/aws-sns.ts.template +++ /dev/null @@ -1,55 +0,0 @@ -/* v8 ignore start */ -import { - PublishCommand, - PublishCommandInput, - PublishCommandOutput, - SNSClient, -} from '@aws-sdk/client-sns'; - -export class AmazonSNS { - private readonly client: SNSClient; - private readonly topicArn: string; - - private readonly maxBytes = 262144; // 256KB - // Making the assumption that it would be rare to have Egyptian Hieroglyphs - // in the message this approximation should be good enough - private readonly maxChars = this.maxBytes / 2 - 1; - private readonly maxSubjectChars = 100; - - constructor(topicArn: string) { - const region = topicArn.split(':')[3] as string; - - this.client = new SNSClient({ region }); - this.topicArn = topicArn; - } - - /** - * This function send a message to an SNS topic - * Due to the SNS subject and message size restrictions - * the subject and message will be truncated if they exceeds the maximum allowed size. - * - * @async - * @param {string} subject - The subject of the message - * @param {string} message - The message to send - * @returns {Promise} - */ - async publish(subject: string, message: string): Promise { - const input: PublishCommandInput = { - TopicArn: this.topicArn, - Subject: subject, - Message: message, - }; - - if (subject.length > this.maxSubjectChars) { - console.warn('Need to truncate SNS subject, too long'); - input.Subject = subject.substring(0, this.maxSubjectChars); - } - - if (Buffer.byteLength(message, 'utf8') > this.maxBytes) { - console.warn('Need to truncate SNS message, too long'); - input.Message = message.substring(0, this.maxChars); - } - - return await this.client.send(new PublishCommand(input)); - } -} diff --git a/tools/serverless-plugin/src/generators/service/notification-files/tests/aws-formatting.test.ts.template b/tools/serverless-plugin/src/generators/service/notification-files/tests/aws-formatting.test.ts.template deleted file mode 100644 index 9f811f45..00000000 --- a/tools/serverless-plugin/src/generators/service/notification-files/tests/aws-formatting.test.ts.template +++ /dev/null @@ -1,236 +0,0 @@ -import dayjs from 'dayjs'; -import utc from 'dayjs/plugin/utc'; -import { - extractNameFromExecutionArn, - extractNameFromResourceName, - generateAdditionalSteps, -} from '../src/utils/aws-formatting'; -import { NotifyError } from '../types/notify-error'; - -dayjs.extend(utc); - -describe('extractNameFromExecutionArn', () => { - it('should extract the name from a valid execution ARN', () => { - const arn = - 'arn:aws:states:ap-southeast-2:123456789012:execution:my-state-machine:my-execution-name'; - const expectedName = 'my-state-machine: my-execution-name'; - - const result = extractNameFromExecutionArn(arn); - - expect(result).toEqual(expectedName); - }); - - it('should throw an error for an invalid execution ARN', () => { - const arn = 'invalid-arn'; - const result = () => extractNameFromExecutionArn(arn); - - expect(result).toThrowError('Invalid execution ARN'); - }); - - it('should throw an error if the ARN does not have enough parts', () => { - const arn = 'arn:aws:states:ap-southeast-2:123456789012'; - const result = () => extractNameFromExecutionArn(arn); - - expect(result).toThrowError('Invalid execution ARN'); - }); - - it('should handle ARNs with different formats', () => { - const arn = - 'arn:aws:lambda:ap-southeast-2:123456789012:function:my-lambda-name'; - const expectedName = 'my-lambda-name'; - - const result = extractNameFromExecutionArn(arn); - - expect(result).toEqual(expectedName); - }); -}); - -describe('extractNameFromResourceName', () => { - it('should extract the name from a valid resource name', () => { - const resourceName = 'my-resource-name'; - const expectedName = 'name'; - - const result = extractNameFromResourceName(resourceName); - - expect(result).toBe(expectedName); - }); - - it('should return an empty string for an empty input', () => { - const resourceName = ''; - const expectedName = ''; - - const result = extractNameFromResourceName(resourceName); - - expect(result).toBe(expectedName); - }); - - it('should return the entire string if there are no hyphens', () => { - const resourceName = 'resourceName'; - const expectedName = 'resourceName'; - - const result = extractNameFromResourceName(resourceName); - - expect(result).toBe(expectedName); - }); - - it('should handle resource names with leading and trailing hyphens', () => { - const resourceName = '-leading-and-trailing-'; - const expectedName = ''; - - const result = extractNameFromResourceName(resourceName); - - expect(result).toBe(expectedName); - }); - - it('should handle scheduled step function execution name correctly', () => { - const resourceName = 'my-stateMachine:my-execution-name_execution-uuid'; - const expectedName = 'stateMachine'; - - const result = extractNameFromResourceName(resourceName); - - expect(result).toBe(expectedName); - }); -}); - - -describe('extractErrorDetails', () => { - it('should extract the error details from a valid Lambda event', () => { - const event: NotifyError.InvocationEvent = { - source: 'aws.lambda', - region: 'ap-southeast-2', - detail: { - cause: JSON.stringify({ - errorType: 'ErrorType', - errorMessage: 'ErrorMessage', - }), - executionArn: 'my-execution-arn', - name: 'my-name', - status: 'my-status', - error: 'my-error', - }, - id: 'my-id', - 'detail-type': 'my-detail-type', - time: 'my-time', - resources: ['my-resource'], - }; - - const result = extractErrorDetails(event); - - expect(result).toEqual({ - errorType: 'ErrorType', - errorMessage: 'ErrorMessage', - }); - }); - - it('should extract the error details from a valid StepFunctions event', () => { - const event: NotifyError.InvocationEvent = { - source: 'aws.states', - region: 'ap-southeast-2', - detail: { - cause: 'my-cause', - executionArn: 'my-execution-arn', - name: 'my-name', - status: 'my-status', - error: 'my-error', - }, - id: 'my-id', - 'detail-type': 'my-detail-type', - time: 'my-time', - resources: ['my-resource'], - }; - - const result = extractErrorDetails(event); - - expect(result).toEqual({ - errorType: 'my-error', - errorMessage: 'my-cause', - }); - }); - - it('should throw an error if the cause is not a valid JSON string and the source is aws.lambda', () => { - const event: NotifyError.InvocationEvent = { - source: 'aws.lambda', - region: 'ap-southeast-2', - detail: { - cause: 'invalid-json', - executionArn: 'my-execution-arn', - name: 'my-name', - status: 'my-status', - error: 'my-error', - }, - id: 'my-id', - 'detail-type': 'my-detail-type', - time: 'my-time', - resources: ['my-resource'], - }; - - const result = () => extractErrorDetails(event); - - expect(result).toThrowError( - 'Unexpected token \'i\', "invalid-json" is not valid JSON' - ); - }); - - it('should NOT throw an error if the cause is not a valid JSON string and the source is aws.states', () => { - const event: NotifyError.InvocationEvent = { - source: 'aws.states', - region: 'ap-southeast-2', - detail: { - cause: 'invalid-json', - executionArn: 'my-execution-arn', - name: 'my-name', - status: 'my-status', - error: 'my-error', - }, - id: 'my-id', - 'detail-type': 'my-detail-type', - time: 'my-time', - resources: ['my-resource'], - }; - - const result = () => extractErrorDetails(event); - - expect(result).not.toThrowError(); - }); -}); - -describe('generateChatbotNextSteps', () => { - it('should generate a CloudWatch Insight URL if source is aws.lambda', () => { - const fakeDate = dayjs.utc('2024-12-12T10:30:00.000Z').toDate(); - vi.useFakeTimers().setSystemTime(fakeDate); - - const input: NotifyError.NextStepsInput = { - source: 'aws.lambda', - region: 'ap-southeast-2', - executionArn: 'my-execution-arn', - logGroupName: '/aws/lambda/my-log-group', - requestId: '344c9ae5-adf7-4ccb-b5ae-ab7a8cbee698', - }; - - const expected = [ - `Check the for more details.`, - ]; - - const result = generateAdditionalSteps(input); - expect(result).toEqual(expected); - - vi.useRealTimers(); - }); - - it('should generate a Step Functions URL if source is aws.states', () => { - const input: NotifyError.NextStepsInput = { - source: 'aws.states', - region: 'ap-southeast-2', - executionArn: 'my-execution-arn', - logGroupName: undefined, - requestId: undefined, - }; - - const expected = [ - 'Check the for more details.', - ]; - - const result = generateAdditionalSteps(input); - expect(result).toEqual(expected); - }); -}); diff --git a/tools/serverless-plugin/src/generators/service/notification-files/tsconfig.json.template b/tools/serverless-plugin/src/generators/service/notification-files/tsconfig.json.template deleted file mode 100644 index 6327ee95..00000000 --- a/tools/serverless-plugin/src/generators/service/notification-files/tsconfig.json.template +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "include": [ - "../../libs/**/src/index.ts", - "src/**/*.ts", - "**/*.test.ts" - ] -} diff --git a/tools/serverless-plugin/src/generators/service/notification-files/types/notify-error.ts.template b/tools/serverless-plugin/src/generators/service/notification-files/types/notify-error.ts.template deleted file mode 100644 index d29e85c4..00000000 --- a/tools/serverless-plugin/src/generators/service/notification-files/types/notify-error.ts.template +++ /dev/null @@ -1,64 +0,0 @@ -/* eslint-disable @typescript-eslint/no-namespace */ -export namespace NotifyError { - export type InvocationEvent = { - id: string; - 'detail-type': string; - source: Source; - time: string; - region: string; - resources: string[]; - detail: { - executionArn: string; - logGroupName?: string; - requestId?: string; - name: string; - status: string; - error?: string; - cause?: string; - }; - }; - - export type Source = 'aws.lambda' | 'aws.states'; - - export type NextStepsInput = { - source: Source; - region: string; - executionArn: string; - logGroupName: string | undefined; - requestId: string | undefined; - }; - - export type Cause = { - errorType: string; - errorMessage: string; - trace?: unknown; - }; - - export type Message = AWSChatbot.CustomNotification; - - export namespace AWSChatbot { - export interface CustomNotification { - version: '1.0'; - source: 'custom'; - id?: string; - content: Content; - metadata?: Metadata; - } - - interface Content { - textType?: 'client-markdown'; - title?: string; - description: string; - nextSteps?: string[]; - keywords?: string[]; - } - - interface Metadata { - threadId?: string; - summary?: string; - eventType?: string; - relatedResources?: string[]; - additionalContext?: Record; - } - } -} diff --git a/tools/serverless-plugin/src/generators/service/schema.d.ts b/tools/serverless-plugin/src/generators/service/schema.d.ts deleted file mode 100644 index 18bf6a76..00000000 --- a/tools/serverless-plugin/src/generators/service/schema.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* v8 ignore start */ -export interface serviceGeneratorSchema { - brand: string; - name: string; - type: 'general' | 'notification'; -} diff --git a/tools/serverless-plugin/src/generators/service/schema.json b/tools/serverless-plugin/src/generators/service/schema.json deleted file mode 100644 index 0a91c3fc..00000000 --- a/tools/serverless-plugin/src/generators/service/schema.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "$schema": "http://json-schema.org/schema", - "$id": "ServiceGenerator", - "title": "Nx Generator for bootstrapping Serverless Framework services", - "type": "object", - "properties": { - "brand": { - "type": "string", - "description": "Brand name (config this in {workspaceRoot}/nx.json)" - }, - "name": { - "type": "string", - "description": "Service name", - "$default": { - "$source": "argv", - "index": 0 - }, - "x-prompt": "What would you like to call the service?" - }, - "type": { - "type": "string", - "description": "Service type", - "default": "general", - "$default": { - "$source": "argv", - "index": 1 - } - } - }, - "required": ["brand", "name"] -} diff --git a/tools/serverless-plugin/tsconfig.lib.json b/tools/serverless-plugin/tsconfig.lib.json deleted file mode 100644 index ddc42aeb..00000000 --- a/tools/serverless-plugin/tsconfig.lib.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "composite": true, - "declaration": true, - "outDir": "../../dist/out-tsc", - "types": ["node"] - }, - "include": ["src/**/*.ts"], - "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"] -} diff --git a/tools/tsconfig.tools.json b/tools/tsconfig.tools.json deleted file mode 100644 index a8090724..00000000 --- a/tools/tsconfig.tools.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "../tsconfig.base.json", - "compilerOptions": { - "outDir": "../dist/out-tsc/tools", - "rootDir": ".", - "module": "commonjs", - "target": "es5", - "types": ["node"], - "importHelpers": false - }, - "include": ["**/*.ts"] -} diff --git a/tsconfig.base.json b/tsconfig.base.json index 2a5965bf..10594487 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,15 +1,34 @@ { - "extends": "@aligent/ts-code-standards/tsconfigs-base", - "compileOnSave": false, + // The @nx/js:library generator doesn't allow ANY keys other than + // compilerOptions here if you want it to use the new project references/workspaces setup + // @see node_modules/@nx/js/src/utils/typescript/ts-solution-setup.js#isWorkspaceSetupWithTsSolution "compilerOptions": { - "rootDir": ".", - "baseUrl": ".", - "exactOptionalPropertyTypes": false, + "composite": true, // Required by Nx to use the new project references/workspaces setup + "declaration": true, // Required by Nx to use the new project references/workspaces setup + "declarationMap": true, + "emitDeclarationOnly": true, + "experimentalDecorators": true, // Required by ESBuild to bundle property decorators + "importHelpers": true, + "module": "ESNext", + "moduleResolution": "bundler", "noUncheckedSideEffectImports": true, - "paths": { - "@aligent/openapi-plugin": ["tools/openapi-plugin/src/index.ts"], - "@aligent/serverless-plugin": ["tools/serverless-plugin/src/index.ts"] - }, - "types": ["node", "vitest", "vitest/globals"] + "types": ["node", "vitest", "vitest/globals"], + "strictNullChecks": true, + // Aligent defaults from ts-code-standards + "lib": ["ES2023"], + "strict": true, + "allowUnusedLabels": false, + "allowUnreachableCode": false, + "exactOptionalPropertyTypes": true, + "noFallthroughCasesInSwitch": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noUncheckedIndexedAccess": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "isolatedModules": true, + "checkJs": true, + "esModuleInterop": true, + "skipLibCheck": true } } diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..7ecf25db --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "./tsconfig.base.json", + "compileOnSave": false, + "files": [], + "references": [ + { + "path": "./applications/core" + }, + { + "path": "./tools/cdk-service-plugin" + }, + { + "path": "./libs/cdk-utils" + } + ] +} diff --git a/vite.config.base.mjs b/vite.config.base.mjs index 5a63d857..7bdf1771 100644 --- a/vite.config.base.mjs +++ b/vite.config.base.mjs @@ -1,6 +1,6 @@ -/// -import { defineConfig } from 'vite'; import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; +import { defineConfig } from 'vitest/config'; +import path from 'node:path'; export const viteBaseConfig = defineConfig({ plugins: [nxViteTsPaths()], @@ -11,7 +11,14 @@ export const viteBaseConfig = defineConfig({ reporters: ['default'], coverage: { provider: 'v8', - exclude: ['node_modules/', '**/types', '*.mjs'], + exclude: [ + 'node_modules/', + '**/types', + '*.mjs', + '**/__data__', + '**/dist', + '**/out-tsc', + ], thresholds: { branches: 80, functions: 80, @@ -23,5 +30,9 @@ export const viteBaseConfig = defineConfig({ 'src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}', 'tests/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}', ], + setupFiles: [ + // Include the root setup file in all tests that extend this config + path.resolve(import.meta.dirname, './vite.global.setup.mjs'), + ], }, -}); +}); \ No newline at end of file diff --git a/vite.global.setup.mjs b/vite.global.setup.mjs new file mode 100644 index 00000000..6fef67aa --- /dev/null +++ b/vite.global.setup.mjs @@ -0,0 +1,109 @@ +import { beforeAll } from 'vitest' + +beforeAll(() => { + expect.addSnapshotSerializer( + replaceProperties({ property: [ + // Replace asset storage locations in Lambda function snapshots + 'Code.S3Bucket', + 'Code.S3Key', + // Replace asset storage locations in Step Function snapshots + 'DefinitionS3Location.Bucket', + 'DefinitionS3Location.Key' + ] }) + ); +}) + +const PLACEHOLDER = '[SNAPSHOT_PLACEHOLDER]'; +const isObject = (val) => !!val && typeof val === 'object'; + +// Helper function to traverse object and find properties to replace +const findPropertiesToReplace = ( + obj, + property, + path = [] +) => { + const results = []; + + for (const [key, value] of Object.entries(obj)) { + const currentPath = [...path, key]; + const fullPath = currentPath.join('.'); + + let shouldReplace = false; + + if (property instanceof RegExp) { + shouldReplace = property.test(fullPath); + } else if (Array.isArray(property)) { + shouldReplace = property.includes(fullPath); + } else { + shouldReplace = fullPath === property; + } + + if (shouldReplace && value !== PLACEHOLDER) { + results.push({ path: currentPath, value }); + } + + if (isObject(value)) { + results.push(...findPropertiesToReplace(value, property, currentPath)); + } + } + + return results; +}; + +// Helper function to set value at nested path +const setValueAtPath = (obj, path, value) => { + let current = obj; + + for (let i = 0; i < path.length - 1; i++) { + const key = path[i]; + if (!isObject(current[key])) { + current[key] = {}; + } + current = current[key]; + } + + current[path[path.length - 1]] = value; +}; + +/** + * Custom serializer for vitest snapshot tests + * Allows replacing properties in a snapshot with placeholder values. + * + * Properties to replace can be specified as a string, array of strings, or a single regular expression + * Nested properties can be specified using dot notation. + * + * @example + * ``` + * beforeAll(() => { + * expect.addSnapshotSerializer( + * // Will replace the value of Code: { S3Bucket: '...', S3Key: '...' } anywhere in the object structure + * replaceProperties({ property: ['Code.S3Bucket', 'Code.S3Key'] }) + * ); + * }) + * ``` + * + * @param {{ property: string | string[] | RegExp, placeholder?: string }} input + * @returns + */ +export const replaceProperties = ({ + property, + placeholder = PLACEHOLDER, +}) => { + return { + test(val) { + if (!isObject(val)) return false; + const propertiesToReplace = findPropertiesToReplace(val, property); + return propertiesToReplace.length > 0; + }, + serialize(val, config, indentation, depth, refs, printer) { + const clone = { ...val }; + const propertiesToReplace = findPropertiesToReplace(clone, property); + + for (const { path } of propertiesToReplace) { + setValueAtPath(clone, path, placeholder); + } + + return printer(clone, config, indentation, depth, refs); + }, + } +}; diff --git a/vitest.workspace.ts b/vitest.workspace.ts new file mode 100644 index 00000000..17f1a0df --- /dev/null +++ b/vitest.workspace.ts @@ -0,0 +1,2 @@ +// Auto generated by Nx +export default ['**/*/vite.config.{ts,mts}', '**/*/vitest.config.{ts,mts}']; diff --git a/yarn.lock b/yarn.lock index fb7bb52b..0d104827 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,88 +5,66 @@ __metadata: version: 8 cacheKey: 10c0 -"2-thenable@npm:^1.0.0": - version: 1.0.0 - resolution: "2-thenable@npm:1.0.0" - dependencies: - d: "npm:1" - es5-ext: "npm:^0.10.47" - checksum: 10c0/38b22a0237dfca09742daad566767bba49fcf389efb5dc44926960036afd66fce772a95f277d2d31a0255b404d7ee23f8bd61257d8a9959b34b240ba4aa40fd5 - languageName: node - linkType: hard - -"@aligent/serverless-aws-nodejs-service-template@workspace:.": +"@aligent/app@workspace:.": version: 0.0.0-use.local - resolution: "@aligent/serverless-aws-nodejs-service-template@workspace:." - dependencies: - "@aligent/serverless-conventions": "npm:latest" - "@aligent/ts-code-standards": "npm:^4.0.0" - "@nx/devkit": "npm:20.4.6" - "@nx/esbuild": "npm:20.4.6" - "@nx/eslint": "npm:20.4.6" - "@nx/eslint-plugin": "npm:20.4.6" - "@nx/js": "npm:20.4.6" - "@nx/plugin": "npm:20.4.6" - "@nx/vite": "npm:20.4.6" - "@nx/workspace": "npm:20.4.6" - "@redocly/cli": "npm:^1.31.1" - "@redocly/openapi-core": "npm:^1.31.1" - "@swc-node/register": "npm:^1.10.9" - "@swc/core": "npm:^1.11.5" - "@swc/helpers": "npm:^0.5.15" - "@types/aws-lambda": "npm:^8.10.145" - "@types/node": "npm:20.13.0" - "@typescript-eslint/eslint-plugin": "npm:^8.26.0" - "@typescript-eslint/parser": "npm:^8.26.0" - "@vitest/coverage-v8": "npm:^2.0.0" - "@vitest/ui": "npm:^2.0.0" - dotenv: "npm:^16.3.1" - enquirer: "npm:^2.4.1" - esbuild: "npm:~0.19.2" - eslint: "npm:^9.13.0" - eslint-config-prettier: "npm:9.1.0" - eslint-plugin-import: "npm:^2.29.1" - nx: "npm:20.4.6" - openapi-fetch: "npm:^0.12.2" - openapi-typescript: "npm:^7.6.1" - prettier: "npm:^3.3.3" - serverless: "npm:^3.38.0" - serverless-esbuild: "npm:^1.54.4" - serverless-step-functions: "npm:^3.21.1" - typescript: "npm:5.7.3" - vite: "npm:5.4.8" + resolution: "@aligent/app@workspace:." + dependencies: + "@aligent/ts-code-standards": "npm:^4.0.2" + "@aws-lambda-powertools/logger": "npm:^2.24.1" + "@nx/devkit": "npm:21.3.11" + "@nx/esbuild": "npm:21.3.11" + "@nx/eslint": "npm:21.3.11" + "@nx/eslint-plugin": "npm:21.3.11" + "@nx/js": "npm:21.3.11" + "@nx/vite": "npm:21.3.11" + "@nx/web": "npm:21.3.11" + "@swc-node/register": "npm:^1.10.10" + "@swc/core": "npm:^1.13.3" + "@swc/helpers": "npm:^0.5.17" + "@types/aws-lambda": "npm:^8.10.152" + "@types/node": "npm:^22.17.0" + "@typescript-eslint/eslint-plugin": "npm:^8.39.0" + "@typescript-eslint/parser": "npm:^8.39.0" + "@vitest/coverage-v8": "npm:^3.2.4" + "@vitest/ui": "npm:^3.2.4" + arktype: "npm:^2.1.20" + aws-cdk: "npm:^2.1023.0" + aws-cdk-lib: "npm:^2.211.0" + cdk-nag: "npm:^2.36.54" + constructs: "npm:^10.4.2" + esbuild: "npm:~0.25.8" + esbuild-visualizer: "npm:^0.7.0" + eslint: "npm:^9.32.0" + eslint-config-prettier: "npm:10.1.8" + jiti: "npm:2.5.1" + jsonc-eslint-parser: "npm:^2.4.0" + nx: "npm:21.3.11" + open: "npm:^10.2.0" + prettier: "npm:^3.6.2" + store-parameters: "npm:^1.0.6" + tslib: "npm:^2.8.1" + typescript: "npm:~5.9.2" + vite: "npm:6.3.5" vite-tsconfig-paths: "npm:~4.3.2" - vitest: "npm:^2.0.0" + vitest: "npm:^3.2.4" languageName: unknown linkType: soft -"@aligent/serverless-conventions@npm:latest": - version: 1.0.0 - resolution: "@aligent/serverless-conventions@npm:1.0.0" - dependencies: - chalk: "npm:^4.1.1" - change-case: "npm:^4.1.2" - peerDependencies: - serverless: 3.x - checksum: 10c0/cda8a67dc1bd6a7dd2bba142f5ddda47bd4929816bee6b13c2ba015536bc0fd0923e1bada1141afa8d4c942d22cb87bf8b9b51ea5e6e227b42b12b96e7566042 - languageName: node - linkType: hard - -"@aligent/ts-code-standards@npm:^4.0.0": - version: 4.0.0 - resolution: "@aligent/ts-code-standards@npm:4.0.0" +"@aligent/ts-code-standards@npm:^4.0.2": + version: 4.0.2 + resolution: "@aligent/ts-code-standards@npm:4.0.2" dependencies: - "@eslint/compat": "npm:^1.2.7" - "@eslint/js": "npm:^9.23.0" - eslint-config-prettier: "npm:^10.1.1" + "@eslint/compat": "npm:^1.3.1" + "@eslint/js": "npm:^9.30.0" + eslint-config-prettier: "npm:^10.1.8" eslint-plugin-jsx-a11y: "npm:^6.10.2" - eslint-plugin-prettier: "npm:^5.2.5" - eslint-plugin-react: "npm:^7.37.4" + eslint-plugin-prettier: "npm:^5.5.3" + eslint-plugin-react: "npm:^7.37.5" eslint-plugin-react-hooks: "npm:^5.2.0" prettier-plugin-organize-imports: "npm:^4.1.0" - prettier-plugin-tailwindcss: "npm:^0.6.11" - typescript-eslint: "npm:^8.29.0" - checksum: 10c0/875d516fb4998fb463219b25612308a4641d839969e7e63c6bb6d693c9be51eeb4f81354ee477becd949ac566e23950c43d0fd7655922e363491eb8cfb17442e + prettier-plugin-tailwindcss: "npm:^0.6.13" + typescript-eslint: "npm:^8.35.1" + checksum: 10c0/a1f0e78f3aa7c700df67efafd59a8b67eb16158733721c86140ee4648ce2a98cf91061ca10ddaa87a1d326f6df06d9ea6b5ade2ab3486ef9ad57cf8942874ceb languageName: node linkType: hard @@ -100,39 +78,49 @@ __metadata: languageName: node linkType: hard -"@aws-crypto/crc32@npm:5.2.0": - version: 5.2.0 - resolution: "@aws-crypto/crc32@npm:5.2.0" +"@applications/core@workspace:applications/core": + version: 0.0.0-use.local + resolution: "@applications/core@workspace:applications/core" + languageName: unknown + linkType: soft + +"@ark/schema@npm:0.46.0": + version: 0.46.0 + resolution: "@ark/schema@npm:0.46.0" dependencies: - "@aws-crypto/util": "npm:^5.2.0" - "@aws-sdk/types": "npm:^3.222.0" - tslib: "npm:^2.6.2" - checksum: 10c0/eab9581d3363af5ea498ae0e72de792f54d8890360e14a9d8261b7b5c55ebe080279fb2556e07994d785341cdaa99ab0b1ccf137832b53b5904cd6928f2b094b + "@ark/util": "npm:0.46.0" + checksum: 10c0/5f9b0256689daa8c39868328ee57c4d091917376cba0b4b0607982d0dcd4f8b9dd840caf5877bf766af8ecc81756f780718077860f0e030c024fc75972e4d041 languageName: node linkType: hard -"@aws-crypto/crc32c@npm:5.2.0": - version: 5.2.0 - resolution: "@aws-crypto/crc32c@npm:5.2.0" - dependencies: - "@aws-crypto/util": "npm:^5.2.0" - "@aws-sdk/types": "npm:^3.222.0" - tslib: "npm:^2.6.2" - checksum: 10c0/223efac396cdebaf5645568fa9a38cd0c322c960ae1f4276bedfe2e1031d0112e49d7d39225d386354680ecefae29f39af469a84b2ddfa77cb6692036188af77 +"@ark/util@npm:0.46.0": + version: 0.46.0 + resolution: "@ark/util@npm:0.46.0" + checksum: 10c0/18fb146510856191ba1924f8ee50aa650b2f8795de7df85301cdd068b4bb9bd6f1548d6f3a8f99e75c3d9036d4c4b6ca245c964ceb4d3fa431ea53653faa2aa8 languageName: node linkType: hard -"@aws-crypto/sha1-browser@npm:5.2.0": - version: 5.2.0 - resolution: "@aws-crypto/sha1-browser@npm:5.2.0" +"@aws-cdk/asset-awscli-v1@npm:2.2.242": + version: 2.2.242 + resolution: "@aws-cdk/asset-awscli-v1@npm:2.2.242" + checksum: 10c0/bf0d1694de559accb4dc28257eccbd959d37d5d2c5572aa77bc3a01612796b6fcf616e6b5fbb52f0212f61ee36e7eba333ba3a387142789eaf6b3a98e819c814 + languageName: node + linkType: hard + +"@aws-cdk/asset-node-proxy-agent-v6@npm:^2.1.0": + version: 2.1.0 + resolution: "@aws-cdk/asset-node-proxy-agent-v6@npm:2.1.0" + checksum: 10c0/1ac7bccf82afee69c05241a5ad66345fbd468678ce633bb43c5921c7241a3186231b3b65f9ac6b9924933349c826a9470c79a3ddf14a03fbfce43f14c4d957f2 + languageName: node + linkType: hard + +"@aws-cdk/cloud-assembly-schema@npm:^48.2.0": + version: 48.4.0 + resolution: "@aws-cdk/cloud-assembly-schema@npm:48.4.0" dependencies: - "@aws-crypto/supports-web-crypto": "npm:^5.2.0" - "@aws-crypto/util": "npm:^5.2.0" - "@aws-sdk/types": "npm:^3.222.0" - "@aws-sdk/util-locate-window": "npm:^3.0.0" - "@smithy/util-utf8": "npm:^2.0.0" - tslib: "npm:^2.6.2" - checksum: 10c0/51fed0bf078c10322d910af179871b7d299dde5b5897873ffbeeb036f427e5d11d23db9794439226544b73901920fd19f4d86bbc103ed73cc0cfdea47a83c6ac + jsonschema: "npm:~1.4.1" + semver: "npm:^7.7.2" + checksum: 10c0/3a06dce2da73aee790f1cbad02f71a2dcba1a3289919d06e589afd3665713f782f4161135db9c2f35e525940e61b563b88840b6ff9703775ab52752f6fc33e34 languageName: node linkType: hard @@ -171,7 +159,7 @@ __metadata: languageName: node linkType: hard -"@aws-crypto/util@npm:5.2.0, @aws-crypto/util@npm:^5.2.0": +"@aws-crypto/util@npm:^5.2.0": version: 5.2.0 resolution: "@aws-crypto/util@npm:5.2.0" dependencies: @@ -182,1242 +170,885 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-api-gateway@npm:^3.588.0": - version: 3.772.0 - resolution: "@aws-sdk/client-api-gateway@npm:3.772.0" - dependencies: - "@aws-crypto/sha256-browser": "npm:5.2.0" - "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/credential-provider-node": "npm:3.772.0" - "@aws-sdk/middleware-host-header": "npm:3.734.0" - "@aws-sdk/middleware-logger": "npm:3.734.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.772.0" - "@aws-sdk/middleware-sdk-api-gateway": "npm:3.734.0" - "@aws-sdk/middleware-user-agent": "npm:3.758.0" - "@aws-sdk/region-config-resolver": "npm:3.734.0" - "@aws-sdk/types": "npm:3.734.0" - "@aws-sdk/util-endpoints": "npm:3.743.0" - "@aws-sdk/util-user-agent-browser": "npm:3.734.0" - "@aws-sdk/util-user-agent-node": "npm:3.758.0" - "@smithy/config-resolver": "npm:^4.0.1" - "@smithy/core": "npm:^3.1.5" - "@smithy/fetch-http-handler": "npm:^5.0.1" - "@smithy/hash-node": "npm:^4.0.1" - "@smithy/invalid-dependency": "npm:^4.0.1" - "@smithy/middleware-content-length": "npm:^4.0.1" - "@smithy/middleware-endpoint": "npm:^4.0.6" - "@smithy/middleware-retry": "npm:^4.0.7" - "@smithy/middleware-serde": "npm:^4.0.2" - "@smithy/middleware-stack": "npm:^4.0.1" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/node-http-handler": "npm:^4.0.3" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/smithy-client": "npm:^4.1.6" - "@smithy/types": "npm:^4.1.0" - "@smithy/url-parser": "npm:^4.0.1" - "@smithy/util-base64": "npm:^4.0.0" - "@smithy/util-body-length-browser": "npm:^4.0.0" - "@smithy/util-body-length-node": "npm:^4.0.0" - "@smithy/util-defaults-mode-browser": "npm:^4.0.7" - "@smithy/util-defaults-mode-node": "npm:^4.0.7" - "@smithy/util-endpoints": "npm:^3.0.1" - "@smithy/util-middleware": "npm:^4.0.1" - "@smithy/util-retry": "npm:^4.0.1" - "@smithy/util-stream": "npm:^4.1.2" - "@smithy/util-utf8": "npm:^4.0.0" - tslib: "npm:^2.6.2" - checksum: 10c0/cc253da0a53e4ca03318939f3257bfdd8fbfc9d2c6ce944589982a6d38412392b3a1c288af028a6b2b68a4acccd9b9e96a00d560dfddf62042ce47ac400898fa - languageName: node - linkType: hard - -"@aws-sdk/client-cloudformation@npm:^3.410.0": - version: 3.772.0 - resolution: "@aws-sdk/client-cloudformation@npm:3.772.0" - dependencies: - "@aws-crypto/sha256-browser": "npm:5.2.0" - "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/credential-provider-node": "npm:3.772.0" - "@aws-sdk/middleware-host-header": "npm:3.734.0" - "@aws-sdk/middleware-logger": "npm:3.734.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.772.0" - "@aws-sdk/middleware-user-agent": "npm:3.758.0" - "@aws-sdk/region-config-resolver": "npm:3.734.0" - "@aws-sdk/types": "npm:3.734.0" - "@aws-sdk/util-endpoints": "npm:3.743.0" - "@aws-sdk/util-user-agent-browser": "npm:3.734.0" - "@aws-sdk/util-user-agent-node": "npm:3.758.0" - "@smithy/config-resolver": "npm:^4.0.1" - "@smithy/core": "npm:^3.1.5" - "@smithy/fetch-http-handler": "npm:^5.0.1" - "@smithy/hash-node": "npm:^4.0.1" - "@smithy/invalid-dependency": "npm:^4.0.1" - "@smithy/middleware-content-length": "npm:^4.0.1" - "@smithy/middleware-endpoint": "npm:^4.0.6" - "@smithy/middleware-retry": "npm:^4.0.7" - "@smithy/middleware-serde": "npm:^4.0.2" - "@smithy/middleware-stack": "npm:^4.0.1" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/node-http-handler": "npm:^4.0.3" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/smithy-client": "npm:^4.1.6" - "@smithy/types": "npm:^4.1.0" - "@smithy/url-parser": "npm:^4.0.1" - "@smithy/util-base64": "npm:^4.0.0" - "@smithy/util-body-length-browser": "npm:^4.0.0" - "@smithy/util-body-length-node": "npm:^4.0.0" - "@smithy/util-defaults-mode-browser": "npm:^4.0.7" - "@smithy/util-defaults-mode-node": "npm:^4.0.7" - "@smithy/util-endpoints": "npm:^3.0.1" - "@smithy/util-middleware": "npm:^4.0.1" - "@smithy/util-retry": "npm:^4.0.1" - "@smithy/util-utf8": "npm:^4.0.0" - "@smithy/util-waiter": "npm:^4.0.2" - "@types/uuid": "npm:^9.0.1" - tslib: "npm:^2.6.2" - uuid: "npm:^9.0.1" - checksum: 10c0/138a30785b9e0f70f3834cf087ec311d5b498ce1aaabdd557398e33148943c83c39f98964d4d101854c5b46630564ba613056ca33d6a64a4d7478ea1f368bdb4 - languageName: node - linkType: hard - -"@aws-sdk/client-cognito-identity-provider@npm:^3.588.0": - version: 3.772.0 - resolution: "@aws-sdk/client-cognito-identity-provider@npm:3.772.0" - dependencies: - "@aws-crypto/sha256-browser": "npm:5.2.0" - "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/credential-provider-node": "npm:3.772.0" - "@aws-sdk/middleware-host-header": "npm:3.734.0" - "@aws-sdk/middleware-logger": "npm:3.734.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.772.0" - "@aws-sdk/middleware-user-agent": "npm:3.758.0" - "@aws-sdk/region-config-resolver": "npm:3.734.0" - "@aws-sdk/types": "npm:3.734.0" - "@aws-sdk/util-endpoints": "npm:3.743.0" - "@aws-sdk/util-user-agent-browser": "npm:3.734.0" - "@aws-sdk/util-user-agent-node": "npm:3.758.0" - "@smithy/config-resolver": "npm:^4.0.1" - "@smithy/core": "npm:^3.1.5" - "@smithy/fetch-http-handler": "npm:^5.0.1" - "@smithy/hash-node": "npm:^4.0.1" - "@smithy/invalid-dependency": "npm:^4.0.1" - "@smithy/middleware-content-length": "npm:^4.0.1" - "@smithy/middleware-endpoint": "npm:^4.0.6" - "@smithy/middleware-retry": "npm:^4.0.7" - "@smithy/middleware-serde": "npm:^4.0.2" - "@smithy/middleware-stack": "npm:^4.0.1" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/node-http-handler": "npm:^4.0.3" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/smithy-client": "npm:^4.1.6" - "@smithy/types": "npm:^4.1.0" - "@smithy/url-parser": "npm:^4.0.1" - "@smithy/util-base64": "npm:^4.0.0" - "@smithy/util-body-length-browser": "npm:^4.0.0" - "@smithy/util-body-length-node": "npm:^4.0.0" - "@smithy/util-defaults-mode-browser": "npm:^4.0.7" - "@smithy/util-defaults-mode-node": "npm:^4.0.7" - "@smithy/util-endpoints": "npm:^3.0.1" - "@smithy/util-middleware": "npm:^4.0.1" - "@smithy/util-retry": "npm:^4.0.1" - "@smithy/util-utf8": "npm:^4.0.0" - tslib: "npm:^2.6.2" - checksum: 10c0/ab17545bccf857a20c21d7fac2bbe1280d49f7c305221ec860d3ea7d2201c1d633e5347dac08fc25e500b89d97c9d1c0340372c8d4810b0756a896170273d543 - languageName: node - linkType: hard - -"@aws-sdk/client-eventbridge@npm:^3.588.0": - version: 3.772.0 - resolution: "@aws-sdk/client-eventbridge@npm:3.772.0" - dependencies: - "@aws-crypto/sha256-browser": "npm:5.2.0" - "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/credential-provider-node": "npm:3.772.0" - "@aws-sdk/middleware-host-header": "npm:3.734.0" - "@aws-sdk/middleware-logger": "npm:3.734.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.772.0" - "@aws-sdk/middleware-user-agent": "npm:3.758.0" - "@aws-sdk/region-config-resolver": "npm:3.734.0" - "@aws-sdk/signature-v4-multi-region": "npm:3.758.0" - "@aws-sdk/types": "npm:3.734.0" - "@aws-sdk/util-endpoints": "npm:3.743.0" - "@aws-sdk/util-user-agent-browser": "npm:3.734.0" - "@aws-sdk/util-user-agent-node": "npm:3.758.0" - "@smithy/config-resolver": "npm:^4.0.1" - "@smithy/core": "npm:^3.1.5" - "@smithy/fetch-http-handler": "npm:^5.0.1" - "@smithy/hash-node": "npm:^4.0.1" - "@smithy/invalid-dependency": "npm:^4.0.1" - "@smithy/middleware-content-length": "npm:^4.0.1" - "@smithy/middleware-endpoint": "npm:^4.0.6" - "@smithy/middleware-retry": "npm:^4.0.7" - "@smithy/middleware-serde": "npm:^4.0.2" - "@smithy/middleware-stack": "npm:^4.0.1" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/node-http-handler": "npm:^4.0.3" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/smithy-client": "npm:^4.1.6" - "@smithy/types": "npm:^4.1.0" - "@smithy/url-parser": "npm:^4.0.1" - "@smithy/util-base64": "npm:^4.0.0" - "@smithy/util-body-length-browser": "npm:^4.0.0" - "@smithy/util-body-length-node": "npm:^4.0.0" - "@smithy/util-defaults-mode-browser": "npm:^4.0.7" - "@smithy/util-defaults-mode-node": "npm:^4.0.7" - "@smithy/util-endpoints": "npm:^3.0.1" - "@smithy/util-middleware": "npm:^4.0.1" - "@smithy/util-retry": "npm:^4.0.1" - "@smithy/util-utf8": "npm:^4.0.0" - tslib: "npm:^2.6.2" - checksum: 10c0/bece04a0fb99314ea7d3d22594d04abecccadf068d6926bc1eb5705e06216b793ff9cb049e15751e1f1085ee415cf05335078d5f06b800a9862658dba427983c +"@aws-lambda-powertools/commons@npm:2.24.1": + version: 2.24.1 + resolution: "@aws-lambda-powertools/commons@npm:2.24.1" + checksum: 10c0/03e9c7f29387006cda9e1fc0a549aa622a8cdc8ee65b462c0151ea89635782a6956e561fcb2df492d5fbed40141138e6dc0a24e4c7d18eaeaa7d9ec658ab6f5f languageName: node linkType: hard -"@aws-sdk/client-iam@npm:^3.588.0": - version: 3.772.0 - resolution: "@aws-sdk/client-iam@npm:3.772.0" +"@aws-lambda-powertools/logger@npm:^2.24.1": + version: 2.24.1 + resolution: "@aws-lambda-powertools/logger@npm:2.24.1" dependencies: - "@aws-crypto/sha256-browser": "npm:5.2.0" - "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/credential-provider-node": "npm:3.772.0" - "@aws-sdk/middleware-host-header": "npm:3.734.0" - "@aws-sdk/middleware-logger": "npm:3.734.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.772.0" - "@aws-sdk/middleware-user-agent": "npm:3.758.0" - "@aws-sdk/region-config-resolver": "npm:3.734.0" - "@aws-sdk/types": "npm:3.734.0" - "@aws-sdk/util-endpoints": "npm:3.743.0" - "@aws-sdk/util-user-agent-browser": "npm:3.734.0" - "@aws-sdk/util-user-agent-node": "npm:3.758.0" - "@smithy/config-resolver": "npm:^4.0.1" - "@smithy/core": "npm:^3.1.5" - "@smithy/fetch-http-handler": "npm:^5.0.1" - "@smithy/hash-node": "npm:^4.0.1" - "@smithy/invalid-dependency": "npm:^4.0.1" - "@smithy/middleware-content-length": "npm:^4.0.1" - "@smithy/middleware-endpoint": "npm:^4.0.6" - "@smithy/middleware-retry": "npm:^4.0.7" - "@smithy/middleware-serde": "npm:^4.0.2" - "@smithy/middleware-stack": "npm:^4.0.1" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/node-http-handler": "npm:^4.0.3" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/smithy-client": "npm:^4.1.6" - "@smithy/types": "npm:^4.1.0" - "@smithy/url-parser": "npm:^4.0.1" - "@smithy/util-base64": "npm:^4.0.0" - "@smithy/util-body-length-browser": "npm:^4.0.0" - "@smithy/util-body-length-node": "npm:^4.0.0" - "@smithy/util-defaults-mode-browser": "npm:^4.0.7" - "@smithy/util-defaults-mode-node": "npm:^4.0.7" - "@smithy/util-endpoints": "npm:^3.0.1" - "@smithy/util-middleware": "npm:^4.0.1" - "@smithy/util-retry": "npm:^4.0.1" - "@smithy/util-utf8": "npm:^4.0.0" - "@smithy/util-waiter": "npm:^4.0.2" - tslib: "npm:^2.6.2" - checksum: 10c0/f14e5bc9f2f896a237d35f695c0c27e226936e7765a149f3a6aa0f45177bb9a1dbe09c8db608070d4d0ea63cd5a12c4fb01743f02d425b901a52c05ab6a02c45 + "@aws-lambda-powertools/commons": "npm:2.24.1" + lodash.merge: "npm:^4.6.2" + peerDependencies: + "@aws-lambda-powertools/jmespath": 2.24.1 + "@middy/core": 4.x || 5.x || 6.x + peerDependenciesMeta: + "@aws-lambda-powertools/jmespath": + optional: true + "@middy/core": + optional: true + checksum: 10c0/302dcc5655a3337ae34219de4ebb3e3038f9bbd400ec4d2fd60ec4095f26d8585c226186c56871f9962981d8539d648b4ad7f9b977fbf907a69463ec6b7efbd1 languageName: node linkType: hard -"@aws-sdk/client-lambda@npm:^3.588.0": - version: 3.772.0 - resolution: "@aws-sdk/client-lambda@npm:3.772.0" +"@aws-sdk/client-cognito-identity@npm:3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/client-cognito-identity@npm:3.864.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/credential-provider-node": "npm:3.772.0" - "@aws-sdk/middleware-host-header": "npm:3.734.0" - "@aws-sdk/middleware-logger": "npm:3.734.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.772.0" - "@aws-sdk/middleware-user-agent": "npm:3.758.0" - "@aws-sdk/region-config-resolver": "npm:3.734.0" - "@aws-sdk/types": "npm:3.734.0" - "@aws-sdk/util-endpoints": "npm:3.743.0" - "@aws-sdk/util-user-agent-browser": "npm:3.734.0" - "@aws-sdk/util-user-agent-node": "npm:3.758.0" - "@smithy/config-resolver": "npm:^4.0.1" - "@smithy/core": "npm:^3.1.5" - "@smithy/eventstream-serde-browser": "npm:^4.0.1" - "@smithy/eventstream-serde-config-resolver": "npm:^4.0.1" - "@smithy/eventstream-serde-node": "npm:^4.0.1" - "@smithy/fetch-http-handler": "npm:^5.0.1" - "@smithy/hash-node": "npm:^4.0.1" - "@smithy/invalid-dependency": "npm:^4.0.1" - "@smithy/middleware-content-length": "npm:^4.0.1" - "@smithy/middleware-endpoint": "npm:^4.0.6" - "@smithy/middleware-retry": "npm:^4.0.7" - "@smithy/middleware-serde": "npm:^4.0.2" - "@smithy/middleware-stack": "npm:^4.0.1" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/node-http-handler": "npm:^4.0.3" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/smithy-client": "npm:^4.1.6" - "@smithy/types": "npm:^4.1.0" - "@smithy/url-parser": "npm:^4.0.1" + "@aws-sdk/core": "npm:3.864.0" + "@aws-sdk/credential-provider-node": "npm:3.864.0" + "@aws-sdk/middleware-host-header": "npm:3.862.0" + "@aws-sdk/middleware-logger": "npm:3.862.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.862.0" + "@aws-sdk/middleware-user-agent": "npm:3.864.0" + "@aws-sdk/region-config-resolver": "npm:3.862.0" + "@aws-sdk/types": "npm:3.862.0" + "@aws-sdk/util-endpoints": "npm:3.862.0" + "@aws-sdk/util-user-agent-browser": "npm:3.862.0" + "@aws-sdk/util-user-agent-node": "npm:3.864.0" + "@smithy/config-resolver": "npm:^4.1.5" + "@smithy/core": "npm:^3.8.0" + "@smithy/fetch-http-handler": "npm:^5.1.1" + "@smithy/hash-node": "npm:^4.0.5" + "@smithy/invalid-dependency": "npm:^4.0.5" + "@smithy/middleware-content-length": "npm:^4.0.5" + "@smithy/middleware-endpoint": "npm:^4.1.18" + "@smithy/middleware-retry": "npm:^4.1.19" + "@smithy/middleware-serde": "npm:^4.0.9" + "@smithy/middleware-stack": "npm:^4.0.5" + "@smithy/node-config-provider": "npm:^4.1.4" + "@smithy/node-http-handler": "npm:^4.1.1" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/smithy-client": "npm:^4.4.10" + "@smithy/types": "npm:^4.3.2" + "@smithy/url-parser": "npm:^4.0.5" "@smithy/util-base64": "npm:^4.0.0" "@smithy/util-body-length-browser": "npm:^4.0.0" "@smithy/util-body-length-node": "npm:^4.0.0" - "@smithy/util-defaults-mode-browser": "npm:^4.0.7" - "@smithy/util-defaults-mode-node": "npm:^4.0.7" - "@smithy/util-endpoints": "npm:^3.0.1" - "@smithy/util-middleware": "npm:^4.0.1" - "@smithy/util-retry": "npm:^4.0.1" - "@smithy/util-stream": "npm:^4.1.2" + "@smithy/util-defaults-mode-browser": "npm:^4.0.26" + "@smithy/util-defaults-mode-node": "npm:^4.0.26" + "@smithy/util-endpoints": "npm:^3.0.7" + "@smithy/util-middleware": "npm:^4.0.5" + "@smithy/util-retry": "npm:^4.0.7" "@smithy/util-utf8": "npm:^4.0.0" - "@smithy/util-waiter": "npm:^4.0.2" tslib: "npm:^2.6.2" - checksum: 10c0/74376665197ca237d91cf720f621a169fba38fd7c527e59ab7fdd9c5f91ed57c1750f3884cb953fecadb5a9775e6618e8af71b32efca7374812fea3353e884a0 + checksum: 10c0/8e34f813b9f1ababb42f9b2666c29f8de908ac9c54dd1f0bd3befc36bf9675ba0d28c2d092171b444ffb7c7d5ae950afb1e687665fffc492cd93b609c389e894 languageName: node linkType: hard -"@aws-sdk/client-s3@npm:^3.588.0": - version: 3.772.0 - resolution: "@aws-sdk/client-s3@npm:3.772.0" +"@aws-sdk/client-ssm@npm:^3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/client-ssm@npm:3.864.0" dependencies: - "@aws-crypto/sha1-browser": "npm:5.2.0" "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/credential-provider-node": "npm:3.772.0" - "@aws-sdk/middleware-bucket-endpoint": "npm:3.734.0" - "@aws-sdk/middleware-expect-continue": "npm:3.734.0" - "@aws-sdk/middleware-flexible-checksums": "npm:3.758.0" - "@aws-sdk/middleware-host-header": "npm:3.734.0" - "@aws-sdk/middleware-location-constraint": "npm:3.734.0" - "@aws-sdk/middleware-logger": "npm:3.734.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.772.0" - "@aws-sdk/middleware-sdk-s3": "npm:3.758.0" - "@aws-sdk/middleware-ssec": "npm:3.734.0" - "@aws-sdk/middleware-user-agent": "npm:3.758.0" - "@aws-sdk/region-config-resolver": "npm:3.734.0" - "@aws-sdk/signature-v4-multi-region": "npm:3.758.0" - "@aws-sdk/types": "npm:3.734.0" - "@aws-sdk/util-endpoints": "npm:3.743.0" - "@aws-sdk/util-user-agent-browser": "npm:3.734.0" - "@aws-sdk/util-user-agent-node": "npm:3.758.0" - "@aws-sdk/xml-builder": "npm:3.734.0" - "@smithy/config-resolver": "npm:^4.0.1" - "@smithy/core": "npm:^3.1.5" - "@smithy/eventstream-serde-browser": "npm:^4.0.1" - "@smithy/eventstream-serde-config-resolver": "npm:^4.0.1" - "@smithy/eventstream-serde-node": "npm:^4.0.1" - "@smithy/fetch-http-handler": "npm:^5.0.1" - "@smithy/hash-blob-browser": "npm:^4.0.1" - "@smithy/hash-node": "npm:^4.0.1" - "@smithy/hash-stream-node": "npm:^4.0.1" - "@smithy/invalid-dependency": "npm:^4.0.1" - "@smithy/md5-js": "npm:^4.0.1" - "@smithy/middleware-content-length": "npm:^4.0.1" - "@smithy/middleware-endpoint": "npm:^4.0.6" - "@smithy/middleware-retry": "npm:^4.0.7" - "@smithy/middleware-serde": "npm:^4.0.2" - "@smithy/middleware-stack": "npm:^4.0.1" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/node-http-handler": "npm:^4.0.3" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/smithy-client": "npm:^4.1.6" - "@smithy/types": "npm:^4.1.0" - "@smithy/url-parser": "npm:^4.0.1" + "@aws-sdk/core": "npm:3.864.0" + "@aws-sdk/credential-provider-node": "npm:3.864.0" + "@aws-sdk/middleware-host-header": "npm:3.862.0" + "@aws-sdk/middleware-logger": "npm:3.862.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.862.0" + "@aws-sdk/middleware-user-agent": "npm:3.864.0" + "@aws-sdk/region-config-resolver": "npm:3.862.0" + "@aws-sdk/types": "npm:3.862.0" + "@aws-sdk/util-endpoints": "npm:3.862.0" + "@aws-sdk/util-user-agent-browser": "npm:3.862.0" + "@aws-sdk/util-user-agent-node": "npm:3.864.0" + "@smithy/config-resolver": "npm:^4.1.5" + "@smithy/core": "npm:^3.8.0" + "@smithy/fetch-http-handler": "npm:^5.1.1" + "@smithy/hash-node": "npm:^4.0.5" + "@smithy/invalid-dependency": "npm:^4.0.5" + "@smithy/middleware-content-length": "npm:^4.0.5" + "@smithy/middleware-endpoint": "npm:^4.1.18" + "@smithy/middleware-retry": "npm:^4.1.19" + "@smithy/middleware-serde": "npm:^4.0.9" + "@smithy/middleware-stack": "npm:^4.0.5" + "@smithy/node-config-provider": "npm:^4.1.4" + "@smithy/node-http-handler": "npm:^4.1.1" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/smithy-client": "npm:^4.4.10" + "@smithy/types": "npm:^4.3.2" + "@smithy/url-parser": "npm:^4.0.5" "@smithy/util-base64": "npm:^4.0.0" "@smithy/util-body-length-browser": "npm:^4.0.0" "@smithy/util-body-length-node": "npm:^4.0.0" - "@smithy/util-defaults-mode-browser": "npm:^4.0.7" - "@smithy/util-defaults-mode-node": "npm:^4.0.7" - "@smithy/util-endpoints": "npm:^3.0.1" - "@smithy/util-middleware": "npm:^4.0.1" - "@smithy/util-retry": "npm:^4.0.1" - "@smithy/util-stream": "npm:^4.1.2" + "@smithy/util-defaults-mode-browser": "npm:^4.0.26" + "@smithy/util-defaults-mode-node": "npm:^4.0.26" + "@smithy/util-endpoints": "npm:^3.0.7" + "@smithy/util-middleware": "npm:^4.0.5" + "@smithy/util-retry": "npm:^4.0.7" "@smithy/util-utf8": "npm:^4.0.0" - "@smithy/util-waiter": "npm:^4.0.2" + "@smithy/util-waiter": "npm:^4.0.7" + "@types/uuid": "npm:^9.0.1" tslib: "npm:^2.6.2" - checksum: 10c0/ef71d100e8f8dc58a4488596f65717542468997c7f1dc48153afb3643207e6121086518424171308ebac99eb5f4896772e2f1faf86b10e820db66bf79d4fe428 + uuid: "npm:^9.0.1" + checksum: 10c0/b9a27e3a136597eddffc735dfeda79180fa85e64a1c241d37627217f82d5bdd3110c7540ffcef0a0df5d93f41abf5674396d0ea01a82378c6bbc03fd6111ad69 languageName: node linkType: hard -"@aws-sdk/client-sso@npm:3.772.0": - version: 3.772.0 - resolution: "@aws-sdk/client-sso@npm:3.772.0" +"@aws-sdk/client-sso@npm:3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/client-sso@npm:3.864.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/middleware-host-header": "npm:3.734.0" - "@aws-sdk/middleware-logger": "npm:3.734.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.772.0" - "@aws-sdk/middleware-user-agent": "npm:3.758.0" - "@aws-sdk/region-config-resolver": "npm:3.734.0" - "@aws-sdk/types": "npm:3.734.0" - "@aws-sdk/util-endpoints": "npm:3.743.0" - "@aws-sdk/util-user-agent-browser": "npm:3.734.0" - "@aws-sdk/util-user-agent-node": "npm:3.758.0" - "@smithy/config-resolver": "npm:^4.0.1" - "@smithy/core": "npm:^3.1.5" - "@smithy/fetch-http-handler": "npm:^5.0.1" - "@smithy/hash-node": "npm:^4.0.1" - "@smithy/invalid-dependency": "npm:^4.0.1" - "@smithy/middleware-content-length": "npm:^4.0.1" - "@smithy/middleware-endpoint": "npm:^4.0.6" - "@smithy/middleware-retry": "npm:^4.0.7" - "@smithy/middleware-serde": "npm:^4.0.2" - "@smithy/middleware-stack": "npm:^4.0.1" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/node-http-handler": "npm:^4.0.3" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/smithy-client": "npm:^4.1.6" - "@smithy/types": "npm:^4.1.0" - "@smithy/url-parser": "npm:^4.0.1" + "@aws-sdk/core": "npm:3.864.0" + "@aws-sdk/middleware-host-header": "npm:3.862.0" + "@aws-sdk/middleware-logger": "npm:3.862.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.862.0" + "@aws-sdk/middleware-user-agent": "npm:3.864.0" + "@aws-sdk/region-config-resolver": "npm:3.862.0" + "@aws-sdk/types": "npm:3.862.0" + "@aws-sdk/util-endpoints": "npm:3.862.0" + "@aws-sdk/util-user-agent-browser": "npm:3.862.0" + "@aws-sdk/util-user-agent-node": "npm:3.864.0" + "@smithy/config-resolver": "npm:^4.1.5" + "@smithy/core": "npm:^3.8.0" + "@smithy/fetch-http-handler": "npm:^5.1.1" + "@smithy/hash-node": "npm:^4.0.5" + "@smithy/invalid-dependency": "npm:^4.0.5" + "@smithy/middleware-content-length": "npm:^4.0.5" + "@smithy/middleware-endpoint": "npm:^4.1.18" + "@smithy/middleware-retry": "npm:^4.1.19" + "@smithy/middleware-serde": "npm:^4.0.9" + "@smithy/middleware-stack": "npm:^4.0.5" + "@smithy/node-config-provider": "npm:^4.1.4" + "@smithy/node-http-handler": "npm:^4.1.1" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/smithy-client": "npm:^4.4.10" + "@smithy/types": "npm:^4.3.2" + "@smithy/url-parser": "npm:^4.0.5" "@smithy/util-base64": "npm:^4.0.0" "@smithy/util-body-length-browser": "npm:^4.0.0" "@smithy/util-body-length-node": "npm:^4.0.0" - "@smithy/util-defaults-mode-browser": "npm:^4.0.7" - "@smithy/util-defaults-mode-node": "npm:^4.0.7" - "@smithy/util-endpoints": "npm:^3.0.1" - "@smithy/util-middleware": "npm:^4.0.1" - "@smithy/util-retry": "npm:^4.0.1" + "@smithy/util-defaults-mode-browser": "npm:^4.0.26" + "@smithy/util-defaults-mode-node": "npm:^4.0.26" + "@smithy/util-endpoints": "npm:^3.0.7" + "@smithy/util-middleware": "npm:^4.0.5" + "@smithy/util-retry": "npm:^4.0.7" "@smithy/util-utf8": "npm:^4.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/780b99e743cb0b7e68d4e44c34835c85fa5dd10e685d5caad70f2141ec27743628ea2f77a28836e9fb6926e14f71a1520c2dbdb9c4b88734df2325c90418d715 + checksum: 10c0/3f18d13ef59a19c636f6fa4e7c5142936f724906d9bcf5754bdb8bad9b65f215db25b565c65959fb12989c2eaf0861683babd67bb3391de391d51b75f64d269e languageName: node linkType: hard -"@aws-sdk/client-sts@npm:^3.410.0": - version: 3.772.0 - resolution: "@aws-sdk/client-sts@npm:3.772.0" +"@aws-sdk/core@npm:3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/core@npm:3.864.0" dependencies: - "@aws-crypto/sha256-browser": "npm:5.2.0" - "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/credential-provider-node": "npm:3.772.0" - "@aws-sdk/middleware-host-header": "npm:3.734.0" - "@aws-sdk/middleware-logger": "npm:3.734.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.772.0" - "@aws-sdk/middleware-user-agent": "npm:3.758.0" - "@aws-sdk/region-config-resolver": "npm:3.734.0" - "@aws-sdk/types": "npm:3.734.0" - "@aws-sdk/util-endpoints": "npm:3.743.0" - "@aws-sdk/util-user-agent-browser": "npm:3.734.0" - "@aws-sdk/util-user-agent-node": "npm:3.758.0" - "@smithy/config-resolver": "npm:^4.0.1" - "@smithy/core": "npm:^3.1.5" - "@smithy/fetch-http-handler": "npm:^5.0.1" - "@smithy/hash-node": "npm:^4.0.1" - "@smithy/invalid-dependency": "npm:^4.0.1" - "@smithy/middleware-content-length": "npm:^4.0.1" - "@smithy/middleware-endpoint": "npm:^4.0.6" - "@smithy/middleware-retry": "npm:^4.0.7" - "@smithy/middleware-serde": "npm:^4.0.2" - "@smithy/middleware-stack": "npm:^4.0.1" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/node-http-handler": "npm:^4.0.3" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/smithy-client": "npm:^4.1.6" - "@smithy/types": "npm:^4.1.0" - "@smithy/url-parser": "npm:^4.0.1" + "@aws-sdk/types": "npm:3.862.0" + "@aws-sdk/xml-builder": "npm:3.862.0" + "@smithy/core": "npm:^3.8.0" + "@smithy/node-config-provider": "npm:^4.1.4" + "@smithy/property-provider": "npm:^4.0.5" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/signature-v4": "npm:^5.1.3" + "@smithy/smithy-client": "npm:^4.4.10" + "@smithy/types": "npm:^4.3.2" "@smithy/util-base64": "npm:^4.0.0" "@smithy/util-body-length-browser": "npm:^4.0.0" - "@smithy/util-body-length-node": "npm:^4.0.0" - "@smithy/util-defaults-mode-browser": "npm:^4.0.7" - "@smithy/util-defaults-mode-node": "npm:^4.0.7" - "@smithy/util-endpoints": "npm:^3.0.1" - "@smithy/util-middleware": "npm:^4.0.1" - "@smithy/util-retry": "npm:^4.0.1" + "@smithy/util-middleware": "npm:^4.0.5" "@smithy/util-utf8": "npm:^4.0.0" + fast-xml-parser: "npm:5.2.5" tslib: "npm:^2.6.2" - checksum: 10c0/2ce97c3f71cafa2aaab4889b7d3d4d98dbf087c16a26f5f8a6046d2f1291eb0c69f9c8c9f01b2cf27ca341f1ec564f07a41792d8dc5e3bb9736f00bdda60513d - languageName: node - linkType: hard - -"@aws-sdk/core@npm:3.758.0": - version: 3.758.0 - resolution: "@aws-sdk/core@npm:3.758.0" - dependencies: - "@aws-sdk/types": "npm:3.734.0" - "@smithy/core": "npm:^3.1.5" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/property-provider": "npm:^4.0.1" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/signature-v4": "npm:^5.0.1" - "@smithy/smithy-client": "npm:^4.1.6" - "@smithy/types": "npm:^4.1.0" - "@smithy/util-middleware": "npm:^4.0.1" - fast-xml-parser: "npm:4.4.1" - tslib: "npm:^2.6.2" - checksum: 10c0/c5c93fb425e20e7552609d9bb965e9c36604f6fd45d12dc8d8b0b20d9773797d911bccc47112e6925ee21c4dbfad2efe577a457db2409ffef34a0c658105742d - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-env@npm:3.758.0": - version: 3.758.0 - resolution: "@aws-sdk/credential-provider-env@npm:3.758.0" - dependencies: - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/types": "npm:3.734.0" - "@smithy/property-provider": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/8f8c56627790a57d299f157a746d690ac8ddc959628a6a72f1cd091c6586481193b3f85b60b8b6228382008cfff94f81096a9bdc5607b24d256f1ba322d1e1d1 - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-http@npm:3.758.0": - version: 3.758.0 - resolution: "@aws-sdk/credential-provider-http@npm:3.758.0" - dependencies: - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/types": "npm:3.734.0" - "@smithy/fetch-http-handler": "npm:^5.0.1" - "@smithy/node-http-handler": "npm:^4.0.3" - "@smithy/property-provider": "npm:^4.0.1" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/smithy-client": "npm:^4.1.6" - "@smithy/types": "npm:^4.1.0" - "@smithy/util-stream": "npm:^4.1.2" - tslib: "npm:^2.6.2" - checksum: 10c0/b9c3161bb3ecfb214d537255685dec049560acd115fef89e087c5cd6f4ab294b1e5c0ca014be0040fc40cef9385c1123de39bd0870f21136cee1ca857409bc4c - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-ini@npm:3.772.0": - version: 3.772.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.772.0" - dependencies: - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/credential-provider-env": "npm:3.758.0" - "@aws-sdk/credential-provider-http": "npm:3.758.0" - "@aws-sdk/credential-provider-process": "npm:3.758.0" - "@aws-sdk/credential-provider-sso": "npm:3.772.0" - "@aws-sdk/credential-provider-web-identity": "npm:3.772.0" - "@aws-sdk/nested-clients": "npm:3.772.0" - "@aws-sdk/types": "npm:3.734.0" - "@smithy/credential-provider-imds": "npm:^4.0.1" - "@smithy/property-provider": "npm:^4.0.1" - "@smithy/shared-ini-file-loader": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/3296b7c6f703d2c7180407d5a6ed8838d7f85f751c553cdaffd5073303b5a09433991d667e41007722de33dfeaa291633f395a8a037a89eff30b93ce832384a6 - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-node@npm:3.772.0": - version: 3.772.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.772.0" - dependencies: - "@aws-sdk/credential-provider-env": "npm:3.758.0" - "@aws-sdk/credential-provider-http": "npm:3.758.0" - "@aws-sdk/credential-provider-ini": "npm:3.772.0" - "@aws-sdk/credential-provider-process": "npm:3.758.0" - "@aws-sdk/credential-provider-sso": "npm:3.772.0" - "@aws-sdk/credential-provider-web-identity": "npm:3.772.0" - "@aws-sdk/types": "npm:3.734.0" - "@smithy/credential-provider-imds": "npm:^4.0.1" - "@smithy/property-provider": "npm:^4.0.1" - "@smithy/shared-ini-file-loader": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/fdaecd1e0d010b991cc87ad21c07b30b9b2ce9532e814f54e47917312cb81cdf0dbf8e75602f6a58dbd3a509c3ac8931b8496b43e9453023c991769c9159de46 - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-process@npm:3.758.0": - version: 3.758.0 - resolution: "@aws-sdk/credential-provider-process@npm:3.758.0" - dependencies: - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/types": "npm:3.734.0" - "@smithy/property-provider": "npm:^4.0.1" - "@smithy/shared-ini-file-loader": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/adb26090cc9812fe91f3941e41c365c9afe28157b9e76b266e9b34d0e8bffbad73af2e8e8e37345bbbd2def63601dd7f35c3d681c9f1099e461e7180693d2a95 + checksum: 10c0/83eae93e22408750abcd5225650945f5b9a2a4e4b9477d62e97c982b0d573d6f7b1a5ba4979a85947299d71898bf2ce68a9b87a0864c2697272eb74a817b4d97 languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:3.772.0": - version: 3.772.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.772.0" +"@aws-sdk/credential-provider-cognito-identity@npm:3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.864.0" dependencies: - "@aws-sdk/client-sso": "npm:3.772.0" - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/token-providers": "npm:3.772.0" - "@aws-sdk/types": "npm:3.734.0" - "@smithy/property-provider": "npm:^4.0.1" - "@smithy/shared-ini-file-loader": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" + "@aws-sdk/client-cognito-identity": "npm:3.864.0" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/property-provider": "npm:^4.0.5" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/ad5c5320a333fe7533d95bdb9728fde8016689a9270aa60d990e5e58c983a0f528f0aae6db9f33aa14d2177a37ccb7812cad909e8b7ba8bf745195e25865d301 + checksum: 10c0/31d60d9133663afb83af79669aa93f7f895b2d4845de2c141ab60fa0e998c57bc0d8596ee69a5513400d5520a0f2332287338332383cfa6d69988595735c1a6f languageName: node linkType: hard -"@aws-sdk/credential-provider-web-identity@npm:3.772.0": - version: 3.772.0 - resolution: "@aws-sdk/credential-provider-web-identity@npm:3.772.0" +"@aws-sdk/credential-provider-env@npm:3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/credential-provider-env@npm:3.864.0" dependencies: - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/nested-clients": "npm:3.772.0" - "@aws-sdk/types": "npm:3.734.0" - "@smithy/property-provider": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" + "@aws-sdk/core": "npm:3.864.0" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/property-provider": "npm:^4.0.5" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/6714beb227f72dcd9cb9fb45e8c5013c6c339408b26d5b7a077c2a53e3fd87d89f701feecd8942a7001dedd7bd584224da87be297f273c76f2d64eeba510ce3c + checksum: 10c0/6ffa5ba6787b976181aac62fcd510bade27a38685fb89d9824cf0ad4d34e6e8e82466438bdd35fd2d5bec1d60bbede0f7a60f836fc3ddb8d0d02a01e11e84704 languageName: node linkType: hard -"@aws-sdk/middleware-bucket-endpoint@npm:3.734.0": - version: 3.734.0 - resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.734.0" +"@aws-sdk/credential-provider-http@npm:3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/credential-provider-http@npm:3.864.0" dependencies: - "@aws-sdk/types": "npm:3.734.0" - "@aws-sdk/util-arn-parser": "npm:3.723.0" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/types": "npm:^4.1.0" - "@smithy/util-config-provider": "npm:^4.0.0" + "@aws-sdk/core": "npm:3.864.0" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/fetch-http-handler": "npm:^5.1.1" + "@smithy/node-http-handler": "npm:^4.1.1" + "@smithy/property-provider": "npm:^4.0.5" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/smithy-client": "npm:^4.4.10" + "@smithy/types": "npm:^4.3.2" + "@smithy/util-stream": "npm:^4.2.4" tslib: "npm:^2.6.2" - checksum: 10c0/f0f98bb478ff469ec3aab0ae5b8122cafc26e4d88efbb1d277429dfd21c70a64eaf996d5cbb7360ff93dcc0e985d75bca5bfcb6a814b1d18ab14c5b912c7c5ad - languageName: node - linkType: hard - -"@aws-sdk/middleware-expect-continue@npm:3.734.0": - version: 3.734.0 - resolution: "@aws-sdk/middleware-expect-continue@npm:3.734.0" - dependencies: - "@aws-sdk/types": "npm:3.734.0" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/types": "npm:^4.1.0" + checksum: 10c0/430f13e13cbe35e306c312e63b9c88187134593c03cc0d68bdaee19103b8e48535c45b63fb95888d61b35348afe1dc83a32aa4db73f5a2918eed12f58ff220f3 + languageName: node + linkType: hard + +"@aws-sdk/credential-provider-ini@npm:3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.864.0" + dependencies: + "@aws-sdk/core": "npm:3.864.0" + "@aws-sdk/credential-provider-env": "npm:3.864.0" + "@aws-sdk/credential-provider-http": "npm:3.864.0" + "@aws-sdk/credential-provider-process": "npm:3.864.0" + "@aws-sdk/credential-provider-sso": "npm:3.864.0" + "@aws-sdk/credential-provider-web-identity": "npm:3.864.0" + "@aws-sdk/nested-clients": "npm:3.864.0" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/credential-provider-imds": "npm:^4.0.7" + "@smithy/property-provider": "npm:^4.0.5" + "@smithy/shared-ini-file-loader": "npm:^4.0.5" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/5e6fa03e4b4ef8ff52314a5aea6b7c807e39516ad7c817003c8ef22c4d25de98dc469bab30d6f11a56cba7a968bcdf032373c8c1d074a16ff72ac2cd08f1a5e9 + checksum: 10c0/e0124557eff3617b0816b498f65d8082a17a3946795f5876a00d62edec06de58aba0a1bdbf63c697e7c20af79c4f4669db44578a946ea3d7edd20873e34228ae languageName: node linkType: hard -"@aws-sdk/middleware-flexible-checksums@npm:3.758.0": - version: 3.758.0 - resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.758.0" +"@aws-sdk/credential-provider-node@npm:3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.864.0" dependencies: - "@aws-crypto/crc32": "npm:5.2.0" - "@aws-crypto/crc32c": "npm:5.2.0" - "@aws-crypto/util": "npm:5.2.0" - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/types": "npm:3.734.0" - "@smithy/is-array-buffer": "npm:^4.0.0" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/types": "npm:^4.1.0" - "@smithy/util-middleware": "npm:^4.0.1" - "@smithy/util-stream": "npm:^4.1.2" - "@smithy/util-utf8": "npm:^4.0.0" + "@aws-sdk/credential-provider-env": "npm:3.864.0" + "@aws-sdk/credential-provider-http": "npm:3.864.0" + "@aws-sdk/credential-provider-ini": "npm:3.864.0" + "@aws-sdk/credential-provider-process": "npm:3.864.0" + "@aws-sdk/credential-provider-sso": "npm:3.864.0" + "@aws-sdk/credential-provider-web-identity": "npm:3.864.0" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/credential-provider-imds": "npm:^4.0.7" + "@smithy/property-provider": "npm:^4.0.5" + "@smithy/shared-ini-file-loader": "npm:^4.0.5" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/524c72ec60eef8e20ca9d4592ee316011056c0a7049972a4f56815866da04de086fa66d716f94bbe44621f4a0dc0bfcc65dd798d912c936d92a29fd659d2eb1d + checksum: 10c0/4fda02b247dc54d2df2667f67b0b73bcb71a83d82ce921d94260a12717d11f76872b30074e8c435d8009a6b32d5cb92452026c4344d74ce34f7edae50aa5c714 languageName: node linkType: hard -"@aws-sdk/middleware-host-header@npm:3.734.0": - version: 3.734.0 - resolution: "@aws-sdk/middleware-host-header@npm:3.734.0" +"@aws-sdk/credential-provider-process@npm:3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/credential-provider-process@npm:3.864.0" dependencies: - "@aws-sdk/types": "npm:3.734.0" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/types": "npm:^4.1.0" + "@aws-sdk/core": "npm:3.864.0" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/property-provider": "npm:^4.0.5" + "@smithy/shared-ini-file-loader": "npm:^4.0.5" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/56e8501c3beda2961ebba56f1146849594edafa0d33ce2bdb04b62df9732d1218ffe89882333d87d76079798dc575af1756db4d7270916d8d83f8d9ef7c4798e + checksum: 10c0/74bb1906ac48187aa4639675423f6bface1447286ce4e904d0f5e5932f8bee271397f85d7dccb45c909b25d43d943531a124fe3c1fdd137df581010aa5fe3d03 languageName: node linkType: hard -"@aws-sdk/middleware-location-constraint@npm:3.734.0": - version: 3.734.0 - resolution: "@aws-sdk/middleware-location-constraint@npm:3.734.0" +"@aws-sdk/credential-provider-sso@npm:3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.864.0" dependencies: - "@aws-sdk/types": "npm:3.734.0" - "@smithy/types": "npm:^4.1.0" + "@aws-sdk/client-sso": "npm:3.864.0" + "@aws-sdk/core": "npm:3.864.0" + "@aws-sdk/token-providers": "npm:3.864.0" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/property-provider": "npm:^4.0.5" + "@smithy/shared-ini-file-loader": "npm:^4.0.5" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/ec6a10d2545dfbda2806e8dd2244a6be76c97d5fdae2068c461cb61753801ce60079518ad45f3eb559a37042f057636da754cccec751d04d0b94b534d423424e + checksum: 10c0/706532dc10c49d0988789426a32abc556feece6a2cf967f5f93a0fc9a78a67dd6b3601f086c36838323f66b270789767add61906eb42acc904eb532c06a14de3 languageName: node linkType: hard -"@aws-sdk/middleware-logger@npm:3.734.0": - version: 3.734.0 - resolution: "@aws-sdk/middleware-logger@npm:3.734.0" +"@aws-sdk/credential-provider-web-identity@npm:3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/credential-provider-web-identity@npm:3.864.0" dependencies: - "@aws-sdk/types": "npm:3.734.0" - "@smithy/types": "npm:^4.1.0" + "@aws-sdk/core": "npm:3.864.0" + "@aws-sdk/nested-clients": "npm:3.864.0" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/property-provider": "npm:^4.0.5" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/dc690e546d0411929ff5888cd2dad56b7583f160ce4339f24d4963b9d11022f06da76d5f96c56d2ff2624493885254200788c763f113c26695875b8a229ee9a1 - languageName: node - linkType: hard - -"@aws-sdk/middleware-recursion-detection@npm:3.772.0": - version: 3.772.0 - resolution: "@aws-sdk/middleware-recursion-detection@npm:3.772.0" - dependencies: - "@aws-sdk/types": "npm:3.734.0" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/types": "npm:^4.1.0" + checksum: 10c0/3f1596e848ae1ecdbd731496f239e90be16a4956d2ba85bcf2603e825a9928c9aa9414952dee6efde437614ac7f189add56950d6e027dd5a30ff0ebf7db2491f + languageName: node + linkType: hard + +"@aws-sdk/credential-providers@npm:^3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/credential-providers@npm:3.864.0" + dependencies: + "@aws-sdk/client-cognito-identity": "npm:3.864.0" + "@aws-sdk/core": "npm:3.864.0" + "@aws-sdk/credential-provider-cognito-identity": "npm:3.864.0" + "@aws-sdk/credential-provider-env": "npm:3.864.0" + "@aws-sdk/credential-provider-http": "npm:3.864.0" + "@aws-sdk/credential-provider-ini": "npm:3.864.0" + "@aws-sdk/credential-provider-node": "npm:3.864.0" + "@aws-sdk/credential-provider-process": "npm:3.864.0" + "@aws-sdk/credential-provider-sso": "npm:3.864.0" + "@aws-sdk/credential-provider-web-identity": "npm:3.864.0" + "@aws-sdk/nested-clients": "npm:3.864.0" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/config-resolver": "npm:^4.1.5" + "@smithy/core": "npm:^3.8.0" + "@smithy/credential-provider-imds": "npm:^4.0.7" + "@smithy/node-config-provider": "npm:^4.1.4" + "@smithy/property-provider": "npm:^4.0.5" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/5f1f7613c7897fb6dd807b106dd56f7cf1143186b5853bf5efeeea1b9d04368150ecee4ddce172d130e38e92abe5b4501280ff50748c52ac299e972550af05fa + checksum: 10c0/636d358083f83a5da1c672890b6698c6b21df7a13b06459d2404d6112af7f5b5c1d75b0e666c83f641f8a3f81c1c4a9be18a83b3911f4b2c266ae867884d7f39 languageName: node linkType: hard -"@aws-sdk/middleware-sdk-api-gateway@npm:3.734.0": - version: 3.734.0 - resolution: "@aws-sdk/middleware-sdk-api-gateway@npm:3.734.0" +"@aws-sdk/middleware-host-header@npm:3.862.0": + version: 3.862.0 + resolution: "@aws-sdk/middleware-host-header@npm:3.862.0" dependencies: - "@aws-sdk/types": "npm:3.734.0" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/types": "npm:^4.1.0" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/ea458c2a5dc7af0ba6fa5985e1bd1152fb7ff3bcdd105e70dfcc5859f18aaa17c4a998cd2c966965fc812a6cd81eb7af67bda8a6b0f63a9cb8199948773ea3d5 + checksum: 10c0/1a71a7fb8e678fbe7b57028e952c30ee7e6d3f9a213e99742befd008d42df772f5a6e43403c0501f86e4b3f42ff076ce068cbae040e146c1438d1f4e7643c948 languageName: node linkType: hard -"@aws-sdk/middleware-sdk-s3@npm:3.758.0": - version: 3.758.0 - resolution: "@aws-sdk/middleware-sdk-s3@npm:3.758.0" +"@aws-sdk/middleware-logger@npm:3.862.0": + version: 3.862.0 + resolution: "@aws-sdk/middleware-logger@npm:3.862.0" dependencies: - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/types": "npm:3.734.0" - "@aws-sdk/util-arn-parser": "npm:3.723.0" - "@smithy/core": "npm:^3.1.5" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/signature-v4": "npm:^5.0.1" - "@smithy/smithy-client": "npm:^4.1.6" - "@smithy/types": "npm:^4.1.0" - "@smithy/util-config-provider": "npm:^4.0.0" - "@smithy/util-middleware": "npm:^4.0.1" - "@smithy/util-stream": "npm:^4.1.2" - "@smithy/util-utf8": "npm:^4.0.0" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/ea561507aa217c46300486f63dae19e475367682b9391bc9ef251a08c75e4dd2b6086c75e72eb08f7e49caf70c5eb51e4b67aab1680e0dbca0127a47e6bcdc89 + checksum: 10c0/b1e7026ae941435b066530b37acf2291d96530bf5c1a5a47fa32f32caf3a336f1b2f6223d0ad2a61115f1846d63b632a6104fe0dd761c239067c780efa90b297 languageName: node linkType: hard -"@aws-sdk/middleware-ssec@npm:3.734.0": - version: 3.734.0 - resolution: "@aws-sdk/middleware-ssec@npm:3.734.0" +"@aws-sdk/middleware-recursion-detection@npm:3.862.0": + version: 3.862.0 + resolution: "@aws-sdk/middleware-recursion-detection@npm:3.862.0" dependencies: - "@aws-sdk/types": "npm:3.734.0" - "@smithy/types": "npm:^4.1.0" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/ba1d0f202ef0e58d82895bbe71dcb4520f0eaf958ebc37baa3383e42729091fca2f927ec3482478b0ece35ae001c72da9afb71c83504e0aba6df4074a6a2187a + checksum: 10c0/ed186d07cf5733ccc899168f83767e428ca9d2e7394e315e43f4f2522ed9a9aac6e5477e47aa4710775e724730dcb25a6699784aa5e63153e102c001ea96ab7f languageName: node linkType: hard -"@aws-sdk/middleware-user-agent@npm:3.758.0": - version: 3.758.0 - resolution: "@aws-sdk/middleware-user-agent@npm:3.758.0" +"@aws-sdk/middleware-user-agent@npm:3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/middleware-user-agent@npm:3.864.0" dependencies: - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/types": "npm:3.734.0" - "@aws-sdk/util-endpoints": "npm:3.743.0" - "@smithy/core": "npm:^3.1.5" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/types": "npm:^4.1.0" + "@aws-sdk/core": "npm:3.864.0" + "@aws-sdk/types": "npm:3.862.0" + "@aws-sdk/util-endpoints": "npm:3.862.0" + "@smithy/core": "npm:^3.8.0" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/2bccf1cdeed1bcb1248a2eda23da0f68fb425f2a2a0794dd24be46aa688d01c19a71783f7cf55fb208b5563a7d16bc93cfdfa9a77d4f5e1a944a395a77cf2f1d + checksum: 10c0/638401786dfb365cd4e890e4b4d18ddf48e267faf8842c53feaad37f25f38615fc8fb710c721f7ca8e1de9c4b1c74f411d437b544385fe739d129b5c03958a16 languageName: node linkType: hard -"@aws-sdk/nested-clients@npm:3.772.0": - version: 3.772.0 - resolution: "@aws-sdk/nested-clients@npm:3.772.0" +"@aws-sdk/nested-clients@npm:3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/nested-clients@npm:3.864.0" dependencies: "@aws-crypto/sha256-browser": "npm:5.2.0" "@aws-crypto/sha256-js": "npm:5.2.0" - "@aws-sdk/core": "npm:3.758.0" - "@aws-sdk/middleware-host-header": "npm:3.734.0" - "@aws-sdk/middleware-logger": "npm:3.734.0" - "@aws-sdk/middleware-recursion-detection": "npm:3.772.0" - "@aws-sdk/middleware-user-agent": "npm:3.758.0" - "@aws-sdk/region-config-resolver": "npm:3.734.0" - "@aws-sdk/types": "npm:3.734.0" - "@aws-sdk/util-endpoints": "npm:3.743.0" - "@aws-sdk/util-user-agent-browser": "npm:3.734.0" - "@aws-sdk/util-user-agent-node": "npm:3.758.0" - "@smithy/config-resolver": "npm:^4.0.1" - "@smithy/core": "npm:^3.1.5" - "@smithy/fetch-http-handler": "npm:^5.0.1" - "@smithy/hash-node": "npm:^4.0.1" - "@smithy/invalid-dependency": "npm:^4.0.1" - "@smithy/middleware-content-length": "npm:^4.0.1" - "@smithy/middleware-endpoint": "npm:^4.0.6" - "@smithy/middleware-retry": "npm:^4.0.7" - "@smithy/middleware-serde": "npm:^4.0.2" - "@smithy/middleware-stack": "npm:^4.0.1" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/node-http-handler": "npm:^4.0.3" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/smithy-client": "npm:^4.1.6" - "@smithy/types": "npm:^4.1.0" - "@smithy/url-parser": "npm:^4.0.1" + "@aws-sdk/core": "npm:3.864.0" + "@aws-sdk/middleware-host-header": "npm:3.862.0" + "@aws-sdk/middleware-logger": "npm:3.862.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.862.0" + "@aws-sdk/middleware-user-agent": "npm:3.864.0" + "@aws-sdk/region-config-resolver": "npm:3.862.0" + "@aws-sdk/types": "npm:3.862.0" + "@aws-sdk/util-endpoints": "npm:3.862.0" + "@aws-sdk/util-user-agent-browser": "npm:3.862.0" + "@aws-sdk/util-user-agent-node": "npm:3.864.0" + "@smithy/config-resolver": "npm:^4.1.5" + "@smithy/core": "npm:^3.8.0" + "@smithy/fetch-http-handler": "npm:^5.1.1" + "@smithy/hash-node": "npm:^4.0.5" + "@smithy/invalid-dependency": "npm:^4.0.5" + "@smithy/middleware-content-length": "npm:^4.0.5" + "@smithy/middleware-endpoint": "npm:^4.1.18" + "@smithy/middleware-retry": "npm:^4.1.19" + "@smithy/middleware-serde": "npm:^4.0.9" + "@smithy/middleware-stack": "npm:^4.0.5" + "@smithy/node-config-provider": "npm:^4.1.4" + "@smithy/node-http-handler": "npm:^4.1.1" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/smithy-client": "npm:^4.4.10" + "@smithy/types": "npm:^4.3.2" + "@smithy/url-parser": "npm:^4.0.5" "@smithy/util-base64": "npm:^4.0.0" "@smithy/util-body-length-browser": "npm:^4.0.0" "@smithy/util-body-length-node": "npm:^4.0.0" - "@smithy/util-defaults-mode-browser": "npm:^4.0.7" - "@smithy/util-defaults-mode-node": "npm:^4.0.7" - "@smithy/util-endpoints": "npm:^3.0.1" - "@smithy/util-middleware": "npm:^4.0.1" - "@smithy/util-retry": "npm:^4.0.1" + "@smithy/util-defaults-mode-browser": "npm:^4.0.26" + "@smithy/util-defaults-mode-node": "npm:^4.0.26" + "@smithy/util-endpoints": "npm:^3.0.7" + "@smithy/util-middleware": "npm:^4.0.5" + "@smithy/util-retry": "npm:^4.0.7" "@smithy/util-utf8": "npm:^4.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/62d1bf7837417b0cbc208d24634484a749b8f7cb82074b386d792a485b894b7f10035fcc37b8a5251c39d1cc75246d39a53659e170981ff0b1a781a4cac778b0 + checksum: 10c0/a1c6b61352bac1eb0d3348de5be92efef015256bdc18f8391df630631f0a347cdd38faea4b2ad48e99a82d5ea2e8537ad673e29ff1dab2468f13a04bd86b6038 languageName: node linkType: hard -"@aws-sdk/region-config-resolver@npm:3.734.0": - version: 3.734.0 - resolution: "@aws-sdk/region-config-resolver@npm:3.734.0" +"@aws-sdk/region-config-resolver@npm:3.862.0": + version: 3.862.0 + resolution: "@aws-sdk/region-config-resolver@npm:3.862.0" dependencies: - "@aws-sdk/types": "npm:3.734.0" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/node-config-provider": "npm:^4.1.4" + "@smithy/types": "npm:^4.3.2" "@smithy/util-config-provider": "npm:^4.0.0" - "@smithy/util-middleware": "npm:^4.0.1" - tslib: "npm:^2.6.2" - checksum: 10c0/c1e026dcbe9d7529ec5efee979a868d0c868287d68e7e219bd730d887ab1ccf17ef48516477e57325fef55543217496bcfe7ba6d17d9ecad98cf8cf18d5ced63 - languageName: node - linkType: hard - -"@aws-sdk/signature-v4-multi-region@npm:3.758.0": - version: 3.758.0 - resolution: "@aws-sdk/signature-v4-multi-region@npm:3.758.0" - dependencies: - "@aws-sdk/middleware-sdk-s3": "npm:3.758.0" - "@aws-sdk/types": "npm:3.734.0" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/signature-v4": "npm:^5.0.1" - "@smithy/types": "npm:^4.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/172be0dc5f7c1e8cff4257d0d737e7ef56ce2e4297b9431fc8f864f5f43a8054277903a70744ef9717049299256bd138fad284586d727bb3b6f2b9ac1dd4afce - languageName: node - linkType: hard - -"@aws-sdk/token-providers@npm:3.772.0": - version: 3.772.0 - resolution: "@aws-sdk/token-providers@npm:3.772.0" - dependencies: - "@aws-sdk/nested-clients": "npm:3.772.0" - "@aws-sdk/types": "npm:3.734.0" - "@smithy/property-provider": "npm:^4.0.1" - "@smithy/shared-ini-file-loader": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" + "@smithy/util-middleware": "npm:^4.0.5" tslib: "npm:^2.6.2" - checksum: 10c0/0b70492d25c16d78c08917d7b655a78b57863fa739fbfefee943a7fcc781654ded5c7973a4a3f0bf07874d4a82f3e9c0e1d7bae24b768628c0e292765639a500 + checksum: 10c0/b74d1ae2e663e6de0c4ce3a22af5693af911b0d05fb241595b69875cc6e03917c85e8d058ffc62c4bf7cf0b659d4e3aeb44d3ac2b18ecda0abd85bb04eb9579f languageName: node linkType: hard -"@aws-sdk/types@npm:3.734.0, @aws-sdk/types@npm:^3.222.0": - version: 3.734.0 - resolution: "@aws-sdk/types@npm:3.734.0" +"@aws-sdk/token-providers@npm:3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/token-providers@npm:3.864.0" dependencies: - "@smithy/types": "npm:^4.1.0" + "@aws-sdk/core": "npm:3.864.0" + "@aws-sdk/nested-clients": "npm:3.864.0" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/property-provider": "npm:^4.0.5" + "@smithy/shared-ini-file-loader": "npm:^4.0.5" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/74313849619b8bce9e6a52c70fcdaa212574a443503c78bccdba77cdc7bc66b8cecefe461852e0bab7376cc2ec3e1891730b1a027be63efb47394115c8ddb856 + checksum: 10c0/c87f9a0c7becb8e016f3cb6a468c9efa26a1c708c8738155d77799547479c2ff24801bd1becd1e57244431dde94ad348c676530b9053741ffb98c8710914077b languageName: node linkType: hard -"@aws-sdk/util-arn-parser@npm:3.723.0": - version: 3.723.0 - resolution: "@aws-sdk/util-arn-parser@npm:3.723.0" +"@aws-sdk/types@npm:3.862.0, @aws-sdk/types@npm:^3.222.0": + version: 3.862.0 + resolution: "@aws-sdk/types@npm:3.862.0" dependencies: + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/5d2adfded61acaf222ed21bf8e5a8b067fe469dfaab03a6b69c591a090c48d309b1f3c4fd64826f71ef9883390adb77a9bf884667b242615f221236bc5a8b326 + checksum: 10c0/d8e13eadde27c29e39d8effa861a3dc8ef43fba6ecb9772e3461619a76897873c8d4355be89aa5090294d1f17e1a6697834f0bbf6a7f73902a77fe00b1fbe5c2 languageName: node linkType: hard -"@aws-sdk/util-endpoints@npm:3.743.0": - version: 3.743.0 - resolution: "@aws-sdk/util-endpoints@npm:3.743.0" +"@aws-sdk/util-endpoints@npm:3.862.0": + version: 3.862.0 + resolution: "@aws-sdk/util-endpoints@npm:3.862.0" dependencies: - "@aws-sdk/types": "npm:3.734.0" - "@smithy/types": "npm:^4.1.0" - "@smithy/util-endpoints": "npm:^3.0.1" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/types": "npm:^4.3.2" + "@smithy/url-parser": "npm:^4.0.5" + "@smithy/util-endpoints": "npm:^3.0.7" tslib: "npm:^2.6.2" - checksum: 10c0/9adba3aa9a5a3cadb7f89c7b3424034c5efb7c10c55114ab02e3d069b4112a05a1e8578ff6ed937412f5d5d1a9cdeeac03b80e5b5d47eaf8fb167d031915e424 + checksum: 10c0/e37245c5e6cfa03591895e7c11f24a356b85d57895f08f5202a2bc107030177244c66e4a952a9333c8aaf072b23edb89f781416ae9999c1dc0b2b0dec9403ca3 languageName: node linkType: hard "@aws-sdk/util-locate-window@npm:^3.0.0": - version: 3.723.0 - resolution: "@aws-sdk/util-locate-window@npm:3.723.0" + version: 3.804.0 + resolution: "@aws-sdk/util-locate-window@npm:3.804.0" dependencies: tslib: "npm:^2.6.2" - checksum: 10c0/c9c75d3ee06bd1d1edad78bea8324f2d4ad6086803f27731e1f3c25e946bb630c8db2991a5337e4dbeee06507deab9abea80b134ba4e3fbb27471d438a030639 + checksum: 10c0/a0ceaf6531f188751fea7e829b730650689fa2196e0b3f870dde3888bcb840fe0852e10488699d4d9683db0765cd7f7060ca8ac216348991996b6d794f9957ab languageName: node linkType: hard -"@aws-sdk/util-user-agent-browser@npm:3.734.0": - version: 3.734.0 - resolution: "@aws-sdk/util-user-agent-browser@npm:3.734.0" +"@aws-sdk/util-user-agent-browser@npm:3.862.0": + version: 3.862.0 + resolution: "@aws-sdk/util-user-agent-browser@npm:3.862.0" dependencies: - "@aws-sdk/types": "npm:3.734.0" - "@smithy/types": "npm:^4.1.0" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/types": "npm:^4.3.2" bowser: "npm:^2.11.0" tslib: "npm:^2.6.2" - checksum: 10c0/7fc8c5e29f3219f8abf1d0cff73dd6bb34f32a235473843e50f61375b1c05f4c49269cd956c9e4623c87c025e1eeef9fc699ae3389665459721bc11e00c25ead + checksum: 10c0/68d8ce204c52ed703b925f77922b8845875fb101454654c9a0483947d5edbd40d4fedb515df9f0f70f93c08277cb11cd51a376fafbf43c6745b5364679dce6cb languageName: node linkType: hard -"@aws-sdk/util-user-agent-node@npm:3.758.0": - version: 3.758.0 - resolution: "@aws-sdk/util-user-agent-node@npm:3.758.0" +"@aws-sdk/util-user-agent-node@npm:3.864.0": + version: 3.864.0 + resolution: "@aws-sdk/util-user-agent-node@npm:3.864.0" dependencies: - "@aws-sdk/middleware-user-agent": "npm:3.758.0" - "@aws-sdk/types": "npm:3.734.0" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" + "@aws-sdk/middleware-user-agent": "npm:3.864.0" + "@aws-sdk/types": "npm:3.862.0" + "@smithy/node-config-provider": "npm:^4.1.4" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" peerDependencies: aws-crt: ">=1.0.0" peerDependenciesMeta: aws-crt: optional: true - checksum: 10c0/0c7609adf570da3cc7d29331fb58dec27df803ed95449debe0af5747e1b698acf7b21c67cbf9fe6e559b88422c7dc3fb4252e35cacf8f4d424f353d087db2b26 + checksum: 10c0/1eba907bbeb99d1c78912e94589ead12b6ecb6f2fbfffa4fafdff94439dc81d2adfa8145302c3d6bcf355ecee7687081f18d5034269f921affc00c5b8402a9bf languageName: node linkType: hard -"@aws-sdk/xml-builder@npm:3.734.0": - version: 3.734.0 - resolution: "@aws-sdk/xml-builder@npm:3.734.0" +"@aws-sdk/xml-builder@npm:3.862.0": + version: 3.862.0 + resolution: "@aws-sdk/xml-builder@npm:3.862.0" dependencies: - "@smithy/types": "npm:^4.1.0" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/77eb3d603d45a235982a86e5adbc2de727389924cbbd8edb9b13f1a201b15304c57aebb18e00cce909920b3519d0ca71406989b01b6544c87c7b3c4f04d66887 + checksum: 10c0/bf388c2cc23cd7d7fbe32d148b59b7476227cadc1d169d92b086befed128926d202c74a58af549888979f57f7bccff2db901b842f36aa135fb3be4b886199053 languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.26.2": - version: 7.26.2 - resolution: "@babel/code-frame@npm:7.26.2" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/code-frame@npm:7.27.1" dependencies: - "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.27.1" js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/7d79621a6849183c415486af99b1a20b84737e8c11cd55b6544f688c51ce1fd710e6d869c3dd21232023da272a79b91efb3e83b5bc2dc65c1187c5fcd1b72ea8 + picocolors: "npm:^1.1.1" + checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00 languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.26.5, @babel/compat-data@npm:^7.26.8": - version: 7.26.8 - resolution: "@babel/compat-data@npm:7.26.8" - checksum: 10c0/66408a0388c3457fff1c2f6c3a061278dd7b3d2f0455ea29bb7b187fa52c60ae8b4054b3c0a184e21e45f0eaac63cf390737bc7504d1f4a088a6e7f652c068ca +"@babel/compat-data@npm:^7.27.2, @babel/compat-data@npm:^7.27.7, @babel/compat-data@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/compat-data@npm:7.28.0" + checksum: 10c0/c4e527302bcd61052423f757355a71c3bc62362bac13f7f130de16e439716f66091ff5bdecda418e8fa0271d4c725f860f0ee23ab7bf6e769f7a8bb16dfcb531 languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.2, @babel/core@npm:^7.23.9": - version: 7.26.10 - resolution: "@babel/core@npm:7.26.10" +"@babel/core@npm:^7.23.2": + version: 7.28.0 + resolution: "@babel/core@npm:7.28.0" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.26.2" - "@babel/generator": "npm:^7.26.10" - "@babel/helper-compilation-targets": "npm:^7.26.5" - "@babel/helper-module-transforms": "npm:^7.26.0" - "@babel/helpers": "npm:^7.26.10" - "@babel/parser": "npm:^7.26.10" - "@babel/template": "npm:^7.26.9" - "@babel/traverse": "npm:^7.26.10" - "@babel/types": "npm:^7.26.10" + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.28.0" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-module-transforms": "npm:^7.27.3" + "@babel/helpers": "npm:^7.27.6" + "@babel/parser": "npm:^7.28.0" + "@babel/template": "npm:^7.27.2" + "@babel/traverse": "npm:^7.28.0" + "@babel/types": "npm:^7.28.0" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/e046e0e988ab53841b512ee9d263ca409f6c46e2a999fe53024688b92db394346fa3aeae5ea0866331f62133982eee05a675d22922a4603c3f603aa09a581d62 + checksum: 10c0/423302e7c721e73b1c096217880272e02020dfb697a55ccca60ad01bba90037015f84d0c20c6ce297cf33a19bb704bc5c2b3d3095f5284dfa592bd1de0b9e8c3 languageName: node linkType: hard -"@babel/generator@npm:^7.26.10, @babel/generator@npm:^7.7.2": - version: 7.26.10 - resolution: "@babel/generator@npm:7.26.10" +"@babel/generator@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/generator@npm:7.28.0" dependencies: - "@babel/parser": "npm:^7.26.10" - "@babel/types": "npm:^7.26.10" - "@jridgewell/gen-mapping": "npm:^0.3.5" - "@jridgewell/trace-mapping": "npm:^0.3.25" + "@babel/parser": "npm:^7.28.0" + "@babel/types": "npm:^7.28.0" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" jsesc: "npm:^3.0.2" - checksum: 10c0/88b3b3ea80592fc89349c4e1a145e1386e4042866d2507298adf452bf972f68d13bf699a845e6ab8c028bd52c2247013eb1221b86e1db5c9779faacba9c4b10e + checksum: 10c0/1b3d122268ea3df50fde707ad864d9a55c72621357d5cebb972db3dd76859c45810c56e16ad23123f18f80cc2692f5a015d2858361300f0f224a05dc43d36a92 languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" +"@babel/helper-annotate-as-pure@npm:^7.27.1, @babel/helper-annotate-as-pure@npm:^7.27.3": + version: 7.27.3 + resolution: "@babel/helper-annotate-as-pure@npm:7.27.3" dependencies: - "@babel/types": "npm:^7.25.9" - checksum: 10c0/095b6ba50489d797733abebc4596a81918316a99e3632755c9f02508882912b00c2ae5e468532a25a5c2108d109ddbe9b7da78333ee7cc13817fc50c00cf06fe + "@babel/types": "npm:^7.27.3" + checksum: 10c0/94996ce0a05b7229f956033e6dcd69393db2b0886d0db6aff41e704390402b8cdcca11f61449cb4f86cfd9e61b5ad3a73e4fa661eeed7846b125bd1c33dbc633 languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.25.9, @babel/helper-compilation-targets@npm:^7.26.5": - version: 7.26.5 - resolution: "@babel/helper-compilation-targets@npm:7.26.5" +"@babel/helper-compilation-targets@npm:^7.27.1, @babel/helper-compilation-targets@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/helper-compilation-targets@npm:7.27.2" dependencies: - "@babel/compat-data": "npm:^7.26.5" - "@babel/helper-validator-option": "npm:^7.25.9" + "@babel/compat-data": "npm:^7.27.2" + "@babel/helper-validator-option": "npm:^7.27.1" browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/9da5c77e5722f1a2fcb3e893049a01d414124522bbf51323bb1a0c9dcd326f15279836450fc36f83c9e8a846f3c40e88be032ed939c5a9840922bed6073edfb4 + checksum: 10c0/f338fa00dcfea931804a7c55d1a1c81b6f0a09787e528ec580d5c21b3ecb3913f6cb0f361368973ce953b824d910d3ac3e8a8ee15192710d3563826447193ad1 languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.25.9": - version: 7.26.9 - resolution: "@babel/helper-create-class-features-plugin@npm:7.26.9" +"@babel/helper-create-class-features-plugin@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-create-class-features-plugin@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-member-expression-to-functions": "npm:^7.25.9" - "@babel/helper-optimise-call-expression": "npm:^7.25.9" - "@babel/helper-replace-supers": "npm:^7.26.5" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" - "@babel/traverse": "npm:^7.26.9" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-member-expression-to-functions": "npm:^7.27.1" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/808620b350ac012f22163fd44c38ed8e05b24ce5d37bc4aa99a44e9724205f11efcef6b25ccfa5bb5de82ac32b899f1e939123c688f335d2851f4b8d70742233 + checksum: 10c0/4ee199671d6b9bdd4988aa2eea4bdced9a73abfc831d81b00c7634f49a8fc271b3ceda01c067af58018eb720c6151322015d463abea7072a368ee13f35adbb4c languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.25.9": - version: 7.26.3 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.26.3" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" regexpu-core: "npm:^6.2.0" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/266f30b99af621559467ed67634cb653408a9262930c0627c3d17691a9d477329fb4dabe4b1785cbf0490e892513d247836674271842d6a8da49fd0afae7d435 + checksum: 10c0/591fe8bd3bb39679cc49588889b83bd628d8c4b99c55bafa81e80b1e605a348b64da955e3fd891c4ba3f36fd015367ba2eadea22af6a7de1610fbb5bcc2d3df0 languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.6.3, @babel/helper-define-polyfill-provider@npm:^0.6.4": - version: 0.6.4 - resolution: "@babel/helper-define-polyfill-provider@npm:0.6.4" +"@babel/helper-define-polyfill-provider@npm:^0.6.5": + version: 0.6.5 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.5" dependencies: - "@babel/helper-compilation-targets": "npm:^7.22.6" - "@babel/helper-plugin-utils": "npm:^7.22.5" - debug: "npm:^4.1.1" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" + debug: "npm:^4.4.1" lodash.debounce: "npm:^4.0.8" - resolve: "npm:^1.14.2" + resolve: "npm:^1.22.10" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/b74f2b46e233a178618d19432bdae16e0137d0a603497ee901155e083c4a61f26fe01d79fb95d5f4c22131ade9d958d8f587088d412cca1302633587f070919d + checksum: 10c0/4886a068d9ca1e70af395340656a9dda33c50502c67eed39ff6451785f370bdfc6e57095b90cb92678adcd4a111ca60909af53d3a741120719c5604346ae409e + languageName: node + linkType: hard + +"@babel/helper-globals@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/helper-globals@npm:7.28.0" + checksum: 10c0/5a0cd0c0e8c764b5f27f2095e4243e8af6fa145daea2b41b53c0c1414fe6ff139e3640f4e2207ae2b3d2153a1abd346f901c26c290ee7cb3881dd922d4ee9232 languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" +"@babel/helper-member-expression-to-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-member-expression-to-functions@npm:7.27.1" dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/e08c7616f111e1fb56f398365e78858e26e466d4ac46dff25921adc5ccae9b232f66e952a2f4162bbe336627ba336c7fd9eca4835b6548935973d3380d77eaff + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/5762ad009b6a3d8b0e6e79ff6011b3b8fdda0fefad56cfa8bfbe6aa02d5a8a8a9680a45748fe3ac47e735a03d2d88c0a676e3f9f59f20ae9fadcc8d51ccd5a53 languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-module-imports@npm:7.25.9" +"@babel/helper-module-imports@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-module-imports@npm:7.27.1" dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/e00aace096e4e29290ff8648455c2bc4ed982f0d61dbf2db1b5e750b9b98f318bf5788d75a4f974c151bd318fd549e81dbcab595f46b14b81c12eda3023f51e8 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.25.9, @babel/helper-module-transforms@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/helper-module-transforms@npm:7.26.0" +"@babel/helper-module-transforms@npm:^7.27.1, @babel/helper-module-transforms@npm:^7.27.3": + version: 7.27.3 + resolution: "@babel/helper-module-transforms@npm:7.27.3" dependencies: - "@babel/helper-module-imports": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.3" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/ee111b68a5933481d76633dad9cdab30c41df4479f0e5e1cc4756dc9447c1afd2c9473b5ba006362e35b17f4ebddd5fca090233bef8dfc84dca9d9127e56ec3a + checksum: 10c0/fccb4f512a13b4c069af51e1b56b20f54024bcf1591e31e978a30f3502567f34f90a80da6a19a6148c249216292a8074a0121f9e52602510ef0f32dbce95ca01 languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" +"@babel/helper-optimise-call-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-optimise-call-expression@npm:7.27.1" dependencies: - "@babel/types": "npm:^7.25.9" - checksum: 10c0/90203e6607edeadd2a154940803fd616c0ed92c1013d6774c4b8eb491f1a5a3448b68faae6268141caa5c456e55e3ee49a4ed2bd7ddaf2365daea321c435914c + "@babel/types": "npm:^7.27.1" + checksum: 10c0/6b861e7fcf6031b9c9fc2de3cd6c005e94a459d6caf3621d93346b52774925800ca29d4f64595a5ceacf4d161eb0d27649ae385110ed69491d9776686fa488e6 languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.25.9, @babel/helper-plugin-utils@npm:^7.26.5, @babel/helper-plugin-utils@npm:^7.8.0": - version: 7.26.5 - resolution: "@babel/helper-plugin-utils@npm:7.26.5" - checksum: 10c0/cdaba71d4b891aa6a8dfbe5bac2f94effb13e5fa4c2c487667fdbaa04eae059b78b28d85a885071f45f7205aeb56d16759e1bed9c118b94b16e4720ef1ab0f65 +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-plugin-utils@npm:7.27.1" + checksum: 10c0/94cf22c81a0c11a09b197b41ab488d416ff62254ce13c57e62912c85700dc2e99e555225787a4099ff6bae7a1812d622c80fbaeda824b79baa10a6c5ac4cf69b languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-remap-async-to-generator@npm:7.25.9" +"@babel/helper-remap-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-remap-async-to-generator@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-wrap-function": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-wrap-function": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/6798b562f2788210980f29c5ee96056d90dc73458c88af5bd32f9c82e28e01975588aa2a57bb866c35556bd9b76bac937e824ee63ba472b6430224b91b4879e9 + checksum: 10c0/5ba6258f4bb57c7c9fa76b55f416b2d18c867b48c1af4f9f2f7cd7cc933fe6da7514811d08ceb4972f1493be46f4b69c40282b811d1397403febae13c2ec57b5 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.25.9, @babel/helper-replace-supers@npm:^7.26.5": - version: 7.26.5 - resolution: "@babel/helper-replace-supers@npm:7.26.5" +"@babel/helper-replace-supers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-replace-supers@npm:7.27.1" dependencies: - "@babel/helper-member-expression-to-functions": "npm:^7.25.9" - "@babel/helper-optimise-call-expression": "npm:^7.25.9" - "@babel/traverse": "npm:^7.26.5" + "@babel/helper-member-expression-to-functions": "npm:^7.27.1" + "@babel/helper-optimise-call-expression": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/b19b1245caf835207aaaaac3a494f03a16069ae55e76a2e1350b5acd560e6a820026997a8160e8ebab82ae873e8208759aa008eb8422a67a775df41f0a4633d4 + checksum: 10c0/4f2eaaf5fcc196580221a7ccd0f8873447b5d52745ad4096418f6101a1d2e712e9f93722c9a32bc9769a1dc197e001f60d6f5438d4dfde4b9c6a9e4df719354c languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.27.1" dependencies: - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/09ace0c6156961624ac9524329ce7f45350bab94bbe24335cbe0da7dfaa1448e658771831983cb83fe91cf6635b15d0a3cab57c03b92657480bfb49fb56dd184 + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/f625013bcdea422c470223a2614e90d2c1cc9d832e97f32ca1b4f82b34bb4aa67c3904cb4b116375d3b5b753acfb3951ed50835a1e832e7225295c7b0c24dff7 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-string-parser@npm:7.25.9" - checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 +"@babel/helper-string-parser@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-string-parser@npm:7.27.1" + checksum: 10c0/8bda3448e07b5583727c103560bcf9c4c24b3c1051a4c516d4050ef69df37bb9a4734a585fe12725b8c2763de0a265aa1e909b485a4e3270b7cfd3e4dbe4b602 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-validator-identifier@npm:7.25.9" - checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d +"@babel/helper-validator-identifier@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-identifier@npm:7.27.1" + checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84 languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-validator-option@npm:7.25.9" - checksum: 10c0/27fb195d14c7dcb07f14e58fe77c44eea19a6a40a74472ec05c441478fa0bb49fa1c32b2d64be7a38870ee48ef6601bdebe98d512f0253aea0b39756c4014f3e +"@babel/helper-validator-option@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-validator-option@npm:7.27.1" + checksum: 10c0/6fec5f006eba40001a20f26b1ef5dbbda377b7b68c8ad518c05baa9af3f396e780bdfded24c4eef95d14bb7b8fd56192a6ed38d5d439b97d10efc5f1a191d148 languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/helper-wrap-function@npm:7.25.9" +"@babel/helper-wrap-function@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/helper-wrap-function@npm:7.27.1" dependencies: - "@babel/template": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - "@babel/types": "npm:^7.25.9" - checksum: 10c0/b6627d83291e7b80df020f8ee2890c52b8d49272962cac0114ef90f189889c90f1027985873d1b5261a4e986e109b2754292dc112392f0b1fcbfc91cc08bd003 + "@babel/template": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/c472f75c0951bc657ab0a117538c7c116566ae7579ed47ac3f572c42dc78bd6f1e18f52ebe80d38300c991c3fcaa06979e2f8864ee919369dabd59072288de30 languageName: node linkType: hard -"@babel/helpers@npm:^7.26.10": - version: 7.26.10 - resolution: "@babel/helpers@npm:7.26.10" +"@babel/helpers@npm:^7.27.6": + version: 7.27.6 + resolution: "@babel/helpers@npm:7.27.6" dependencies: - "@babel/template": "npm:^7.26.9" - "@babel/types": "npm:^7.26.10" - checksum: 10c0/f99e1836bcffce96db43158518bb4a24cf266820021f6461092a776cba2dc01d9fc8b1b90979d7643c5c2ab7facc438149064463a52dd528b21c6ab32509784f + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.27.6" + checksum: 10c0/448bac96ef8b0f21f2294a826df9de6bf4026fd023f8a6bb6c782fe3e61946801ca24381490b8e58d861fee75cd695a1882921afbf1f53b0275ee68c938bd6d3 languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.25.4, @babel/parser@npm:^7.26.10, @babel/parser@npm:^7.26.9": - version: 7.26.10 - resolution: "@babel/parser@npm:7.26.10" +"@babel/parser@npm:^7.25.4, @babel/parser@npm:^7.27.2, @babel/parser@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/parser@npm:7.28.0" dependencies: - "@babel/types": "npm:^7.26.10" + "@babel/types": "npm:^7.28.0" bin: parser: ./bin/babel-parser.js - checksum: 10c0/c47f5c0f63cd12a663e9dc94a635f9efbb5059d98086a92286d7764357c66bceba18ccbe79333e01e9be3bfb8caba34b3aaebfd8e62c3d5921c8cf907267be75 + checksum: 10c0/c2ef81d598990fa949d1d388429df327420357cb5200271d0d0a2784f1e6d54afc8301eb8bdf96d8f6c77781e402da93c7dc07980fcc136ac5b9d5f1fce701b5 languageName: node linkType: hard -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.25.9" +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/7aab47fcbb8c1ddc195a3cd66609edcad54c5022f018db7de40185f0182950389690e953e952f117a1737b72f665ff02ad30de6c02b49b97f1d8f4ccdffedc34 + checksum: 10c0/7dfffa978ae1cd179641a7c4b4ad688c6828c2c58ec96b118c2fb10bc3715223de6b88bff1ebff67056bb5fccc568ae773e3b83c592a1b843423319f80c99ebd languageName: node linkType: hard -"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.25.9" +"@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-class-field-initializer-scope@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/3a652b3574ca62775c5f101f8457950edc540c3581226579125da535d67765f41ad7f0e6327f8efeb2540a5dad5bb0c60a89fb934af3f67472e73fb63612d004 + checksum: 10c0/2cd7a55a856e5e59bbd9484247c092a41e0d9f966778e7019da324d9e0928892d26afc4fbb2ac3d76a3c5a631cd3cf0d72dd2653b44f634f6c663b9e6f80aacd languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.25.9" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/18fc9004104a150f9f5da9f3307f361bc3104d16778bb593b7523d5110f04a8df19a2587e6bdd5e726fb1d397191add45223f4f731bb556c33f14f2779d596e8 + checksum: 10c0/cf29835498c4a25bd470908528919729a0799b2ec94e89004929a5532c94a5e4b1a49bc5d6673a22e5afe05d08465873e14ee3b28c42eb3db489cdf5ca47c680 languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.25.9" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" - "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.13.0 - checksum: 10c0/3f6c8781a2f7aa1791a31d2242399ca884df2ab944f90c020b6f112fb19f05fa6dad5be143d274dad1377e40415b63d24d5489faf5060b9c4a99e55d8f0c317c + checksum: 10c0/eddcd056f76e198868cbff883eb148acfade8f0890973ab545295df0c08e39573a72e65372bcc0b0bfadba1b043fe1aea6b0907d0b4889453ac154c404194ebc languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.25.9" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/02b365f0cc4df8b8b811c68697c93476da387841e5f153fe42766f34241b685503ea51110d5ed6df7132759820b93e48d9fa3743cffc091eed97c19f7e5fe272 + checksum: 10c0/b94e6c3fc019e988b1499490829c327a1067b4ddea8ad402f6d0554793c9124148c2125338c723661b6dff040951abc1f092afbf3f2d234319cd580b68e52445 languageName: node linkType: hard "@babel/plugin-proposal-decorators@npm:^7.22.7": - version: 7.25.9 - resolution: "@babel/plugin-proposal-decorators@npm:7.25.9" + version: 7.28.0 + resolution: "@babel/plugin-proposal-decorators@npm:7.28.0" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/plugin-syntax-decorators": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/plugin-syntax-decorators": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d7d54644f50a60c47090d70121905ca76534bd7a837c03d25e163ca6ae384b48ef6dcfb125a99f12b3ce7e78e074a33f6fa8c4531c1a46aa31274153f587b05e + checksum: 10c0/e399f3adc4278560d15fd80691c7a9b644f46e50fa90746f9f3b9ac02cf955ef2b6677277d97c97a4bd6d6a777821fdedf1318923632a439cba1c05e8e59246c languageName: node linkType: hard @@ -1430,212 +1061,58 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-async-generators@npm:^7.8.4": - version: 7.8.4 - resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8 - languageName: node - linkType: hard - -"@babel/plugin-syntax-bigint@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde - languageName: node - linkType: hard - -"@babel/plugin-syntax-class-properties@npm:^7.12.13": - version: 7.12.13 - resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.12.13" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 - languageName: node - linkType: hard - -"@babel/plugin-syntax-class-static-block@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/4464bf9115f4a2d02ce1454411baf9cfb665af1da53709c5c56953e5e2913745b0fcce82982a00463d6facbdd93445c691024e310b91431a1e2f024b158f6371 - languageName: node - linkType: hard - -"@babel/plugin-syntax-decorators@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-syntax-decorators@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/47e44a7d61b76dac4f18fd61edc186012e084eb8f1fe253c483b0fe90b73366b4ebd2b0b03728e000fd1fdedc8af3aa6e93246caf97183a8d9d42a0eb57ecfcc - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-assertions@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.26.0" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/525b174e60b210d96c1744c1575fc2ddedcc43a479cba64a5344cf77bd0541754fc58120b5a11ff832ba098437bb05aa80900d1f49bb3d888c5e349a4a3a356e - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-attributes@npm:^7.24.7, @babel/plugin-syntax-import-attributes@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.26.0" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e594c185b12bfe0bbe7ca78dfeebe870e6d569a12128cac86f3164a075fe0ff70e25ddbd97fd0782906b91f65560c9dc6957716b7b4a68aba2516c9b7455e352 - languageName: node - linkType: hard - -"@babel/plugin-syntax-import-meta@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee - languageName: node - linkType: hard - -"@babel/plugin-syntax-json-strings@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e - languageName: node - linkType: hard - -"@babel/plugin-syntax-jsx@npm:^7.25.9, @babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.25.9 - resolution: "@babel/plugin-syntax-jsx@npm:7.25.9" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/d56597aff4df39d3decda50193b6dfbe596ca53f437ff2934622ce19a743bf7f43492d3fb3308b0289f5cee2b825d99ceb56526a2b9e7b68bf04901546c5618c - languageName: node - linkType: hard - -"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b - languageName: node - linkType: hard - -"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce - languageName: node - linkType: hard - -"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": - version: 7.10.4 - resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.10.4" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 - languageName: node - linkType: hard - -"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 10c0/ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26 - languageName: node - linkType: hard - -"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" +"@babel/plugin-syntax-decorators@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-decorators@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af + checksum: 10c0/46ef933bae10b02a8f8603b2f424ecbe23e134a133205bee7c0902dae3021c183a683964cab41ea5433820aa05be0f6f36243551f68a1d94e02ac082cec87aa1 languageName: node linkType: hard -"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": - version: 7.8.3 - resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" +"@babel/plugin-syntax-import-assertions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.8.0" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 + checksum: 10c0/06a954ee672f7a7c44d52b6e55598da43a7064e80df219765c51c37a0692641277e90411028f7cae4f4d1dedeed084f0c453576fa421c35a81f1603c5e3e0146 languageName: node linkType: hard -"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" +"@babel/plugin-syntax-import-attributes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/69822772561706c87f0a65bc92d0772cea74d6bc0911537904a676d5ff496a6d3ac4e05a166d8125fce4a16605bace141afc3611074e170a994e66e5397787f3 + checksum: 10c0/e66f7a761b8360419bbb93ab67d87c8a97465ef4637a985ff682ce7ba6918b34b29d81190204cf908d0933058ee7b42737423cd8a999546c21b3aabad4affa9a languageName: node linkType: hard -"@babel/plugin-syntax-top-level-await@npm:^7.14.5": - version: 7.14.5 - resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" +"@babel/plugin-syntax-jsx@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-syntax-jsx@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.14.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f + checksum: 10c0/bc5afe6a458d5f0492c02a54ad98c5756a0c13bd6d20609aae65acd560a9e141b0876da5f358dce34ea136f271c1016df58b461184d7ae9c4321e0f98588bc84 languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.25.9, @babel/plugin-syntax-typescript@npm:^7.3.3, @babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.25.9 - resolution: "@babel/plugin-syntax-typescript@npm:7.25.9" +"@babel/plugin-syntax-typescript@npm:^7.27.1, @babel/plugin-syntax-typescript@npm:^7.3.3": + version: 7.27.1 + resolution: "@babel/plugin-syntax-typescript@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5192ebe11bd46aea68b7a60fd9555465c59af7e279e71126788e59121b86e00b505816685ab4782abe159232b0f73854e804b54449820b0d950b397ee158caa2 + checksum: 10c0/11589b4c89c66ef02d57bf56c6246267851ec0c361f58929327dc3e070b0dab644be625bbe7fb4c4df30c3634bfdfe31244e1f517be397d2def1487dbbe3c37d languageName: node linkType: hard @@ -1651,700 +1128,715 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.25.9" +"@babel/plugin-transform-arrow-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/851fef9f58be60a80f46cc0ce1e46a6f7346a6f9d50fa9e0fa79d46ec205320069d0cc157db213e2bea88ef5b7d9bd7618bb83f0b1996a836e2426c3a3a1f622 + checksum: 10c0/19abd7a7d11eef58c9340408a4c2594503f6c4eaea1baa7b0e5fbdda89df097e50663edb3448ad2300170b39efca98a75e5767af05cad3b0facb4944326896a3 languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.26.8": - version: 7.26.8 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.26.8" +"@babel/plugin-transform-async-generator-functions@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.28.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.26.5" - "@babel/helper-remap-async-to-generator": "npm:^7.25.9" - "@babel/traverse": "npm:^7.26.8" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f6fefce963fe2e6268dde1958975d7adbce65fba94ca6f4bc554c90da03104ad1dd2e66d03bc0462da46868498428646e30b03a218ef0e5a84bfc87a7e375cec + checksum: 10c0/739d577e649d7d7b9845dc309e132964327ab3eaea43ad04d04a7dcb977c63f9aa9a423d1ca39baf10939128d02f52e6fda39c834fb9f1753785b1497e72c4dc languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.25.9" +"@babel/plugin-transform-async-to-generator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.27.1" dependencies: - "@babel/helper-module-imports": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-remap-async-to-generator": "npm:^7.25.9" + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-remap-async-to-generator": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c443d9e462ddef733ae56360064f32fc800105803d892e4ff32d7d6a6922b3765fa97b9ddc9f7f1d3f9d8c2d95721d85bef9dbf507804214c6cf6466b105c168 + checksum: 10c0/e76b1f6f9c3bbf72e17d7639406d47f09481806de4db99a8de375a0bb40957ea309b20aa705f0c25ab1d7c845e3f365af67eafa368034521151a0e352a03ef2f languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.26.5": - version: 7.26.5 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.26.5" +"@babel/plugin-transform-block-scoped-functions@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2f3060800ead46b09971dd7bf830d66383b7bc61ced9945633b4ef9bf87787956ea83fcf49b387cecb377812588c6b81681714c760f9cf89ecba45edcbab1192 + checksum: 10c0/3313130ba3bf0699baad0e60da1c8c3c2f0c2c0a7039cd0063e54e72e739c33f1baadfc9d8c73b3fea8c85dd7250c3964fb09c8e1fa62ba0b24a9fefe0a8dbde languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-block-scoping@npm:7.25.9" +"@babel/plugin-transform-block-scoping@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-block-scoping@npm:7.28.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a76e30becb6c75b4d87a2cd53556fddb7c88ddd56bfadb965287fd944810ac159aa8eb5705366fc37336041f63154ed9fab3862fb10482a45bf5ede63fd55fda + checksum: 10c0/787d85e72a92917e735aa54e23062fa777031f8a07046e67f5026eff3d91e64eb535575dd1df917b0011bee014ae51287478af14c1d4ba60bc81e326bc044cfc languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.22.5, @babel/plugin-transform-class-properties@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-class-properties@npm:7.25.9" +"@babel/plugin-transform-class-properties@npm:^7.22.5, @babel/plugin-transform-class-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-class-properties@npm:7.27.1" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f0603b6bd34d8ba62c03fc0572cb8bbc75874d097ac20cc7c5379e001081210a84dba1749e7123fca43b978382f605bb9973c99caf2c5b4c492d5c0a4a441150 + checksum: 10c0/cc0662633c0fe6df95819fef223506ddf26c369c8d64ab21a728d9007ec866bf9436a253909819216c24a82186b6ccbc1ec94d7aaf3f82df227c7c02fa6a704b languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/plugin-transform-class-static-block@npm:7.26.0" +"@babel/plugin-transform-class-static-block@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-class-static-block@npm:7.27.1" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.12.0 - checksum: 10c0/cdcf5545ae6514ed75fbd73cccfa209c6a5dfdf0c2bb7bb62c0fb4ec334a32281bcf1bc16ace494d9dbe93feb8bdc0bd3cf9d9ccb6316e634a67056fa13b741b + checksum: 10c0/396997dd81fc1cf242b921e337d25089d6b9dc3596e81322ff11a6359326dc44f2f8b82dcc279c2e514cafaf8964dc7ed39e9fab4b8af1308b57387d111f6a20 languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-classes@npm:7.25.9" +"@babel/plugin-transform-classes@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-classes@npm:7.28.0" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-replace-supers": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" - globals: "npm:^11.1.0" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/02742ea7cd25be286c982e672619effca528d7a931626a6f3d6cea11852951b7ee973276127eaf6418ac0e18c4d749a16b520709c707e86a67012bd23ff2927d + checksum: 10c0/3b213b43104fe99dd7e79401a86d09e545836e057a70ffe77e8196a87bf67ae167e502ae90afdf0d1a2be683be5652514aaeda743bd984e583523dd8ecfef887 languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-computed-properties@npm:7.25.9" +"@babel/plugin-transform-computed-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-computed-properties@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/template": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/template": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/948c0ae3ce0ba2375241d122a9bc7cda4a7ac8110bd8a62cd804bc46a5fdb7a7a42c7799c4cd972e14e0a579d2bd0999b92e53177b73f240bb0d4b09972c758b + checksum: 10c0/e09a12f8c8ae0e6a6144c102956947b4ec05f6c844169121d0ec4529c2d30ad1dc59fee67736193b87a402f44552c888a519a680a31853bdb4d34788c28af3b0 languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-destructuring@npm:7.25.9" +"@babel/plugin-transform-destructuring@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-destructuring@npm:7.28.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.28.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7beec5fda665d108f69d5023aa7c298a1e566b973dd41290faa18aeea70f6f571295c1ece0a058f3ceb6c6c96de76de7cd34f5a227fbf09a1b8d8a735d28ca49 + checksum: 10c0/cc7ccafa952b3ff7888544d5688cfafaba78c69ce1e2f04f3233f4f78c9de5e46e9695f5ea42c085b0c0cfa39b10f366d362a2be245b6d35b66d3eb1d427ccb2 languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.25.9" +"@babel/plugin-transform-dotall-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7c3471ae5cf7521fd8da5b03e137e8d3733fc5ee4524ce01fb0c812f0bb77cb2c9657bc8a6253186be3a15bb4caa8974993c7ddc067f554ecc6a026f0a3b5e12 + checksum: 10c0/f9caddfad9a551b4dabe0dcb7c040f458fbaaa7bbb44200c20198b32c8259be8e050e58d2c853fdac901a4cfe490b86aa857036d8d461b192dd010d0e242dedb languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.25.9" +"@babel/plugin-transform-duplicate-keys@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d0c74894b9bf6ff2a04189afffb9cd43d87ebd7b7943e51a827c92d2aaa40fa89ac81565a2fd6fbeabf9e38413a9264c45862eee2b017f1d49046cc3c8ff06b4 + checksum: 10c0/22a822e5342b7066f83eaedc4fd9bb044ac6bc68725484690b33ba04a7104980e43ea3229de439286cb8db8e7db4a865733a3f05123ab58a10f189f03553746f languageName: node linkType: hard -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.25.9" +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-duplicate-named-capturing-groups-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/a8039a6d2b90e011c7b30975edee47b5b1097cf3c2f95ec1f5ddd029898d783a995f55f7d6eb8d6bb8873c060fb64f9f1ccba938dfe22d118d09cf68e0cd3bf6 + checksum: 10c0/121502a252b3206913e1e990a47fea34397b4cbf7804d4cd872d45961bc45b603423f60ca87f3a3023a62528f5feb475ac1c9ec76096899ec182fcb135eba375 + languageName: node + linkType: hard + +"@babel/plugin-transform-dynamic-import@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.27.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.27.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8dcd3087aca134b064fc361d2cc34eec1f900f6be039b6368104afcef10bb75dea726bb18cabd046716b89b0edaa771f50189fa16bc5c5914a38cbcf166350f7 languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.25.9" +"@babel/plugin-transform-explicit-resource-management@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-explicit-resource-management@npm:7.28.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.28.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/5e643a8209072b668350f5788f23c64e9124f81f958b595c80fecca6561086d8ef346c04391b9e5e4cad8b8cbe22c258f0cd5f4ea89b97e74438e7d1abfd98cf + checksum: 10c0/3baa706af3112adf2ae0c7ec0dc61b63dd02695eb5582f3c3a2b2d05399c6aa7756f55e7bbbd5412e613a6ba1dd6b6736904074b4d7ebd6b45a1e3f9145e4094 languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.26.3": - version: 7.26.3 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.26.3" +"@babel/plugin-transform-exponentiation-operator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/cac922e851c6a0831fdd2e3663564966916015aeff7f4485825fc33879cbc3a313ceb859814c9200248e2875d65bb13802a723e5d7d7b40a2e90da82a5a1e15c + checksum: 10c0/953d21e01fed76da8e08fb5094cade7bf8927c1bb79301916bec2db0593b41dbcfbca1024ad5db886b72208a93ada8f57a219525aad048cf15814eeb65cf760d languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.25.9" +"@babel/plugin-transform-export-namespace-from@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f291ea2ec5f36de9028a00cbd5b32f08af281b8183bf047200ff001f4cb260be56f156b2449f42149448a4a033bd6e86a3a7f06d0c2825532eb0ae6b03058dfb + checksum: 10c0/d7165cad11f571a54c8d9263d6c6bf2b817aff4874f747cb51e6e49efb32f2c9b37a6850cdb5e3b81e0b638141bb77dc782a6ec1a94128859fbdf7767581e07c languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.26.9": - version: 7.26.9 - resolution: "@babel/plugin-transform-for-of@npm:7.26.9" +"@babel/plugin-transform-for-of@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-for-of@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.26.5" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e28a521521cf9f84ddd69ca8da7c89fb9f7aa38e4dea35742fe973e4e1d7c23f9cee1a4861a2fdd9e9f18ff945886a44d7335cea1c603b96bfcb1c7c8791ef09 + checksum: 10c0/4635763173a23aae24480681f2b0996b4f54a0cb2368880301a1801638242e263132d1e8adbe112ab272913d1d900ee0d6f7dea79443aef9d3325168cd88b3fb languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-function-name@npm:7.25.9" +"@babel/plugin-transform-function-name@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-function-name@npm:7.27.1" dependencies: - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8e67fbd1dd367927b8b6afdf0a6e7cb3a3fd70766c52f700ca77428b6d536f6c9d7ec643e7762d64b23093233765c66bffa40e31aabe6492682879bcb45423e1 + checksum: 10c0/5abdc7b5945fbd807269dcc6e76e52b69235056023b0b35d311e8f5dfd6c09d9f225839798998fc3b663f50cf701457ddb76517025a0d7a5474f3fe56e567a4c languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-json-strings@npm:7.25.9" +"@babel/plugin-transform-json-strings@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-json-strings@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/00bc2d4751dfc9d44ab725be16ee534de13cfd7e77dfb386e5dac9e48101ce8fcbc5971df919dc25b3f8a0fa85d6dc5f2a0c3cf7ec9d61c163d9823c091844f0 + checksum: 10c0/2379714aca025516452a7c1afa1ca42a22b9b51a5050a653cc6198a51665ab82bdecf36106d32d731512706a1e373c5637f5ff635737319aa42f3827da2326d6 languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-literals@npm:7.25.9" +"@babel/plugin-transform-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/00b14e9c14cf1e871c1f3781bf6334cac339c360404afd6aba63d2f6aca9270854d59a2b40abff1c4c90d4ffdca614440842d3043316c2f0ceb155fdf7726b3b + checksum: 10c0/c40dc3eb2f45a92ee476412314a40e471af51a0f51a24e91b85cef5fc59f4fe06758088f541643f07f949d2c67ee7bdce10e11c5ec56791ae09b15c3b451eeca languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.25.9" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6e2051e10b2d6452980fc4bdef9da17c0d6ca48f81b8529e8804b031950e4fff7c74a7eb3de4a2b6ad22ffb631d0b67005425d232cce6e2b29ce861c78ed04f5 + checksum: 10c0/5b0abc7c0d09d562bf555c646dce63a30288e5db46fd2ce809a61d064415da6efc3b2b3c59b8e4fe98accd072c89a2f7c3765b400e4bf488651735d314d9feeb languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.25.9" +"@babel/plugin-transform-member-expression-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/91d17b451bcc5ea9f1c6f8264144057ade3338d4b92c0b248366e4db3a7790a28fd59cc56ac433a9627a9087a17a5684e53f4995dd6ae92831cb72f1bd540b54 + checksum: 10c0/0874ccebbd1c6a155e5f6b3b29729fade1221b73152567c1af1e1a7c12848004dffecbd7eded6dc463955120040ae57c17cb586b53fb5a7a27fcd88177034c30 languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-modules-amd@npm:7.25.9" +"@babel/plugin-transform-modules-amd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-amd@npm:7.27.1" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/849957d9484d0a2d93331226ed6cf840cee7d57454549534c447c93f8b839ef8553eae9877f8f550e3c39f14d60992f91244b2e8e7502a46064b56c5d68ba855 + checksum: 10c0/76e86cd278b6a3c5b8cca8dfb3428e9cd0c81a5df7096e04c783c506696b916a9561386d610a9d846ef64804640e0bd818ea47455fed0ee89b7f66c555b29537 languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.25.9, @babel/plugin-transform-modules-commonjs@npm:^7.26.3": - version: 7.26.3 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.26.3" +"@babel/plugin-transform-modules-commonjs@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.27.1" dependencies: - "@babel/helper-module-transforms": "npm:^7.26.0" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/82e59708f19f36da29531a64a7a94eabbf6ff46a615e0f5d9b49f3f59e8ef10e2bac607d749091508d3fa655146c9e5647c3ffeca781060cdabedb4c7a33c6f2 + checksum: 10c0/4def972dcd23375a266ea1189115a4ff61744b2c9366fc1de648b3fab2c650faf1a94092de93a33ff18858d2e6c4dddeeee5384cb42ba0129baeab01a5cdf1e2 languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.25.9" +"@babel/plugin-transform-modules-systemjs@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.27.1" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - "@babel/traverse": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + "@babel/traverse": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8299e3437542129c2684b86f98408c690df27db4122a79edded4782cf04e755d6ecb05b1e812c81a34224a81e664303392d5f3c36f3d2d51fdc99bb91c881e9a + checksum: 10c0/f16fca62d144d9cbf558e7b5f83e13bb6d0f21fdeff3024b0cecd42ffdec0b4151461da42bd0963512783ece31aafa5ffe03446b4869220ddd095b24d414e2b5 languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-modules-umd@npm:7.25.9" +"@babel/plugin-transform-modules-umd@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-modules-umd@npm:7.27.1" dependencies: - "@babel/helper-module-transforms": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-module-transforms": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fa11a621f023e2ac437b71d5582f819e667c94306f022583d77da9a8f772c4128861a32bbb63bef5cba581a70cd7dbe87a37238edaafcfacf889470c395e7076 + checksum: 10c0/e5962a8874889da2ab1aa32eb93ec21d419c7423c766e4befb39b4bb512b9ad44b47837b6cd1c8f1065445cbbcc6dc2be10298ac6e734e5ca1059fc23698daed languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.25.9" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/32b14fda5c885d1706863f8af2ee6c703d39264355b57482d3a24fce7f6afbd4c7a0896e501c0806ed2b0759beb621bf7f3f7de1fbbc82026039a98d961e78ef + checksum: 10c0/8eaa8c9aee00a00f3bd8bd8b561d3f569644d98cb2cfe3026d7398aabf9b29afd62f24f142b4112fa1f572d9b0e1928291b099cde59f56d6b59f4d565e58abf2 languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-new-target@npm:7.25.9" +"@babel/plugin-transform-new-target@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-new-target@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7b5f1b7998f1cf183a7fa646346e2f3742e5805b609f28ad5fee22d666a15010f3e398b7e1ab78cddb7901841a3d3f47135929af23d54e8bf4ce69b72051f71e + checksum: 10c0/9b0581412fcc5ab1b9a2d86a0c5407bd959391f0a1e77a46953fef9f7a57f3f4020d75f71098c5f9e5dcc680a87f9fd99b3205ab12e25ef8c19eed038c1e4b28 languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.26.6": - version: 7.26.6 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.26.6" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/574d6db7cbc5c092db5d1dece8ce26195e642b9c40dbfeaf3082058a78ad7959c1c333471cdd45f38b784ec488850548075d527b178c5010ee9bff7aa527cc7a + checksum: 10c0/a435fc03aaa65c6ef8e99b2d61af0994eb5cdd4a28562d78c3b0b0228ca7e501aa255e1dff091a6996d7d3ea808eb5a65fd50ecd28dfb10687a8a1095dcadc7a languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.25.9" +"@babel/plugin-transform-numeric-separator@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ad63ad341977844b6f9535fcca15ca0d6d6ad112ed9cc509d4f6b75e9bf4b1b1a96a0bcb1986421a601505d34025373608b5f76d420d924b4e21f86b1a1f2749 + checksum: 10c0/b72cbebbfe46fcf319504edc1cf59f3f41c992dd6840db766367f6a1d232cd2c52143c5eaf57e0316710bee251cae94be97c6d646b5022fcd9274ccb131b470c languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.25.9" +"@babel/plugin-transform-object-rest-spread@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.28.0" dependencies: - "@babel/helper-compilation-targets": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/plugin-transform-parameters": "npm:^7.25.9" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.28.0" + "@babel/plugin-transform-parameters": "npm:^7.27.7" + "@babel/traverse": "npm:^7.28.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/02077d8abd83bf6a48ff0b59e98d7561407cf75b591cffd3fdc5dc5e9a13dec1c847a7a690983762a3afecddb244831e897e0515c293e7c653b262c30cd614af + checksum: 10c0/360dc6fd5285ee5e1d3be8a1fb0decd120b2a1726800317b4ab48b7c91616247030239b7fa06ceaa1a8a586fde1e143c24d45f8d41956876099d97d664f8ef1e languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-object-super@npm:7.25.9" +"@babel/plugin-transform-object-super@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-object-super@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-replace-supers": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-replace-supers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0348d00e76f1f15ada44481a76e8c923d24cba91f6e49ee9b30d6861eb75344e7f84d62a18df8a6f9e9a7eacf992f388174b7f9cc4ce48287bcefca268c07600 + checksum: 10c0/efa2d092ef55105deb06d30aff4e460c57779b94861188128489b72378bf1f0ab0f06a4a4d68b9ae2a59a79719fbb2d148b9a3dca19ceff9c73b1f1a95e0527c languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.25.9" +"@babel/plugin-transform-optional-catch-binding@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/722fd5ee12ab905309d4e84421584fce4b6d9e6b639b06afb20b23fa809e6ab251e908a8d5e8b14d066a28186b8ef8f58d69fd6eca9ce1b9ef7af08333378f6c + checksum: 10c0/807a4330f1fac08e2682d57bc82e714868fc651c8876f9a8b3a3fd8f53c129e87371f8243e712ac7dae11e090b737a2219a02fe1b6459a29e664fa073c3277bb languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.25.9" +"@babel/plugin-transform-optional-chaining@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/041ad2beae5affb8e68a0bcb6882a2dadb758db3c629a0e012f57488ab43a822ac1ea17a29db8ef36560a28262a5dfa4dbbbf06ed6e431db55abe024b7cd3961 + checksum: 10c0/5b18ff5124e503f0a25d6b195be7351a028b3992d6f2a91fb4037e2a2c386400d66bc1df8f6df0a94c708524f318729e81a95c41906e5a7919a06a43e573a525 languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-parameters@npm:7.25.9" +"@babel/plugin-transform-parameters@npm:^7.27.7": + version: 7.27.7 + resolution: "@babel/plugin-transform-parameters@npm:7.27.7" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/aecb446754b9e09d6b6fa95fd09e7cf682f8aaeed1d972874ba24c0a30a7e803ad5f014bb1fffc7bfeed22f93c0d200947407894ea59bf7687816f2f464f8df3 + checksum: 10c0/f2da3804e047d9f1cfb27be6c014e2c7f6cf5e1e38290d1cb3cb2607859e3d6facb4ee8c8c1e336e9fbb440091a174ce95ce156582d7e8bf9c0e735d11681f0f languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-private-methods@npm:7.25.9" +"@babel/plugin-transform-private-methods@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-private-methods@npm:7.27.1" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/64bd71de93d39daefa3e6c878d6f2fd238ed7d4ecfb13b0e771ddbbc131487def3ceb405b62b534a5cbb5043046b504e1b189b0a45229cc75af979a9fbcaa7bd + checksum: 10c0/232bedfe9d28df215fb03cc7623bdde468b1246bdd6dc24465ff4bf9cc5f5a256ae33daea1fafa6cc59705e4d29da9024bb79baccaa5cd92811ac5db9b9244f2 languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.25.9" +"@babel/plugin-transform-private-property-in-object@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.27.1" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-annotate-as-pure": "npm:^7.27.1" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d4965de19d9f204e692cc74dbc39f0bb469e5f29df96dd4457ea23c5e5596fba9d5af76eaa96f9d48a9fc20ec5f12a94c679285e36b8373406868ea228109e27 + checksum: 10c0/a8c4536273ca716dcc98e74ea25ca76431528554922f184392be3ddaf1761d4aa0e06f1311577755bd1613f7054fb51d29de2ada1130f743d329170a1aa1fe56 languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-property-literals@npm:7.25.9" +"@babel/plugin-transform-property-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-property-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1639e35b2438ccf3107af760d34e6a8e4f9acdd3ae6186ae771a6e3029bd59dfe778e502d67090f1185ecda5c16addfed77561e39c518a3f51ff10d41790e106 + checksum: 10c0/15713a87edd6db620d6e66eb551b4fbfff5b8232c460c7c76cedf98efdc5cd21080c97040231e19e06594c6d7dfa66e1ab3d0951e29d5814fb25e813f6d6209c languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-regenerator@npm:7.25.9" +"@babel/plugin-transform-regenerator@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/plugin-transform-regenerator@npm:7.28.0" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - regenerator-transform: "npm:^0.15.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/eef3ffc19f7d291b863635f32b896ad7f87806d9219a0d3404a470219abcfc5b43aabecd691026c48e875b965760d9c16abee25e6447272233f30cd07f453ec7 + checksum: 10c0/c6a416221044b4547a81945baefa309f635d35b06e90344e4a896e512b636446552cef4a72b4dc3033dc507a28ee76ddf112ca63728c0a90da8ae7498b410ada languageName: node linkType: hard -"@babel/plugin-transform-regexp-modifiers@npm:^7.26.0": - version: 7.26.0 - resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.26.0" +"@babel/plugin-transform-regexp-modifiers@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-regexp-modifiers@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/4abc1db6c964efafc7a927cda814c7275275afa4b530483e0936fd614de23cb5802f7ca43edaa402008a723d4e7eac282b6f5283aa2eeb3b27da6d6c1dd7f8ed + checksum: 10c0/31ae596ab56751cf43468a6c0a9d6bc3521d306d2bee9c6957cdb64bea53812ce24bd13a32f766150d62b737bca5b0650b2c62db379382fff0dccbf076055c33 languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-reserved-words@npm:7.25.9" +"@babel/plugin-transform-reserved-words@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-reserved-words@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8b028b80d1983e3e02f74e21924323cc66ba930e5c5758909a122aa7d80e341b8b0f42e1698e42b50d47a6ba911332f584200b28e1a4e2104b7514d9dc011e96 + checksum: 10c0/e1a87691cce21a644a474d7c9a8107d4486c062957be32042d40f0a3d0cc66e00a3150989655019c255ff020d2640ac16aaf544792717d586f219f3bad295567 languageName: node linkType: hard "@babel/plugin-transform-runtime@npm:^7.23.2": - version: 7.26.10 - resolution: "@babel/plugin-transform-runtime@npm:7.26.10" - dependencies: - "@babel/helper-module-imports": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.26.5" - babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.11.0" - babel-plugin-polyfill-regenerator: "npm:^0.6.1" + version: 7.28.0 + resolution: "@babel/plugin-transform-runtime@npm:7.28.0" + dependencies: + "@babel/helper-module-imports": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + babel-plugin-polyfill-corejs2: "npm:^0.4.14" + babel-plugin-polyfill-corejs3: "npm:^0.13.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.5" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/4b70a63b904a3f7faa6ca95f9034d2f29330764820b06cf1814dda4ab0482b233a28241e98d8497bc1690dd31972e72861d8534ae0e37f26e04637e7d615e43d + checksum: 10c0/71eba1e6aaafacb2ec0fd468394c7aeaff32265b21424bd9b2d963368a4a5260547e06976bb34e2553a7179463c3a3a4c2a4552256b5112c8b7dcadb7bd5bb07 languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.25.9" +"@babel/plugin-transform-shorthand-properties@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/05a20d45f0fb62567644c507ccd4e379c1a74dacf887d2b2cac70247415e3f6d7d3bf4850c8b336053144715fedb6200fc38f7130c4b76c94eec9b9c0c2a8e9b + checksum: 10c0/bd5544b89520a22c41a6df5ddac9039821d3334c0ef364d18b0ba9674c5071c223bcc98be5867dc3865cb10796882b7594e2c40dedaff38e1b1273913fe353e1 languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-spread@npm:7.25.9" +"@babel/plugin-transform-spread@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-spread@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/996c8fed238efc30e0664f9f58bd7ec8c148f4659f84425f68923a094fe891245711d26eb10d1f815f50c124434e076e860dbe9662240844d1b77cd09907dcdf + checksum: 10c0/b34fc58b33bd35b47d67416655c2cbc8578fbb3948b4592bc15eb6d8b4046986e25c06e3b9929460fa4ab08e9653582415e7ef8b87d265e1239251bdf5a4c162 languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.25.9" +"@babel/plugin-transform-sticky-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e9612b0615dab4c4fba1c560769616a9bd7b9226c73191ef84b6c3ee185c8b719b4f887cdd8336a0a13400ce606ab4a0d33bc8fa6b4fcdb53e2896d07f2568f6 + checksum: 10c0/5698df2d924f0b1b7bdb7ef370e83f99ed3f0964eb3b9c27d774d021bee7f6d45f9a73e2be369d90b4aff1603ce29827f8743f091789960e7669daf9c3cda850 languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.26.8": - version: 7.26.8 - resolution: "@babel/plugin-transform-template-literals@npm:7.26.8" +"@babel/plugin-transform-template-literals@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-template-literals@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/205a938ded9554857a604416d369023a961334b6c20943bd861b45f0e5dbbeca1cf6fda1c2049126e38a0d18865993433fdc78eae3028e94836b3b643c08ba0d + checksum: 10c0/c90f403e42ef062b60654d1c122c70f3ec6f00c2f304b0931ebe6d0b432498ef8a5ef9266ddf00debc535f8390842207e44d3900eff1d2bab0cc1a700f03e083 languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.26.7": - version: 7.26.7 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.26.7" +"@babel/plugin-transform-typeof-symbol@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.26.5" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d5640e3457637e6eee1d7205d255602ccca124ed30e4de10ec75ba179d167e0a826ceeab424e119921f5c995dfddf39ef1f2c91efd2dcbf3f0dc1e7931dfd1d1 + checksum: 10c0/a13c68015311fefa06a51830bc69d5badd06c881b13d5cf9ba04bf7c73e3fc6311cc889e18d9645ce2a64a79456dc9c7be88476c0b6802f62a686cb6f662ecd6 languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.25.9": - version: 7.26.8 - resolution: "@babel/plugin-transform-typescript@npm:7.26.8" +"@babel/plugin-transform-typescript@npm:^7.27.1": + version: 7.28.0 + resolution: "@babel/plugin-transform-typescript@npm:7.28.0" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.25.9" - "@babel/helper-create-class-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.26.5" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" - "@babel/plugin-syntax-typescript": "npm:^7.25.9" + "@babel/helper-annotate-as-pure": "npm:^7.27.3" + "@babel/helper-create-class-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.27.1" + "@babel/plugin-syntax-typescript": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c1dc02c357b8de0650d4e757fe71db9ac769b68e282a262ca5af2a7f1ff112c4533d54db6f1f58f13072ad547561b0461c46c08233566b37f778ac5f5550fb41 + checksum: 10c0/049c2bd3407bbf5041d8c95805a4fadee6d176e034f6b94ce7967b92a846f1e00f323cf7dfbb2d06c93485f241fb8cf4c10520e30096a6059d251b94e80386e9 languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.25.9" +"@babel/plugin-transform-unicode-escapes@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/615c84d7c53e1575d54ba9257e753e0b98c5de1e3225237d92f55226eaab8eb5bceb74df43f50f4aa162b0bbcc934ed11feafe2b60b8ec4934ce340fad4b8828 + checksum: 10c0/a6809e0ca69d77ee9804e0c1164e8a2dea5e40718f6dcf234aeddf7292e7414f7ee331d87f17eb6f160823a329d1d6751bd49b35b392ac4a6efc032e4d3038d8 languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.25.9" +"@babel/plugin-transform-unicode-property-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/1685836fc38af4344c3d2a9edbd46f7c7b28d369b63967d5b83f2f6849ec45b97223461cea3d14cc3f0be6ebb284938e637a5ca3955c0e79c873d62f593d615c + checksum: 10c0/a332bc3cb3eeea67c47502bc52d13a0f8abae5a7bfcb08b93a8300ddaff8d9e1238f912969494c1b494c1898c6f19687054440706700b6d12cb0b90d88beb4d0 languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.25.9" +"@babel/plugin-transform-unicode-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/448004f978279e726af26acd54f63f9002c9e2582ecd70d1c5c4436f6de490fcd817afb60016d11c52f5ef17dbaac2590e8cc7bfaf4e91b58c452cf188c7920f + checksum: 10c0/6abda1bcffb79feba6f5c691859cdbe984cc96481ea65d5af5ba97c2e843154005f0886e25006a37a2d213c0243506a06eaeafd93a040dbe1f79539016a0d17a languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.25.9": - version: 7.25.9 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.25.9" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.27.1": + version: 7.27.1 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.27.1" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.25.9" - "@babel/helper-plugin-utils": "npm:^7.25.9" + "@babel/helper-create-regexp-features-plugin": "npm:^7.27.1" + "@babel/helper-plugin-utils": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/56ee04fbe236b77cbcd6035cbf0be7566d1386b8349154ac33244c25f61170c47153a9423cd1d92855f7d6447b53a4a653d9e8fd1eaeeee14feb4b2baf59bd9f + checksum: 10c0/236645f4d0a1fba7c18dc8ffe3975933af93e478f2665650c2d91cf528cfa1587cde5cfe277e0e501fc03b5bf57638369575d6539cef478632fb93bd7d7d7178 languageName: node linkType: hard "@babel/preset-env@npm:^7.23.2": - version: 7.26.9 - resolution: "@babel/preset-env@npm:7.26.9" - dependencies: - "@babel/compat-data": "npm:^7.26.8" - "@babel/helper-compilation-targets": "npm:^7.26.5" - "@babel/helper-plugin-utils": "npm:^7.26.5" - "@babel/helper-validator-option": "npm:^7.25.9" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.25.9" - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.25.9" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.25.9" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.25.9" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.25.9" + version: 7.28.0 + resolution: "@babel/preset-env@npm:7.28.0" + dependencies: + "@babel/compat-data": "npm:^7.28.0" + "@babel/helper-compilation-targets": "npm:^7.27.2" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.27.1" + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "npm:^7.27.1" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.27.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.27.1" "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions": "npm:^7.26.0" - "@babel/plugin-syntax-import-attributes": "npm:^7.26.0" + "@babel/plugin-syntax-import-assertions": "npm:^7.27.1" + "@babel/plugin-syntax-import-attributes": "npm:^7.27.1" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.25.9" - "@babel/plugin-transform-async-generator-functions": "npm:^7.26.8" - "@babel/plugin-transform-async-to-generator": "npm:^7.25.9" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.26.5" - "@babel/plugin-transform-block-scoping": "npm:^7.25.9" - "@babel/plugin-transform-class-properties": "npm:^7.25.9" - "@babel/plugin-transform-class-static-block": "npm:^7.26.0" - "@babel/plugin-transform-classes": "npm:^7.25.9" - "@babel/plugin-transform-computed-properties": "npm:^7.25.9" - "@babel/plugin-transform-destructuring": "npm:^7.25.9" - "@babel/plugin-transform-dotall-regex": "npm:^7.25.9" - "@babel/plugin-transform-duplicate-keys": "npm:^7.25.9" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.25.9" - "@babel/plugin-transform-dynamic-import": "npm:^7.25.9" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.26.3" - "@babel/plugin-transform-export-namespace-from": "npm:^7.25.9" - "@babel/plugin-transform-for-of": "npm:^7.26.9" - "@babel/plugin-transform-function-name": "npm:^7.25.9" - "@babel/plugin-transform-json-strings": "npm:^7.25.9" - "@babel/plugin-transform-literals": "npm:^7.25.9" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.25.9" - "@babel/plugin-transform-member-expression-literals": "npm:^7.25.9" - "@babel/plugin-transform-modules-amd": "npm:^7.25.9" - "@babel/plugin-transform-modules-commonjs": "npm:^7.26.3" - "@babel/plugin-transform-modules-systemjs": "npm:^7.25.9" - "@babel/plugin-transform-modules-umd": "npm:^7.25.9" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.25.9" - "@babel/plugin-transform-new-target": "npm:^7.25.9" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.26.6" - "@babel/plugin-transform-numeric-separator": "npm:^7.25.9" - "@babel/plugin-transform-object-rest-spread": "npm:^7.25.9" - "@babel/plugin-transform-object-super": "npm:^7.25.9" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.25.9" - "@babel/plugin-transform-optional-chaining": "npm:^7.25.9" - "@babel/plugin-transform-parameters": "npm:^7.25.9" - "@babel/plugin-transform-private-methods": "npm:^7.25.9" - "@babel/plugin-transform-private-property-in-object": "npm:^7.25.9" - "@babel/plugin-transform-property-literals": "npm:^7.25.9" - "@babel/plugin-transform-regenerator": "npm:^7.25.9" - "@babel/plugin-transform-regexp-modifiers": "npm:^7.26.0" - "@babel/plugin-transform-reserved-words": "npm:^7.25.9" - "@babel/plugin-transform-shorthand-properties": "npm:^7.25.9" - "@babel/plugin-transform-spread": "npm:^7.25.9" - "@babel/plugin-transform-sticky-regex": "npm:^7.25.9" - "@babel/plugin-transform-template-literals": "npm:^7.26.8" - "@babel/plugin-transform-typeof-symbol": "npm:^7.26.7" - "@babel/plugin-transform-unicode-escapes": "npm:^7.25.9" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.25.9" - "@babel/plugin-transform-unicode-regex": "npm:^7.25.9" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.25.9" + "@babel/plugin-transform-arrow-functions": "npm:^7.27.1" + "@babel/plugin-transform-async-generator-functions": "npm:^7.28.0" + "@babel/plugin-transform-async-to-generator": "npm:^7.27.1" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.27.1" + "@babel/plugin-transform-block-scoping": "npm:^7.28.0" + "@babel/plugin-transform-class-properties": "npm:^7.27.1" + "@babel/plugin-transform-class-static-block": "npm:^7.27.1" + "@babel/plugin-transform-classes": "npm:^7.28.0" + "@babel/plugin-transform-computed-properties": "npm:^7.27.1" + "@babel/plugin-transform-destructuring": "npm:^7.28.0" + "@babel/plugin-transform-dotall-regex": "npm:^7.27.1" + "@babel/plugin-transform-duplicate-keys": "npm:^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "npm:^7.27.1" + "@babel/plugin-transform-dynamic-import": "npm:^7.27.1" + "@babel/plugin-transform-explicit-resource-management": "npm:^7.28.0" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.27.1" + "@babel/plugin-transform-export-namespace-from": "npm:^7.27.1" + "@babel/plugin-transform-for-of": "npm:^7.27.1" + "@babel/plugin-transform-function-name": "npm:^7.27.1" + "@babel/plugin-transform-json-strings": "npm:^7.27.1" + "@babel/plugin-transform-literals": "npm:^7.27.1" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.27.1" + "@babel/plugin-transform-member-expression-literals": "npm:^7.27.1" + "@babel/plugin-transform-modules-amd": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" + "@babel/plugin-transform-modules-systemjs": "npm:^7.27.1" + "@babel/plugin-transform-modules-umd": "npm:^7.27.1" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.27.1" + "@babel/plugin-transform-new-target": "npm:^7.27.1" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.27.1" + "@babel/plugin-transform-numeric-separator": "npm:^7.27.1" + "@babel/plugin-transform-object-rest-spread": "npm:^7.28.0" + "@babel/plugin-transform-object-super": "npm:^7.27.1" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.27.1" + "@babel/plugin-transform-optional-chaining": "npm:^7.27.1" + "@babel/plugin-transform-parameters": "npm:^7.27.7" + "@babel/plugin-transform-private-methods": "npm:^7.27.1" + "@babel/plugin-transform-private-property-in-object": "npm:^7.27.1" + "@babel/plugin-transform-property-literals": "npm:^7.27.1" + "@babel/plugin-transform-regenerator": "npm:^7.28.0" + "@babel/plugin-transform-regexp-modifiers": "npm:^7.27.1" + "@babel/plugin-transform-reserved-words": "npm:^7.27.1" + "@babel/plugin-transform-shorthand-properties": "npm:^7.27.1" + "@babel/plugin-transform-spread": "npm:^7.27.1" + "@babel/plugin-transform-sticky-regex": "npm:^7.27.1" + "@babel/plugin-transform-template-literals": "npm:^7.27.1" + "@babel/plugin-transform-typeof-symbol": "npm:^7.27.1" + "@babel/plugin-transform-unicode-escapes": "npm:^7.27.1" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-regex": "npm:^7.27.1" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.27.1" "@babel/preset-modules": "npm:0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2: "npm:^0.4.10" - babel-plugin-polyfill-corejs3: "npm:^0.11.0" - babel-plugin-polyfill-regenerator: "npm:^0.6.1" - core-js-compat: "npm:^3.40.0" + babel-plugin-polyfill-corejs2: "npm:^0.4.14" + babel-plugin-polyfill-corejs3: "npm:^0.13.0" + babel-plugin-polyfill-regenerator: "npm:^0.6.5" + core-js-compat: "npm:^3.43.0" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6812ca76bd38165a58fe8354bab5e7204e1aa17d8b9270bd8f8babb08cc7fa94cd29525fe41b553f2ba0e84033d566f10da26012b8ee0f81897005c5225d0051 + checksum: 10c0/f343103b8f0e8da5be4ae031aff8bf35da4764997af4af78ae9506f421b785dd45da1bc09f845b1fc308c8b7d134aead4a1f89e7fb6e213cd2f9fe1d2aa78bc9 languageName: node linkType: hard @@ -2362,514 +1854,477 @@ __metadata: linkType: hard "@babel/preset-typescript@npm:^7.22.5": - version: 7.26.0 - resolution: "@babel/preset-typescript@npm:7.26.0" + version: 7.27.1 + resolution: "@babel/preset-typescript@npm:7.27.1" dependencies: - "@babel/helper-plugin-utils": "npm:^7.25.9" - "@babel/helper-validator-option": "npm:^7.25.9" - "@babel/plugin-syntax-jsx": "npm:^7.25.9" - "@babel/plugin-transform-modules-commonjs": "npm:^7.25.9" - "@babel/plugin-transform-typescript": "npm:^7.25.9" + "@babel/helper-plugin-utils": "npm:^7.27.1" + "@babel/helper-validator-option": "npm:^7.27.1" + "@babel/plugin-syntax-jsx": "npm:^7.27.1" + "@babel/plugin-transform-modules-commonjs": "npm:^7.27.1" + "@babel/plugin-transform-typescript": "npm:^7.27.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/20d86bc45d2bbfde2f84fc7d7b38746fa6481d4bde6643039ad4b1ff0b804c6d210ee43e6830effd8571f2ff43fa7ffd27369f42f2b3a2518bb92dc86c780c61 + checksum: 10c0/cba6ca793d915f8aff9fe2f13b0dfbf5fd3f2e9a17f17478ec9878e9af0d206dcfe93154b9fd353727f16c1dca7c7a3ceb4943f8d28b216235f106bc0fbbcaa3 languageName: node linkType: hard -"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.22.6, @babel/runtime@npm:^7.8.4": - version: 7.26.10 - resolution: "@babel/runtime@npm:7.26.10" - dependencies: - regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/6dc6d88c7908f505c4f7770fb4677dfa61f68f659b943c2be1f2a99cb6680343462867abf2d49822adc435932919b36c77ac60125793e719ea8745f2073d3745 +"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.22.6": + version: 7.27.6 + resolution: "@babel/runtime@npm:7.27.6" + checksum: 10c0/89726be83f356f511dcdb74d3ea4d873a5f0cf0017d4530cb53aa27380c01ca102d573eff8b8b77815e624b1f8c24e7f0311834ad4fb632c90a770fda00bd4c8 languageName: node linkType: hard -"@babel/template@npm:^7.25.9, @babel/template@npm:^7.26.9, @babel/template@npm:^7.3.3": - version: 7.26.9 - resolution: "@babel/template@npm:7.26.9" +"@babel/template@npm:^7.27.1, @babel/template@npm:^7.27.2": + version: 7.27.2 + resolution: "@babel/template@npm:7.27.2" dependencies: - "@babel/code-frame": "npm:^7.26.2" - "@babel/parser": "npm:^7.26.9" - "@babel/types": "npm:^7.26.9" - checksum: 10c0/019b1c4129cc01ad63e17529089c2c559c74709d225f595eee017af227fee11ae8a97a6ab19ae6768b8aa22d8d75dcb60a00b28f52e9fa78140672d928bc1ae9 + "@babel/code-frame": "npm:^7.27.1" + "@babel/parser": "npm:^7.27.2" + "@babel/types": "npm:^7.27.1" + checksum: 10c0/ed9e9022651e463cc5f2cc21942f0e74544f1754d231add6348ff1b472985a3b3502041c0be62dc99ed2d12cfae0c51394bf827452b98a2f8769c03b87aadc81 languageName: node linkType: hard -"@babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.26.10, @babel/traverse@npm:^7.26.5, @babel/traverse@npm:^7.26.8, @babel/traverse@npm:^7.26.9": - version: 7.26.10 - resolution: "@babel/traverse@npm:7.26.10" +"@babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.27.1, @babel/traverse@npm:^7.27.3, @babel/traverse@npm:^7.28.0": + version: 7.28.0 + resolution: "@babel/traverse@npm:7.28.0" dependencies: - "@babel/code-frame": "npm:^7.26.2" - "@babel/generator": "npm:^7.26.10" - "@babel/parser": "npm:^7.26.10" - "@babel/template": "npm:^7.26.9" - "@babel/types": "npm:^7.26.10" + "@babel/code-frame": "npm:^7.27.1" + "@babel/generator": "npm:^7.28.0" + "@babel/helper-globals": "npm:^7.28.0" + "@babel/parser": "npm:^7.28.0" + "@babel/template": "npm:^7.27.2" + "@babel/types": "npm:^7.28.0" debug: "npm:^4.3.1" - globals: "npm:^11.1.0" - checksum: 10c0/4e86bb4e3c30a6162bb91df86329df79d96566c3e2d9ccba04f108c30473a3a4fd360d9990531493d90f6a12004f10f616bf9b9229ca30c816b708615e9de2ac + checksum: 10c0/32794402457827ac558173bcebdcc0e3a18fa339b7c41ca35621f9f645f044534d91bb923ff385f5f960f2e495f56ce18d6c7b0d064d2f0ccb55b285fa6bc7b9 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.4, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.10, @babel/types@npm:^7.26.9, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": - version: 7.26.10 - resolution: "@babel/types@npm:7.26.10" +"@babel/types@npm:^7.25.4, @babel/types@npm:^7.27.1, @babel/types@npm:^7.27.3, @babel/types@npm:^7.27.6, @babel/types@npm:^7.28.0, @babel/types@npm:^7.4.4": + version: 7.28.0 + resolution: "@babel/types@npm:7.28.0" dependencies: - "@babel/helper-string-parser": "npm:^7.25.9" - "@babel/helper-validator-identifier": "npm:^7.25.9" - checksum: 10c0/7a7f83f568bfc3dfabfaf9ae3a97ab5c061726c0afa7dcd94226d4f84a81559da368ed79671e3a8039d16f12476cf110381a377ebdea07587925f69628200dac + "@babel/helper-string-parser": "npm:^7.27.1" + "@babel/helper-validator-identifier": "npm:^7.27.1" + checksum: 10c0/7ca8521bf5e2d2ed4db31176efaaf94463a6b7a4d16dcc60e34e963b3596c2ecadb85457bebed13a9ee9a5829ef5f515d05b55a991b6a8f3b835451843482e39 languageName: node linkType: hard -"@bcoe/v8-coverage@npm:^0.2.3": - version: 0.2.3 - resolution: "@bcoe/v8-coverage@npm:0.2.3" - checksum: 10c0/6b80ae4cb3db53f486da2dc63b6e190a74c8c3cca16bb2733f234a0b6a9382b09b146488ae08e2b22cf00f6c83e20f3e040a2f7894f05c045c946d6a090b1d52 +"@balena/dockerignore@npm:^1.0.2": + version: 1.0.2 + resolution: "@balena/dockerignore@npm:1.0.2" + checksum: 10c0/0bcb067e86f6734ab943ce4ce9a7c8611f2e983a70bccebf9d2309db57695c09dded7faf5be49c929c4c9e9a9174ae55fc625626de0fb9958823c37423d12f4e languageName: node linkType: hard -"@cspotcode/source-map-support@npm:^0.8.0": - version: 0.8.1 - resolution: "@cspotcode/source-map-support@npm:0.8.1" - dependencies: - "@jridgewell/trace-mapping": "npm:0.3.9" - checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 +"@bcoe/v8-coverage@npm:^1.0.2": + version: 1.0.2 + resolution: "@bcoe/v8-coverage@npm:1.0.2" + checksum: 10c0/1eb1dc93cc17fb7abdcef21a6e7b867d6aa99a7ec88ec8207402b23d9083ab22a8011213f04b2cf26d535f1d22dc26139b7929e6c2134c254bd1e14ba5e678c3 languageName: node linkType: hard -"@effect/platform-node-shared@npm:^0.15.5": - version: 0.15.5 - resolution: "@effect/platform-node-shared@npm:0.15.5" +"@emnapi/core@npm:^1.1.0, @emnapi/core@npm:^1.4.3": + version: 1.4.4 + resolution: "@emnapi/core@npm:1.4.4" dependencies: - "@parcel/watcher": "npm:^2.4.1" - multipasta: "npm:^0.2.5" - peerDependencies: - "@effect/platform": ^0.65.5 - effect: ^3.8.3 - checksum: 10c0/ff163ed4ba4b25d38fee69773603959b81a58ce1649cc3b444d21781cd348243d0a03e146c766310cfe9a858e08284c5f90e70c9a4042894717df0a39539c22d + "@emnapi/wasi-threads": "npm:1.0.3" + tslib: "npm:^2.4.0" + checksum: 10c0/a3a87b384de7c87edc8d64dfbd0c695fb8e9c8547d2d53f284b15415cfea29150f933cb21017dc4d0fa9dbfb2b544d23c77da7cde8c82f21e68323db50a829dd languageName: node linkType: hard -"@effect/platform-node@npm:^0.60.5": - version: 0.60.5 - resolution: "@effect/platform-node@npm:0.60.5" +"@emnapi/runtime@npm:^1.1.0, @emnapi/runtime@npm:^1.4.3": + version: 1.4.4 + resolution: "@emnapi/runtime@npm:1.4.4" dependencies: - "@effect/platform-node-shared": "npm:^0.15.5" - mime: "npm:^3.0.0" - undici: "npm:^6.19.7" - ws: "npm:^8.18.0" - peerDependencies: - "@effect/platform": ^0.65.5 - effect: ^3.8.3 - checksum: 10c0/2e786d817534a0eed5cb7d1c12ec87be8adb78a3d2e5eea7289d7e4cd20d1b40baa133accac8b174be87a1ca3d1e6bef474370120922a81864492f660c5f0228 - languageName: node - linkType: hard - -"@effect/platform@npm:^0.65.5": - version: 0.65.5 - resolution: "@effect/platform@npm:0.65.5" - dependencies: - find-my-way-ts: "npm:^0.1.5" - multipasta: "npm:^0.2.5" - peerDependencies: - "@effect/schema": ^0.73.4 - effect: ^3.8.3 - checksum: 10c0/dbb1d4fc8f60694c466167d2d6108651a3c45c7747f1583cf5074ea27a02394663c5844e796e0acad87e8786c8b4042cb82ee537f9e0a2b88c0d4e0272f057b7 - languageName: node - linkType: hard - -"@effect/schema@npm:^0.73.4": - version: 0.73.4 - resolution: "@effect/schema@npm:0.73.4" - dependencies: - fast-check: "npm:^3.21.0" - peerDependencies: - effect: ^3.8.3 - checksum: 10c0/5ad9fe9e8b3ce5fce14737f187264d4a1aafc4a55a3b3964fdd93a54850e56a7ae53d2f0bf5bfbefcae2ce64a8602abaf90221b4392808ed9fd460f1ce6e56c2 - languageName: node - linkType: hard - -"@emnapi/core@npm:^1.1.0, @emnapi/core@npm:^1.3.1": - version: 1.3.1 - resolution: "@emnapi/core@npm:1.3.1" - dependencies: - "@emnapi/wasi-threads": "npm:1.0.1" tslib: "npm:^2.4.0" - checksum: 10c0/d3be1044ad704e2c486641bc18908523490f28c7d38bd12d9c1d4ce37d39dae6c4aecd2f2eaf44c6e3bd90eaf04e0591acc440b1b038cdf43cce078a355a0ea0 + checksum: 10c0/ec91747af3104ac34d4767fab922c8fe78ddc8ec83af3e3fb0edbf63cdb683fb8582be36afda7d48249fe729d4a31c34752c6e051770a762a68bce67a7408189 languageName: node linkType: hard -"@emnapi/runtime@npm:^1.1.0, @emnapi/runtime@npm:^1.3.1": - version: 1.3.1 - resolution: "@emnapi/runtime@npm:1.3.1" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10c0/060ffede50f1b619c15083312b80a9e62a5b0c87aa8c1b54854c49766c9d69f8d1d3d87bd963a647071263a320db41b25eaa50b74d6a80dcc763c23dbeaafd6c - languageName: node - linkType: hard - -"@emnapi/wasi-threads@npm:1.0.1": - version: 1.0.1 - resolution: "@emnapi/wasi-threads@npm:1.0.1" +"@emnapi/wasi-threads@npm:1.0.3": + version: 1.0.3 + resolution: "@emnapi/wasi-threads@npm:1.0.3" dependencies: tslib: "npm:^2.4.0" - checksum: 10c0/1e0c8036b8d53e9b07cc9acf021705ef6c86ab6b13e1acda7fffaf541a2d3565072afb92597419173ced9ea14f6bf32fce149106e669b5902b825e8b499e5c6c - languageName: node - linkType: hard - -"@emotion/is-prop-valid@npm:1.2.2": - version: 1.2.2 - resolution: "@emotion/is-prop-valid@npm:1.2.2" - dependencies: - "@emotion/memoize": "npm:^0.8.1" - checksum: 10c0/bb1530dcb4e0e5a4fabb219279f2d0bc35796baf66f6241f98b0d03db1985c890a8cafbea268e0edefd5eeda143dbd5c09a54b5fba74cee8c69b98b13194af50 - languageName: node - linkType: hard - -"@emotion/memoize@npm:^0.8.1": - version: 0.8.1 - resolution: "@emotion/memoize@npm:0.8.1" - checksum: 10c0/dffed372fc3b9fa2ba411e76af22b6bb686fb0cb07694fdfaa6dd2baeb0d5e4968c1a7caa472bfcf06a5997d5e7c7d16b90e993f9a6ffae79a2c3dbdc76dfe78 + checksum: 10c0/00cae4dd64143cca21a3aedbf64a7a5528a5991b69bcc0b7306812ff31a3fdc4aaf5bc9413a29fbd5d577c78aae49db4fc4e736d013aec5d416b5a64d403f391 languageName: node linkType: hard -"@emotion/unitless@npm:0.8.1": - version: 0.8.1 - resolution: "@emotion/unitless@npm:0.8.1" - checksum: 10c0/a1ed508628288f40bfe6dd17d431ed899c067a899fa293a13afe3aed1d70fac0412b8a215fafab0b42829360db687fecd763e5f01a64ddc4a4b58ec3112ff548 - languageName: node - linkType: hard - -"@esbuild/aix-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/aix-ppc64@npm:0.19.12" +"@esbuild/aix-ppc64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/aix-ppc64@npm:0.25.6" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard -"@esbuild/aix-ppc64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/aix-ppc64@npm:0.21.5" +"@esbuild/aix-ppc64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/aix-ppc64@npm:0.25.8" conditions: os=aix & cpu=ppc64 languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm64@npm:0.19.12" +"@esbuild/android-arm64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/android-arm64@npm:0.25.6" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/android-arm64@npm:0.21.5" +"@esbuild/android-arm64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/android-arm64@npm:0.25.8" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@esbuild/android-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm@npm:0.19.12" +"@esbuild/android-arm@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/android-arm@npm:0.25.6" conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/android-arm@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/android-arm@npm:0.21.5" +"@esbuild/android-arm@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/android-arm@npm:0.25.8" conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/android-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-x64@npm:0.19.12" +"@esbuild/android-x64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/android-x64@npm:0.25.6" conditions: os=android & cpu=x64 languageName: node linkType: hard -"@esbuild/android-x64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/android-x64@npm:0.21.5" +"@esbuild/android-x64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/android-x64@npm:0.25.8" conditions: os=android & cpu=x64 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-arm64@npm:0.19.12" +"@esbuild/darwin-arm64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/darwin-arm64@npm:0.25.6" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/darwin-arm64@npm:0.21.5" +"@esbuild/darwin-arm64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/darwin-arm64@npm:0.25.8" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-x64@npm:0.19.12" +"@esbuild/darwin-x64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/darwin-x64@npm:0.25.6" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/darwin-x64@npm:0.21.5" +"@esbuild/darwin-x64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/darwin-x64@npm:0.25.8" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-arm64@npm:0.19.12" +"@esbuild/freebsd-arm64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/freebsd-arm64@npm:0.25.6" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/freebsd-arm64@npm:0.21.5" +"@esbuild/freebsd-arm64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/freebsd-arm64@npm:0.25.8" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-x64@npm:0.19.12" +"@esbuild/freebsd-x64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/freebsd-x64@npm:0.25.6" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/freebsd-x64@npm:0.21.5" +"@esbuild/freebsd-x64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/freebsd-x64@npm:0.25.8" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-arm64@npm:0.19.12" +"@esbuild/linux-arm64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/linux-arm64@npm:0.25.6" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/linux-arm64@npm:0.21.5" +"@esbuild/linux-arm64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/linux-arm64@npm:0.25.8" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-arm@npm:0.19.12" +"@esbuild/linux-arm@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/linux-arm@npm:0.25.6" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/linux-arm@npm:0.21.5" +"@esbuild/linux-arm@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/linux-arm@npm:0.25.8" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-ia32@npm:0.19.12" +"@esbuild/linux-ia32@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/linux-ia32@npm:0.25.6" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/linux-ia32@npm:0.21.5" +"@esbuild/linux-ia32@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/linux-ia32@npm:0.25.8" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-loong64@npm:0.19.12" +"@esbuild/linux-loong64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/linux-loong64@npm:0.25.6" conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/linux-loong64@npm:0.21.5" +"@esbuild/linux-loong64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/linux-loong64@npm:0.25.8" conditions: os=linux & cpu=loong64 languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-mips64el@npm:0.19.12" +"@esbuild/linux-mips64el@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/linux-mips64el@npm:0.25.6" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/linux-mips64el@npm:0.21.5" +"@esbuild/linux-mips64el@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/linux-mips64el@npm:0.25.8" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-ppc64@npm:0.19.12" +"@esbuild/linux-ppc64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/linux-ppc64@npm:0.25.6" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/linux-ppc64@npm:0.21.5" +"@esbuild/linux-ppc64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/linux-ppc64@npm:0.25.8" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-riscv64@npm:0.19.12" +"@esbuild/linux-riscv64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/linux-riscv64@npm:0.25.6" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/linux-riscv64@npm:0.21.5" +"@esbuild/linux-riscv64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/linux-riscv64@npm:0.25.8" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-s390x@npm:0.19.12" +"@esbuild/linux-s390x@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/linux-s390x@npm:0.25.6" conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/linux-s390x@npm:0.21.5" +"@esbuild/linux-s390x@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/linux-s390x@npm:0.25.8" conditions: os=linux & cpu=s390x languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-x64@npm:0.19.12" +"@esbuild/linux-x64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/linux-x64@npm:0.25.6" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/linux-x64@npm:0.21.5" +"@esbuild/linux-x64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/linux-x64@npm:0.25.8" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/netbsd-x64@npm:0.19.12" +"@esbuild/netbsd-arm64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/netbsd-arm64@npm:0.25.6" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/netbsd-arm64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/netbsd-arm64@npm:0.25.8" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/netbsd-x64@npm:0.25.6" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/netbsd-x64@npm:0.21.5" +"@esbuild/netbsd-x64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/netbsd-x64@npm:0.25.8" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/openbsd-x64@npm:0.19.12" +"@esbuild/openbsd-arm64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/openbsd-arm64@npm:0.25.6" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/openbsd-arm64@npm:0.25.8" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/openbsd-x64@npm:0.25.6" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/openbsd-x64@npm:0.21.5" +"@esbuild/openbsd-x64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/openbsd-x64@npm:0.25.8" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/sunos-x64@npm:0.19.12" +"@esbuild/openharmony-arm64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/openharmony-arm64@npm:0.25.6" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openharmony-arm64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/openharmony-arm64@npm:0.25.8" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/sunos-x64@npm:0.25.6" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/sunos-x64@npm:0.21.5" +"@esbuild/sunos-x64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/sunos-x64@npm:0.25.8" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-arm64@npm:0.19.12" +"@esbuild/win32-arm64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/win32-arm64@npm:0.25.6" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/win32-arm64@npm:0.21.5" +"@esbuild/win32-arm64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/win32-arm64@npm:0.25.8" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-ia32@npm:0.19.12" +"@esbuild/win32-ia32@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/win32-ia32@npm:0.25.6" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/win32-ia32@npm:0.21.5" +"@esbuild/win32-ia32@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/win32-ia32@npm:0.25.8" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-x64@npm:0.19.12" +"@esbuild/win32-x64@npm:0.25.6": + version: 0.25.6 + resolution: "@esbuild/win32-x64@npm:0.25.6" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.21.5": - version: 0.21.5 - resolution: "@esbuild/win32-x64@npm:0.21.5" +"@esbuild/win32-x64@npm:0.25.8": + version: 0.25.8 + resolution: "@esbuild/win32-x64@npm:0.25.8" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": - version: 4.5.1 - resolution: "@eslint-community/eslint-utils@npm:4.5.1" +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.7.0": + version: 4.7.0 + resolution: "@eslint-community/eslint-utils@npm:4.7.0" dependencies: eslint-visitor-keys: "npm:^3.4.3" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10c0/b520ae1b7bd04531a5c5da2021071815df4717a9f7d13720e3a5ddccf5c9c619532039830811fcbae1c2f1c9d133e63af2435ee69e0fc0fabbd6d928c6800fb2 + checksum: 10c0/c0f4f2bd73b7b7a9de74b716a664873d08ab71ab439e51befe77d61915af41a81ecec93b408778b3a7856185244c34c2c8ee28912072ec14def84ba2dec70adf languageName: node linkType: hard @@ -2880,42 +2335,42 @@ __metadata: languageName: node linkType: hard -"@eslint/compat@npm:^1.2.7": - version: 1.2.8 - resolution: "@eslint/compat@npm:1.2.8" +"@eslint/compat@npm:^1.3.1": + version: 1.3.1 + resolution: "@eslint/compat@npm:1.3.1" peerDependencies: - eslint: ^9.10.0 + eslint: ^8.40 || 9 peerDependenciesMeta: eslint: optional: true - checksum: 10c0/1e004c6917220ff1731fdc562ada9ddcbcecc6f3ba2e4b0433fb6d8eddf2a443e009f1f9796b78128b78a0a588c723b78021319055ac6e5dda55c0ace346496b + checksum: 10c0/8dfcea5ecb854111f9c0acc23a469e0a25cdaddceb5fb40c47988c247d6e32ec199bcd00f1b8ba9ed779228526552703c4b74948169e78b78b5fd814e04b042b languageName: node linkType: hard -"@eslint/config-array@npm:^0.19.2": - version: 0.19.2 - resolution: "@eslint/config-array@npm:0.19.2" +"@eslint/config-array@npm:^0.21.0": + version: 0.21.0 + resolution: "@eslint/config-array@npm:0.21.0" dependencies: "@eslint/object-schema": "npm:^2.1.6" debug: "npm:^4.3.1" minimatch: "npm:^3.1.2" - checksum: 10c0/dd68da9abb32d336233ac4fe0db1e15a0a8d794b6e69abb9e57545d746a97f6f542496ff9db0d7e27fab1438546250d810d90b1904ac67677215b8d8e7573f3d + checksum: 10c0/0ea801139166c4aa56465b309af512ef9b2d3c68f9198751bbc3e21894fe70f25fbf26e1b0e9fffff41857bc21bfddeee58649ae6d79aadcd747db0c5dca771f languageName: node linkType: hard -"@eslint/config-helpers@npm:^0.2.0": - version: 0.2.0 - resolution: "@eslint/config-helpers@npm:0.2.0" - checksum: 10c0/743a64653e13177029108f57ab47460ded08e3412c86216a14b7e8ab2dc79c2b64be45bf55c5ef29f83692a707dc34cf1e9217e4b8b4b272a0d9b691fdaf6a2a +"@eslint/config-helpers@npm:^0.3.0": + version: 0.3.0 + resolution: "@eslint/config-helpers@npm:0.3.0" + checksum: 10c0/013ae7b189eeae8b30cc2ee87bc5c9c091a9cd615579003290eb28bebad5d78806a478e74ba10b3fe08ed66975b52af7d2cd4b4b43990376412b14e5664878c8 languageName: node linkType: hard -"@eslint/core@npm:^0.12.0": - version: 0.12.0 - resolution: "@eslint/core@npm:0.12.0" +"@eslint/core@npm:^0.15.0, @eslint/core@npm:^0.15.1": + version: 0.15.1 + resolution: "@eslint/core@npm:0.15.1" dependencies: "@types/json-schema": "npm:^7.0.15" - checksum: 10c0/d032af81195bb28dd800c2b9617548c6c2a09b9490da3c5537fd2a1201501666d06492278bb92cfccac1f7ac249e58601dd87f813ec0d6a423ef0880434fa0c3 + checksum: 10c0/abaf641940776638b8c15a38d99ce0dac551a8939310ec81b9acd15836a574cf362588eaab03ab11919bc2a0f9648b19ea8dee33bf12675eb5b6fd38bda6f25e languageName: node linkType: hard @@ -2936,17 +2391,10 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:9.23.0": - version: 9.23.0 - resolution: "@eslint/js@npm:9.23.0" - checksum: 10c0/4e70869372b6325389e0ab51cac6d3062689807d1cef2c3434857571422ce11dde3c62777af85c382b9f94d937127598d605d2086787f08611351bf99faded81 - languageName: node - linkType: hard - -"@eslint/js@npm:^9.23.0": - version: 9.25.1 - resolution: "@eslint/js@npm:9.25.1" - checksum: 10c0/87d86b512ab109bfd3b9317ced3220ea3d444ac3bfa7abd853ca7f724d72c36e213062f9def16a632365d97dc29e0094312e3682a9767590ee6f43b3d5d873fd +"@eslint/js@npm:9.32.0, @eslint/js@npm:^9.30.0": + version: 9.32.0 + resolution: "@eslint/js@npm:9.32.0" + checksum: 10c0/f71e8f9146638d11fb15238279feff98801120a4d4130f1c587c4f09b024ff5ec01af1ba88e97ba6b7013488868898a668f77091300cc3d4394c7a8ed32d2667 languageName: node linkType: hard @@ -2957,43 +2405,13 @@ __metadata: languageName: node linkType: hard -"@eslint/plugin-kit@npm:^0.2.7": - version: 0.2.7 - resolution: "@eslint/plugin-kit@npm:0.2.7" +"@eslint/plugin-kit@npm:^0.3.4": + version: 0.3.4 + resolution: "@eslint/plugin-kit@npm:0.3.4" dependencies: - "@eslint/core": "npm:^0.12.0" + "@eslint/core": "npm:^0.15.1" levn: "npm:^0.4.1" - checksum: 10c0/0a1aff1ad63e72aca923217e556c6dfd67d7cd121870eb7686355d7d1475d569773528a8b2111b9176f3d91d2ea81f7413c34600e8e5b73d59e005d70780b633 - languageName: node - linkType: hard - -"@exodus/schemasafe@npm:^1.0.0-rc.2": - version: 1.3.0 - resolution: "@exodus/schemasafe@npm:1.3.0" - checksum: 10c0/e19397c14db76342154c32a9088536149babfd9b18ecae815add0b2f911d9aa292aa51c6ab33b857b4b6bb371a74ebde845e6f17b2824e73b4e307230f23f86a - languageName: node - linkType: hard - -"@faker-js/faker@npm:^7.6.0": - version: 7.6.0 - resolution: "@faker-js/faker@npm:7.6.0" - checksum: 10c0/8f0e0588b1327563aba3bf71d859eb52575c6e34f9d259f63dfa3c3ba7eea910588395399f2531753f1b7b730c06e0ef79336634361b2e69445ed69123e019eb - languageName: node - linkType: hard - -"@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": - version: 9.3.0 - resolution: "@hapi/hoek@npm:9.3.0" - checksum: 10c0/a096063805051fb8bba4c947e293c664b05a32b47e13bc654c0dd43813a1cec993bdd8f29ceb838020299e1d0f89f68dc0d62a603c13c9cc8541963f0beca055 - languageName: node - linkType: hard - -"@hapi/topo@npm:^5.1.0": - version: 5.1.0 - resolution: "@hapi/topo@npm:5.1.0" - dependencies: - "@hapi/hoek": "npm:^9.0.0" - checksum: 10c0/b16b06d9357947149e032bdf10151eb71aea8057c79c4046bf32393cb89d0d0f7ca501c40c0f7534a5ceca078de0700d2257ac855c15e59fe4e00bba2f25c86f + checksum: 10c0/64331ca100f62a0115d10419a28059d0f377e390192163b867b9019517433d5073d10b4ec21f754fa01faf832aceb34178745924baab2957486f8bf95fd628d2 languageName: node linkType: hard @@ -3021,13 +2439,6 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/momoa@npm:^2.0.2": - version: 2.0.4 - resolution: "@humanwhocodes/momoa@npm:2.0.4" - checksum: 10c0/ff081fb5239eb23ae40c59bd51e8128d34b043be3b7c2adb2522cdff51b01ec3129e57d5a24a1eb3a082159d5b41fddfbaffc4cf46cae4fe11a51393f60424fd - languageName: node - linkType: hard - "@humanwhocodes/retry@npm:^0.3.0": version: 0.3.1 resolution: "@humanwhocodes/retry@npm:0.3.1" @@ -3036,330 +2447,306 @@ __metadata: linkType: hard "@humanwhocodes/retry@npm:^0.4.2": - version: 0.4.2 - resolution: "@humanwhocodes/retry@npm:0.4.2" - checksum: 10c0/0235525d38f243bee3bf8b25ed395fbf957fb51c08adae52787e1325673071abe856c7e18e530922ed2dd3ce12ed82ba01b8cee0279ac52a3315fcdc3a69ef0c + version: 0.4.3 + resolution: "@humanwhocodes/retry@npm:0.4.3" + checksum: 10c0/3775bb30087d4440b3f7406d5a057777d90e4b9f435af488a4923ef249e93615fb78565a85f173a186a076c7706a81d0d57d563a2624e4de2c5c9c66c486ce42 languageName: node linkType: hard -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" +"@inquirer/checkbox@npm:^2.5.0": + version: 2.5.0 + resolution: "@inquirer/checkbox@npm:2.5.0" dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + "@inquirer/core": "npm:^9.1.0" + "@inquirer/figures": "npm:^1.0.5" + "@inquirer/type": "npm:^1.5.3" + ansi-escapes: "npm:^4.3.2" + yoctocolors-cjs: "npm:^2.1.2" + checksum: 10c0/679d17ffe3aef0825593f3bc8d193b6c37b860c6cf6e0e9a10d4e60cc254a2dfc5da4a982bf5b9b5147018e456fffcb0b0dadf93ee1914b9d600b0c814284e22 languageName: node linkType: hard -"@isaacs/fs-minipass@npm:^4.0.0": - version: 4.0.1 - resolution: "@isaacs/fs-minipass@npm:4.0.1" +"@inquirer/confirm@npm:^3.2.0": + version: 3.2.0 + resolution: "@inquirer/confirm@npm:3.2.0" dependencies: - minipass: "npm:^7.0.4" - checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + "@inquirer/core": "npm:^9.1.0" + "@inquirer/type": "npm:^1.5.3" + checksum: 10c0/a2cbfc8ae9c880bba4cce1993f5c399fb0d12741fdd574917c87fceb40ece62ffa60e35aaadf4e62d7c114f54008e45aee5d6d90497bb62d493996c02725d243 languageName: node linkType: hard -"@istanbuljs/load-nyc-config@npm:^1.0.0": - version: 1.1.0 - resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" +"@inquirer/core@npm:^9.1.0": + version: 9.2.1 + resolution: "@inquirer/core@npm:9.2.1" dependencies: - camelcase: "npm:^5.3.1" - find-up: "npm:^4.1.0" - get-package-type: "npm:^0.1.0" - js-yaml: "npm:^3.13.1" - resolve-from: "npm:^5.0.0" - checksum: 10c0/dd2a8b094887da5a1a2339543a4933d06db2e63cbbc2e288eb6431bd832065df0c099d091b6a67436e71b7d6bf85f01ce7c15f9253b4cbebcc3b9a496165ba42 + "@inquirer/figures": "npm:^1.0.6" + "@inquirer/type": "npm:^2.0.0" + "@types/mute-stream": "npm:^0.0.4" + "@types/node": "npm:^22.5.5" + "@types/wrap-ansi": "npm:^3.0.0" + ansi-escapes: "npm:^4.3.2" + cli-width: "npm:^4.1.0" + mute-stream: "npm:^1.0.0" + signal-exit: "npm:^4.1.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^6.2.0" + yoctocolors-cjs: "npm:^2.1.2" + checksum: 10c0/11c14be77a9fa85831de799a585721b0a49ab2f3b7d8fd1780c48ea2b29229c6bdc94e7892419086d0f7734136c2ba87b6a32e0782571eae5bbd655b1afad453 languageName: node linkType: hard -"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": - version: 0.1.3 - resolution: "@istanbuljs/schema@npm:0.1.3" - checksum: 10c0/61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a +"@inquirer/editor@npm:^2.2.0": + version: 2.2.0 + resolution: "@inquirer/editor@npm:2.2.0" + dependencies: + "@inquirer/core": "npm:^9.1.0" + "@inquirer/type": "npm:^1.5.3" + external-editor: "npm:^3.1.0" + checksum: 10c0/b8afc0790a7a5d82998bdfe469cbaa83b0cd0700be432cf95256c548e2a6a494997b5e93d65cbf94979c17b510758cf8494d85559f6b9508eb15d239a7f22aee languageName: node linkType: hard -"@jest/console@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/console@npm:29.7.0" +"@inquirer/expand@npm:^2.3.0": + version: 2.3.0 + resolution: "@inquirer/expand@npm:2.3.0" dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - slash: "npm:^3.0.0" - checksum: 10c0/7be408781d0a6f657e969cbec13b540c329671819c2f57acfad0dae9dbfe2c9be859f38fe99b35dba9ff1536937dc6ddc69fdcd2794812fa3c647a1619797f6c + "@inquirer/core": "npm:^9.1.0" + "@inquirer/type": "npm:^1.5.3" + yoctocolors-cjs: "npm:^2.1.2" + checksum: 10c0/f2030cb482a715e4d5153c19b3f0fd8bf47c16cdc16e1c669e90985386edf4f7b0f3b0e97e2990bb228878b93716228eb067d94fc557c25d3c5ee58747c0a995 languageName: node linkType: hard -"@jest/environment@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/environment@npm:29.7.0" - dependencies: - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - checksum: 10c0/c7b1b40c618f8baf4d00609022d2afa086d9c6acc706f303a70bb4b67275868f620ad2e1a9efc5edd418906157337cce50589a627a6400bbdf117d351b91ef86 +"@inquirer/figures@npm:^1.0.5, @inquirer/figures@npm:^1.0.6": + version: 1.0.13 + resolution: "@inquirer/figures@npm:1.0.13" + checksum: 10c0/23700a4a0627963af5f51ef4108c338ae77bdd90393164b3fdc79a378586e1f5531259882b7084c690167bf5a36e83033e45aca0321570ba810890abe111014f languageName: node linkType: hard -"@jest/expect-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect-utils@npm:29.7.0" +"@inquirer/input@npm:^2.3.0": + version: 2.3.0 + resolution: "@inquirer/input@npm:2.3.0" dependencies: - jest-get-type: "npm:^29.6.3" - checksum: 10c0/60b79d23a5358dc50d9510d726443316253ecda3a7fb8072e1526b3e0d3b14f066ee112db95699b7a43ad3f0b61b750c72e28a5a1cac361d7a2bb34747fa938a + "@inquirer/core": "npm:^9.1.0" + "@inquirer/type": "npm:^1.5.3" + checksum: 10c0/44c8cea38c9192f528cae556f38709135a00230132deab3b9bb9a925375fce0513fecf4e8c1df7c4319e1ed7aa31fb4dd2c4956c8bc9dd39af087aafff5b6f1f languageName: node linkType: hard -"@jest/expect@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect@npm:29.7.0" +"@inquirer/number@npm:^1.1.0": + version: 1.1.0 + resolution: "@inquirer/number@npm:1.1.0" dependencies: - expect: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - checksum: 10c0/b41f193fb697d3ced134349250aed6ccea075e48c4f803159db102b826a4e473397c68c31118259868fd69a5cba70e97e1c26d2c2ff716ca39dc73a2ccec037e + "@inquirer/core": "npm:^9.1.0" + "@inquirer/type": "npm:^1.5.3" + checksum: 10c0/db472dab57c951c4a083b2a749ce58262b1efd9889e7603de6e9c3f9af7d8dce8fbdfa3859f65402d3587470e0397a076e5fb4ed775db33310f17a42c9faeb20 languageName: node linkType: hard -"@jest/fake-timers@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/fake-timers@npm:29.7.0" +"@inquirer/password@npm:^2.2.0": + version: 2.2.0 + resolution: "@inquirer/password@npm:2.2.0" dependencies: - "@jest/types": "npm:^29.6.3" - "@sinonjs/fake-timers": "npm:^10.0.2" - "@types/node": "npm:*" - jest-message-util: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10c0/cf0a8bcda801b28dc2e2b2ba36302200ee8104a45ad7a21e6c234148932f826cb3bc57c8df3b7b815aeea0861d7b6ca6f0d4778f93b9219398ef28749e03595c + "@inquirer/core": "npm:^9.1.0" + "@inquirer/type": "npm:^1.5.3" + ansi-escapes: "npm:^4.3.2" + checksum: 10c0/fa4b335164b2c9c3304d29a7214ef93bac8d3da6788146603ea3d0485b8d811151e49bf66cb0dcc729a9dc21406c3a8c2718c5beec572a91d07026d22842c13f languageName: node linkType: hard -"@jest/globals@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/globals@npm:29.7.0" +"@inquirer/prompts@npm:^5.5.0": + version: 5.5.0 + resolution: "@inquirer/prompts@npm:5.5.0" dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/expect": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - jest-mock: "npm:^29.7.0" - checksum: 10c0/a385c99396878fe6e4460c43bd7bb0a5cc52befb462cc6e7f2a3810f9e7bcce7cdeb51908fd530391ee452dc856c98baa2c5f5fa8a5b30b071d31ef7f6955cea + "@inquirer/checkbox": "npm:^2.5.0" + "@inquirer/confirm": "npm:^3.2.0" + "@inquirer/editor": "npm:^2.2.0" + "@inquirer/expand": "npm:^2.3.0" + "@inquirer/input": "npm:^2.3.0" + "@inquirer/number": "npm:^1.1.0" + "@inquirer/password": "npm:^2.2.0" + "@inquirer/rawlist": "npm:^2.3.0" + "@inquirer/search": "npm:^1.1.0" + "@inquirer/select": "npm:^2.5.0" + checksum: 10c0/2d62b50ca761b2bd2d5759f48c03758f1af0665ac602c26ae1ae257ac512cf5c27fd82cde108ee0c6371ec39187adc6f45637f31ca79adf5bf96579f23e77143 languageName: node linkType: hard -"@jest/reporters@npm:^29.4.1": - version: 29.7.0 - resolution: "@jest/reporters@npm:29.7.0" +"@inquirer/rawlist@npm:^2.3.0": + version: 2.3.0 + resolution: "@inquirer/rawlist@npm:2.3.0" dependencies: - "@bcoe/v8-coverage": "npm:^0.2.3" - "@jest/console": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - collect-v8-coverage: "npm:^1.0.0" - exit: "npm:^0.1.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - istanbul-lib-coverage: "npm:^3.0.0" - istanbul-lib-instrument: "npm:^6.0.0" - istanbul-lib-report: "npm:^3.0.0" - istanbul-lib-source-maps: "npm:^4.0.0" - istanbul-reports: "npm:^3.1.3" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - slash: "npm:^3.0.0" - string-length: "npm:^4.0.1" - strip-ansi: "npm:^6.0.0" - v8-to-istanbul: "npm:^9.0.1" - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: 10c0/a754402a799541c6e5aff2c8160562525e2a47e7d568f01ebfc4da66522de39cbb809bbb0a841c7052e4270d79214e70aec3c169e4eae42a03bc1a8a20cb9fa2 + "@inquirer/core": "npm:^9.1.0" + "@inquirer/type": "npm:^1.5.3" + yoctocolors-cjs: "npm:^2.1.2" + checksum: 10c0/d49d5e12b7a54394c140b27c8d8748ba1ab855c67c01fa72b5a63810f12865df3bf4d5ae929f54fad77b5fc2f7431a332ae1e5fe4babb335380c28917002f364 languageName: node linkType: hard -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" +"@inquirer/search@npm:^1.1.0": + version: 1.1.0 + resolution: "@inquirer/search@npm:1.1.0" dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + "@inquirer/core": "npm:^9.1.0" + "@inquirer/figures": "npm:^1.0.5" + "@inquirer/type": "npm:^1.5.3" + yoctocolors-cjs: "npm:^2.1.2" + checksum: 10c0/20d7e910266b9e3f0dc8eef8f3007f487e6149fa8421d293eaf7c11a1e35c3d82aa30af118b3a6e35eed1048a27d7d806f45722abb10005db5d099ea64b00b17 languageName: node linkType: hard -"@jest/source-map@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/source-map@npm:29.6.3" +"@inquirer/select@npm:^2.5.0": + version: 2.5.0 + resolution: "@inquirer/select@npm:2.5.0" dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.18" - callsites: "npm:^3.0.0" - graceful-fs: "npm:^4.2.9" - checksum: 10c0/a2f177081830a2e8ad3f2e29e20b63bd40bade294880b595acf2fc09ec74b6a9dd98f126a2baa2bf4941acd89b13a4ade5351b3885c224107083a0059b60a219 + "@inquirer/core": "npm:^9.1.0" + "@inquirer/figures": "npm:^1.0.5" + "@inquirer/type": "npm:^1.5.3" + ansi-escapes: "npm:^4.3.2" + yoctocolors-cjs: "npm:^2.1.2" + checksum: 10c0/280fa700187ff29da0ad4bf32aa11db776261584ddf5cc1ceac5caebb242a4ac0c5944af522a2579d78b6ec7d6e8b1b9f6564872101abd8dcc69929b4e33fc4c languageName: node linkType: hard -"@jest/test-result@npm:^29.4.1, @jest/test-result@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-result@npm:29.7.0" +"@inquirer/type@npm:^1.5.3": + version: 1.5.5 + resolution: "@inquirer/type@npm:1.5.5" dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - collect-v8-coverage: "npm:^1.0.0" - checksum: 10c0/7de54090e54a674ca173470b55dc1afdee994f2d70d185c80236003efd3fa2b753fff51ffcdda8e2890244c411fd2267529d42c4a50a8303755041ee493e6a04 + mute-stream: "npm:^1.0.0" + checksum: 10c0/4c41736c09ba9426b5a9e44993bdd54e8f532e791518802e33866f233a2a6126a25c1c82c19d1abbf1df627e57b1b957dd3f8318ea96073d8bfc32193943bcb3 languageName: node linkType: hard -"@jest/test-sequencer@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/test-sequencer@npm:29.7.0" +"@inquirer/type@npm:^2.0.0": + version: 2.0.0 + resolution: "@inquirer/type@npm:2.0.0" dependencies: - "@jest/test-result": "npm:^29.7.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - slash: "npm:^3.0.0" - checksum: 10c0/593a8c4272797bb5628984486080cbf57aed09c7cfdc0a634e8c06c38c6bef329c46c0016e84555ee55d1cd1f381518cf1890990ff845524c1123720c8c1481b + mute-stream: "npm:^1.0.0" + checksum: 10c0/8c663d52beb2b89a896d3c3d5cc3d6d024fa149e565555bcb42fa640cbe23fba7ff2c51445342cef1fe6e46305e2d16c1590fa1d11ad0ddf93a67b655ef41f0a languageName: node linkType: hard -"@jest/transform@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/transform@npm:29.7.0" +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" dependencies: - "@babel/core": "npm:^7.11.6" - "@jest/types": "npm:^29.6.3" - "@jridgewell/trace-mapping": "npm:^0.3.18" - babel-plugin-istanbul: "npm:^6.1.1" - chalk: "npm:^4.0.0" - convert-source-map: "npm:^2.0.0" - fast-json-stable-stringify: "npm:^2.1.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - pirates: "npm:^4.0.4" - slash: "npm:^3.0.0" - write-file-atomic: "npm:^4.0.2" - checksum: 10c0/7f4a7f73dcf45dfdf280c7aa283cbac7b6e5a904813c3a93ead7e55873761fc20d5c4f0191d2019004fac6f55f061c82eb3249c2901164ad80e362e7a7ede5a6 - languageName: node - linkType: hard - -"@jest/types@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/types@npm:29.6.3" - dependencies: - "@jest/schemas": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - "@types/istanbul-reports": "npm:^3.0.0" - "@types/node": "npm:*" - "@types/yargs": "npm:^17.0.8" - chalk: "npm:^4.0.0" - checksum: 10c0/ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e languageName: node linkType: hard -"@jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.8 - resolution: "@jridgewell/gen-mapping@npm:0.3.8" +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" dependencies: - "@jridgewell/set-array": "npm:^1.2.1" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10c0/c668feaf86c501d7c804904a61c23c67447b2137b813b9ce03eca82cb9d65ac7006d766c218685d76e3d72828279b6ee26c347aa1119dab23fbaf36aed51585a + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": - version: 3.1.2 - resolution: "@jridgewell/resolve-uri@npm:3.1.2" - checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e +"@istanbuljs/schema@npm:^0.1.2": + version: 0.1.3 + resolution: "@istanbuljs/schema@npm:0.1.3" + checksum: 10c0/61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a languageName: node linkType: hard -"@jridgewell/set-array@npm:^1.2.1": - version: 1.2.1 - resolution: "@jridgewell/set-array@npm:1.2.1" - checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4 +"@jest/diff-sequences@npm:30.0.1": + version: 30.0.1 + resolution: "@jest/diff-sequences@npm:30.0.1" + checksum: 10c0/3a840404e6021725ef7f86b11f7b2d13dd02846481264db0e447ee33b7ee992134e402cdc8b8b0ac969d37c6c0183044e382dedee72001cdf50cfb3c8088de74 languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": - version: 1.5.0 - resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" - checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 +"@jest/get-type@npm:30.0.1": + version: 30.0.1 + resolution: "@jest/get-type@npm:30.0.1" + checksum: 10c0/92437ae42d0df57e8acc2d067288151439db4752cde4f5e680c73c8a6e34568bbd8c1c81a2f2f9a637a619c2aac8bc87553fb80e31475b59e2ed789a71e5e540 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" +"@jest/schemas@npm:30.0.5": + version: 30.0.5 + resolution: "@jest/schemas@npm:30.0.5" dependencies: - "@jridgewell/resolve-uri": "npm:^3.0.3" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b + "@sinclair/typebox": "npm:^0.34.0" + checksum: 10c0/449dcd7ec5c6505e9ac3169d1143937e67044ae3e66a729ce4baf31812dfd30535f2b3b2934393c97cfdf5984ff581120e6b38f62b8560c8b5b7cc07f4175f65 languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": - version: 0.3.25 - resolution: "@jridgewell/trace-mapping@npm:0.3.25" +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.12 + resolution: "@jridgewell/gen-mapping@npm:0.3.12" dependencies: - "@jridgewell/resolve-uri": "npm:^3.1.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10c0/3d1ce6ebc69df9682a5a8896b414c6537e428a1d68b02fcc8363b04284a8ca0df04d0ee3013132252ab14f2527bc13bea6526a912ecb5658f0e39fd2860b4df4 + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/32f771ae2467e4d440be609581f7338d786d3d621bac3469e943b9d6d116c23c4becb36f84898a92bbf2f3c0511365c54a945a3b86a83141547a2a360a5ec0c7 languageName: node linkType: hard -"@jsep-plugin/assignment@npm:^1.3.0": - version: 1.3.0 - resolution: "@jsep-plugin/assignment@npm:1.3.0" - peerDependencies: - jsep: ^0.4.0||^1.0.0 - checksum: 10c0/d749554dc691798116eb068eebe2d9bcb0b0d89ef6c7cc7c2a9f37d03da15fdbf8053407e97008090cd1bd6f256ea6c26abbada7399cf79f0b6b502e164b084b +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e languageName: node linkType: hard -"@jsep-plugin/regex@npm:^1.0.4": - version: 1.0.4 - resolution: "@jsep-plugin/regex@npm:1.0.4" - peerDependencies: - jsep: ^0.4.0||^1.0.0 - checksum: 10c0/bec7eb7ea6ab453a2672edc808644c5be3dc06b2a9d77182e18cd595b37deba6dcdb3760849d8684afc5779a86b7d2604dd525cb612a548f9ed9f31a8032ec24 +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.4 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.4" + checksum: 10c0/c5aab3e6362a8dd94ad80ab90845730c825fc4c8d9cf07ebca7a2eb8a832d155d62558800fc41d42785f989ddbb21db6df004d1786e8ecb65e428ab8dff71309 languageName: node linkType: hard -"@kwsites/file-exists@npm:^1.1.1": - version: 1.1.1 - resolution: "@kwsites/file-exists@npm:1.1.1" +"@jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25, @jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.29 + resolution: "@jridgewell/trace-mapping@npm:0.3.29" dependencies: - debug: "npm:^4.1.1" - checksum: 10c0/39e693239a72ccd8408bb618a0200e4a8d61682057ca7ae2c87668d7e69196e8d7e2c9cde73db6b23b3b0230169a15e5f1bfe086539f4be43e767b2db68e8ee4 + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/fb547ba31658c4d74eb17e7389f4908bf7c44cef47acb4c5baa57289daf68e6fe53c639f41f751b3923aca67010501264f70e7b49978ad1f040294b22c37b333 languageName: node linkType: hard -"@kwsites/promise-deferred@npm:^1.1.1": - version: 1.1.1 - resolution: "@kwsites/promise-deferred@npm:1.1.1" - checksum: 10c0/ef1ad3f1f50991e3bed352b175986d8b4bc684521698514a2ed63c1d1fc9848843da4f2bc2df961c9b148c94e1c34bf33f0da8a90ba2234e452481f2cc9937b1 +"@json2csv/formatters@npm:^7.0.6": + version: 7.0.6 + resolution: "@json2csv/formatters@npm:7.0.6" + checksum: 10c0/725d64c2ce874e330be8344df59b32a68854c61c79e5a9656a9a3863b0e0ec278cfff90acac99d8970cb0ea2f50be81e27bf9e6a1e4021b25ba62b540452a4aa + languageName: node + linkType: hard + +"@json2csv/node@npm:^7.0.6": + version: 7.0.6 + resolution: "@json2csv/node@npm:7.0.6" + dependencies: + "@json2csv/plainjs": "npm:^7.0.6" + checksum: 10c0/1136a2762a0f8826ca47bf5c461236fe8411d659d94c5efc9c49983a1579dea70efe52ca57e7783ef8a0c5fcd1dee70b3a0ffe95214c9d93b252d3ca720241c8 + languageName: node + linkType: hard + +"@json2csv/plainjs@npm:^7.0.6": + version: 7.0.6 + resolution: "@json2csv/plainjs@npm:7.0.6" + dependencies: + "@json2csv/formatters": "npm:^7.0.6" + "@streamparser/json": "npm:^0.0.20" + checksum: 10c0/46b8c581f24f6a738884bdf42552797413e3faf27460b6725879cc12d0bcc922be152fd36d2272b1d3cdb9055bdb41680bec90088b9babd4b0ef58fcfc907425 languageName: node linkType: hard +"@libs/cdk-utils@workspace:libs/cdk-utils": + version: 0.0.0-use.local + resolution: "@libs/cdk-utils@workspace:libs/cdk-utils" + languageName: unknown + linkType: soft + "@napi-rs/wasm-runtime@npm:0.2.4": version: 0.2.4 resolution: "@napi-rs/wasm-runtime@npm:0.2.4" @@ -3371,14 +2758,14 @@ __metadata: languageName: node linkType: hard -"@napi-rs/wasm-runtime@npm:^0.2.7": - version: 0.2.7 - resolution: "@napi-rs/wasm-runtime@npm:0.2.7" +"@napi-rs/wasm-runtime@npm:^0.2.9": + version: 0.2.11 + resolution: "@napi-rs/wasm-runtime@npm:0.2.11" dependencies: - "@emnapi/core": "npm:^1.3.1" - "@emnapi/runtime": "npm:^1.3.1" + "@emnapi/core": "npm:^1.4.3" + "@emnapi/runtime": "npm:^1.4.3" "@tybys/wasm-util": "npm:^0.9.0" - checksum: 10c0/04a5edd79144bfa4e821a373fb6d4939f10c578c5f3633b5e67a57d0f5e36a593f595834d26654ea757bba7cd80b6c42d0d1405d6a8460c5d774e8cd5c9548a4 + checksum: 10c0/049bd14c58b99fbe0967b95e9921c5503df196b59be22948d2155f17652eb305cff6728efd8685338b855da7e476dd2551fbe3a313fc2d810938f0717478441e languageName: node linkType: hard @@ -3431,9 +2818,9 @@ __metadata: languageName: node linkType: hard -"@nx/devkit@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/devkit@npm:20.4.6" +"@nx/devkit@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/devkit@npm:21.3.11" dependencies: ejs: "npm:^3.1.7" enquirer: "npm:~2.3.6" @@ -3444,36 +2831,37 @@ __metadata: tslib: "npm:^2.3.0" yargs-parser: "npm:21.1.1" peerDependencies: - nx: ">= 19 <= 21" - checksum: 10c0/489ae272d80c13ee4cc404cbfc4c93b20a24802fb3c4895ad18cae6be72f4385dff8b423b49a3687f02595333c982d5da0156de2f15fbd86cd8e49fb4505726f + nx: 21.3.11 + checksum: 10c0/3af10cbc5eea359e7eede4aa742aa6785e7562ec525b28ec61fa087bc259c344a1cb22d01997e111231e194f4518a68344f3a0a0c6baa470a0c965359fca8a52 languageName: node linkType: hard -"@nx/esbuild@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/esbuild@npm:20.4.6" +"@nx/esbuild@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/esbuild@npm:21.3.11" dependencies: - "@nx/devkit": "npm:20.4.6" - "@nx/js": "npm:20.4.6" + "@nx/devkit": "npm:21.3.11" + "@nx/js": "npm:21.3.11" picocolors: "npm:^1.1.0" - tinyglobby: "npm:^0.2.10" + tinyglobby: "npm:^0.2.12" tsconfig-paths: "npm:^4.1.2" tslib: "npm:^2.3.0" peerDependencies: - esbuild: ~0.19.2 + esbuild: ">=0.19.2 <1.0.0" peerDependenciesMeta: esbuild: optional: true - checksum: 10c0/7cb55ae50d5704b531fab543e259357285d2fb9f85650393e907235752197f1f74088b5df0b1b82464ccd965220700d882900c199d2ebd0c85225c6167f2eaf0 + checksum: 10c0/0872eda3db5b317893c7bc0572144aad5afed0d7faf633535256b6e174193d6aac8a1f5ef9fae8259e28c3db1c688f9af575a715e8fc6bce66f3b719596c4dee languageName: node linkType: hard -"@nx/eslint-plugin@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/eslint-plugin@npm:20.4.6" +"@nx/eslint-plugin@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/eslint-plugin@npm:21.3.11" dependencies: - "@nx/devkit": "npm:20.4.6" - "@nx/js": "npm:20.4.6" + "@nx/devkit": "npm:21.3.11" + "@nx/js": "npm:21.3.11" + "@phenomnomnominal/tsquery": "npm:~5.0.1" "@typescript-eslint/type-utils": "npm:^8.0.0" "@typescript-eslint/utils": "npm:^8.0.0" chalk: "npm:^4.1.0" @@ -3484,59 +2872,36 @@ __metadata: tslib: "npm:^2.3.0" peerDependencies: "@typescript-eslint/parser": ^6.13.2 || ^7.0.0 || ^8.0.0 - eslint-config-prettier: ^9.0.0 + eslint-config-prettier: ^10.0.0 peerDependenciesMeta: eslint-config-prettier: optional: true - checksum: 10c0/0d79853f1a83f5afb47f86a6d13cfec0dfaadb6473c6b8d756cd3332cbc1caa4d27be8234cc1e7c96f51533bf2af0c5cfa7d5596a54fc5589d631d6b65c5c11b + checksum: 10c0/b4126d0e91a70806d338d2ed46a47579ec898bdeca3c8672631058ba7b1373147f529651e961f92f487fd7d423d60bd38e299c047096a6ff17ce33c0310e8011 languageName: node linkType: hard -"@nx/eslint@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/eslint@npm:20.4.6" +"@nx/eslint@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/eslint@npm:21.3.11" dependencies: - "@nx/devkit": "npm:20.4.6" - "@nx/js": "npm:20.4.6" + "@nx/devkit": "npm:21.3.11" + "@nx/js": "npm:21.3.11" semver: "npm:^7.5.3" tslib: "npm:^2.3.0" - typescript: "npm:~5.7.2" + typescript: "npm:~5.8.2" peerDependencies: "@zkochan/js-yaml": 0.0.7 eslint: ^8.0.0 || ^9.0.0 peerDependenciesMeta: "@zkochan/js-yaml": optional: true - checksum: 10c0/a013543614d36782b88790f6a63d708a0829711cd81037ec7c03017074ded18b069f1342afabac7814222567b8a2d8bbfd926bfe44b83f2443f75cde47b1f510 - languageName: node - linkType: hard - -"@nx/jest@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/jest@npm:20.4.6" - dependencies: - "@jest/reporters": "npm:^29.4.1" - "@jest/test-result": "npm:^29.4.1" - "@nx/devkit": "npm:20.4.6" - "@nx/js": "npm:20.4.6" - "@phenomnomnominal/tsquery": "npm:~5.0.1" - identity-obj-proxy: "npm:3.0.0" - jest-config: "npm:^29.4.1" - jest-resolve: "npm:^29.4.1" - jest-util: "npm:^29.4.1" - minimatch: "npm:9.0.3" - picocolors: "npm:^1.1.0" - resolve.exports: "npm:2.0.3" - semver: "npm:^7.5.3" - tslib: "npm:^2.3.0" - yargs-parser: "npm:21.1.1" - checksum: 10c0/82d38486622902663ddfd0a21c5398a8672f7d6b37b325c343fa2d1ae669ab3c6a0475d6b0350c178586ca31e668b564c722916d3043b775b88c34b5f1088955 + checksum: 10c0/50294e2a3355b312b76c750d6c79515c91e10a7a917ae17e715865400aa41e02e1476512b2488ab1afda6fa24c9de4a2431e3528e83cd57a6b9c43e14df4c899 languageName: node linkType: hard -"@nx/js@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/js@npm:20.4.6" +"@nx/js@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/js@npm:21.3.11" dependencies: "@babel/core": "npm:^7.23.2" "@babel/plugin-proposal-decorators": "npm:^7.22.7" @@ -3545,8 +2910,8 @@ __metadata: "@babel/preset-env": "npm:^7.23.2" "@babel/preset-typescript": "npm:^7.22.5" "@babel/runtime": "npm:^7.22.6" - "@nx/devkit": "npm:20.4.6" - "@nx/workspace": "npm:20.4.6" + "@nx/devkit": "npm:21.3.11" + "@nx/workspace": "npm:21.3.11" "@zkochan/js-yaml": "npm:0.0.7" babel-plugin-const-enum: "npm:^1.0.1" babel-plugin-macros: "npm:^3.1.0" @@ -3558,538 +2923,272 @@ __metadata: ignore: "npm:^5.0.4" js-tokens: "npm:^4.0.0" jsonc-parser: "npm:3.2.0" - minimatch: "npm:9.0.3" npm-package-arg: "npm:11.0.1" npm-run-path: "npm:^4.0.1" ora: "npm:5.3.0" + picocolors: "npm:^1.1.0" + picomatch: "npm:4.0.2" semver: "npm:^7.5.3" source-map-support: "npm:0.5.19" - tinyglobby: "npm:^0.2.10" - ts-node: "npm:10.9.1" - tsconfig-paths: "npm:^4.1.2" + tinyglobby: "npm:^0.2.12" tslib: "npm:^2.3.0" peerDependencies: - verdaccio: ^5.0.4 + verdaccio: ^6.0.5 peerDependenciesMeta: verdaccio: optional: true - checksum: 10c0/7eff1214a93c349bec8381daca0f9916f2ea5d9f163fe3f65f3d8bfc976f5db7495eaa95ebf446bda7ffd1a85e7f1dbbf6670c494695a604699d9173c15843a5 + checksum: 10c0/23202330c9fb0fd801b925be467da5f591849dab13b0009d6c223b8f525301e3dab604c89cb6542e8f11d66d885f0451aee8feec4cb5f4231467563a57f7115d languageName: node linkType: hard -"@nx/nx-darwin-arm64@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/nx-darwin-arm64@npm:20.4.6" +"@nx/nx-darwin-arm64@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/nx-darwin-arm64@npm:21.3.11" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@nx/nx-darwin-x64@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/nx-darwin-x64@npm:20.4.6" +"@nx/nx-darwin-x64@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/nx-darwin-x64@npm:21.3.11" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@nx/nx-freebsd-x64@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/nx-freebsd-x64@npm:20.4.6" +"@nx/nx-freebsd-x64@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/nx-freebsd-x64@npm:21.3.11" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@nx/nx-linux-arm-gnueabihf@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/nx-linux-arm-gnueabihf@npm:20.4.6" +"@nx/nx-linux-arm-gnueabihf@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/nx-linux-arm-gnueabihf@npm:21.3.11" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@nx/nx-linux-arm64-gnu@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/nx-linux-arm64-gnu@npm:20.4.6" +"@nx/nx-linux-arm64-gnu@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/nx-linux-arm64-gnu@npm:21.3.11" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@nx/nx-linux-arm64-musl@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/nx-linux-arm64-musl@npm:20.4.6" +"@nx/nx-linux-arm64-musl@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/nx-linux-arm64-musl@npm:21.3.11" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@nx/nx-linux-x64-gnu@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/nx-linux-x64-gnu@npm:20.4.6" +"@nx/nx-linux-x64-gnu@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/nx-linux-x64-gnu@npm:21.3.11" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@nx/nx-linux-x64-musl@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/nx-linux-x64-musl@npm:20.4.6" +"@nx/nx-linux-x64-musl@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/nx-linux-x64-musl@npm:21.3.11" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@nx/nx-win32-arm64-msvc@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/nx-win32-arm64-msvc@npm:20.4.6" +"@nx/nx-win32-arm64-msvc@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/nx-win32-arm64-msvc@npm:21.3.11" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@nx/nx-win32-x64-msvc@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/nx-win32-x64-msvc@npm:20.4.6" +"@nx/nx-win32-x64-msvc@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/nx-win32-x64-msvc@npm:21.3.11" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@nx/plugin@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/plugin@npm:20.4.6" - dependencies: - "@nx/devkit": "npm:20.4.6" - "@nx/eslint": "npm:20.4.6" - "@nx/jest": "npm:20.4.6" - "@nx/js": "npm:20.4.6" - tslib: "npm:^2.3.0" - checksum: 10c0/9e5a6ad64448d809eaa96f3922dcad6f7ddd841a4bb750310ac4da0edb4a0cf11750faf2d4805fba7b56569c8cbeb939a4b08f1e2c268f37a44166568157fd88 - languageName: node - linkType: hard - -"@nx/vite@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/vite@npm:20.4.6" +"@nx/vite@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/vite@npm:21.3.11" dependencies: - "@nx/devkit": "npm:20.4.6" - "@nx/js": "npm:20.4.6" + "@nx/devkit": "npm:21.3.11" + "@nx/js": "npm:21.3.11" "@phenomnomnominal/tsquery": "npm:~5.0.1" "@swc/helpers": "npm:~0.5.0" + ajv: "npm:^8.0.0" enquirer: "npm:~2.3.6" - minimatch: "npm:9.0.3" + picomatch: "npm:4.0.2" + semver: "npm:^7.6.3" tsconfig-paths: "npm:^4.1.2" peerDependencies: - vite: ^5.0.0 - vitest: ^1.3.1 || ^2.0.0 - checksum: 10c0/afb923c28f604196f6427ea26e3128bfd712ab694ae2c8d0e1b2c3516ccfcc9255fc5e3ba5c1661d390b550387b90071381db0c67a4634a8d9ed36c738da5b0b + vite: ^5.0.0 || ^6.0.0 + vitest: ^1.3.1 || ^2.0.0 || ^3.0.0 + checksum: 10c0/0670ac688b4d99b5df9c4fd6b038f6d7271ef3948efd44d18ffcc83341c5f1cd42dee5fb9b2ee9db9ffb1c609b8bbb8abd84164591c9d655683cdf85376decf5 + languageName: node + linkType: hard + +"@nx/web@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/web@npm:21.3.11" + dependencies: + "@nx/devkit": "npm:21.3.11" + "@nx/js": "npm:21.3.11" + detect-port: "npm:^1.5.1" + http-server: "npm:^14.1.0" + picocolors: "npm:^1.1.0" + tslib: "npm:^2.3.0" + checksum: 10c0/ad454f6660e8cf7870af931271e3450bf0b19d6aca6677bd45a557325ba9081518bb694a8de60fdc4c4b4279bd4acc0dfa8c054c22038107a3d445dc7846d183 languageName: node linkType: hard -"@nx/workspace@npm:20.4.6": - version: 20.4.6 - resolution: "@nx/workspace@npm:20.4.6" +"@nx/workspace@npm:21.3.11": + version: 21.3.11 + resolution: "@nx/workspace@npm:21.3.11" dependencies: - "@nx/devkit": "npm:20.4.6" + "@nx/devkit": "npm:21.3.11" + "@zkochan/js-yaml": "npm:0.0.7" chalk: "npm:^4.1.0" enquirer: "npm:~2.3.6" - nx: "npm:20.4.6" + nx: "npm:21.3.11" + picomatch: "npm:4.0.2" tslib: "npm:^2.3.0" yargs-parser: "npm:21.1.1" - checksum: 10c0/7e595c81049d3b8d25d08203e55ca25a0cf3dbb7bbad233df95a92a07943321a71cebc5cd7548e8e2c5b6af0d30ccf04888447bd385ff91dfe2c0c9a9239e804 + checksum: 10c0/d652c048cfffa6467e7294115fb4b6849d25fbbca1c020740b173c9dddcd0d80df15b0b94fd36775885470478ebd1b4e41202bb5af98910e1dd84f15fee4c123 languageName: node linkType: hard -"@opentelemetry/api-logs@npm:0.53.0": - version: 0.53.0 - resolution: "@opentelemetry/api-logs@npm:0.53.0" +"@oclif/core@npm:^4": + version: 4.5.2 + resolution: "@oclif/core@npm:4.5.2" dependencies: - "@opentelemetry/api": "npm:^1.0.0" - checksum: 10c0/969ad3bbb74e3de6fdfe8eb9b3ab86d3dc284ca7bffd0ca67eef64efd08c97a4305696afe0b7b03e5d356f15d0a1a67ac517e5fa7d1ddee6fdc249eef2209fcb + ansi-escapes: "npm:^4.3.2" + ansis: "npm:^3.17.0" + clean-stack: "npm:^3.0.1" + cli-spinners: "npm:^2.9.2" + debug: "npm:^4.4.0" + ejs: "npm:^3.1.10" + get-package-type: "npm:^0.1.0" + indent-string: "npm:^4.0.0" + is-wsl: "npm:^2.2.0" + lilconfig: "npm:^3.1.3" + minimatch: "npm:^9.0.5" + semver: "npm:^7.6.3" + string-width: "npm:^4.2.3" + supports-color: "npm:^8" + tinyglobby: "npm:^0.2.14" + widest-line: "npm:^3.1.0" + wordwrap: "npm:^1.0.0" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/a40a6b392192c5ba7183dc3f215f1f6dba3aa584bb4837866a01f9ad9ad8fb99d1c1418ed661d051dfd5752ca229e6766cf108411fc2e6c908cbd29d86b89d22 languageName: node linkType: hard -"@opentelemetry/api@npm:1.9.0, @opentelemetry/api@npm:^1.0.0": - version: 1.9.0 - resolution: "@opentelemetry/api@npm:1.9.0" - checksum: 10c0/9aae2fe6e8a3a3eeb6c1fdef78e1939cf05a0f37f8a4fae4d6bf2e09eb1e06f966ece85805626e01ba5fab48072b94f19b835449e58b6d26720ee19a58298add +"@oclif/plugin-help@npm:^6": + version: 6.2.32 + resolution: "@oclif/plugin-help@npm:6.2.32" + dependencies: + "@oclif/core": "npm:^4" + checksum: 10c0/240e081c61d6f3a821ea6b6489c9b0f9a19aa540c8f572b9f352b3fcdc5d44b447239c31b8d9e22dbb53994833a9ab9f64cf32feba02758c37f0563a07081509 languageName: node linkType: hard -"@opentelemetry/context-async-hooks@npm:1.26.0": - version: 1.26.0 - resolution: "@opentelemetry/context-async-hooks@npm:1.26.0" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/76ed53be50a472cbfe26a62620cb2a34f031474d08d302d31eb95d71cac2ed1567c6fa302c7ac5498e9d467d7d8e64f8d0e58c5c8b7bd987a352baafe5d9b213 +"@oxc-resolver/binding-darwin-arm64@npm:5.3.0": + version: 5.3.0 + resolution: "@oxc-resolver/binding-darwin-arm64@npm:5.3.0" + conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@opentelemetry/core@npm:1.26.0": - version: 1.26.0 - resolution: "@opentelemetry/core@npm:1.26.0" - dependencies: - "@opentelemetry/semantic-conventions": "npm:1.27.0" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/8038a3b9124a0b3b48dceb3949f88726c6853eac33b79fc049856f78dcf4b7ee453db1e6f4d5205a79b315caba809cb7d2f853946cf14773e50ce6a87fd5260e +"@oxc-resolver/binding-darwin-x64@npm:5.3.0": + version: 5.3.0 + resolution: "@oxc-resolver/binding-darwin-x64@npm:5.3.0" + conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@opentelemetry/exporter-trace-otlp-http@npm:0.53.0": - version: 0.53.0 - resolution: "@opentelemetry/exporter-trace-otlp-http@npm:0.53.0" - dependencies: - "@opentelemetry/core": "npm:1.26.0" - "@opentelemetry/otlp-exporter-base": "npm:0.53.0" - "@opentelemetry/otlp-transformer": "npm:0.53.0" - "@opentelemetry/resources": "npm:1.26.0" - "@opentelemetry/sdk-trace-base": "npm:1.26.0" - peerDependencies: - "@opentelemetry/api": ^1.0.0 - checksum: 10c0/234fd44b87608e9332e9756a93db41b86ea5a976fb3b66242b79df05bce73256435fe767fd1dd2304ffac6fc8c49ea44c6b31b52fbff12d4ca120e2b49efce30 +"@oxc-resolver/binding-freebsd-x64@npm:5.3.0": + version: 5.3.0 + resolution: "@oxc-resolver/binding-freebsd-x64@npm:5.3.0" + conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@opentelemetry/otlp-exporter-base@npm:0.53.0": - version: 0.53.0 - resolution: "@opentelemetry/otlp-exporter-base@npm:0.53.0" - dependencies: - "@opentelemetry/core": "npm:1.26.0" - "@opentelemetry/otlp-transformer": "npm:0.53.0" - peerDependencies: - "@opentelemetry/api": ^1.0.0 - checksum: 10c0/bc68d59106c095627bfbc522b9c3c7e1770e0d9e5e5abfd1912585209cd892ded1ac06002c57015ca51c5335fed2f82ab6c1fb7ac23686621eb72cc890c4dfdc +"@oxc-resolver/binding-linux-arm-gnueabihf@npm:5.3.0": + version: 5.3.0 + resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:5.3.0" + conditions: os=linux & cpu=arm languageName: node linkType: hard -"@opentelemetry/otlp-transformer@npm:0.53.0": - version: 0.53.0 - resolution: "@opentelemetry/otlp-transformer@npm:0.53.0" - dependencies: - "@opentelemetry/api-logs": "npm:0.53.0" - "@opentelemetry/core": "npm:1.26.0" - "@opentelemetry/resources": "npm:1.26.0" - "@opentelemetry/sdk-logs": "npm:0.53.0" - "@opentelemetry/sdk-metrics": "npm:1.26.0" - "@opentelemetry/sdk-trace-base": "npm:1.26.0" - protobufjs: "npm:^7.3.0" - peerDependencies: - "@opentelemetry/api": ^1.3.0 - checksum: 10c0/d9a43bb00ce5386aeb477cd95e72cd86114ed01b2e11e8f39c3988aa2bb56cbda16b533ffd55396ed374961c32e1cc76face565e21b6cedcc85e844776912666 +"@oxc-resolver/binding-linux-arm64-gnu@npm:5.3.0": + version: 5.3.0 + resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:5.3.0" + conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@opentelemetry/propagator-b3@npm:1.26.0": - version: 1.26.0 - resolution: "@opentelemetry/propagator-b3@npm:1.26.0" - dependencies: - "@opentelemetry/core": "npm:1.26.0" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/7b1e42872929b167a2d4155732d9253adfec65a307dbb05509b88ade2d7f68a8759714141a17c8e646199ad80a60529c02a45098a1fcce27f0cf0c69d90932d3 +"@oxc-resolver/binding-linux-arm64-musl@npm:5.3.0": + version: 5.3.0 + resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:5.3.0" + conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@opentelemetry/propagator-jaeger@npm:1.26.0": - version: 1.26.0 - resolution: "@opentelemetry/propagator-jaeger@npm:1.26.0" - dependencies: - "@opentelemetry/core": "npm:1.26.0" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/167a250f0c10223897f24335025af848b8fe0e5c550eafb5e9a011f301243faf3633ad74caebc6b38dfaac4ed4b138b1bf8149a33eadc2816c3d405d955fbc25 +"@oxc-resolver/binding-linux-riscv64-gnu@npm:5.3.0": + version: 5.3.0 + resolution: "@oxc-resolver/binding-linux-riscv64-gnu@npm:5.3.0" + conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@opentelemetry/resources@npm:1.26.0": - version: 1.26.0 - resolution: "@opentelemetry/resources@npm:1.26.0" - dependencies: - "@opentelemetry/core": "npm:1.26.0" - "@opentelemetry/semantic-conventions": "npm:1.27.0" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/62ffbf7edee8676055661cf608b32a52bfa46fedb1a88830b4d4d0faf6664edbcbf7922034d3690d11fe9ebef9d9f5ffcb05645e8c7b27c707bf57d5289617e9 - languageName: node - linkType: hard - -"@opentelemetry/sdk-logs@npm:0.53.0": - version: 0.53.0 - resolution: "@opentelemetry/sdk-logs@npm:0.53.0" - dependencies: - "@opentelemetry/api-logs": "npm:0.53.0" - "@opentelemetry/core": "npm:1.26.0" - "@opentelemetry/resources": "npm:1.26.0" - peerDependencies: - "@opentelemetry/api": ">=1.4.0 <1.10.0" - checksum: 10c0/bd47e9a70966c53ac7b394ba0f27a4400b4fdebfbe781027f53457954b79b1c821301936bc87f5fe09a462af579c02c4fa27f353b6d9a1dca0b760cc284ec068 - languageName: node - linkType: hard - -"@opentelemetry/sdk-metrics@npm:1.26.0": - version: 1.26.0 - resolution: "@opentelemetry/sdk-metrics@npm:1.26.0" - dependencies: - "@opentelemetry/core": "npm:1.26.0" - "@opentelemetry/resources": "npm:1.26.0" - peerDependencies: - "@opentelemetry/api": ">=1.3.0 <1.10.0" - checksum: 10c0/640a0dcfa4af73a029ef57b51f8ecc1d08dfb0c3a5242552876fab36c7f9ae7c410fa52dbc5202a2d8675fcfe61df3c49205079963f1c11acfe42981d1d01a76 - languageName: node - linkType: hard - -"@opentelemetry/sdk-trace-base@npm:1.26.0": - version: 1.26.0 - resolution: "@opentelemetry/sdk-trace-base@npm:1.26.0" - dependencies: - "@opentelemetry/core": "npm:1.26.0" - "@opentelemetry/resources": "npm:1.26.0" - "@opentelemetry/semantic-conventions": "npm:1.27.0" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/0d5fc19179375f1599edae91b7232f432faf8631746835a10d0cd0c4907d0ca3ed156cc8087d4e78efdfbd9ba5ba414cc9e1399172c2aa68d7e0cd5190394d87 - languageName: node - linkType: hard - -"@opentelemetry/sdk-trace-node@npm:1.26.0": - version: 1.26.0 - resolution: "@opentelemetry/sdk-trace-node@npm:1.26.0" - dependencies: - "@opentelemetry/context-async-hooks": "npm:1.26.0" - "@opentelemetry/core": "npm:1.26.0" - "@opentelemetry/propagator-b3": "npm:1.26.0" - "@opentelemetry/propagator-jaeger": "npm:1.26.0" - "@opentelemetry/sdk-trace-base": "npm:1.26.0" - semver: "npm:^7.5.2" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/6924c565b4d187810c48a7b92215f8f986a8831bc24620856aaaeb057bf19dd8916f070a77cc45aa76182f6b70b534749274ba168d27941f0ed752d171ca3b51 - languageName: node - linkType: hard - -"@opentelemetry/semantic-conventions@npm:1.27.0": - version: 1.27.0 - resolution: "@opentelemetry/semantic-conventions@npm:1.27.0" - checksum: 10c0/b859773ba06b7e53dd9c6b45a171bf3000e405733adbf462ae91004ed011bc80edb5beecb817fb344a085adfd06045ab5b729c9bd0f1479650ad377134fb798c - languageName: node - linkType: hard - -"@oxc-resolver/binding-darwin-arm64@npm:5.0.1": - version: 5.0.1 - resolution: "@oxc-resolver/binding-darwin-arm64@npm:5.0.1" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-darwin-x64@npm:5.0.1": - version: 5.0.1 - resolution: "@oxc-resolver/binding-darwin-x64@npm:5.0.1" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-freebsd-x64@npm:5.0.1": - version: 5.0.1 - resolution: "@oxc-resolver/binding-freebsd-x64@npm:5.0.1" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-arm-gnueabihf@npm:5.0.1": - version: 5.0.1 - resolution: "@oxc-resolver/binding-linux-arm-gnueabihf@npm:5.0.1" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-arm64-gnu@npm:5.0.1": - version: 5.0.1 - resolution: "@oxc-resolver/binding-linux-arm64-gnu@npm:5.0.1" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@oxc-resolver/binding-linux-arm64-musl@npm:5.0.1": - version: 5.0.1 - resolution: "@oxc-resolver/binding-linux-arm64-musl@npm:5.0.1" - conditions: os=linux & cpu=arm64 & libc=musl +"@oxc-resolver/binding-linux-s390x-gnu@npm:5.3.0": + version: 5.3.0 + resolution: "@oxc-resolver/binding-linux-s390x-gnu@npm:5.3.0" + conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-x64-gnu@npm:5.0.1": - version: 5.0.1 - resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:5.0.1" +"@oxc-resolver/binding-linux-x64-gnu@npm:5.3.0": + version: 5.3.0 + resolution: "@oxc-resolver/binding-linux-x64-gnu@npm:5.3.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@oxc-resolver/binding-linux-x64-musl@npm:5.0.1": - version: 5.0.1 - resolution: "@oxc-resolver/binding-linux-x64-musl@npm:5.0.1" +"@oxc-resolver/binding-linux-x64-musl@npm:5.3.0": + version: 5.3.0 + resolution: "@oxc-resolver/binding-linux-x64-musl@npm:5.3.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@oxc-resolver/binding-wasm32-wasi@npm:5.0.1": - version: 5.0.1 - resolution: "@oxc-resolver/binding-wasm32-wasi@npm:5.0.1" +"@oxc-resolver/binding-wasm32-wasi@npm:5.3.0": + version: 5.3.0 + resolution: "@oxc-resolver/binding-wasm32-wasi@npm:5.3.0" dependencies: - "@napi-rs/wasm-runtime": "npm:^0.2.7" + "@napi-rs/wasm-runtime": "npm:^0.2.9" conditions: cpu=wasm32 languageName: node linkType: hard -"@oxc-resolver/binding-win32-arm64-msvc@npm:5.0.1": - version: 5.0.1 - resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:5.0.1" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@oxc-resolver/binding-win32-x64-msvc@npm:5.0.1": - version: 5.0.1 - resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:5.0.1" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@parcel/watcher-android-arm64@npm:2.5.1": - version: 2.5.1 - resolution: "@parcel/watcher-android-arm64@npm:2.5.1" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@parcel/watcher-darwin-arm64@npm:2.5.1": - version: 2.5.1 - resolution: "@parcel/watcher-darwin-arm64@npm:2.5.1" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@parcel/watcher-darwin-x64@npm:2.5.1": - version: 2.5.1 - resolution: "@parcel/watcher-darwin-x64@npm:2.5.1" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@parcel/watcher-freebsd-x64@npm:2.5.1": - version: 2.5.1 - resolution: "@parcel/watcher-freebsd-x64@npm:2.5.1" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@parcel/watcher-linux-arm-glibc@npm:2.5.1": - version: 2.5.1 - resolution: "@parcel/watcher-linux-arm-glibc@npm:2.5.1" - conditions: os=linux & cpu=arm & libc=glibc - languageName: node - linkType: hard - -"@parcel/watcher-linux-arm-musl@npm:2.5.1": - version: 2.5.1 - resolution: "@parcel/watcher-linux-arm-musl@npm:2.5.1" - conditions: os=linux & cpu=arm & libc=musl - languageName: node - linkType: hard - -"@parcel/watcher-linux-arm64-glibc@npm:2.5.1": - version: 2.5.1 - resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.5.1" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@parcel/watcher-linux-arm64-musl@npm:2.5.1": - version: 2.5.1 - resolution: "@parcel/watcher-linux-arm64-musl@npm:2.5.1" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@parcel/watcher-linux-x64-glibc@npm:2.5.1": - version: 2.5.1 - resolution: "@parcel/watcher-linux-x64-glibc@npm:2.5.1" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@parcel/watcher-linux-x64-musl@npm:2.5.1": - version: 2.5.1 - resolution: "@parcel/watcher-linux-x64-musl@npm:2.5.1" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@parcel/watcher-win32-arm64@npm:2.5.1": - version: 2.5.1 - resolution: "@parcel/watcher-win32-arm64@npm:2.5.1" +"@oxc-resolver/binding-win32-arm64-msvc@npm:5.3.0": + version: 5.3.0 + resolution: "@oxc-resolver/binding-win32-arm64-msvc@npm:5.3.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@parcel/watcher-win32-ia32@npm:2.5.1": - version: 2.5.1 - resolution: "@parcel/watcher-win32-ia32@npm:2.5.1" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@parcel/watcher-win32-x64@npm:2.5.1": - version: 2.5.1 - resolution: "@parcel/watcher-win32-x64@npm:2.5.1" +"@oxc-resolver/binding-win32-x64-msvc@npm:5.3.0": + version: 5.3.0 + resolution: "@oxc-resolver/binding-win32-x64-msvc@npm:5.3.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@parcel/watcher@npm:^2.4.1": - version: 2.5.1 - resolution: "@parcel/watcher@npm:2.5.1" - dependencies: - "@parcel/watcher-android-arm64": "npm:2.5.1" - "@parcel/watcher-darwin-arm64": "npm:2.5.1" - "@parcel/watcher-darwin-x64": "npm:2.5.1" - "@parcel/watcher-freebsd-x64": "npm:2.5.1" - "@parcel/watcher-linux-arm-glibc": "npm:2.5.1" - "@parcel/watcher-linux-arm-musl": "npm:2.5.1" - "@parcel/watcher-linux-arm64-glibc": "npm:2.5.1" - "@parcel/watcher-linux-arm64-musl": "npm:2.5.1" - "@parcel/watcher-linux-x64-glibc": "npm:2.5.1" - "@parcel/watcher-linux-x64-musl": "npm:2.5.1" - "@parcel/watcher-win32-arm64": "npm:2.5.1" - "@parcel/watcher-win32-ia32": "npm:2.5.1" - "@parcel/watcher-win32-x64": "npm:2.5.1" - detect-libc: "npm:^1.0.3" - is-glob: "npm:^4.0.3" - micromatch: "npm:^4.0.5" - node-addon-api: "npm:^7.0.0" - node-gyp: "npm:latest" - dependenciesMeta: - "@parcel/watcher-android-arm64": - optional: true - "@parcel/watcher-darwin-arm64": - optional: true - "@parcel/watcher-darwin-x64": - optional: true - "@parcel/watcher-freebsd-x64": - optional: true - "@parcel/watcher-linux-arm-glibc": - optional: true - "@parcel/watcher-linux-arm-musl": - optional: true - "@parcel/watcher-linux-arm64-glibc": - optional: true - "@parcel/watcher-linux-arm64-musl": - optional: true - "@parcel/watcher-linux-x64-glibc": - optional: true - "@parcel/watcher-linux-x64-musl": - optional: true - "@parcel/watcher-win32-arm64": - optional: true - "@parcel/watcher-win32-ia32": - optional: true - "@parcel/watcher-win32-x64": - optional: true - checksum: 10c0/8f35073d0c0b34a63d4c8d2213482f0ebc6a25de7b2cdd415d19cb929964a793cb285b68d1d50bfb732b070b3c82a2fdb4eb9c250eab709a1cd9d63345455a82 - languageName: node - linkType: hard - "@phenomnomnominal/tsquery@npm:~5.0.1": version: 5.0.1 resolution: "@phenomnomnominal/tsquery@npm:5.0.1" @@ -4108,681 +3207,254 @@ __metadata: languageName: node linkType: hard -"@pkgr/core@npm:^0.2.3": - version: 0.2.4 - resolution: "@pkgr/core@npm:0.2.4" - checksum: 10c0/2528a443bbbef5d4686614e1d73f834f19ccbc975f62b2a64974a6b97bcdf677b9c5e8948e04808ac4f0d853e2f422adfaae2a06e9e9f4f5cf8af76f1adf8dc1 +"@pkgr/core@npm:^0.2.4": + version: 0.2.7 + resolution: "@pkgr/core@npm:0.2.7" + checksum: 10c0/951f5ebf2feb6e9dbc202d937f1a364d60f2bf0e3e53594251bcc1d9d2ed0df0a919c49ba162a9499fce73cf46ebe4d7959a8dfbac03511dbe79b69f5fedb804 languageName: node linkType: hard "@polka/url@npm:^1.0.0-next.24": - version: 1.0.0-next.28 - resolution: "@polka/url@npm:1.0.0-next.28" - checksum: 10c0/acc5ea62597e4da2fb42dbee02749d07f102ae7d6d2c966bf7e423c79cd65d1621da305af567e6e7c232f3b565e242d1ec932cbb3dcc0db1508d02e9a2cafa2e - languageName: node - linkType: hard - -"@protobufjs/aspromise@npm:^1.1.1, @protobufjs/aspromise@npm:^1.1.2": - version: 1.1.2 - resolution: "@protobufjs/aspromise@npm:1.1.2" - checksum: 10c0/a83343a468ff5b5ec6bff36fd788a64c839e48a07ff9f4f813564f58caf44d011cd6504ed2147bf34835bd7a7dd2107052af755961c6b098fd8902b4f6500d0f - languageName: node - linkType: hard - -"@protobufjs/base64@npm:^1.1.2": - version: 1.1.2 - resolution: "@protobufjs/base64@npm:1.1.2" - checksum: 10c0/eec925e681081af190b8ee231f9bad3101e189abbc182ff279da6b531e7dbd2a56f1f306f37a80b1be9e00aa2d271690d08dcc5f326f71c9eed8546675c8caf6 - languageName: node - linkType: hard - -"@protobufjs/codegen@npm:^2.0.4": - version: 2.0.4 - resolution: "@protobufjs/codegen@npm:2.0.4" - checksum: 10c0/26ae337c5659e41f091606d16465bbcc1df1f37cc1ed462438b1f67be0c1e28dfb2ca9f294f39100c52161aef82edf758c95d6d75650a1ddf31f7ddee1440b43 - languageName: node - linkType: hard - -"@protobufjs/eventemitter@npm:^1.1.0": - version: 1.1.0 - resolution: "@protobufjs/eventemitter@npm:1.1.0" - checksum: 10c0/1eb0a75180e5206d1033e4138212a8c7089a3d418c6dfa5a6ce42e593a4ae2e5892c4ef7421f38092badba4040ea6a45f0928869989411001d8c1018ea9a6e70 - languageName: node - linkType: hard - -"@protobufjs/fetch@npm:^1.1.0": - version: 1.1.0 - resolution: "@protobufjs/fetch@npm:1.1.0" - dependencies: - "@protobufjs/aspromise": "npm:^1.1.1" - "@protobufjs/inquire": "npm:^1.1.0" - checksum: 10c0/cda6a3dc2d50a182c5865b160f72077aac197046600091dbb005dd0a66db9cce3c5eaed6d470ac8ed49d7bcbeef6ee5f0bc288db5ff9a70cbd003e5909065233 - languageName: node - linkType: hard - -"@protobufjs/float@npm:^1.0.2": - version: 1.0.2 - resolution: "@protobufjs/float@npm:1.0.2" - checksum: 10c0/18f2bdede76ffcf0170708af15c9c9db6259b771e6b84c51b06df34a9c339dbbeec267d14ce0bddd20acc142b1d980d983d31434398df7f98eb0c94a0eb79069 - languageName: node - linkType: hard - -"@protobufjs/inquire@npm:^1.1.0": - version: 1.1.0 - resolution: "@protobufjs/inquire@npm:1.1.0" - checksum: 10c0/64372482efcba1fb4d166a2664a6395fa978b557803857c9c03500e0ac1013eb4b1aacc9ed851dd5fc22f81583670b4f4431bae186f3373fedcfde863ef5921a - languageName: node - linkType: hard - -"@protobufjs/path@npm:^1.1.2": - version: 1.1.2 - resolution: "@protobufjs/path@npm:1.1.2" - checksum: 10c0/cece0a938e7f5dfd2fa03f8c14f2f1cf8b0d6e13ac7326ff4c96ea311effd5fb7ae0bba754fbf505312af2e38500250c90e68506b97c02360a43793d88a0d8b4 - languageName: node - linkType: hard - -"@protobufjs/pool@npm:^1.1.0": - version: 1.1.0 - resolution: "@protobufjs/pool@npm:1.1.0" - checksum: 10c0/eda2718b7f222ac6e6ad36f758a92ef90d26526026a19f4f17f668f45e0306a5bd734def3f48f51f8134ae0978b6262a5c517c08b115a551756d1a3aadfcf038 - languageName: node - linkType: hard - -"@protobufjs/utf8@npm:^1.1.0": - version: 1.1.0 - resolution: "@protobufjs/utf8@npm:1.1.0" - checksum: 10c0/a3fe31fe3fa29aa3349e2e04ee13dc170cc6af7c23d92ad49e3eeaf79b9766264544d3da824dba93b7855bd6a2982fb40032ef40693da98a136d835752beb487 - languageName: node - linkType: hard - -"@redocly/ajv@npm:8.11.2, @redocly/ajv@npm:^8.11.2": - version: 8.11.2 - resolution: "@redocly/ajv@npm:8.11.2" - dependencies: - fast-deep-equal: "npm:^3.1.1" - json-schema-traverse: "npm:^1.0.0" - require-from-string: "npm:^2.0.2" - uri-js-replace: "npm:^1.0.1" - checksum: 10c0/249ca2e237f7b1248ee1018ba1ad3a739cb9f16e5f7fe821875948806980d65246c79ef7d5e7bd8db773c120e2cd5ce15aa47883893608e1965ca4d45c5572f4 - languageName: node - linkType: hard - -"@redocly/cli@npm:^1.31.1": - version: 1.34.0 - resolution: "@redocly/cli@npm:1.34.0" - dependencies: - "@opentelemetry/api": "npm:1.9.0" - "@opentelemetry/exporter-trace-otlp-http": "npm:0.53.0" - "@opentelemetry/resources": "npm:1.26.0" - "@opentelemetry/sdk-trace-node": "npm:1.26.0" - "@opentelemetry/semantic-conventions": "npm:1.27.0" - "@redocly/config": "npm:^0.22.0" - "@redocly/openapi-core": "npm:1.34.0" - "@redocly/respect-core": "npm:1.34.0" - abort-controller: "npm:^3.0.0" - chokidar: "npm:^3.5.1" - colorette: "npm:^1.2.0" - core-js: "npm:^3.32.1" - dotenv: "npm:^16.4.7" - form-data: "npm:^4.0.0" - get-port-please: "npm:^3.0.1" - glob: "npm:^7.1.6" - handlebars: "npm:^4.7.6" - mobx: "npm:^6.0.4" - pluralize: "npm:^8.0.0" - react: "npm:^17.0.0 || ^18.2.0 || ^19.0.0" - react-dom: "npm:^17.0.0 || ^18.2.0 || ^19.0.0" - redoc: "npm:2.4.0" - semver: "npm:^7.5.2" - simple-websocket: "npm:^9.0.0" - styled-components: "npm:^6.0.7" - yargs: "npm:17.0.1" - bin: - openapi: bin/cli.js - redocly: bin/cli.js - checksum: 10c0/61bb76b9738b7a7ae575c4f3ceaba79cbd3e4f1cbe68694ff648090a5d82c7208b99abf345051c68c6990979c4c272cbb2a0184b606b5ceebdef548afcdcbbef + version: 1.0.0-next.29 + resolution: "@polka/url@npm:1.0.0-next.29" + checksum: 10c0/0d58e081844095cb029d3c19a659bfefd09d5d51a2f791bc61eba7ea826f13d6ee204a8a448c2f5a855c17df07b37517373ff916dd05801063c0568ae9937684 languageName: node linkType: hard -"@redocly/config@npm:^0.22.0": - version: 0.22.1 - resolution: "@redocly/config@npm:0.22.1" - checksum: 10c0/1519770af7c34d651f064229c0b4a90484b411bff1026310f4a890e03be380e4eeab312257527140ce0187c41700dfc269a27722a524702b6d88c5ddbfeab04e - languageName: node - linkType: hard - -"@redocly/openapi-core@npm:1.34.0, @redocly/openapi-core@npm:^1.28.0, @redocly/openapi-core@npm:^1.31.1, @redocly/openapi-core@npm:^1.4.0": - version: 1.34.0 - resolution: "@redocly/openapi-core@npm:1.34.0" - dependencies: - "@redocly/ajv": "npm:^8.11.2" - "@redocly/config": "npm:^0.22.0" - colorette: "npm:^1.2.0" - https-proxy-agent: "npm:^7.0.5" - js-levenshtein: "npm:^1.1.6" - js-yaml: "npm:^4.1.0" - minimatch: "npm:^5.0.1" - pluralize: "npm:^8.0.0" - yaml-ast-parser: "npm:0.0.43" - checksum: 10c0/e069c26dc64d67ddf88939fce6d6d37d366a70ea8eb58bcdf8c09db44f271148d169a0e2c7f8540bb3d947ee95ab3907441f5efb11b93fe56e5039f5b7ce902f - languageName: node - linkType: hard - -"@redocly/respect-core@npm:1.34.0": - version: 1.34.0 - resolution: "@redocly/respect-core@npm:1.34.0" - dependencies: - "@faker-js/faker": "npm:^7.6.0" - "@redocly/ajv": "npm:8.11.2" - "@redocly/openapi-core": "npm:1.34.0" - better-ajv-errors: "npm:^1.2.0" - colorette: "npm:^2.0.20" - concat-stream: "npm:^2.0.0" - cookie: "npm:^0.7.2" - dotenv: "npm:16.4.5" - form-data: "npm:4.0.0" - jest-diff: "npm:^29.3.1" - jest-matcher-utils: "npm:^29.3.1" - js-yaml: "npm:4.1.0" - json-pointer: "npm:^0.6.2" - jsonpath-plus: "npm:^10.0.6" - open: "npm:^10.1.0" - openapi-sampler: "npm:^1.6.1" - outdent: "npm:^0.8.0" - set-cookie-parser: "npm:^2.3.5" - undici: "npm:^6.21.1" - checksum: 10c0/868b910b31e57f873fdc71f7f8a188f4d38b41634dcf612876a032d399386d90b51911c8ca62d8b9a044e3275c9a856431b354f13139b910b10ed8f6738dce94 - languageName: node - linkType: hard - -"@rollup/rollup-android-arm-eabi@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.37.0" +"@rollup/rollup-android-arm-eabi@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.44.2" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-android-arm64@npm:4.37.0" +"@rollup/rollup-android-arm64@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-android-arm64@npm:4.44.2" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-darwin-arm64@npm:4.37.0" +"@rollup/rollup-darwin-arm64@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-darwin-arm64@npm:4.44.2" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-darwin-x64@npm:4.37.0" +"@rollup/rollup-darwin-x64@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-darwin-x64@npm:4.44.2" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-freebsd-arm64@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-freebsd-arm64@npm:4.37.0" +"@rollup/rollup-freebsd-arm64@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.44.2" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-freebsd-x64@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-freebsd-x64@npm:4.37.0" +"@rollup/rollup-freebsd-x64@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-freebsd-x64@npm:4.44.2" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.37.0" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.44.2" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.37.0" +"@rollup/rollup-linux-arm-musleabihf@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.44.2" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.37.0" +"@rollup/rollup-linux-arm64-gnu@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.44.2" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.37.0" +"@rollup/rollup-linux-arm64-musl@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.44.2" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-loongarch64-gnu@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.37.0" +"@rollup/rollup-linux-loongarch64-gnu@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.44.2" conditions: os=linux & cpu=loong64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.37.0" +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.44.2" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.37.0" +"@rollup/rollup-linux-riscv64-gnu@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.44.2" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-musl@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.37.0" +"@rollup/rollup-linux-riscv64-musl@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.44.2" conditions: os=linux & cpu=riscv64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.37.0" +"@rollup/rollup-linux-s390x-gnu@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.44.2" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.37.0" +"@rollup/rollup-linux-x64-gnu@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.44.2" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.37.0" +"@rollup/rollup-linux-x64-musl@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.44.2" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.37.0" +"@rollup/rollup-win32-arm64-msvc@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.44.2" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.37.0" +"@rollup/rollup-win32-ia32-msvc@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.44.2" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.37.0": - version: 4.37.0 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.37.0" +"@rollup/rollup-win32-x64-msvc@npm:4.44.2": + version: 4.44.2 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.44.2" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@rtsao/scc@npm:^1.1.0": - version: 1.1.0 - resolution: "@rtsao/scc@npm:1.1.0" - checksum: 10c0/b5bcfb0d87f7d1c1c7c0f7693f53b07866ed9fec4c34a97a8c948fb9a7c0082e416ce4d3b60beb4f5e167cbe04cdeefbf6771320f3ede059b9ce91188c409a5b - languageName: node - linkType: hard - -"@serverless/dashboard-plugin@npm:^7.2.0": - version: 7.2.3 - resolution: "@serverless/dashboard-plugin@npm:7.2.3" - dependencies: - "@aws-sdk/client-cloudformation": "npm:^3.410.0" - "@aws-sdk/client-sts": "npm:^3.410.0" - "@serverless/event-mocks": "npm:^1.1.1" - "@serverless/platform-client": "npm:^4.5.1" - "@serverless/utils": "npm:^6.14.0" - child-process-ext: "npm:^3.0.1" - chokidar: "npm:^3.5.3" - flat: "npm:^5.0.2" - fs-extra: "npm:^9.1.0" - js-yaml: "npm:^4.1.0" - jszip: "npm:^3.10.1" - lodash: "npm:^4.17.21" - memoizee: "npm:^0.4.15" - ncjsm: "npm:^4.3.2" - node-dir: "npm:^0.1.17" - node-fetch: "npm:^2.6.8" - open: "npm:^7.4.2" - semver: "npm:^7.3.8" - simple-git: "npm:^3.16.0" - timers-ext: "npm:^0.1.7" - type: "npm:^2.7.2" - uuid: "npm:^8.3.2" - yamljs: "npm:^0.3.0" - checksum: 10c0/db14fd535a4092386132d00e6c10349fb3017393ee5897322d4c9c5fc81feef80f6f4194a1dfcbdd969ab3005eed52bcc706a971df11e763cdc34a1418709d81 - languageName: node - linkType: hard - -"@serverless/event-mocks@npm:^1.1.1": - version: 1.1.1 - resolution: "@serverless/event-mocks@npm:1.1.1" - dependencies: - "@types/lodash": "npm:^4.14.123" - lodash: "npm:^4.17.11" - checksum: 10c0/2e09f11349a05e0efac49db17b8b909d4b1b45cc027733c9656d34b0d7612bad5622cfb3ed46389e213615eaf1ecd6150768620209f78ddaa57ad7356d7fd58f - languageName: node - linkType: hard - -"@serverless/platform-client@npm:^4.5.1": - version: 4.5.1 - resolution: "@serverless/platform-client@npm:4.5.1" - dependencies: - adm-zip: "npm:^0.5.5" - archiver: "npm:^5.3.0" - axios: "npm:^1.6.2" - fast-glob: "npm:^3.2.7" - https-proxy-agent: "npm:^5.0.0" - ignore: "npm:^5.1.8" - isomorphic-ws: "npm:^4.0.1" - js-yaml: "npm:^3.14.1" - jwt-decode: "npm:^2.2.0" - minimatch: "npm:^3.0.4" - querystring: "npm:^0.2.1" - run-parallel-limit: "npm:^1.1.0" - throat: "npm:^5.0.0" - traverse: "npm:^0.6.6" - ws: "npm:^7.5.3" - checksum: 10c0/b31361c1221945f0419580da39f00d3d12f11e06c800d75f0486168c4a00cda86e3f9539a494ab052dea1b7b891e8dea337410ce4913ba426863082d5f025a73 - languageName: node - linkType: hard - -"@serverless/utils@npm:^6.13.1, @serverless/utils@npm:^6.14.0, @serverless/utils@npm:^6.7.0": - version: 6.15.0 - resolution: "@serverless/utils@npm:6.15.0" - dependencies: - archive-type: "npm:^4.0.0" - chalk: "npm:^4.1.2" - ci-info: "npm:^3.8.0" - cli-progress-footer: "npm:^2.3.2" - content-disposition: "npm:^0.5.4" - d: "npm:^1.0.1" - decompress: "npm:^4.2.1" - event-emitter: "npm:^0.3.5" - ext: "npm:^1.7.0" - ext-name: "npm:^5.0.0" - file-type: "npm:^16.5.4" - filenamify: "npm:^4.3.0" - get-stream: "npm:^6.0.1" - got: "npm:^11.8.6" - inquirer: "npm:^8.2.5" - js-yaml: "npm:^4.1.0" - jwt-decode: "npm:^3.1.2" - lodash: "npm:^4.17.21" - log: "npm:^6.3.1" - log-node: "npm:^8.0.3" - make-dir: "npm:^4.0.0" - memoizee: "npm:^0.4.15" - ms: "npm:^2.1.3" - ncjsm: "npm:^4.3.2" - node-fetch: "npm:^2.6.11" - open: "npm:^8.4.2" - p-event: "npm:^4.2.0" - supports-color: "npm:^8.1.1" - timers-ext: "npm:^0.1.7" - type: "npm:^2.7.2" - uni-global: "npm:^1.0.0" - uuid: "npm:^8.3.2" - write-file-atomic: "npm:^4.0.2" - checksum: 10c0/b0f507e9f5b76b63df2aa5e94248a212129249a27128bf9340ca73bae5bf17b51c01e4ec40d542ea31defb80b4b85e9d59b7a180b9afa5ea383c2d18dcf25dca - languageName: node - linkType: hard - -"@sideway/address@npm:^4.1.5": - version: 4.1.5 - resolution: "@sideway/address@npm:4.1.5" - dependencies: - "@hapi/hoek": "npm:^9.0.0" - checksum: 10c0/638eb6f7e7dba209053dd6c8da74d7cc995e2b791b97644d0303a7dd3119263bcb7225a4f6804d4db2bc4f96e5a9d262975a014f58eae4d1753c27cbc96ef959 - languageName: node - linkType: hard - -"@sideway/formula@npm:^3.0.1": - version: 3.0.1 - resolution: "@sideway/formula@npm:3.0.1" - checksum: 10c0/3fe81fa9662efc076bf41612b060eb9b02e846ea4bea5bd114f1662b7f1541e9dedcf98aff0d24400bcb92f113964a50e0290b86e284edbdf6346fa9b7e2bf2c - languageName: node - linkType: hard - -"@sideway/pinpoint@npm:^2.0.0": - version: 2.0.0 - resolution: "@sideway/pinpoint@npm:2.0.0" - checksum: 10c0/d2ca75dacaf69b8fc0bb8916a204e01def3105ee44d8be16c355e5f58189eb94039e15ce831f3d544f229889ccfa35562a0ce2516179f3a7ee1bbe0b71e55b36 - languageName: node - linkType: hard - -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e - languageName: node - linkType: hard - -"@sindresorhus/is@npm:^4.0.0": - version: 4.6.0 - resolution: "@sindresorhus/is@npm:4.6.0" - checksum: 10c0/33b6fb1d0834ec8dd7689ddc0e2781c2bfd8b9c4e4bacbcb14111e0ae00621f2c264b8a7d36541799d74888b5dccdf422a891a5cb5a709ace26325eedc81e22e - languageName: node - linkType: hard - -"@sinonjs/commons@npm:^3.0.0": - version: 3.0.1 - resolution: "@sinonjs/commons@npm:3.0.1" - dependencies: - type-detect: "npm:4.0.8" - checksum: 10c0/1227a7b5bd6c6f9584274db996d7f8cee2c8c350534b9d0141fc662eaf1f292ea0ae3ed19e5e5271c8fd390d27e492ca2803acd31a1978be2cdc6be0da711403 - languageName: node - linkType: hard - -"@sinonjs/fake-timers@npm:^10.0.2": - version: 10.3.0 - resolution: "@sinonjs/fake-timers@npm:10.3.0" - dependencies: - "@sinonjs/commons": "npm:^3.0.0" - checksum: 10c0/2e2fb6cc57f227912814085b7b01fede050cd4746ea8d49a1e44d5a0e56a804663b0340ae2f11af7559ea9bf4d087a11f2f646197a660ea3cb04e19efc04aa63 +"@sinclair/typebox@npm:^0.34.0": + version: 0.34.38 + resolution: "@sinclair/typebox@npm:0.34.38" + checksum: 10c0/c1b9a1547c64de01ff5c89351baf289d2d5f19cfef3ae30fe4748a103eb58d0842618318543cd3de964cb0370d5a859e24aba231ade9b43ee2ef4d0bb4db7084 languageName: node linkType: hard -"@smithy/abort-controller@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/abort-controller@npm:4.0.1" +"@smithy/abort-controller@npm:^4.0.5": + version: 4.0.5 + resolution: "@smithy/abort-controller@npm:4.0.5" dependencies: - "@smithy/types": "npm:^4.1.0" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/1ecd5c3454ced008463e6de826c294f31f6073ba91e22e443e0269ee0854d9376f73ea756b3acf77aa806a9a98e8b2568ce2e7f15ddf0a7816c99b7deefeef57 + checksum: 10c0/0a16d5571f5aa3d6d43465ce1060263a92c6eba011cf448adaeafb940121981ecb26fabb0185745520cace9dfd9aebe6879930ff3b55c8f1b42ac6a337070f20 languageName: node linkType: hard -"@smithy/chunked-blob-reader-native@npm:^4.0.0": - version: 4.0.0 - resolution: "@smithy/chunked-blob-reader-native@npm:4.0.0" - dependencies: - "@smithy/util-base64": "npm:^4.0.0" - tslib: "npm:^2.6.2" - checksum: 10c0/4387f4e8841f20c1c4e689078141de7e6f239e7883be3a02810a023aa30939b15576ee00227b991972d2c5a2f3b6152bcaeca0975c9fa8d3669354c647bd532a - languageName: node - linkType: hard - -"@smithy/chunked-blob-reader@npm:^5.0.0": - version: 5.0.0 - resolution: "@smithy/chunked-blob-reader@npm:5.0.0" - dependencies: - tslib: "npm:^2.6.2" - checksum: 10c0/55ba0fe366ddaa3f93e1faf8a70df0b67efedbd0008922295efe215df09b68df0ba3043293e65b17e7d1be71448d074c2bfc54e5eb6bd18f59b425822c2b9e9a - languageName: node - linkType: hard - -"@smithy/config-resolver@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/config-resolver@npm:4.0.1" +"@smithy/config-resolver@npm:^4.1.5": + version: 4.1.5 + resolution: "@smithy/config-resolver@npm:4.1.5" dependencies: - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" + "@smithy/node-config-provider": "npm:^4.1.4" + "@smithy/types": "npm:^4.3.2" "@smithy/util-config-provider": "npm:^4.0.0" - "@smithy/util-middleware": "npm:^4.0.1" + "@smithy/util-middleware": "npm:^4.0.5" tslib: "npm:^2.6.2" - checksum: 10c0/4ec3486deb3017607ed1b9a42b4b806b78e2c7a00f6dd51b98ccb82d9f7506b206bd9412ec0d2a05e95bc2ac3fbbafe55b1ffce9faccc4086f837645f3f7e64d + checksum: 10c0/f76f2365403411810a205763a6744eb84d4edfc6bedb87ba0d41b4b310b9c693f3cb17610f963f706b06e90c12864fe54617c9ff1f435fe3b94d825f2def2bfb languageName: node linkType: hard -"@smithy/core@npm:^3.1.5": - version: 3.1.5 - resolution: "@smithy/core@npm:3.1.5" +"@smithy/core@npm:^3.8.0": + version: 3.8.0 + resolution: "@smithy/core@npm:3.8.0" dependencies: - "@smithy/middleware-serde": "npm:^4.0.2" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/types": "npm:^4.1.0" + "@smithy/middleware-serde": "npm:^4.0.9" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/types": "npm:^4.3.2" + "@smithy/util-base64": "npm:^4.0.0" "@smithy/util-body-length-browser": "npm:^4.0.0" - "@smithy/util-middleware": "npm:^4.0.1" - "@smithy/util-stream": "npm:^4.1.2" + "@smithy/util-middleware": "npm:^4.0.5" + "@smithy/util-stream": "npm:^4.2.4" "@smithy/util-utf8": "npm:^4.0.0" + "@types/uuid": "npm:^9.0.1" tslib: "npm:^2.6.2" - checksum: 10c0/3f705fd7cc4eb4fc8c9cc1a9466012f3f08ec7427528fd51d32353e7adb964bd59426adf188e9a933ee9d1e5fa57cefc1917da2ccee1737edb0eb9fe460e90a9 - languageName: node - linkType: hard - -"@smithy/credential-provider-imds@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/credential-provider-imds@npm:4.0.1" - dependencies: - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/property-provider": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" - "@smithy/url-parser": "npm:^4.0.1" - tslib: "npm:^2.6.2" - checksum: 10c0/76b5d82dfd2924f2b7a701fa159af54d3e9b16a644a210e3a74e5a3776bb28c2ffbdd342ed3f2bb1d2adf401e8144e84614523b1fad245b43e319e1d01fa1652 - languageName: node - linkType: hard - -"@smithy/eventstream-codec@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/eventstream-codec@npm:4.0.1" - dependencies: - "@aws-crypto/crc32": "npm:5.2.0" - "@smithy/types": "npm:^4.1.0" - "@smithy/util-hex-encoding": "npm:^4.0.0" - tslib: "npm:^2.6.2" - checksum: 10c0/439262fddae863cadad83cc468418294d1d998134619dd67e2836cc93bbfa5b01448e852516046f03b62d0edcd558014b755b1fb0d71b9317268d5c3a5e55bbd - languageName: node - linkType: hard - -"@smithy/eventstream-serde-browser@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/eventstream-serde-browser@npm:4.0.1" - dependencies: - "@smithy/eventstream-serde-universal": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/4766a8a735085dea1ed9aad486fa70cb04908a31843d4e698a28accc373a6dc80bc8abe9834d390f347326458c03424afbd7f7f9e59a66970b839de3d44940e1 - languageName: node - linkType: hard - -"@smithy/eventstream-serde-config-resolver@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/eventstream-serde-config-resolver@npm:4.0.1" - dependencies: - "@smithy/types": "npm:^4.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/4ba8bba39392025389c610ce984b612adfe0ed2b37f926e6ce2acafaf178d04aec395924ff37d2ad9534a28652fc64c4938b66b4bd1d2ff695ac8fcdcc4d356e - languageName: node - linkType: hard - -"@smithy/eventstream-serde-node@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/eventstream-serde-node@npm:4.0.1" - dependencies: - "@smithy/eventstream-serde-universal": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/ed451ed4483ca62cb450a7540e43ba99b816e32da7bd306d14ea49dd3ceb8a37f791578a0e5d21caf9b9f75c36c69e025c7add117cf8b0510ad3ef32ac38b08c + uuid: "npm:^9.0.1" + checksum: 10c0/0fe1c19b0a2f371ed04b47e51edac896ed24d868a3f78290ea8913e255fef7d023a9c0ba252f5af2b606bfadfdca7fbc545db01dcd0d2162c228d10b2eadc303 languageName: node linkType: hard -"@smithy/eventstream-serde-universal@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/eventstream-serde-universal@npm:4.0.1" +"@smithy/credential-provider-imds@npm:^4.0.7": + version: 4.0.7 + resolution: "@smithy/credential-provider-imds@npm:4.0.7" dependencies: - "@smithy/eventstream-codec": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" + "@smithy/node-config-provider": "npm:^4.1.4" + "@smithy/property-provider": "npm:^4.0.5" + "@smithy/types": "npm:^4.3.2" + "@smithy/url-parser": "npm:^4.0.5" tslib: "npm:^2.6.2" - checksum: 10c0/8a1261fca8df7559bf78234f961903281b8602ffdbe0ff25f506cba25f013e4bb93bd8380703224fe63aeaf66e13bfebbdaf8083f38628750fc5f3c4ee07dff8 + checksum: 10c0/862ac40520e2756918e8ecdf2259ec82f1b1556595b3b8d19d7c68390119c416fdd9c716c78773a2ccec21c32cb81f465e0474073a8a90808e171fbdcdcfbd81 languageName: node linkType: hard -"@smithy/fetch-http-handler@npm:^5.0.1": - version: 5.0.1 - resolution: "@smithy/fetch-http-handler@npm:5.0.1" +"@smithy/fetch-http-handler@npm:^5.1.1": + version: 5.1.1 + resolution: "@smithy/fetch-http-handler@npm:5.1.1" dependencies: - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/querystring-builder": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/querystring-builder": "npm:^4.0.5" + "@smithy/types": "npm:^4.3.2" "@smithy/util-base64": "npm:^4.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/5123f6119de50d4c992ebf29b769382d7000db4ed8f564680c5727e2a8beb71664198eb2eaf7cb6152ab777f654d54cf9bff5a4658e1cfdeef2987eeea7f1149 - languageName: node - linkType: hard - -"@smithy/hash-blob-browser@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/hash-blob-browser@npm:4.0.1" - dependencies: - "@smithy/chunked-blob-reader": "npm:^5.0.0" - "@smithy/chunked-blob-reader-native": "npm:^4.0.0" - "@smithy/types": "npm:^4.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/16c61fe0ff52074aa374a439955f0ea0a6c6fb64744b55c840f29db1da05cefb340a6d1d4b2a7708ca6f447e972015a95bdfef4fc5361d0bc7c2c3b5cd4c1ca8 + checksum: 10c0/c07f5cad58d5da7cd0de95e2d600e8dee8cda54bba65e7327c5beb25d2aa3eb815d228944bf20860de8927068d3d80baa28f71ecee0a1a3e131307774f53813b languageName: node linkType: hard -"@smithy/hash-node@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/hash-node@npm:4.0.1" +"@smithy/hash-node@npm:^4.0.5": + version: 4.0.5 + resolution: "@smithy/hash-node@npm:4.0.5" dependencies: - "@smithy/types": "npm:^4.1.0" + "@smithy/types": "npm:^4.3.2" "@smithy/util-buffer-from": "npm:^4.0.0" "@smithy/util-utf8": "npm:^4.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/d84be63a2c8a4aafa3b9f23ae76c9cf92a31fa7c49c85930424da1335259b29f6333c5c82d2e7bf689549290ffd0d995043c9ea6f05b0b2a8dfad1f649eac43f + checksum: 10c0/6c5aeba12b651d74fa05e03b7019d48193b0fac4995ad84fe313961c4e51d16cdbe46f529a3fe435a061fbe7eebee0620def92f9821add28e466152fd3270560 languageName: node linkType: hard -"@smithy/hash-stream-node@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/hash-stream-node@npm:4.0.1" +"@smithy/invalid-dependency@npm:^4.0.5": + version: 4.0.5 + resolution: "@smithy/invalid-dependency@npm:4.0.5" dependencies: - "@smithy/types": "npm:^4.1.0" - "@smithy/util-utf8": "npm:^4.0.0" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/c214460da504008905dff7c654cc8b49dfcb060fedef77e63fc36e3c71972be39b018e4a5618e3efb654a6b63a604975521c161ae4614d2580a4c821dfb6e1d5 - languageName: node - linkType: hard - -"@smithy/invalid-dependency@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/invalid-dependency@npm:4.0.1" - dependencies: - "@smithy/types": "npm:^4.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/74bebdffb6845f6060eed482ad6e921df66af90d2f8c63f39a3bb334fa68a3e3aa8bd5cd7aa5f65628857e235e113895433895db910ba290633daa0df5725eb7 + checksum: 10c0/8cc2a14dc47ac5513641747297e6e7e79dceb687e962e1520949db94597a5ce057f9f92657530b6660df100ef1fcff04cd5d9638847c8ada7f7b431a73f34fd2 languageName: node linkType: hard @@ -4804,214 +3476,205 @@ __metadata: languageName: node linkType: hard -"@smithy/md5-js@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/md5-js@npm:4.0.1" +"@smithy/middleware-content-length@npm:^4.0.5": + version: 4.0.5 + resolution: "@smithy/middleware-content-length@npm:4.0.5" dependencies: - "@smithy/types": "npm:^4.1.0" - "@smithy/util-utf8": "npm:^4.0.0" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/b5e3fa1d31832535b3a35d0a52ebf983da7cf1a1658b6a7f8bcc948cde808eb361696575d78e5e5df92f3c9b9569b5a1f2d1dff7b465d0a803fa901e0286599d + checksum: 10c0/2bbe3afc2d29bf4153afb52adb2cadc063e745c2e1f3c630ff10bb97ce4fa8ae7e6872082ec1407b638d0c7cb896ebcc27ca190f9aa78635a8e41a2440fe680a languageName: node linkType: hard -"@smithy/middleware-content-length@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/middleware-content-length@npm:4.0.1" +"@smithy/middleware-endpoint@npm:^4.1.18": + version: 4.1.18 + resolution: "@smithy/middleware-endpoint@npm:4.1.18" dependencies: - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/types": "npm:^4.1.0" + "@smithy/core": "npm:^3.8.0" + "@smithy/middleware-serde": "npm:^4.0.9" + "@smithy/node-config-provider": "npm:^4.1.4" + "@smithy/shared-ini-file-loader": "npm:^4.0.5" + "@smithy/types": "npm:^4.3.2" + "@smithy/url-parser": "npm:^4.0.5" + "@smithy/util-middleware": "npm:^4.0.5" tslib: "npm:^2.6.2" - checksum: 10c0/3dfbfe658cc8636e9e923a10151a32c6234897c4a86856e55fe4fadc322b3f3e977e50d15553afcb34cadb213de2d95a82af9c8f735e758f4dc21a031e8ecb17 + checksum: 10c0/22a6e05e427c9899041facefea8bdf8dad393bdb3ccd7ca795fb705e85ee8b9e48c6000e947bb6a8a1cfe48d1f1f1b9f894f0b588e87ce1ea5b187d041bcd6fe languageName: node linkType: hard -"@smithy/middleware-endpoint@npm:^4.0.6": - version: 4.0.6 - resolution: "@smithy/middleware-endpoint@npm:4.0.6" +"@smithy/middleware-retry@npm:^4.1.19": + version: 4.1.19 + resolution: "@smithy/middleware-retry@npm:4.1.19" dependencies: - "@smithy/core": "npm:^3.1.5" - "@smithy/middleware-serde": "npm:^4.0.2" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/shared-ini-file-loader": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" - "@smithy/url-parser": "npm:^4.0.1" - "@smithy/util-middleware": "npm:^4.0.1" - tslib: "npm:^2.6.2" - checksum: 10c0/0745d4eb28a1d0419e1f6efe9b726b5ff1389c2e9fcde407e0739a262b66b0e0eb130fe7e80e99e95e3c7472af4d597a592ec8be751f2184ca6947e77e31d0ea - languageName: node - linkType: hard - -"@smithy/middleware-retry@npm:^4.0.7": - version: 4.0.7 - resolution: "@smithy/middleware-retry@npm:4.0.7" - dependencies: - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/service-error-classification": "npm:^4.0.1" - "@smithy/smithy-client": "npm:^4.1.6" - "@smithy/types": "npm:^4.1.0" - "@smithy/util-middleware": "npm:^4.0.1" - "@smithy/util-retry": "npm:^4.0.1" + "@smithy/node-config-provider": "npm:^4.1.4" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/service-error-classification": "npm:^4.0.7" + "@smithy/smithy-client": "npm:^4.4.10" + "@smithy/types": "npm:^4.3.2" + "@smithy/util-middleware": "npm:^4.0.5" + "@smithy/util-retry": "npm:^4.0.7" + "@types/uuid": "npm:^9.0.1" tslib: "npm:^2.6.2" uuid: "npm:^9.0.1" - checksum: 10c0/17b01c539aa4f972ee03711ac88b1337dc534235fcf78914bea9745c45de4630103209907a69902843fe05cbbda6b41f908f24c0a4032c3fe92ff475242271d8 + checksum: 10c0/6595d27404491ee3befc69ffe8ce576f26b409385d6958597c8d889fff7aff26973a54eab605348299c24760912d9606f7efe84e3adf72ab146b114096592bec languageName: node linkType: hard -"@smithy/middleware-serde@npm:^4.0.2": - version: 4.0.2 - resolution: "@smithy/middleware-serde@npm:4.0.2" +"@smithy/middleware-serde@npm:^4.0.9": + version: 4.0.9 + resolution: "@smithy/middleware-serde@npm:4.0.9" dependencies: - "@smithy/types": "npm:^4.1.0" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/b1efee86ecc37a063bdfdb89cf691c9b9627502473f2caa0c964c0648f7b550b7a49755a9b13cdfc11aebf1641cf3ae6f8b5f1895a20241960504936da9b3138 + checksum: 10c0/71dc9d920d36a3f65cc883718e8c74687a7c8074a148ab1a035e395e43c6566a3514f10b4c15a13b98194ecd1d81816932c9df8dfa5955cd347c6049893defc4 languageName: node linkType: hard -"@smithy/middleware-stack@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/middleware-stack@npm:4.0.1" +"@smithy/middleware-stack@npm:^4.0.5": + version: 4.0.5 + resolution: "@smithy/middleware-stack@npm:4.0.5" dependencies: - "@smithy/types": "npm:^4.1.0" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/b7f710e263e37a8c80c8d31c7d8fe5f66dec2955cde412054eefcc8df53905e1e2e53a01fd7930eb82c82a3a28eadd00e69f07dfc6e793b1d9272db58a982e9b + checksum: 10c0/2ebe346b8b868d11bf9e5028a225ad1312f7862231ae01c289059291b984127a7c18e17f1fa4d803de09f77441d839bc5e25f8ec9bed10a9a320d0393bc55930 languageName: node linkType: hard -"@smithy/node-config-provider@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/node-config-provider@npm:4.0.1" +"@smithy/node-config-provider@npm:^4.1.4": + version: 4.1.4 + resolution: "@smithy/node-config-provider@npm:4.1.4" dependencies: - "@smithy/property-provider": "npm:^4.0.1" - "@smithy/shared-ini-file-loader": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" + "@smithy/property-provider": "npm:^4.0.5" + "@smithy/shared-ini-file-loader": "npm:^4.0.5" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/f8d3b1fe91eeba41426ec57d62cfbeaed027650b5549fb2ba5bc889c1cfb7880d4fdb5a484d231b3fb2a9c9023c1f4e8907a5d18d75b3787481cde9f87c4d9cb + checksum: 10c0/950f9e234b8ffb680d2f5b35bc7ff21f73623caf0612d59daba1991da79126ec33e1afd2f6408534b7910474665ab150bd9d341aa46950bf5903665e71c7da6f languageName: node linkType: hard -"@smithy/node-http-handler@npm:^4.0.3": - version: 4.0.3 - resolution: "@smithy/node-http-handler@npm:4.0.3" +"@smithy/node-http-handler@npm:^4.1.1": + version: 4.1.1 + resolution: "@smithy/node-http-handler@npm:4.1.1" dependencies: - "@smithy/abort-controller": "npm:^4.0.1" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/querystring-builder": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" + "@smithy/abort-controller": "npm:^4.0.5" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/querystring-builder": "npm:^4.0.5" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/03e0e40725ac8884dc1715288bdbe6f05e8073c623c7d4eb4d6859e6ffdee1c831e407b1d286860580d7cb341d5ec41274e8888f2aeac6f865c0890ac4e9403c + checksum: 10c0/a61a841bc6e69c62a983031e8b3faf1ab82abaf0ccd1eb5d3e02e3d99a8be020fa8dff0b2b1f81468db43e0e7be2407785b89e9c6c04035b8b4afde08bed3a98 languageName: node linkType: hard -"@smithy/property-provider@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/property-provider@npm:4.0.1" +"@smithy/property-provider@npm:^4.0.5": + version: 4.0.5 + resolution: "@smithy/property-provider@npm:4.0.5" dependencies: - "@smithy/types": "npm:^4.1.0" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/43960a6bdf25944e1cc9d4ee83bf45ab5641f7e2068c46d5015166c0f035b1752e03847d7c15d3c013f5f0467441c9c5a8d6a0428f5401988035867709e4dea3 + checksum: 10c0/67b828f4ddfb90a90e8a919328bb3c842612115d84d949087988fd8558cd143ec8f7dc437936ef41f9427a7ea2a6ec6a726c5f92a9c12e8c7bef831c4b4f16f0 languageName: node linkType: hard -"@smithy/protocol-http@npm:^5.0.1": - version: 5.0.1 - resolution: "@smithy/protocol-http@npm:5.0.1" +"@smithy/protocol-http@npm:^5.1.3": + version: 5.1.3 + resolution: "@smithy/protocol-http@npm:5.1.3" dependencies: - "@smithy/types": "npm:^4.1.0" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/87b157cc86c23f7199acad237e5e0cc309b18a2a4162dfd8f99609f6cca403f832b645535e58173e2933b4d96ec71f2df16d04e1bdcf52b7b0fcbdbc0067de93 + checksum: 10c0/5adc1e69b9e2d7c90acfe1a9b731c4f233173e035eb9e8e3dd5fabf63d9a765aff54912a0e94f4f4bff494f4caa9ec40bd53cdc1a94028f561ab5c9649f2790f languageName: node linkType: hard -"@smithy/querystring-builder@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/querystring-builder@npm:4.0.1" +"@smithy/querystring-builder@npm:^4.0.5": + version: 4.0.5 + resolution: "@smithy/querystring-builder@npm:4.0.5" dependencies: - "@smithy/types": "npm:^4.1.0" + "@smithy/types": "npm:^4.3.2" "@smithy/util-uri-escape": "npm:^4.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/21f39e3a79458d343f3dec76b38598c49a34a3c4d1d3c23b6c8895eae2b610fb3c704f995a1730599ef7a881216ea064a25bb7dc8abe5bb1ee50dc6078ad97a4 + checksum: 10c0/649a046a14f25d5febba341dedd577c9fce80aa86970dc2af0b0289a2b6326731c19ddefcae172a0162a4a73306ad823533528751a0067c910efce3cabe06675 languageName: node linkType: hard -"@smithy/querystring-parser@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/querystring-parser@npm:4.0.1" +"@smithy/querystring-parser@npm:^4.0.5": + version: 4.0.5 + resolution: "@smithy/querystring-parser@npm:4.0.5" dependencies: - "@smithy/types": "npm:^4.1.0" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/10e5aba13fbb9a602299fb92f02142e291ab5c7cd221e0ca542981414533e081abdd7442de335f2267ee4a9ff8eba4d7ba848455df50d2771f0ddb8b7d8f9d8b + checksum: 10c0/e12a2e19137bc95487c51652dd20f6cd0199854986019e5461f14f797fda3cda3ec4786ff45af853aa64ab75a2a91d18f3f8320276f7e407016f80e33604564d languageName: node linkType: hard -"@smithy/service-error-classification@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/service-error-classification@npm:4.0.1" +"@smithy/service-error-classification@npm:^4.0.7": + version: 4.0.7 + resolution: "@smithy/service-error-classification@npm:4.0.7" dependencies: - "@smithy/types": "npm:^4.1.0" - checksum: 10c0/de015fd140bf4e97da34a2283ce73971eb3b3aae53a257000dce0c99b8974a5e76bae9e517545ef58bd00ca8094c813cd1bcf0696c2c51e731418e2a769c744f + "@smithy/types": "npm:^4.3.2" + checksum: 10c0/fe44ce36c8759c74a63adc52c47b638ee0a34ea32752d9c5923c370f0497a412ced51d8b83e444303d8d9d544d30d3d16fecb39c9f5cda8622b293704ce999a2 languageName: node linkType: hard -"@smithy/shared-ini-file-loader@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/shared-ini-file-loader@npm:4.0.1" +"@smithy/shared-ini-file-loader@npm:^4.0.5": + version: 4.0.5 + resolution: "@smithy/shared-ini-file-loader@npm:4.0.5" dependencies: - "@smithy/types": "npm:^4.1.0" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/0f0173dbe61c8dac6847cc2c5115db5f1292c956c7f0559ce7bc8e5ed196a4b102977445ee1adb72206a15226a1098cdea01e92aa8ce19f4343f1135e7d37bcf + checksum: 10c0/9fafb7d4cf10398cf07a2ad7b619b05f136a2a774b1d104eb43b1862f1297d1f88f7e6d72198df43bef35cdf5938b8b5bcf0e896a8bb406474920d0f653a0a4b languageName: node linkType: hard -"@smithy/signature-v4@npm:^5.0.1": - version: 5.0.1 - resolution: "@smithy/signature-v4@npm:5.0.1" +"@smithy/signature-v4@npm:^5.1.3": + version: 5.1.3 + resolution: "@smithy/signature-v4@npm:5.1.3" dependencies: "@smithy/is-array-buffer": "npm:^4.0.0" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/types": "npm:^4.1.0" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/types": "npm:^4.3.2" "@smithy/util-hex-encoding": "npm:^4.0.0" - "@smithy/util-middleware": "npm:^4.0.1" + "@smithy/util-middleware": "npm:^4.0.5" "@smithy/util-uri-escape": "npm:^4.0.0" "@smithy/util-utf8": "npm:^4.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/a7f118642c9641f813098faad355fc5b54ae215fec589fb238d72d44149248c02e32dcfe034000f151ab665450542df88c70d269f9a3233e01a905ec03512514 + checksum: 10c0/122a918ee070215e5cea8040605d905143a724b5bb0e5c904085f7a7a4b3d87701e5674b39cc8c9e13639b077994739edcdf33c3884172f363bcf68071c2abc7 languageName: node linkType: hard -"@smithy/smithy-client@npm:^4.1.6": - version: 4.1.6 - resolution: "@smithy/smithy-client@npm:4.1.6" +"@smithy/smithy-client@npm:^4.4.10": + version: 4.4.10 + resolution: "@smithy/smithy-client@npm:4.4.10" dependencies: - "@smithy/core": "npm:^3.1.5" - "@smithy/middleware-endpoint": "npm:^4.0.6" - "@smithy/middleware-stack": "npm:^4.0.1" - "@smithy/protocol-http": "npm:^5.0.1" - "@smithy/types": "npm:^4.1.0" - "@smithy/util-stream": "npm:^4.1.2" + "@smithy/core": "npm:^3.8.0" + "@smithy/middleware-endpoint": "npm:^4.1.18" + "@smithy/middleware-stack": "npm:^4.0.5" + "@smithy/protocol-http": "npm:^5.1.3" + "@smithy/types": "npm:^4.3.2" + "@smithy/util-stream": "npm:^4.2.4" tslib: "npm:^2.6.2" - checksum: 10c0/d3989f9af17e35e01ef09d3db52136548e9fa0433ec35ee4f192cd618e93a4a0472d79288655763142c7832d643ee3f0ecf6b84ea520bb07aa319615a2ed9629 + checksum: 10c0/994743c7a04e3e1b5136c3be98c3882ab9169d39143530c11553062934887b6b9b7d32de035a15f7ff0f7e6b5db6106ab3e71dc62beb473da9313ff6b8b24a37 languageName: node linkType: hard -"@smithy/types@npm:^4.1.0": - version: 4.1.0 - resolution: "@smithy/types@npm:4.1.0" +"@smithy/types@npm:^4.3.2": + version: 4.3.2 + resolution: "@smithy/types@npm:4.3.2" dependencies: tslib: "npm:^2.6.2" - checksum: 10c0/d8817145ea043c5b29783df747ed47c3a1c584fd9d02bbdb609d38b7cb4dded1197ac214ae112744c86abe0537a314dae0edbc0e752bb639ef2d9fb84c67a9d9 + checksum: 10c0/120c5d38f6362c86e6493cce3b9ca9902cd986dab773b39664ff6a95b787c45481f1b1d230f45a6f5ad0c045fb690dc96b51b9ca7b5e9487714a652ed98231f6 languageName: node linkType: hard -"@smithy/url-parser@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/url-parser@npm:4.0.1" +"@smithy/url-parser@npm:^4.0.5": + version: 4.0.5 + resolution: "@smithy/url-parser@npm:4.0.5" dependencies: - "@smithy/querystring-parser": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" + "@smithy/querystring-parser": "npm:^4.0.5" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/fc969b55857b3bcdc920f54bbb9b0c88b5c7695ac7100bea1c7038fd4c9a09ebe0fbb38c4839d39acea28da0d8cb4fea71ffbf362d8aec295acbb94c1b45fc86 + checksum: 10c0/19cb3c8a80a7a42936d47011e5991cee6d548f233cde2bf36ccb6c547d075bbc30e3be67e92f60aaf17c4f3875766be319a3da8399af40767a77b04aea3d9ee5 languageName: node linkType: hard @@ -5073,42 +3736,42 @@ __metadata: languageName: node linkType: hard -"@smithy/util-defaults-mode-browser@npm:^4.0.7": - version: 4.0.7 - resolution: "@smithy/util-defaults-mode-browser@npm:4.0.7" +"@smithy/util-defaults-mode-browser@npm:^4.0.26": + version: 4.0.26 + resolution: "@smithy/util-defaults-mode-browser@npm:4.0.26" dependencies: - "@smithy/property-provider": "npm:^4.0.1" - "@smithy/smithy-client": "npm:^4.1.6" - "@smithy/types": "npm:^4.1.0" + "@smithy/property-provider": "npm:^4.0.5" + "@smithy/smithy-client": "npm:^4.4.10" + "@smithy/types": "npm:^4.3.2" bowser: "npm:^2.11.0" tslib: "npm:^2.6.2" - checksum: 10c0/baefe69c613cbaacaf3aea78d8bbdb4051acaceb32161e65a74cadbdf25b92a84dc3b3566a4ad6ed6f3f4d0c70357a8557ed3cc899db2c38c5570a63ca58a07b + checksum: 10c0/ba10af21bd302f4705a808673eb3811e36a78c396f7ee93e2dfea5ded7d78470c789d3bc7a23e3d6232b43b7b91f57fbfbd383d11042e6993dc9c49030cbd0ef languageName: node linkType: hard -"@smithy/util-defaults-mode-node@npm:^4.0.7": - version: 4.0.7 - resolution: "@smithy/util-defaults-mode-node@npm:4.0.7" - dependencies: - "@smithy/config-resolver": "npm:^4.0.1" - "@smithy/credential-provider-imds": "npm:^4.0.1" - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/property-provider": "npm:^4.0.1" - "@smithy/smithy-client": "npm:^4.1.6" - "@smithy/types": "npm:^4.1.0" +"@smithy/util-defaults-mode-node@npm:^4.0.26": + version: 4.0.26 + resolution: "@smithy/util-defaults-mode-node@npm:4.0.26" + dependencies: + "@smithy/config-resolver": "npm:^4.1.5" + "@smithy/credential-provider-imds": "npm:^4.0.7" + "@smithy/node-config-provider": "npm:^4.1.4" + "@smithy/property-provider": "npm:^4.0.5" + "@smithy/smithy-client": "npm:^4.4.10" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/f380fb3a39250cd2a11f2706d14d64fee58c130b27b16754ec268758dd9aaae6bac13bf892580857ffd6d1ab3a6092ee61aafb1f90b7b5b66fc7e1a2b616929c + checksum: 10c0/0a682393db1617681fc132c39d9f01accd5c3c250be457ebb514001d83d34252d404fe6315ee0cc5176e0efc7fdeec64e848299bdefe6113d3c70f81717b665b languageName: node linkType: hard -"@smithy/util-endpoints@npm:^3.0.1": - version: 3.0.1 - resolution: "@smithy/util-endpoints@npm:3.0.1" +"@smithy/util-endpoints@npm:^3.0.7": + version: 3.0.7 + resolution: "@smithy/util-endpoints@npm:3.0.7" dependencies: - "@smithy/node-config-provider": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" + "@smithy/node-config-provider": "npm:^4.1.4" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/fed80f300e6a6e69873e613cdd12f640d33a19fc09a41e3afd536f7ea36f7785edd96fbd0402b6980a0e5dfc9bcb8b37f503d522b4ef317f31f4fd0100c466ff + checksum: 10c0/7024005a8a4f77ebae52d1dce538d76db3567c6fb22b06ba601dba4d4d8668cb4dbadd229015d02bb6bdb1a5aaa6b2d1c826cfcf412257ceb9dfe52c7ab95fca languageName: node linkType: hard @@ -5121,40 +3784,40 @@ __metadata: languageName: node linkType: hard -"@smithy/util-middleware@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/util-middleware@npm:4.0.1" +"@smithy/util-middleware@npm:^4.0.5": + version: 4.0.5 + resolution: "@smithy/util-middleware@npm:4.0.5" dependencies: - "@smithy/types": "npm:^4.1.0" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/1dd2b058f392fb6788809f14c2c1d53411f79f6e9f88b515ffd36792f9f5939fe4af96fb5b0486a3d0cd30181783b7a5393dce2e8b83ba62db7c6d3af6572eff + checksum: 10c0/74d9bdbcea4c4aa5304197417c370346b230b7a89893ba0dee0d9771b6ead2628a53fb8a64a3822bf1a30a176ebba2c16ece7003c21880a7ff54be0955356606 languageName: node linkType: hard -"@smithy/util-retry@npm:^4.0.1": - version: 4.0.1 - resolution: "@smithy/util-retry@npm:4.0.1" +"@smithy/util-retry@npm:^4.0.7": + version: 4.0.7 + resolution: "@smithy/util-retry@npm:4.0.7" dependencies: - "@smithy/service-error-classification": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" + "@smithy/service-error-classification": "npm:^4.0.7" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/93ef89572651b8a30b9a648292660ae9532508ec6d2577afc62e1d9125fe6d14086e0f70a2981bf9f12256b41a57152368b5ed839cdd2df47ba78dd005615173 + checksum: 10c0/09c633f59ac51203d917548ceb4caf7678e24c87eea024e97e8d62a918be4a76a1c517622b7e9841cf0e9f50778d6787f62efe6c25ae514ed7068e2323303c72 languageName: node linkType: hard -"@smithy/util-stream@npm:^4.1.2": - version: 4.1.2 - resolution: "@smithy/util-stream@npm:4.1.2" +"@smithy/util-stream@npm:^4.2.4": + version: 4.2.4 + resolution: "@smithy/util-stream@npm:4.2.4" dependencies: - "@smithy/fetch-http-handler": "npm:^5.0.1" - "@smithy/node-http-handler": "npm:^4.0.3" - "@smithy/types": "npm:^4.1.0" + "@smithy/fetch-http-handler": "npm:^5.1.1" + "@smithy/node-http-handler": "npm:^4.1.1" + "@smithy/types": "npm:^4.3.2" "@smithy/util-base64": "npm:^4.0.0" "@smithy/util-buffer-from": "npm:^4.0.0" "@smithy/util-hex-encoding": "npm:^4.0.0" "@smithy/util-utf8": "npm:^4.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/639328ec53d44f703b1e3cb9363397f6b506626584b22c68897133831b25026359f99f2b89c6d6c597e72773ff3508a374ae13cc266f1d1f761bcfbe9e4318d5 + checksum: 10c0/45d2945656a68822272eb5e37e447bd161861722d841712d087cc0aaf93ad0da8162eef2164d1a35f55a7124cb8815b357b766c21442b23ea972b1d5345f0526 languageName: node linkType: hard @@ -5187,21 +3850,21 @@ __metadata: languageName: node linkType: hard -"@smithy/util-waiter@npm:^4.0.2": - version: 4.0.2 - resolution: "@smithy/util-waiter@npm:4.0.2" +"@smithy/util-waiter@npm:^4.0.7": + version: 4.0.7 + resolution: "@smithy/util-waiter@npm:4.0.7" dependencies: - "@smithy/abort-controller": "npm:^4.0.1" - "@smithy/types": "npm:^4.1.0" + "@smithy/abort-controller": "npm:^4.0.5" + "@smithy/types": "npm:^4.3.2" tslib: "npm:^2.6.2" - checksum: 10c0/36ee71b41923ae58d9246745e3b7497fe45577dbb97f6e15dd07b4fddb4f82f32e0b7604c7b388fc92d5cbe49d9499998eda979a77a4a770c1b25686a5aed4ce + checksum: 10c0/14caffd913b9b18ff4f33d6bb1f05eef2e354104a6db2b69654d7db4582c4be46b202d46af87a66177a8a3a99082fa8b0948195de8aeb63998c6ed5b04f2bd3d languageName: node linkType: hard -"@standard-schema/spec@npm:^1.0.0": - version: 1.0.0 - resolution: "@standard-schema/spec@npm:1.0.0" - checksum: 10c0/a1ab9a8bdc09b5b47aa8365d0e0ec40cc2df6437be02853696a0e377321653b0d3ac6f079a8c67d5ddbe9821025584b1fb71d9cc041a6666a96f1fadf2ece15f +"@streamparser/json@npm:^0.0.20": + version: 0.0.20 + resolution: "@streamparser/json@npm:0.0.20" + checksum: 10c0/c6a630a30aec50431e598d3e6652dcfe3df8c6ec8bda5e6563f7df9b7308f269824e236fde48747324b3b0060393ba6e98fbb6a9ad4614a757ef9da170c84b44 languageName: node linkType: hard @@ -5215,7 +3878,7 @@ __metadata: languageName: node linkType: hard -"@swc-node/register@npm:^1.10.9": +"@swc-node/register@npm:^1.10.10": version: 1.10.10 resolution: "@swc-node/register@npm:1.10.10" dependencies: @@ -5243,94 +3906,94 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.11.12": - version: 1.11.12 - resolution: "@swc/core-darwin-arm64@npm:1.11.12" +"@swc/core-darwin-arm64@npm:1.13.3": + version: 1.13.3 + resolution: "@swc/core-darwin-arm64@npm:1.13.3" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.11.12": - version: 1.11.12 - resolution: "@swc/core-darwin-x64@npm:1.11.12" +"@swc/core-darwin-x64@npm:1.13.3": + version: 1.13.3 + resolution: "@swc/core-darwin-x64@npm:1.13.3" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.11.12": - version: 1.11.12 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.11.12" +"@swc/core-linux-arm-gnueabihf@npm:1.13.3": + version: 1.13.3 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.13.3" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.11.12": - version: 1.11.12 - resolution: "@swc/core-linux-arm64-gnu@npm:1.11.12" +"@swc/core-linux-arm64-gnu@npm:1.13.3": + version: 1.13.3 + resolution: "@swc/core-linux-arm64-gnu@npm:1.13.3" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.11.12": - version: 1.11.12 - resolution: "@swc/core-linux-arm64-musl@npm:1.11.12" +"@swc/core-linux-arm64-musl@npm:1.13.3": + version: 1.13.3 + resolution: "@swc/core-linux-arm64-musl@npm:1.13.3" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.11.12": - version: 1.11.12 - resolution: "@swc/core-linux-x64-gnu@npm:1.11.12" +"@swc/core-linux-x64-gnu@npm:1.13.3": + version: 1.13.3 + resolution: "@swc/core-linux-x64-gnu@npm:1.13.3" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.11.12": - version: 1.11.12 - resolution: "@swc/core-linux-x64-musl@npm:1.11.12" +"@swc/core-linux-x64-musl@npm:1.13.3": + version: 1.13.3 + resolution: "@swc/core-linux-x64-musl@npm:1.13.3" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.11.12": - version: 1.11.12 - resolution: "@swc/core-win32-arm64-msvc@npm:1.11.12" +"@swc/core-win32-arm64-msvc@npm:1.13.3": + version: 1.13.3 + resolution: "@swc/core-win32-arm64-msvc@npm:1.13.3" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.11.12": - version: 1.11.12 - resolution: "@swc/core-win32-ia32-msvc@npm:1.11.12" +"@swc/core-win32-ia32-msvc@npm:1.13.3": + version: 1.13.3 + resolution: "@swc/core-win32-ia32-msvc@npm:1.13.3" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.11.12": - version: 1.11.12 - resolution: "@swc/core-win32-x64-msvc@npm:1.11.12" +"@swc/core-win32-x64-msvc@npm:1.13.3": + version: 1.13.3 + resolution: "@swc/core-win32-x64-msvc@npm:1.13.3" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@swc/core@npm:^1.11.5": - version: 1.11.12 - resolution: "@swc/core@npm:1.11.12" - dependencies: - "@swc/core-darwin-arm64": "npm:1.11.12" - "@swc/core-darwin-x64": "npm:1.11.12" - "@swc/core-linux-arm-gnueabihf": "npm:1.11.12" - "@swc/core-linux-arm64-gnu": "npm:1.11.12" - "@swc/core-linux-arm64-musl": "npm:1.11.12" - "@swc/core-linux-x64-gnu": "npm:1.11.12" - "@swc/core-linux-x64-musl": "npm:1.11.12" - "@swc/core-win32-arm64-msvc": "npm:1.11.12" - "@swc/core-win32-ia32-msvc": "npm:1.11.12" - "@swc/core-win32-x64-msvc": "npm:1.11.12" +"@swc/core@npm:^1.13.3": + version: 1.13.3 + resolution: "@swc/core@npm:1.13.3" + dependencies: + "@swc/core-darwin-arm64": "npm:1.13.3" + "@swc/core-darwin-x64": "npm:1.13.3" + "@swc/core-linux-arm-gnueabihf": "npm:1.13.3" + "@swc/core-linux-arm64-gnu": "npm:1.13.3" + "@swc/core-linux-arm64-musl": "npm:1.13.3" + "@swc/core-linux-x64-gnu": "npm:1.13.3" + "@swc/core-linux-x64-musl": "npm:1.13.3" + "@swc/core-win32-arm64-msvc": "npm:1.13.3" + "@swc/core-win32-ia32-msvc": "npm:1.13.3" + "@swc/core-win32-x64-msvc": "npm:1.13.3" "@swc/counter": "npm:^0.1.3" - "@swc/types": "npm:^0.1.19" + "@swc/types": "npm:^0.1.23" peerDependencies: - "@swc/helpers": "*" + "@swc/helpers": ">=0.5.17" dependenciesMeta: "@swc/core-darwin-arm64": optional: true @@ -5355,7 +4018,7 @@ __metadata: peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 10c0/e3076f7a98ee1b89c21246748231e822fd091b18d54c2a37eea65422bc7303c774a0677769b395a21a19b31a70ad45cb29d2f044b2380c2abd24dfd47691afbf + checksum: 10c0/88a04c319082f8ae5e53b7d7a874014600296087cad3e07d0e927088a19ba2e8355cbced7da02476b5f89cc653e26d1e1c44d9f43ef07fb7b74ec4b5f9e95ef6 languageName: node linkType: hard @@ -5366,67 +4029,29 @@ __metadata: languageName: node linkType: hard -"@swc/helpers@npm:^0.5.15, @swc/helpers@npm:~0.5.0": - version: 0.5.15 - resolution: "@swc/helpers@npm:0.5.15" +"@swc/helpers@npm:^0.5.17, @swc/helpers@npm:~0.5.0": + version: 0.5.17 + resolution: "@swc/helpers@npm:0.5.17" dependencies: tslib: "npm:^2.8.0" - checksum: 10c0/33002f74f6f885f04c132960835fdfc474186983ea567606db62e86acd0680ca82f34647e8e610f4e1e422d1c16fce729dde22cd3b797ab1fd9061a825dabca4 + checksum: 10c0/fe1f33ebb968558c5a0c595e54f2e479e4609bff844f9ca9a2d1ffd8dd8504c26f862a11b031f48f75c95b0381c2966c3dd156e25942f90089badd24341e7dbb languageName: node linkType: hard -"@swc/types@npm:^0.1.19": - version: 0.1.19 - resolution: "@swc/types@npm:0.1.19" +"@swc/types@npm:^0.1.23": + version: 0.1.23 + resolution: "@swc/types@npm:0.1.23" dependencies: "@swc/counter": "npm:^0.1.3" - checksum: 10c0/21b727d97d38f1bdbe9ef8fdf693bca19ebd5334ab32d7d2624a925d9adc8934935ad0f168cdbfd938b2f4b754a1fb7581f253bf47ab416177b6ac2c5c72578b - languageName: node - linkType: hard - -"@szmarczak/http-timer@npm:^4.0.5": - version: 4.0.6 - resolution: "@szmarczak/http-timer@npm:4.0.6" - dependencies: - defer-to-connect: "npm:^2.0.0" - checksum: 10c0/73946918c025339db68b09abd91fa3001e87fc749c619d2e9c2003a663039d4c3cb89836c98a96598b3d47dec2481284ba85355392644911f5ecd2336536697f - languageName: node - linkType: hard - -"@tokenizer/token@npm:^0.3.0": - version: 0.3.0 - resolution: "@tokenizer/token@npm:0.3.0" - checksum: 10c0/7ab9a822d4b5ff3f5bca7f7d14d46bdd8432528e028db4a52be7fbf90c7f495cc1af1324691dda2813c6af8dc4b8eb29de3107d4508165f9aa5b53e7d501f155 + checksum: 10c0/edbfe4a72257f40137e27b537bc17d47ccab28de7727471b859c00a1e67f5feac5e01e4b4e0a2365907ce024bb8c3de4b26b6260733e1b601094db54ae9b7477 languageName: node linkType: hard -"@tsconfig/node10@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node10@npm:1.0.11" - checksum: 10c0/28a0710e5d039e0de484bdf85fee883bfd3f6a8980601f4d44066b0a6bcd821d31c4e231d1117731c4e24268bd4cf2a788a6787c12fc7f8d11014c07d582783c - languageName: node - linkType: hard - -"@tsconfig/node12@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node12@npm:1.0.11" - checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9 - languageName: node - linkType: hard - -"@tsconfig/node14@npm:^1.0.0": - version: 1.0.3 - resolution: "@tsconfig/node14@npm:1.0.3" - checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44 - languageName: node - linkType: hard - -"@tsconfig/node16@npm:^1.0.2": - version: 1.0.4 - resolution: "@tsconfig/node16@npm:1.0.4" - checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb - languageName: node - linkType: hard +"@tools/cdk-service-plugin@workspace:tools/cdk-service-plugin": + version: 0.0.0-use.local + resolution: "@tools/cdk-service-plugin@workspace:tools/cdk-service-plugin" + languageName: unknown + linkType: soft "@tybys/wasm-util@npm:^0.9.0": version: 0.9.0 @@ -5437,159 +4062,76 @@ __metadata: languageName: node linkType: hard -"@types/aws-lambda@npm:^8.10.145": - version: 8.10.147 - resolution: "@types/aws-lambda@npm:8.10.147" - checksum: 10c0/c77bcb18a935fb26f5b1164aaadf46b3d11d6c001a95c6e9f2ff72f7d9ed4e7f28075a3abf9f9585cc75510acbc29c7a6441e66727902eae1bd39ac8dc28351e - languageName: node - linkType: hard - -"@types/babel__core@npm:^7.1.14": - version: 7.20.5 - resolution: "@types/babel__core@npm:7.20.5" - dependencies: - "@babel/parser": "npm:^7.20.7" - "@babel/types": "npm:^7.20.7" - "@types/babel__generator": "npm:*" - "@types/babel__template": "npm:*" - "@types/babel__traverse": "npm:*" - checksum: 10c0/bdee3bb69951e833a4b811b8ee9356b69a61ed5b7a23e1a081ec9249769117fa83aaaf023bb06562a038eb5845155ff663e2d5c75dd95c1d5ccc91db012868ff - languageName: node - linkType: hard - -"@types/babel__generator@npm:*": - version: 7.6.8 - resolution: "@types/babel__generator@npm:7.6.8" - dependencies: - "@babel/types": "npm:^7.0.0" - checksum: 10c0/f0ba105e7d2296bf367d6e055bb22996886c114261e2cb70bf9359556d0076c7a57239d019dee42bb063f565bade5ccb46009bce2044b2952d964bf9a454d6d2 - languageName: node - linkType: hard - -"@types/babel__template@npm:*": - version: 7.4.4 - resolution: "@types/babel__template@npm:7.4.4" - dependencies: - "@babel/parser": "npm:^7.1.0" - "@babel/types": "npm:^7.0.0" - checksum: 10c0/cc84f6c6ab1eab1427e90dd2b76ccee65ce940b778a9a67be2c8c39e1994e6f5bbc8efa309f6cea8dc6754994524cd4d2896558df76d92e7a1f46ecffee7112b +"@types/aws-lambda@npm:^8.10.152": + version: 8.10.152 + resolution: "@types/aws-lambda@npm:8.10.152" + checksum: 10c0/ddb3858d961b88a3c5eb947ddd8890bf6d0ae8d24ce5bf7d4fd8b54f7d45646864da10cdde038755d191e834201624a40eb3240dbe48f633f4dd18137ac2e3d7 languageName: node linkType: hard -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": - version: 7.20.6 - resolution: "@types/babel__traverse@npm:7.20.6" +"@types/chai@npm:^5.2.2": + version: 5.2.2 + resolution: "@types/chai@npm:5.2.2" dependencies: - "@babel/types": "npm:^7.20.7" - checksum: 10c0/7ba7db61a53e28cac955aa99af280d2600f15a8c056619c05b6fc911cbe02c61aa4f2823299221b23ce0cce00b294c0e5f618ec772aa3f247523c2e48cf7b888 - languageName: node - linkType: hard - -"@types/cacheable-request@npm:^6.0.1": - version: 6.0.3 - resolution: "@types/cacheable-request@npm:6.0.3" - dependencies: - "@types/http-cache-semantics": "npm:*" - "@types/keyv": "npm:^3.1.4" - "@types/node": "npm:*" - "@types/responselike": "npm:^1.0.0" - checksum: 10c0/10816a88e4e5b144d43c1d15a81003f86d649776c7f410c9b5e6579d0ad9d4ca71c541962fb403077388b446e41af7ae38d313e46692144985f006ac5e11fa03 - languageName: node - linkType: hard - -"@types/estree@npm:1.0.6, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": - version: 1.0.6 - resolution: "@types/estree@npm:1.0.6" - checksum: 10c0/cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a - languageName: node - linkType: hard - -"@types/graceful-fs@npm:^4.1.3": - version: 4.1.9 - resolution: "@types/graceful-fs@npm:4.1.9" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/235d2fc69741448e853333b7c3d1180a966dd2b8972c8cbcd6b2a0c6cd7f8d582ab2b8e58219dbc62cce8f1b40aa317ff78ea2201cdd8249da5025adebed6f0b - languageName: node - linkType: hard - -"@types/http-cache-semantics@npm:*": - version: 4.0.4 - resolution: "@types/http-cache-semantics@npm:4.0.4" - checksum: 10c0/51b72568b4b2863e0fe8d6ce8aad72a784b7510d72dc866215642da51d84945a9459fa89f49ec48f1e9a1752e6a78e85a4cda0ded06b1c73e727610c925f9ce6 + "@types/deep-eql": "npm:*" + checksum: 10c0/49282bf0e8246800ebb36f17256f97bd3a8c4fb31f92ad3c0eaa7623518d7e87f1eaad4ad206960fcaf7175854bdff4cb167e4fe96811e0081b4ada83dd533ec languageName: node linkType: hard -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.6 - resolution: "@types/istanbul-lib-coverage@npm:2.0.6" - checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 - languageName: node - linkType: hard - -"@types/istanbul-lib-report@npm:*": - version: 3.0.3 - resolution: "@types/istanbul-lib-report@npm:3.0.3" - dependencies: - "@types/istanbul-lib-coverage": "npm:*" - checksum: 10c0/247e477bbc1a77248f3c6de5dadaae85ff86ac2d76c5fc6ab1776f54512a745ff2a5f791d22b942e3990ddbd40f3ef5289317c4fca5741bedfaa4f01df89051c +"@types/deep-eql@npm:*": + version: 4.0.2 + resolution: "@types/deep-eql@npm:4.0.2" + checksum: 10c0/bf3f811843117900d7084b9d0c852da9a044d12eb40e6de73b552598a6843c21291a8a381b0532644574beecd5e3491c5ff3a0365ab86b15d59862c025384844 languageName: node linkType: hard -"@types/istanbul-reports@npm:^3.0.0": - version: 3.0.4 - resolution: "@types/istanbul-reports@npm:3.0.4" - dependencies: - "@types/istanbul-lib-report": "npm:*" - checksum: 10c0/1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee +"@types/estree@npm:1.0.8, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6": + version: 1.0.8 + resolution: "@types/estree@npm:1.0.8" + checksum: 10c0/39d34d1afaa338ab9763f37ad6066e3f349444f9052b9676a7cc0252ef9485a41c6d81c9c4e0d26e9077993354edf25efc853f3224dd4b447175ef62bdcc86a5 languageName: node linkType: hard -"@types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.7": +"@types/json-schema@npm:^7.0.15": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db languageName: node linkType: hard -"@types/json5@npm:^0.0.29": - version: 0.0.29 - resolution: "@types/json5@npm:0.0.29" - checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac - languageName: node - linkType: hard - -"@types/keyv@npm:^3.1.4": - version: 3.1.4 - resolution: "@types/keyv@npm:3.1.4" +"@types/mute-stream@npm:^0.0.4": + version: 0.0.4 + resolution: "@types/mute-stream@npm:0.0.4" dependencies: "@types/node": "npm:*" - checksum: 10c0/ff8f54fc49621210291f815fe5b15d809fd7d032941b3180743440bd507ecdf08b9e844625fa346af568c84bf34114eb378dcdc3e921a08ba1e2a08d7e3c809c + checksum: 10c0/944730fd7b398c5078de3c3d4d0afeec8584283bc694da1803fdfca14149ea385e18b1b774326f1601baf53898ce6d121a952c51eb62d188ef6fcc41f725c0dc languageName: node linkType: hard -"@types/lodash@npm:^4.14.123": - version: 4.17.16 - resolution: "@types/lodash@npm:4.17.16" - checksum: 10c0/cf017901b8ab1d7aabc86d5189d9288f4f99f19a75caf020c0e2c77b8d4cead4db0d0b842d009b029339f92399f49f34377dd7c2721053388f251778b4c23534 +"@types/node@npm:*": + version: 24.3.0 + resolution: "@types/node@npm:24.3.0" + dependencies: + undici-types: "npm:~7.10.0" + checksum: 10c0/96bdeca01f690338957c2dcc92cb9f76c262c10398f8d91860865464412b0f9d309c24d9b03d0bdd26dd47fa7ee3f8227893d5c89bc2009d919a525a22512030 languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:>=13.7.0": - version: 22.13.11 - resolution: "@types/node@npm:22.13.11" +"@types/node@npm:^22.17.0": + version: 22.17.0 + resolution: "@types/node@npm:22.17.0" dependencies: - undici-types: "npm:~6.20.0" - checksum: 10c0/f6ee33d36372242535c38640fe7550a6640d8a775ec19b55bfc11775b521cba072d892ca92a912332ce01b317293d645c1bf767f3f882ec719f2404a3d2a5b96 + undici-types: "npm:~6.21.0" + checksum: 10c0/e1c603b660d3de3243dfc02ded5d40623ff3f36315ffbdd8cdc81bc2c5a8da172035879d437b72e9fa61ca01827f28e9c2b0c32898f411a8e9ba0a5efac0b4ca languageName: node linkType: hard -"@types/node@npm:20.13.0": - version: 20.13.0 - resolution: "@types/node@npm:20.13.0" +"@types/node@npm:^22.5.5": + version: 22.17.2 + resolution: "@types/node@npm:22.17.2" dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/4fb1ab41d622bbf3434da138bd0f23052e5df3bc59852ea1228cdfe185fd9d66ea71171a68a3106452c883808be7eaa7bc4cd87f534708754d49849e817aa566 + undici-types: "npm:~6.21.0" + checksum: 10c0/23cd13aa35da6322a6d66cf4b3a45dbd40764ba726ab8681960270156c3abba776dd8dc173250c467f708d40612ecd725755d7659b775b513904680d5205eaff languageName: node linkType: hard @@ -5600,36 +4142,6 @@ __metadata: languageName: node linkType: hard -"@types/responselike@npm:^1.0.0": - version: 1.0.3 - resolution: "@types/responselike@npm:1.0.3" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/a58ba341cb9e7d74f71810a88862da7b2a6fa42e2a1fc0ce40498f6ea1d44382f0640117057da779f74c47039f7166bf48fad02dc876f94e005c7afa50f5e129 - languageName: node - linkType: hard - -"@types/stack-utils@npm:^2.0.0": - version: 2.0.3 - resolution: "@types/stack-utils@npm:2.0.3" - checksum: 10c0/1f4658385ae936330581bcb8aa3a066df03867d90281cdf89cc356d404bd6579be0f11902304e1f775d92df22c6dd761d4451c804b0a4fba973e06211e9bd77c - languageName: node - linkType: hard - -"@types/stylis@npm:4.2.5": - version: 4.2.5 - resolution: "@types/stylis@npm:4.2.5" - checksum: 10c0/23f5b35a3a04f6bb31a29d404fa1bc8e0035fcaff2356b4047743a057e0c37b2eba7efe14d57dd2b95b398cea3bac294d9c6cd93ed307d8c0b7f5d282224b469 - languageName: node - linkType: hard - -"@types/trusted-types@npm:^2.0.7": - version: 2.0.7 - resolution: "@types/trusted-types@npm:2.0.7" - checksum: 10c0/4c4855f10de7c6c135e0d32ce462419d8abbbc33713b31d294596c0cc34ae1fa6112a2f9da729c8f7a20707782b0d69da3b1f8df6645b0366d08825ca1522e0c - languageName: node - linkType: hard - "@types/uuid@npm:^9.0.1": version: 9.0.8 resolution: "@types/uuid@npm:9.0.8" @@ -5637,367 +4149,373 @@ __metadata: languageName: node linkType: hard -"@types/yargs-parser@npm:*": - version: 21.0.3 - resolution: "@types/yargs-parser@npm:21.0.3" - checksum: 10c0/e71c3bd9d0b73ca82e10bee2064c384ab70f61034bbfb78e74f5206283fc16a6d85267b606b5c22cb2a3338373586786fed595b2009825d6a9115afba36560a0 - languageName: node - linkType: hard - -"@types/yargs@npm:^17.0.8": - version: 17.0.33 - resolution: "@types/yargs@npm:17.0.33" - dependencies: - "@types/yargs-parser": "npm:*" - checksum: 10c0/d16937d7ac30dff697801c3d6f235be2166df42e4a88bf730fa6dc09201de3727c0a9500c59a672122313341de5f24e45ee0ff579c08ce91928e519090b7906b +"@types/wrap-ansi@npm:^3.0.0": + version: 3.0.0 + resolution: "@types/wrap-ansi@npm:3.0.0" + checksum: 10c0/8d8f53363f360f38135301a06b596c295433ad01debd082078c33c6ed98b05a5c8fe8853a88265432126096084f4a135ec1564e3daad631b83296905509f90b3 languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.31.0": - version: 8.31.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.31.0" +"@typescript-eslint/eslint-plugin@npm:8.39.0, @typescript-eslint/eslint-plugin@npm:^8.39.0": + version: 8.39.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.39.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.31.0" - "@typescript-eslint/type-utils": "npm:8.31.0" - "@typescript-eslint/utils": "npm:8.31.0" - "@typescript-eslint/visitor-keys": "npm:8.31.0" + "@typescript-eslint/scope-manager": "npm:8.39.0" + "@typescript-eslint/type-utils": "npm:8.39.0" + "@typescript-eslint/utils": "npm:8.39.0" + "@typescript-eslint/visitor-keys": "npm:8.39.0" graphemer: "npm:^1.4.0" - ignore: "npm:^5.3.1" + ignore: "npm:^7.0.0" natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^2.0.1" + ts-api-utils: "npm:^2.1.0" peerDependencies: - "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 + "@typescript-eslint/parser": ^8.39.0 eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/7d78e0cdcc967742752d49d2d38986ee38d0b7ca64af247e5fe0816cea9ae5f1bfa5c126154acc0846af515c4fb1c52c96926ee25c73b4c3f7e6fd73cb6d2b0e + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/c735a99622e2a4a95d89fa02cc47e65279f61972a68b62f58c32a384e766473289b6234cdaa34b5caa9372d4bdf1b22ad34b45feada482c4ed7320784fa19312 languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^8.26.0": - version: 8.27.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.27.0" +"@typescript-eslint/parser@npm:8.39.0, @typescript-eslint/parser@npm:^8.39.0": + version: 8.39.0 + resolution: "@typescript-eslint/parser@npm:8.39.0" dependencies: - "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.27.0" - "@typescript-eslint/type-utils": "npm:8.27.0" - "@typescript-eslint/utils": "npm:8.27.0" - "@typescript-eslint/visitor-keys": "npm:8.27.0" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.3.1" - natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^2.0.1" + "@typescript-eslint/scope-manager": "npm:8.39.0" + "@typescript-eslint/types": "npm:8.39.0" + "@typescript-eslint/typescript-estree": "npm:8.39.0" + "@typescript-eslint/visitor-keys": "npm:8.39.0" + debug: "npm:^4.3.4" peerDependencies: - "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/95bbab011bfe51ca657ff346e4c6cac25652c88e5188a5e74d14372dba45c3d7aa713f4c90f80ebc885d77a8be89e131e8b77c096145c90da6c251a475b125fc + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/cb437362ea80303e728eccada1ba630769e90d863471d2cb65abbeda540679f93a566bb4ecdcd3aca39c01f48f865a70aed3e94fbaacc6a81e79bb804c596f0b languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.31.0": - version: 8.31.0 - resolution: "@typescript-eslint/parser@npm:8.31.0" +"@typescript-eslint/project-service@npm:8.36.0": + version: 8.36.0 + resolution: "@typescript-eslint/project-service@npm:8.36.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.31.0" - "@typescript-eslint/types": "npm:8.31.0" - "@typescript-eslint/typescript-estree": "npm:8.31.0" - "@typescript-eslint/visitor-keys": "npm:8.31.0" + "@typescript-eslint/tsconfig-utils": "npm:^8.36.0" + "@typescript-eslint/types": "npm:^8.36.0" debug: "npm:^4.3.4" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/9bd903b3ea4e24bfeb444d7a5c2ed82e591ef5cffc0874c609de854c05d34935cd85543e66678ecdb8e0e3eae2cda2df5c1ba66eb72010632cb9f8779031d56d + checksum: 10c0/4199bb52118fa530f24709707e0ab7677ffbe2885412aea294a24befe6ffe2af19b05512913752ab08b8177b00784da23285a6b091066e28fe4449cddcf0ef7a languageName: node linkType: hard -"@typescript-eslint/parser@npm:^8.26.0": - version: 8.27.0 - resolution: "@typescript-eslint/parser@npm:8.27.0" +"@typescript-eslint/project-service@npm:8.39.0": + version: 8.39.0 + resolution: "@typescript-eslint/project-service@npm:8.39.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.27.0" - "@typescript-eslint/types": "npm:8.27.0" - "@typescript-eslint/typescript-estree": "npm:8.27.0" - "@typescript-eslint/visitor-keys": "npm:8.27.0" + "@typescript-eslint/tsconfig-utils": "npm:^8.39.0" + "@typescript-eslint/types": "npm:^8.39.0" debug: "npm:^4.3.4" peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/2ada98167ca5a474544fada7658d7c8d54ea4dfdd692e3d30d18b5531e50d7308a5b09d23dca651f9fe841f96075ccd18643431f4b61d0e4e7e7ccde888258e8 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/67ac21bcc715d8e3281b8cab36a7e285b01244a48817ea74910186e76e714918dd2e939b465d0e4e9a30c4ceffa6c8946eb9b1f0ec0dab6708c4416d3a66e731 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.27.0": - version: 8.27.0 - resolution: "@typescript-eslint/scope-manager@npm:8.27.0" +"@typescript-eslint/scope-manager@npm:8.36.0": + version: 8.36.0 + resolution: "@typescript-eslint/scope-manager@npm:8.36.0" dependencies: - "@typescript-eslint/types": "npm:8.27.0" - "@typescript-eslint/visitor-keys": "npm:8.27.0" - checksum: 10c0/d87daeffb81f4e70f168c38f01c667713bda71c4545e28fcdf0792378fb3df171894ef77854c5c1a5e5a22c784ee1ccea2dd856b5baf825840710a6a74c14ac9 + "@typescript-eslint/types": "npm:8.36.0" + "@typescript-eslint/visitor-keys": "npm:8.36.0" + checksum: 10c0/ee40ac6ac130c8656530eac5705f386b9e33ee6aa4bb285794b62023bc42e1004c871260b0accdff57275cf8c939981dc72c5a64043310375e9117734827e9bb languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.31.0": - version: 8.31.0 - resolution: "@typescript-eslint/scope-manager@npm:8.31.0" +"@typescript-eslint/scope-manager@npm:8.39.0": + version: 8.39.0 + resolution: "@typescript-eslint/scope-manager@npm:8.39.0" dependencies: - "@typescript-eslint/types": "npm:8.31.0" - "@typescript-eslint/visitor-keys": "npm:8.31.0" - checksum: 10c0/eae758a24cc578fa351b8bf0c30c50de384292c0b05a58762f9b632d65a009bd5d902d806eccb6b678cc0b09686289fb4f1fd67da7f12d59ad43ff033b35cc4f + "@typescript-eslint/types": "npm:8.39.0" + "@typescript-eslint/visitor-keys": "npm:8.39.0" + checksum: 10c0/ae61721e85fa67f64cab02db88599a6e78e9395dd13c211ab60c5728abdf01b9ceb970c0722671d1958e83c8f00a8ee4f9b3a5c462ea21fb117729b73d53a7e7 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.27.0, @typescript-eslint/type-utils@npm:^8.0.0": - version: 8.27.0 - resolution: "@typescript-eslint/type-utils@npm:8.27.0" +"@typescript-eslint/tsconfig-utils@npm:8.36.0, @typescript-eslint/tsconfig-utils@npm:^8.36.0": + version: 8.36.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.36.0" + peerDependencies: + typescript: ">=4.8.4 <5.9.0" + checksum: 10c0/e0e1bacd3f5bfddb90a90362dbedf793d98ee1ada203fc2d83531a61617d246b9e0d0bfac493680f635afb3cfd749da2008e06e4404660334a5f804392064006 + languageName: node + linkType: hard + +"@typescript-eslint/tsconfig-utils@npm:8.39.0, @typescript-eslint/tsconfig-utils@npm:^8.39.0": + version: 8.39.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.39.0" + peerDependencies: + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/1437c0004d4d852128c72559232470e82c9b9635156c6d8eec7be7c5b08c01e9528cda736587bdaba0d5c71f2f5480855c406f224eab45ba81c6850210280fc3 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:8.39.0": + version: 8.39.0 + resolution: "@typescript-eslint/type-utils@npm:8.39.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.27.0" - "@typescript-eslint/utils": "npm:8.27.0" + "@typescript-eslint/types": "npm:8.39.0" + "@typescript-eslint/typescript-estree": "npm:8.39.0" + "@typescript-eslint/utils": "npm:8.39.0" debug: "npm:^4.3.4" - ts-api-utils: "npm:^2.0.1" + ts-api-utils: "npm:^2.1.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/f38cdc660ebcb3b71496182b9ea52301ab08a4f062558aa7061a5f0b759ae3e8f68ae250a29e74251cb52c6c56733d7dabed7002b993544cbe0933bb75d67a57 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/918de86cc99e90a74a02ee5dfe26f0d7a22872ac00d84e59630a15f50fa9688c2db545c8bf26ba8923c72a74c09386b994d0b7da3dac4104da4ca8c80b4353ac languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.31.0": - version: 8.31.0 - resolution: "@typescript-eslint/type-utils@npm:8.31.0" +"@typescript-eslint/type-utils@npm:^8.0.0": + version: 8.36.0 + resolution: "@typescript-eslint/type-utils@npm:8.36.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.31.0" - "@typescript-eslint/utils": "npm:8.31.0" + "@typescript-eslint/typescript-estree": "npm:8.36.0" + "@typescript-eslint/utils": "npm:8.36.0" debug: "npm:^4.3.4" - ts-api-utils: "npm:^2.0.1" + ts-api-utils: "npm:^2.1.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/f6938413a583430468b259f6823bb2ab1b5cd77cd6d4e21e1803df70e329046b9579aed5bdc9bdcf4046c8091615a911ac3990859db78d00210bb867915ba37f + checksum: 10c0/9743b99d1ab5c98b96e9b43472c1c0c787256285fe4c5fe3e54bbf331cd3c9a3bfac1188a490f6e0de8eacea0940731478feef6b3e0266d701bb0686815532c6 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.27.0": - version: 8.27.0 - resolution: "@typescript-eslint/types@npm:8.27.0" - checksum: 10c0/9c5f2ba816a9baea5982feeadebe4d19f4df77ddb025a7b2307f9e1e6914076b63cbad81f7f915814e64b4d915052cf27bd79ce3e5a831340cb5ab244133941b +"@typescript-eslint/types@npm:8.36.0, @typescript-eslint/types@npm:^8.36.0": + version: 8.36.0 + resolution: "@typescript-eslint/types@npm:8.36.0" + checksum: 10c0/cacb941a0caad6ab556c416051b97ec33b364b7c8e0703e2729ae43f12daf02b42eef12011705329107752e3f1685ca82cfffe181d637f85907293cb634bee31 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.31.0": - version: 8.31.0 - resolution: "@typescript-eslint/types@npm:8.31.0" - checksum: 10c0/04130a30aac477d36d6a155399b27773457aeb9b485ef8fb56fee05725b6e36768c9fac7e4d1f073fd16988de0eb7dffc743c3f834ae907cf918cabb075e5cd8 +"@typescript-eslint/types@npm:8.39.0, @typescript-eslint/types@npm:^8.39.0": + version: 8.39.0 + resolution: "@typescript-eslint/types@npm:8.39.0" + checksum: 10c0/4240b01b218f3ef8a4f6343cb78cd531c12b2a134b6edd6ab67a9de4d1808790bc468f7579d5d38e507a206457d14a5e8970f6f74d29b9858633f77258f7e43b languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.27.0": - version: 8.27.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.27.0" +"@typescript-eslint/typescript-estree@npm:8.36.0": + version: 8.36.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.36.0" dependencies: - "@typescript-eslint/types": "npm:8.27.0" - "@typescript-eslint/visitor-keys": "npm:8.27.0" + "@typescript-eslint/project-service": "npm:8.36.0" + "@typescript-eslint/tsconfig-utils": "npm:8.36.0" + "@typescript-eslint/types": "npm:8.36.0" + "@typescript-eslint/visitor-keys": "npm:8.36.0" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" minimatch: "npm:^9.0.4" semver: "npm:^7.6.0" - ts-api-utils: "npm:^2.0.1" + ts-api-utils: "npm:^2.1.0" peerDependencies: typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/c04d602825ff2a7b2a89746a68b32f7052fb4ce3d2355d1f4e6f43fd064f17c3b44fb974c98838a078fdebdc35152d2ab0af34663dfca99db7a790bd3fc5d8ac + checksum: 10c0/3581401620de27fbeb4ce5052211432eff839961b4430324b505429637e3d19270be1ab1575e29da0115817d32fb5b1fa5e774667b91d92da7f6b95fff5dbf74 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.31.0": - version: 8.31.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.31.0" +"@typescript-eslint/typescript-estree@npm:8.39.0": + version: 8.39.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.39.0" dependencies: - "@typescript-eslint/types": "npm:8.31.0" - "@typescript-eslint/visitor-keys": "npm:8.31.0" + "@typescript-eslint/project-service": "npm:8.39.0" + "@typescript-eslint/tsconfig-utils": "npm:8.39.0" + "@typescript-eslint/types": "npm:8.39.0" + "@typescript-eslint/visitor-keys": "npm:8.39.0" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" minimatch: "npm:^9.0.4" semver: "npm:^7.6.0" - ts-api-utils: "npm:^2.0.1" + ts-api-utils: "npm:^2.1.0" peerDependencies: - typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/0ec074b2b9c49f80fafea716aa0cc4b05085e65730a3ef7c7d2d39db1657a40b38abe83f22bbe15ac4f6fdf576692f47d2d057347242e6cef5be81d070f55064 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/9eaf44af35b7bd8a8298909c0b2153f4c69e582b86f84dbe4a58c6afb6496253e955ee2b6ff0517e7717a6e8557537035ce631e0aa10fa848354a15620c387d2 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.27.0, @typescript-eslint/utils@npm:^8.0.0": - version: 8.27.0 - resolution: "@typescript-eslint/utils@npm:8.27.0" +"@typescript-eslint/utils@npm:8.36.0, @typescript-eslint/utils@npm:^8.0.0": + version: 8.36.0 + resolution: "@typescript-eslint/utils@npm:8.36.0" dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.27.0" - "@typescript-eslint/types": "npm:8.27.0" - "@typescript-eslint/typescript-estree": "npm:8.27.0" + "@eslint-community/eslint-utils": "npm:^4.7.0" + "@typescript-eslint/scope-manager": "npm:8.36.0" + "@typescript-eslint/types": "npm:8.36.0" + "@typescript-eslint/typescript-estree": "npm:8.36.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/dcfd5f2c17f1a33061e3ec70d0946ff23a4238aabacae3d85087165beccedf84fb8506d30848f2470e3b60ab98b230aef79c6e8b4c5d39648a37ac559ac5b1e0 + checksum: 10c0/b107018ae0ba1cca954c3e8c3280cf1844c81c1c8494f9967014eadf41fdc44a88d13accc935c5371c61df02a13decd4846f12e63d9b2b2c789e5007abce1050 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.31.0": - version: 8.31.0 - resolution: "@typescript-eslint/utils@npm:8.31.0" +"@typescript-eslint/utils@npm:8.39.0": + version: 8.39.0 + resolution: "@typescript-eslint/utils@npm:8.39.0" dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.31.0" - "@typescript-eslint/types": "npm:8.31.0" - "@typescript-eslint/typescript-estree": "npm:8.31.0" + "@eslint-community/eslint-utils": "npm:^4.7.0" + "@typescript-eslint/scope-manager": "npm:8.39.0" + "@typescript-eslint/types": "npm:8.39.0" + "@typescript-eslint/typescript-estree": "npm:8.39.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/1fd4f62e16a44a5be2de501f70ba4b2d64479e014370bde7bbc6de6897cf1699766a8b7be4deb9b0328e74c2b4171839336ede4e3c60fec6ac8378b623a75275 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/61956004dea90835b9f8de581019bc4f360dd44cebb9e0f8014ede39fc7cbc71d7d0093a65547bea004a865a1eff81dfd822520ba0a37e636f359291c27e1bd2 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.27.0": - version: 8.27.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.27.0" +"@typescript-eslint/visitor-keys@npm:8.36.0": + version: 8.36.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.36.0" dependencies: - "@typescript-eslint/types": "npm:8.27.0" - eslint-visitor-keys: "npm:^4.2.0" - checksum: 10c0/d86fd4032db07123816aab3a6b8b53f840387385ab2a4d8f96b22fc76b5438fb27ac8dc42b63caf23f3d265c33e9075dbf1ce8d31f939df12f5cd077d3b10295 + "@typescript-eslint/types": "npm:8.36.0" + eslint-visitor-keys: "npm:^4.2.1" + checksum: 10c0/cc5cc3ab8cf0a84c73c6aa025556e8c6ed04c1a114f6d03c4c4a05c0b197f2de4f02764d053760f2ba81b256234bb14be391a8601f294e3ac31baaa1dce44a63 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.31.0": - version: 8.31.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.31.0" +"@typescript-eslint/visitor-keys@npm:8.39.0": + version: 8.39.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.39.0" dependencies: - "@typescript-eslint/types": "npm:8.31.0" - eslint-visitor-keys: "npm:^4.2.0" - checksum: 10c0/e41e2a9e287d11232cda6126377d1df4de69c6e9dc2a14058819cff15280ec654a3877886a6806728196f299766cfbb0b299eb021c2ce168eb15dff5eb07b51b + "@typescript-eslint/types": "npm:8.39.0" + eslint-visitor-keys: "npm:^4.2.1" + checksum: 10c0/657766d4e9ad01e8fd8e8fd39f8f3d043ecdffb78f1ab9653acbed3c971e221b1f680e90752394308c532703211f9f441bb449f62c0f61a48750b24ccb4379ef languageName: node linkType: hard -"@vitest/coverage-v8@npm:^2.0.0": - version: 2.1.9 - resolution: "@vitest/coverage-v8@npm:2.1.9" +"@vitest/coverage-v8@npm:^3.2.4": + version: 3.2.4 + resolution: "@vitest/coverage-v8@npm:3.2.4" dependencies: "@ampproject/remapping": "npm:^2.3.0" - "@bcoe/v8-coverage": "npm:^0.2.3" - debug: "npm:^4.3.7" + "@bcoe/v8-coverage": "npm:^1.0.2" + ast-v8-to-istanbul: "npm:^0.3.3" + debug: "npm:^4.4.1" istanbul-lib-coverage: "npm:^3.2.2" istanbul-lib-report: "npm:^3.0.1" istanbul-lib-source-maps: "npm:^5.0.6" istanbul-reports: "npm:^3.1.7" - magic-string: "npm:^0.30.12" + magic-string: "npm:^0.30.17" magicast: "npm:^0.3.5" - std-env: "npm:^3.8.0" + std-env: "npm:^3.9.0" test-exclude: "npm:^7.0.1" - tinyrainbow: "npm:^1.2.0" + tinyrainbow: "npm:^2.0.0" peerDependencies: - "@vitest/browser": 2.1.9 - vitest: 2.1.9 + "@vitest/browser": 3.2.4 + vitest: 3.2.4 peerDependenciesMeta: "@vitest/browser": optional: true - checksum: 10c0/ccf5871954a630453af9393e84ff40a0f8a4515e988ea32c7ebac5db7c79f17535a12c1c2567cbb78ea01a1eb99abdde94e297f6b6ccd5f7f7fc9b8b01c5963c + checksum: 10c0/cae3e58d81d56e7e1cdecd7b5baab7edd0ad9dee8dec9353c52796e390e452377d3f04174d40b6986b17c73241a5e773e422931eaa8102dcba0605ff24b25193 languageName: node linkType: hard -"@vitest/expect@npm:2.1.9": - version: 2.1.9 - resolution: "@vitest/expect@npm:2.1.9" +"@vitest/expect@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/expect@npm:3.2.4" dependencies: - "@vitest/spy": "npm:2.1.9" - "@vitest/utils": "npm:2.1.9" - chai: "npm:^5.1.2" - tinyrainbow: "npm:^1.2.0" - checksum: 10c0/98d1cf02917316bebef9e4720723e38298a1c12b3c8f3a81f259bb822de4288edf594e69ff64f0b88afbda6d04d7a4f0c2f720f3fec16b4c45f5e2669f09fdbb + "@types/chai": "npm:^5.2.2" + "@vitest/spy": "npm:3.2.4" + "@vitest/utils": "npm:3.2.4" + chai: "npm:^5.2.0" + tinyrainbow: "npm:^2.0.0" + checksum: 10c0/7586104e3fd31dbe1e6ecaafb9a70131e4197dce2940f727b6a84131eee3decac7b10f9c7c72fa5edbdb68b6f854353bd4c0fa84779e274207fb7379563b10db languageName: node linkType: hard -"@vitest/mocker@npm:2.1.9": - version: 2.1.9 - resolution: "@vitest/mocker@npm:2.1.9" +"@vitest/mocker@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/mocker@npm:3.2.4" dependencies: - "@vitest/spy": "npm:2.1.9" + "@vitest/spy": "npm:3.2.4" estree-walker: "npm:^3.0.3" - magic-string: "npm:^0.30.12" + magic-string: "npm:^0.30.17" peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 peerDependenciesMeta: msw: optional: true vite: optional: true - checksum: 10c0/f734490d8d1206a7f44dfdfca459282f5921d73efa72935bb1dc45307578defd38a4131b14853316373ec364cbe910dbc74594ed4137e0da35aa4d9bb716f190 + checksum: 10c0/f7a4aea19bbbf8f15905847ee9143b6298b2c110f8b64789224cb0ffdc2e96f9802876aa2ca83f1ec1b6e1ff45e822abb34f0054c24d57b29ab18add06536ccd languageName: node linkType: hard -"@vitest/pretty-format@npm:2.1.9, @vitest/pretty-format@npm:^2.1.9": - version: 2.1.9 - resolution: "@vitest/pretty-format@npm:2.1.9" +"@vitest/pretty-format@npm:3.2.4, @vitest/pretty-format@npm:^3.2.4": + version: 3.2.4 + resolution: "@vitest/pretty-format@npm:3.2.4" dependencies: - tinyrainbow: "npm:^1.2.0" - checksum: 10c0/155f9ede5090eabed2a73361094bb35ed4ec6769ae3546d2a2af139166569aec41bb80e031c25ff2da22b71dd4ed51e5468e66a05e6aeda5f14b32e30bc18f00 + tinyrainbow: "npm:^2.0.0" + checksum: 10c0/5ad7d4278e067390d7d633e307fee8103958806a419ca380aec0e33fae71b44a64415f7a9b4bc11635d3c13d4a9186111c581d3cef9c65cc317e68f077456887 languageName: node linkType: hard -"@vitest/runner@npm:2.1.9": - version: 2.1.9 - resolution: "@vitest/runner@npm:2.1.9" +"@vitest/runner@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/runner@npm:3.2.4" dependencies: - "@vitest/utils": "npm:2.1.9" - pathe: "npm:^1.1.2" - checksum: 10c0/e81f176badb12a815cbbd9bd97e19f7437a0b64e8934d680024b0f768d8670d59cad698ef0e3dada5241b6731d77a7bb3cd2c7cb29f751fd4dd35eb11c42963a + "@vitest/utils": "npm:3.2.4" + pathe: "npm:^2.0.3" + strip-literal: "npm:^3.0.0" + checksum: 10c0/e8be51666c72b3668ae3ea348b0196656a4a5adb836cb5e270720885d9517421815b0d6c98bfdf1795ed02b994b7bfb2b21566ee356a40021f5bf4f6ed4e418a languageName: node linkType: hard -"@vitest/snapshot@npm:2.1.9": - version: 2.1.9 - resolution: "@vitest/snapshot@npm:2.1.9" +"@vitest/snapshot@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/snapshot@npm:3.2.4" dependencies: - "@vitest/pretty-format": "npm:2.1.9" - magic-string: "npm:^0.30.12" - pathe: "npm:^1.1.2" - checksum: 10c0/394974b3a1fe96186a3c87f933b2f7f1f7b7cc42f9c781d80271dbb4c987809bf035fecd7398b8a3a2d54169e3ecb49655e38a0131d0e7fea5ce88960613b526 + "@vitest/pretty-format": "npm:3.2.4" + magic-string: "npm:^0.30.17" + pathe: "npm:^2.0.3" + checksum: 10c0/f8301a3d7d1559fd3d59ed51176dd52e1ed5c2d23aa6d8d6aa18787ef46e295056bc726a021698d8454c16ed825ecba163362f42fa90258bb4a98cfd2c9424fc languageName: node linkType: hard -"@vitest/spy@npm:2.1.9": - version: 2.1.9 - resolution: "@vitest/spy@npm:2.1.9" +"@vitest/spy@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/spy@npm:3.2.4" dependencies: - tinyspy: "npm:^3.0.2" - checksum: 10c0/12a59b5095e20188b819a1d797e0a513d991b4e6a57db679927c43b362a3eff52d823b34e855a6dd9e73c9fa138dcc5ef52210841a93db5cbf047957a60ca83c + tinyspy: "npm:^4.0.3" + checksum: 10c0/6ebf0b4697dc238476d6b6a60c76ba9eb1dd8167a307e30f08f64149612fd50227682b876420e4c2e09a76334e73f72e3ebf0e350714dc22474258292e202024 languageName: node linkType: hard -"@vitest/ui@npm:^2.0.0": - version: 2.1.9 - resolution: "@vitest/ui@npm:2.1.9" +"@vitest/ui@npm:^3.2.4": + version: 3.2.4 + resolution: "@vitest/ui@npm:3.2.4" dependencies: - "@vitest/utils": "npm:2.1.9" + "@vitest/utils": "npm:3.2.4" fflate: "npm:^0.8.2" - flatted: "npm:^3.3.1" - pathe: "npm:^1.1.2" - sirv: "npm:^3.0.0" - tinyglobby: "npm:^0.2.10" - tinyrainbow: "npm:^1.2.0" + flatted: "npm:^3.3.3" + pathe: "npm:^2.0.3" + sirv: "npm:^3.0.1" + tinyglobby: "npm:^0.2.14" + tinyrainbow: "npm:^2.0.0" peerDependencies: - vitest: 2.1.9 - checksum: 10c0/b091f5afd5e7327d1dfc37e26af16d58066bd6c37ec0a1547796f1843eff3170c59062243475fb250ca36d8d7c7293ab78b36b2d112d7839ba8331625ab9b1d3 + vitest: 3.2.4 + checksum: 10c0/c3de1b757905d050706c7ab0199185dd8c7e115f2f348b8d5a7468528c6bf90c2c46096e8901602349ac04f5ba83ac23cd98c38827b104d5151cf8ba21739a0c languageName: node linkType: hard -"@vitest/utils@npm:2.1.9": - version: 2.1.9 - resolution: "@vitest/utils@npm:2.1.9" +"@vitest/utils@npm:3.2.4": + version: 3.2.4 + resolution: "@vitest/utils@npm:3.2.4" dependencies: - "@vitest/pretty-format": "npm:2.1.9" - loupe: "npm:^3.1.2" - tinyrainbow: "npm:^1.2.0" - checksum: 10c0/81a346cd72b47941f55411f5df4cc230e5f740d1e97e0d3f771b27f007266fc1f28d0438582f6409ea571bc0030ed37f684c64c58d1947d6298d770c21026fdf + "@vitest/pretty-format": "npm:3.2.4" + loupe: "npm:^3.1.4" + tinyrainbow: "npm:^2.0.0" + checksum: 10c0/024a9b8c8bcc12cf40183c246c244b52ecff861c6deb3477cbf487ac8781ad44c68a9c5fd69f8c1361878e55b97c10d99d511f2597f1f7244b5e5101d028ba64 languageName: node linkType: hard @@ -6030,18 +4548,9 @@ __metadata: linkType: hard "abbrev@npm:^3.0.0": - version: 3.0.0 - resolution: "abbrev@npm:3.0.0" - checksum: 10c0/049704186396f571650eb7b22ed3627b77a5aedf98bb83caf2eac81ca2a3e25e795394b0464cfb2d6076df3db6a5312139eac5b6a126ca296ac53c5008069c28 - languageName: node - linkType: hard - -"abort-controller@npm:^3.0.0": - version: 3.0.0 - resolution: "abort-controller@npm:3.0.0" - dependencies: - event-target-shim: "npm:^5.0.0" - checksum: 10c0/90ccc50f010250152509a344eb2e71977fbf8db0ab8f1061197e3275ddf6c61a41a6edfd7b9409c664513131dd96e962065415325ef23efa5db931b382d24ca5 + version: 3.0.1 + resolution: "abbrev@npm:3.0.1" + checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf languageName: node linkType: hard @@ -6054,21 +4563,12 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.2.0": - version: 8.3.4 - resolution: "acorn-walk@npm:8.3.4" - dependencies: - acorn: "npm:^8.11.0" - checksum: 10c0/76537ac5fb2c37a64560feaf3342023dadc086c46da57da363e64c6148dc21b57d49ace26f949e225063acb6fb441eabffd89f7a3066de5ad37ab3e328927c62 - languageName: node - linkType: hard - -"acorn@npm:^8.11.0, acorn@npm:^8.14.0, acorn@npm:^8.4.1, acorn@npm:^8.5.0, acorn@npm:^8.8.1, acorn@npm:^8.9.0": - version: 8.14.1 - resolution: "acorn@npm:8.14.1" +"acorn@npm:^8.15.0, acorn@npm:^8.5.0, acorn@npm:^8.9.0": + version: 8.15.0 + resolution: "acorn@npm:8.15.0" bin: acorn: bin/acorn - checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123 + checksum: 10c0/dec73ff59b7d6628a01eebaece7f2bdb8bb62b9b5926dcad0f8931f2b8b79c2be21f6c68ac095592adb5adb15831a3635d9343e6a91d028bbe85d564875ec3ec languageName: node linkType: hard @@ -6079,50 +4579,10 @@ __metadata: languageName: node linkType: hard -"adm-zip@npm:^0.5.5": - version: 0.5.16 - resolution: "adm-zip@npm:0.5.16" - checksum: 10c0/6f10119d4570c7ba76dcf428abb8d3f69e63f92e51f700a542b43d4c0130373dd2ddfc8f85059f12d4a843703a90c3970cfd17876844b4f3f48bf042bfa6b49f - languageName: node - linkType: hard - -"agent-base@npm:6": - version: 6.0.2 - resolution: "agent-base@npm:6.0.2" - dependencies: - debug: "npm:4" - checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 - languageName: node - linkType: hard - "agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": - version: 7.1.3 - resolution: "agent-base@npm:7.1.3" - checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 - languageName: node - linkType: hard - -"aggregate-error@npm:^3.0.0": - version: 3.1.0 - resolution: "aggregate-error@npm:3.1.0" - dependencies: - clean-stack: "npm:^2.0.0" - indent-string: "npm:^4.0.0" - checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 - languageName: node - linkType: hard - -"ajv-formats@npm:^2.1.1": - version: 2.1.1 - resolution: "ajv-formats@npm:2.1.1" - dependencies: - ajv: "npm:^8.0.0" - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - checksum: 10c0/e43ba22e91b6a48d96224b83d260d3a3a561b42d391f8d3c6d2c1559f9aa5b253bfb306bc94bbeca1d967c014e15a6efe9a207309e95b3eaae07fcbcdc2af662 + version: 7.1.4 + resolution: "agent-base@npm:7.1.4" + checksum: 10c0/c2c9ab7599692d594b6a161559ada307b7a624fa4c7b03e3afdb5a5e31cd0e53269115b620fcab024c5ac6a6f37fa5eb2e004f076ad30f5f7e6b8b671f7b35fe languageName: node linkType: hard @@ -6138,7 +4598,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.0, ajv@npm:^8.12.0": +"ajv@npm:^8.0.0, ajv@npm:^8.0.1": version: 8.17.1 resolution: "ajv@npm:8.17.1" dependencies: @@ -6150,14 +4610,14 @@ __metadata: languageName: node linkType: hard -"ansi-colors@npm:^4.1.1, ansi-colors@npm:^4.1.3": +"ansi-colors@npm:^4.1.1": version: 4.1.3 resolution: "ansi-colors@npm:4.1.3" checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 languageName: node linkType: hard -"ansi-escapes@npm:^4.2.1": +"ansi-escapes@npm:^4.3.2": version: 4.3.2 resolution: "ansi-escapes@npm:4.3.2" dependencies: @@ -6180,15 +4640,6 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^3.2.1": - version: 3.2.1 - resolution: "ansi-styles@npm:3.2.1" - dependencies: - color-convert: "npm:^1.9.0" - checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b - languageName: node - linkType: hard - "ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": version: 4.3.0 resolution: "ansi-styles@npm:4.3.0" @@ -6198,7 +4649,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^5.0.0": +"ansi-styles@npm:^5.2.0": version: 5.2.0 resolution: "ansi-styles@npm:5.2.0" checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df @@ -6212,80 +4663,10 @@ __metadata: languageName: node linkType: hard -"anymatch@npm:^3.0.3, anymatch@npm:^3.1.3, anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac - languageName: node - linkType: hard - -"archive-type@npm:^4.0.0": - version: 4.0.0 - resolution: "archive-type@npm:4.0.0" - dependencies: - file-type: "npm:^4.2.0" - checksum: 10c0/ea51af0b8e3b374f79ba1921486145e03e2c6cae4e100b686173c1edc93db62d51695296a6252755257c23762cb1503dc82b6c9c320b85c51f71fd36851e10ed - languageName: node - linkType: hard - -"archiver-utils@npm:^2.1.0": - version: 2.1.0 - resolution: "archiver-utils@npm:2.1.0" - dependencies: - glob: "npm:^7.1.4" - graceful-fs: "npm:^4.2.0" - lazystream: "npm:^1.0.0" - lodash.defaults: "npm:^4.2.0" - lodash.difference: "npm:^4.5.0" - lodash.flatten: "npm:^4.4.0" - lodash.isplainobject: "npm:^4.0.6" - lodash.union: "npm:^4.6.0" - normalize-path: "npm:^3.0.0" - readable-stream: "npm:^2.0.0" - checksum: 10c0/6ea5b02e440f3099aff58b18dd384f84ecfe18632e81d26c1011fe7dfdb80ade43d7a06cbf048ef0e9ee0f2c87a80cb24c0f0ac5e3a2c4d67641d6f0d6e36ece - languageName: node - linkType: hard - -"archiver-utils@npm:^3.0.4": - version: 3.0.4 - resolution: "archiver-utils@npm:3.0.4" - dependencies: - glob: "npm:^7.2.3" - graceful-fs: "npm:^4.2.0" - lazystream: "npm:^1.0.0" - lodash.defaults: "npm:^4.2.0" - lodash.difference: "npm:^4.5.0" - lodash.flatten: "npm:^4.4.0" - lodash.isplainobject: "npm:^4.0.6" - lodash.union: "npm:^4.6.0" - normalize-path: "npm:^3.0.0" - readable-stream: "npm:^3.6.0" - checksum: 10c0/9bb7e271e95ff33bdbdcd6f69f8860e0aeed3fcba352a74f51a626d1c32b404f20e3185d5214f171b24a692471d01702f43874d1a4f0d2e5f57bd0834bc54c14 - languageName: node - linkType: hard - -"archiver@npm:^5.3.0, archiver@npm:^5.3.1": - version: 5.3.2 - resolution: "archiver@npm:5.3.2" - dependencies: - archiver-utils: "npm:^2.1.0" - async: "npm:^3.2.4" - buffer-crc32: "npm:^0.2.1" - readable-stream: "npm:^3.6.0" - readdir-glob: "npm:^1.1.2" - tar-stream: "npm:^2.2.0" - zip-stream: "npm:^4.1.0" - checksum: 10c0/973384d749b3fa96f44ceda1603a65aaa3f24a267230d69a4df9d7b607d38d3ebc6c18c358af76eb06345b6b331ccb9eca07bd079430226b5afce95de22dfade - languageName: node - linkType: hard - -"arg@npm:^4.1.0": - version: 4.1.3 - resolution: "arg@npm:4.1.3" - checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a +"ansis@npm:^3.17.0": + version: 3.17.0 + resolution: "ansis@npm:3.17.0" + checksum: 10c0/d8fa94ca7bb91e7e5f8a7d323756aa075facce07c5d02ca883673e128b2873d16f93e0dec782f98f1eeb1f2b3b4b7b60dcf0ad98fb442e75054fe857988cc5cb languageName: node linkType: hard @@ -6312,6 +4693,16 @@ __metadata: languageName: node linkType: hard +"arktype@npm:^2.1.20": + version: 2.1.20 + resolution: "arktype@npm:2.1.20" + dependencies: + "@ark/schema": "npm:0.46.0" + "@ark/util": "npm:0.46.0" + checksum: 10c0/9200a94616fac1a703ab0c7834fd15ba6f683fd8d909e12c48e5f321ac302c276ce0d6c2736063ca7fda0ff6ded00f1bda08b1155ae20fab0d178ec1238ffcae + languageName: node + linkType: hard + "array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": version: 1.0.2 resolution: "array-buffer-byte-length@npm:1.0.2" @@ -6323,23 +4714,18 @@ __metadata: linkType: hard "array-includes@npm:^3.1.6, array-includes@npm:^3.1.8": - version: 3.1.8 - resolution: "array-includes@npm:3.1.8" + version: 3.1.9 + resolution: "array-includes@npm:3.1.9" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.4" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - es-object-atoms: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.4" - is-string: "npm:^1.0.7" - checksum: 10c0/5b1004d203e85873b96ddc493f090c9672fd6c80d7a60b798da8a14bff8a670ff95db5aafc9abc14a211943f05220dacf8ea17638ae0af1a6a47b8c0b48ce370 - languageName: node - linkType: hard - -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + es-abstract: "npm:^1.24.0" + es-object-atoms: "npm:^1.1.1" + get-intrinsic: "npm:^1.3.0" + is-string: "npm:^1.1.1" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/0235fa69078abeac05ac4250699c44996bc6f774a9cbe45db48674ce6bd142f09b327d31482ff75cf03344db4ea03eae23edb862d59378b484b47ed842574856 languageName: node linkType: hard @@ -6357,22 +4743,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.findlastindex@npm:^1.2.5": - version: 1.2.6 - resolution: "array.prototype.findlastindex@npm:1.2.6" - dependencies: - call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.4" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.9" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.1.1" - es-shim-unscopables: "npm:^1.1.0" - checksum: 10c0/82559310d2e57ec5f8fc53d7df420e3abf0ba497935de0a5570586035478ba7d07618cb18e2d4ada2da514c8fb98a034aaf5c06caa0a57e2f7f4c4adedef5956 - languageName: node - linkType: hard - -"array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2": +"array.prototype.flat@npm:^1.3.1": version: 1.3.3 resolution: "array.prototype.flat@npm:1.3.3" dependencies: @@ -6424,37 +4795,6 @@ __metadata: languageName: node linkType: hard -"asap@npm:^2.0.0": - version: 2.0.6 - resolution: "asap@npm:2.0.6" - checksum: 10c0/c6d5e39fe1f15e4b87677460bd66b66050cd14c772269cee6688824c1410a08ab20254bb6784f9afb75af9144a9f9a7692d49547f4d19d715aeb7c0318f3136d - languageName: node - linkType: hard - -"asl-path-validator@npm:^0.16.1": - version: 0.16.1 - resolution: "asl-path-validator@npm:0.16.1" - dependencies: - jsonpath-plus: "npm:^10.3.0" - checksum: 10c0/378f5ff13d0f52414809b24a45bc8e493f8dc5f9a376f6bd8fbc8260c8e843e9579ac8eab9c253a4d3ec1ecb7fd93e30fe2fd4e02c0425d0424257459e6e55b0 - languageName: node - linkType: hard - -"asl-validator@npm:^3.8.0": - version: 3.14.0 - resolution: "asl-validator@npm:3.14.0" - dependencies: - ajv: "npm:^8.12.0" - asl-path-validator: "npm:^0.16.1" - commander: "npm:^10.0.1" - jsonpath-plus: "npm:^10.3.0" - yaml: "npm:^2.3.1" - bin: - asl-validator: dist/bin/asl-validator.js - checksum: 10c0/01cd769b4f65f6d69ff405523bfa879099f1d75d6ae8c6e8d2e107a0cb7c2395ec4570b421224509b2ba1b83e6d8e5e2aca77912454806d6e8644e5445fb943c - languageName: node - linkType: hard - "assertion-error@npm:^2.0.1": version: 2.0.1 resolution: "assertion-error@npm:2.0.1" @@ -6469,6 +4809,24 @@ __metadata: languageName: node linkType: hard +"ast-v8-to-istanbul@npm:^0.3.3": + version: 0.3.3 + resolution: "ast-v8-to-istanbul@npm:0.3.3" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.25" + estree-walker: "npm:^3.0.3" + js-tokens: "npm:^9.0.1" + checksum: 10c0/ffc39bc3ab4b8c1f7aea945960ce6b1e518bab3da7c800277eab2da07d397eeae4a2cb8a5a5f817225646c8ea495c1e4434fbe082c84bae8042abddef53f50b2 + languageName: node + linkType: hard + +"astral-regex@npm:^2.0.0": + version: 2.0.0 + resolution: "astral-regex@npm:2.0.0" + checksum: 10c0/f63d439cc383db1b9c5c6080d1e240bd14dae745f15d11ec5da863e182bbeca70df6c8191cffef5deba0b566ef98834610a68be79ac6379c95eeb26e1b310e25 + languageName: node + linkType: hard + "async-function@npm:^1.0.0": version: 1.0.0 resolution: "async-function@npm:1.0.0" @@ -6476,7 +4834,7 @@ __metadata: languageName: node linkType: hard -"async@npm:^3.2.0, async@npm:^3.2.3, async@npm:^3.2.4": +"async@npm:^3.2.3, async@npm:^3.2.6": version: 3.2.6 resolution: "async@npm:3.2.6" checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70 @@ -6490,13 +4848,6 @@ __metadata: languageName: node linkType: hard -"at-least-node@npm:^1.0.0": - version: 1.0.0 - resolution: "at-least-node@npm:1.0.0" - checksum: 10c0/4c058baf6df1bc5a1697cf182e2029c58cd99975288a13f9e70068ef5d6f4e1f1fd7c4d2c3c4912eae44797d1725be9700995736deca441b39f3e66d8dee97ef - languageName: node - linkType: hard - "available-typed-arrays@npm:^1.0.7": version: 1.0.7 resolution: "available-typed-arrays@npm:1.0.7" @@ -6506,21 +4857,41 @@ __metadata: languageName: node linkType: hard -"aws-sdk@npm:^2.1404.0": - version: 2.1692.0 - resolution: "aws-sdk@npm:2.1692.0" +"aws-cdk-lib@npm:^2.211.0": + version: 2.211.0 + resolution: "aws-cdk-lib@npm:2.211.0" + dependencies: + "@aws-cdk/asset-awscli-v1": "npm:2.2.242" + "@aws-cdk/asset-node-proxy-agent-v6": "npm:^2.1.0" + "@aws-cdk/cloud-assembly-schema": "npm:^48.2.0" + "@balena/dockerignore": "npm:^1.0.2" + case: "npm:1.6.3" + fs-extra: "npm:^11.3.0" + ignore: "npm:^5.3.2" + jsonschema: "npm:^1.5.0" + mime-types: "npm:^2.1.35" + minimatch: "npm:^3.1.2" + punycode: "npm:^2.3.1" + semver: "npm:^7.7.2" + table: "npm:^6.9.0" + yaml: "npm:1.10.2" + peerDependencies: + constructs: ^10.0.0 + checksum: 10c0/9432df5c95dc3a317c5159fbbad42cd802637e285f192b7f73a5d58596cbe4946e9fbeb0d1eb7216ff562adadf63aa34e525188b447aa6c816fa05c37ee57001 + languageName: node + linkType: hard + +"aws-cdk@npm:^2.1023.0": + version: 2.1023.0 + resolution: "aws-cdk@npm:2.1023.0" dependencies: - buffer: "npm:4.9.2" - events: "npm:1.1.1" - ieee754: "npm:1.1.13" - jmespath: "npm:0.16.0" - querystring: "npm:0.2.0" - sax: "npm:1.2.1" - url: "npm:0.10.3" - util: "npm:^0.12.4" - uuid: "npm:8.0.0" - xml2js: "npm:0.6.2" - checksum: 10c0/5123174cf9c7952f9f072789f2a95f1cb346a676652425a8c73dcda195181f8a8d947f4edea0056552a315bbd5126ed8bb71d0a38b16f337d168bf7bf63a5b0a + fsevents: "npm:2.3.2" + dependenciesMeta: + fsevents: + optional: true + bin: + cdk: bin/cdk + checksum: 10c0/2f80eccc08721dda1671287e9705f28931213043a4cbb3472adbccfebfb19cdf2095e27bacb77406ac72e667a6a67f1dddb0fbce9c7942e4cd4c3b8fabbc430a languageName: node linkType: hard @@ -6531,14 +4902,14 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.6.2, axios@npm:^1.7.4": - version: 1.8.4 - resolution: "axios@npm:1.8.4" +"axios@npm:^1.8.3": + version: 1.10.0 + resolution: "axios@npm:1.10.0" dependencies: follow-redirects: "npm:^1.15.6" form-data: "npm:^4.0.0" proxy-from-env: "npm:^1.1.0" - checksum: 10c0/450993c2ba975ffccaf0d480b68839a3b2435a5469a71fa2fb0b8a55cdb2c2ae47e609360b9c1e2b2534b73dfd69e2733a1cf9f8215bee0bcd729b72f801b0ce + checksum: 10c0/2239cb269cc789eac22f5d1aabd58e1a83f8f364c92c2caa97b6f5cbb4ab2903d2e557d9dc670b5813e9bcdebfb149e783fb8ab3e45098635cd2f559b06bd5d8 languageName: node linkType: hard @@ -6549,23 +4920,6 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^29.7.0": - version: 29.7.0 - resolution: "babel-jest@npm:29.7.0" - dependencies: - "@jest/transform": "npm:^29.7.0" - "@types/babel__core": "npm:^7.1.14" - babel-plugin-istanbul: "npm:^6.1.1" - babel-preset-jest: "npm:^29.6.3" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - slash: "npm:^3.0.0" - peerDependencies: - "@babel/core": ^7.8.0 - checksum: 10c0/2eda9c1391e51936ca573dd1aedfee07b14c59b33dbe16ef347873ddd777bcf6e2fc739681e9e9661ab54ef84a3109a03725be2ac32cd2124c07ea4401cbe8c1 - languageName: node - linkType: hard - "babel-plugin-const-enum@npm:^1.0.1": version: 1.2.0 resolution: "babel-plugin-const-enum@npm:1.2.0" @@ -6579,31 +4933,6 @@ __metadata: languageName: node linkType: hard -"babel-plugin-istanbul@npm:^6.1.1": - version: 6.1.1 - resolution: "babel-plugin-istanbul@npm:6.1.1" - dependencies: - "@babel/helper-plugin-utils": "npm:^7.0.0" - "@istanbuljs/load-nyc-config": "npm:^1.0.0" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-instrument: "npm:^5.0.4" - test-exclude: "npm:^6.0.0" - checksum: 10c0/1075657feb705e00fd9463b329921856d3775d9867c5054b449317d39153f8fbcebd3e02ebf00432824e647faff3683a9ca0a941325ef1afe9b3c4dd51b24beb - languageName: node - linkType: hard - -"babel-plugin-jest-hoist@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-plugin-jest-hoist@npm:29.6.3" - dependencies: - "@babel/template": "npm:^7.3.3" - "@babel/types": "npm:^7.3.3" - "@types/babel__core": "npm:^7.1.14" - "@types/babel__traverse": "npm:^7.0.6" - checksum: 10c0/7e6451caaf7dce33d010b8aafb970e62f1b0c0b57f4978c37b0d457bbcf0874d75a395a102daf0bae0bd14eafb9f6e9a165ee5e899c0a4f1f3bb2e07b304ed2e - languageName: node - linkType: hard - "babel-plugin-macros@npm:^3.1.0": version: 3.1.0 resolution: "babel-plugin-macros@npm:3.1.0" @@ -6615,39 +4944,39 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.4.10": - version: 0.4.13 - resolution: "babel-plugin-polyfill-corejs2@npm:0.4.13" +"babel-plugin-polyfill-corejs2@npm:^0.4.14": + version: 0.4.14 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.14" dependencies: - "@babel/compat-data": "npm:^7.22.6" - "@babel/helper-define-polyfill-provider": "npm:^0.6.4" + "@babel/compat-data": "npm:^7.27.7" + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/b4a54561606d388e6f9499f39f03171af4be7f9ce2355e737135e40afa7086cf6790fdd706c2e59f488c8fa1f76123d28783708e07ddc84647dca8ed8fb98e06 + checksum: 10c0/d74cba0600a6508e86d220bde7164eb528755d91be58020e5ea92ea7fbb12c9d8d2c29246525485adfe7f68ae02618ec428f9a589cac6cbedf53cc3972ad7fbe languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.11.0": - version: 0.11.1 - resolution: "babel-plugin-polyfill-corejs3@npm:0.11.1" +"babel-plugin-polyfill-corejs3@npm:^0.13.0": + version: 0.13.0 + resolution: "babel-plugin-polyfill-corejs3@npm:0.13.0" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.3" - core-js-compat: "npm:^3.40.0" + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" + core-js-compat: "npm:^3.43.0" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/025f754b6296d84b20200aff63a3c1acdd85e8c621781f2bd27fe2512d0060526192d02329326947c6b29c27cf475fbcfaaff8c51eab1d2bfc7b79086bb64229 + checksum: 10c0/5d8e228da425edc040d8c868486fd01ba10b0440f841156a30d9f8986f330f723e2ee61553c180929519563ef5b64acce2caac36a5a847f095d708dda5d8206d languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.6.1": - version: 0.6.4 - resolution: "babel-plugin-polyfill-regenerator@npm:0.6.4" +"babel-plugin-polyfill-regenerator@npm:^0.6.5": + version: 0.6.5 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.5" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.6.4" + "@babel/helper-define-polyfill-provider": "npm:^0.6.5" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 10c0/ebaaf9e4e53201c02f496d3f686d815e94177b3e55b35f11223b99c60d197a29f907a2e87bbcccced8b7aff22a807fccc1adaf04722864a8e1862c8845ab830a + checksum: 10c0/63aa8ed716df6a9277c6ab42b887858fa9f57a70cc1d0ae2b91bdf081e45d4502848cba306fb60b02f59f99b32fd02ff4753b373cac48ccdac9b7d19dd56f06d languageName: node linkType: hard @@ -6660,43 +4989,6 @@ __metadata: languageName: node linkType: hard -"babel-preset-current-node-syntax@npm:^1.0.0": - version: 1.1.0 - resolution: "babel-preset-current-node-syntax@npm:1.1.0" - dependencies: - "@babel/plugin-syntax-async-generators": "npm:^7.8.4" - "@babel/plugin-syntax-bigint": "npm:^7.8.3" - "@babel/plugin-syntax-class-properties": "npm:^7.12.13" - "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" - "@babel/plugin-syntax-import-attributes": "npm:^7.24.7" - "@babel/plugin-syntax-import-meta": "npm:^7.10.4" - "@babel/plugin-syntax-json-strings": "npm:^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" - "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" - "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" - "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" - "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" - "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/0b838d4412e3322cb4436f246e24e9c00bebcedfd8f00a2f51489db683bd35406bbd55a700759c28d26959c6e03f84dd6a1426f576f440267c1d7a73c5717281 - languageName: node - linkType: hard - -"babel-preset-jest@npm:^29.6.3": - version: 29.6.3 - resolution: "babel-preset-jest@npm:29.6.3" - dependencies: - babel-plugin-jest-hoist: "npm:^29.6.3" - babel-preset-current-node-syntax: "npm:^1.0.0" - peerDependencies: - "@babel/core": ^7.0.0 - checksum: 10c0/ec5fd0276b5630b05f0c14bb97cc3815c6b31600c683ebb51372e54dcb776cff790bdeeabd5b8d01ede375a040337ccbf6a3ccd68d3a34219125945e167ad943 - languageName: node - linkType: hard - "balanced-match@npm:^1.0.0": version: 1.0.2 resolution: "balanced-match@npm:1.0.2" @@ -6704,61 +4996,23 @@ __metadata: languageName: node linkType: hard -"base64-js@npm:^1.0.2, base64-js@npm:^1.3.1": +"base64-js@npm:^1.3.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf languageName: node linkType: hard -"bestzip@npm:^2.2.1": - version: 2.2.1 - resolution: "bestzip@npm:2.2.1" - dependencies: - archiver: "npm:^5.3.0" - async: "npm:^3.2.0" - glob: "npm:^7.1.6" - which: "npm:^2.0.2" - yargs: "npm:^16.2.0" - bin: - bestzip: bin/cli.js - checksum: 10c0/0277bdcff1c4c2fbe7dd82cd7c33044bba3e451c98d584a2d86765483677d89b4d0a68bf4ba4a78e68cd1ecd307e2bfc966bf7221fa4ac7ad587f0a5c1e97a0d - languageName: node - linkType: hard - -"better-ajv-errors@npm:^1.2.0": - version: 1.2.0 - resolution: "better-ajv-errors@npm:1.2.0" - dependencies: - "@babel/code-frame": "npm:^7.16.0" - "@humanwhocodes/momoa": "npm:^2.0.2" - chalk: "npm:^4.1.2" - jsonpointer: "npm:^5.0.0" - leven: "npm:^3.1.0 < 4" - peerDependencies: - ajv: 4.11.8 - 8 - checksum: 10c0/42bdb63d2e1ec3b8aea234ccad777313750d015f0b0fbcf7dc4471ef412c3a93604d4b702d70ad66e03f2d52a57b131357458ffec7cae083f3b120100c17d36a - languageName: node - linkType: hard - -"binary-extensions@npm:^2.0.0": - version: 2.3.0 - resolution: "binary-extensions@npm:2.3.0" - checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 - languageName: node - linkType: hard - -"bl@npm:^1.0.0": - version: 1.2.3 - resolution: "bl@npm:1.2.3" +"basic-auth@npm:^2.0.1": + version: 2.0.1 + resolution: "basic-auth@npm:2.0.1" dependencies: - readable-stream: "npm:^2.3.5" - safe-buffer: "npm:^5.1.1" - checksum: 10c0/ee6478864d3b1295614f269f3fbabeb2362a2f2fc7f8dc2f6c1f944a278d84e0572ecefd6d0b0736d7418763f98dc3b2738253191ea9e98e4b08de211cfac0a6 + safe-buffer: "npm:5.1.2" + checksum: 10c0/05f56db3a0fc31c89c86b605231e32ee143fb6ae38dc60616bc0970ae6a0f034172def99e69d3aed0e2c9e7cac84e2d63bc51a0b5ff6ab5fc8808cc8b29923c1 languageName: node linkType: hard -"bl@npm:^4.0.3, bl@npm:^4.1.0": +"bl@npm:^4.0.3": version: 4.1.0 resolution: "bl@npm:4.1.0" dependencies: @@ -6769,7 +5023,7 @@ __metadata: languageName: node linkType: hard -"bluebird@npm:^3.4.0, bluebird@npm:^3.7.2": +"bluebird@npm:^3.5.1": version: 3.7.2 resolution: "bluebird@npm:3.7.2" checksum: 10c0/680de03adc54ff925eaa6c7bb9a47a0690e8b5de60f4792604aae8ed618c65e6b63a7893b57ca924beaf53eee69c5af4f8314148c08124c550fe1df1add897d2 @@ -6777,32 +5031,32 @@ __metadata: linkType: hard "bowser@npm:^2.11.0": - version: 2.11.0 - resolution: "bowser@npm:2.11.0" - checksum: 10c0/04efeecc7927a9ec33c667fa0965dea19f4ac60b3fea60793c2e6cf06c1dcd2f7ae1dbc656f450c5f50783b1c75cf9dc173ba6f3b7db2feee01f8c4b793e1bd3 + version: 2.12.0 + resolution: "bowser@npm:2.12.0" + checksum: 10c0/e6a9099906d9852326c7a5cba080dd11ebccdefcfbd72c630b2c72aa5d3df9703158d79da28f5fcd66c307e7b65b84310c2028f6517a5b8226a472dc634bd9fa languageName: node linkType: hard "brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" + version: 1.1.12 + resolution: "brace-expansion@npm:1.1.12" dependencies: balanced-match: "npm:^1.0.0" concat-map: "npm:0.0.1" - checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + checksum: 10c0/975fecac2bb7758c062c20d0b3b6288c7cc895219ee25f0a64a9de662dbac981ff0b6e89909c3897c1f84fa353113a721923afdec5f8b2350255b097f12b1f73 languageName: node linkType: hard "brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" + version: 2.0.2 + resolution: "brace-expansion@npm:2.0.2" dependencies: balanced-match: "npm:^1.0.0" - checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + checksum: 10c0/6d117a4c793488af86b83172deb6af143e94c17bc53b0b3cec259733923b4ca84679d506ac261f4ba3c7ed37c46018e2ff442f9ce453af8643ecd64f4a54e6cf languageName: node linkType: hard -"braces@npm:^3.0.3, braces@npm:~3.0.2": +"braces@npm:^3.0.3": version: 3.0.3 resolution: "braces@npm:3.0.3" dependencies: @@ -6811,57 +5065,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.24.0, browserslist@npm:^4.24.4": - version: 4.24.4 - resolution: "browserslist@npm:4.24.4" +"browserslist@npm:^4.24.0, browserslist@npm:^4.25.1": + version: 4.25.1 + resolution: "browserslist@npm:4.25.1" dependencies: - caniuse-lite: "npm:^1.0.30001688" - electron-to-chromium: "npm:^1.5.73" + caniuse-lite: "npm:^1.0.30001726" + electron-to-chromium: "npm:^1.5.173" node-releases: "npm:^2.0.19" - update-browserslist-db: "npm:^1.1.1" + update-browserslist-db: "npm:^1.1.3" bin: browserslist: cli.js - checksum: 10c0/db7ebc1733cf471e0b490b4f47e3e2ea2947ce417192c9246644e92c667dd56a71406cc58f62ca7587caf828364892e9952904a02b7aead752bc65b62a37cfe9 - languageName: node - linkType: hard - -"bser@npm:2.1.1": - version: 2.1.1 - resolution: "bser@npm:2.1.1" - dependencies: - node-int64: "npm:^0.4.0" - checksum: 10c0/24d8dfb7b6d457d73f32744e678a60cc553e4ec0e9e1a01cf614b44d85c3c87e188d3cc78ef0442ce5032ee6818de20a0162ba1074725c0d08908f62ea979227 - languageName: node - linkType: hard - -"buffer-alloc-unsafe@npm:^1.1.0": - version: 1.1.0 - resolution: "buffer-alloc-unsafe@npm:1.1.0" - checksum: 10c0/06b9298c9369621a830227c3797ceb3ff5535e323946d7b39a7398fed8b3243798259b3c85e287608c5aad35ccc551cec1a0a5190cc8f39652e8eee25697fc9c - languageName: node - linkType: hard - -"buffer-alloc@npm:^1.2.0": - version: 1.2.0 - resolution: "buffer-alloc@npm:1.2.0" - dependencies: - buffer-alloc-unsafe: "npm:^1.1.0" - buffer-fill: "npm:^1.0.0" - checksum: 10c0/09d87dd53996342ccfbeb2871257d8cdb25ce9ee2259adc95c6490200cd6e528c5fbae8f30bcc323fe8d8efb0fe541e4ac3bbe9ee3f81c6b7c4b27434cc02ab4 - languageName: node - linkType: hard - -"buffer-crc32@npm:^0.2.1, buffer-crc32@npm:^0.2.13, buffer-crc32@npm:~0.2.3": - version: 0.2.13 - resolution: "buffer-crc32@npm:0.2.13" - checksum: 10c0/cb0a8ddf5cf4f766466db63279e47761eb825693eeba6a5a95ee4ec8cb8f81ede70aa7f9d8aeec083e781d47154290eb5d4d26b3f7a465ec57fb9e7d59c47150 - languageName: node - linkType: hard - -"buffer-fill@npm:^1.0.0": - version: 1.0.0 - resolution: "buffer-fill@npm:1.0.0" - checksum: 10c0/55b5654fbbf2d7ceb4991bb537f5e5b5b5b9debca583fee416a74fcec47c16d9e7a90c15acd27577da7bd750b7fa6396e77e7c221e7af138b6d26242381c6e4d + checksum: 10c0/acba5f0bdbd5e72dafae1e6ec79235b7bad305ed104e082ed07c34c38c7cb8ea1bc0f6be1496958c40482e40166084458fc3aee15111f15faa79212ad9081b2a languageName: node linkType: hard @@ -6872,18 +5086,7 @@ __metadata: languageName: node linkType: hard -"buffer@npm:4.9.2": - version: 4.9.2 - resolution: "buffer@npm:4.9.2" - dependencies: - base64-js: "npm:^1.0.2" - ieee754: "npm:^1.1.4" - isarray: "npm:^1.0.0" - checksum: 10c0/dc443d7e7caab23816b58aacdde710b72f525ad6eecd7d738fcaa29f6d6c12e8d9c13fed7219fd502be51ecf0615f5c077d4bdc6f9308dde2e53f8e5393c5b21 - languageName: node - linkType: hard - -"buffer@npm:^5.2.1, buffer@npm:^5.5.0": +"buffer@npm:^5.5.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" dependencies: @@ -6893,30 +5096,6 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^6.0.3": - version: 6.0.3 - resolution: "buffer@npm:6.0.3" - dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.2.1" - checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 - languageName: node - linkType: hard - -"builtin-modules@npm:^3.3.0": - version: 3.3.0 - resolution: "builtin-modules@npm:3.3.0" - checksum: 10c0/2cb3448b4f7306dc853632a4fcddc95e8d4e4b9868c139400027b71938fc6806d4ff44007deffb362ac85724bd40c2c6452fb6a0aa4531650eeddb98d8e5ee8a - languageName: node - linkType: hard - -"builtins@npm:^1.0.3": - version: 1.0.3 - resolution: "builtins@npm:1.0.3" - checksum: 10c0/493afcc1db0a56d174cc85bebe5ca69144f6fdd0007d6cbe6b2434185314c79d83cb867e492b56aa5cf421b4b8a8135bf96ba4c3ce71994cf3da154d1ea59747 - languageName: node - linkType: hard - "bundle-name@npm:^4.1.0": version: 4.1.0 resolution: "bundle-name@npm:4.1.0" @@ -6953,35 +5132,6 @@ __metadata: languageName: node linkType: hard -"cacheable-lookup@npm:^5.0.3": - version: 5.0.4 - resolution: "cacheable-lookup@npm:5.0.4" - checksum: 10c0/a6547fb4954b318aa831cbdd2f7b376824bc784fb1fa67610e4147099e3074726072d9af89f12efb69121415a0e1f2918a8ddd4aafcbcf4e91fbeef4a59cd42c - languageName: node - linkType: hard - -"cacheable-request@npm:^7.0.2": - version: 7.0.4 - resolution: "cacheable-request@npm:7.0.4" - dependencies: - clone-response: "npm:^1.0.2" - get-stream: "npm:^5.1.0" - http-cache-semantics: "npm:^4.0.0" - keyv: "npm:^4.0.0" - lowercase-keys: "npm:^2.0.0" - normalize-url: "npm:^6.0.1" - responselike: "npm:^2.0.0" - checksum: 10c0/0834a7d17ae71a177bc34eab06de112a43f9b5ad05ebe929bec983d890a7d9f2bc5f1aa8bb67ea2b65e07a3bc74bea35fa62dd36dbac52876afe36fdcf83da41 - languageName: node - linkType: hard - -"cachedir@npm:^2.3.0": - version: 2.4.0 - resolution: "cachedir@npm:2.4.0" - checksum: 10c0/76bff9009f2c446cd3777a4aede99af634a89670a67012b8041f65e951d3d36cefe8940341ea80c72219ee9913fa1f6146824cd9dfe9874a4bded728af7e6d76 - languageName: node - linkType: hard - "call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": version: 1.0.2 resolution: "call-bind-apply-helpers@npm:1.0.2" @@ -7008,100 +5158,57 @@ __metadata: version: 1.0.4 resolution: "call-bound@npm:1.0.4" dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - get-intrinsic: "npm:^1.3.0" - checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 - languageName: node - linkType: hard - -"call-me-maybe@npm:^1.0.1": - version: 1.0.2 - resolution: "call-me-maybe@npm:1.0.2" - checksum: 10c0/8eff5dbb61141ebb236ed71b4e9549e488bcb5451c48c11e5667d5c75b0532303788a1101e6978cafa2d0c8c1a727805599c2741e3e0982855c9f1d78cd06c9f - languageName: node - linkType: hard - -"callsites@npm:^3.0.0": - version: 3.1.0 - resolution: "callsites@npm:3.1.0" - checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 - languageName: node - linkType: hard - -"camel-case@npm:^4.1.2": - version: 4.1.2 - resolution: "camel-case@npm:4.1.2" - dependencies: - pascal-case: "npm:^3.1.2" - tslib: "npm:^2.0.3" - checksum: 10c0/bf9eefaee1f20edbed2e9a442a226793bc72336e2b99e5e48c6b7252b6f70b080fc46d8246ab91939e2af91c36cdd422e0af35161e58dd089590f302f8f64c8a - languageName: node - linkType: hard - -"camelcase@npm:^5.3.1": - version: 5.3.1 - resolution: "camelcase@npm:5.3.1" - checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 + call-bind-apply-helpers: "npm:^1.0.2" + get-intrinsic: "npm:^1.3.0" + checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 languageName: node linkType: hard -"camelcase@npm:^6.2.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 languageName: node linkType: hard -"camelize@npm:^1.0.0": - version: 1.0.1 - resolution: "camelize@npm:1.0.1" - checksum: 10c0/4c9ac55efd356d37ac483bad3093758236ab686192751d1c9daa43188cc5a07b09bd431eb7458a4efd9ca22424bba23253e7b353feb35d7c749ba040de2385fb +"caniuse-lite@npm:^1.0.30001726": + version: 1.0.30001727 + resolution: "caniuse-lite@npm:1.0.30001727" + checksum: 10c0/f0a441c05d8925d728c2d02ce23b001935f52183a3bf669556f302568fe258d1657940c7ac0b998f92bc41383e185b390279a7d779e6d96a2b47881f56400221 languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001688": - version: 1.0.30001707 - resolution: "caniuse-lite@npm:1.0.30001707" - checksum: 10c0/a1beaf84bad4f6617bbc5616d6bc0c9cab73e73f7e9e09b6466af5195b1bc393e0f6f19643d7a1c88bd3f4bfa122d7bea81cf6225ec3ade57d5b1dd3478c1a1b +"case@npm:1.6.3": + version: 1.6.3 + resolution: "case@npm:1.6.3" + checksum: 10c0/43fcbb1dff1c4add94dd2bc98bd923d6616f10bff6959adf686d192c3db7d7ced35410761e1ac94cc4a1f5c41c86406ad79d390805539e421e8a77e553f67223 languageName: node linkType: hard -"capital-case@npm:^1.0.4": - version: 1.0.4 - resolution: "capital-case@npm:1.0.4" - dependencies: - no-case: "npm:^3.0.4" - tslib: "npm:^2.0.3" - upper-case-first: "npm:^2.0.2" - checksum: 10c0/6a034af73401f6e55d91ea35c190bbf8bda21714d4ea8bb8f1799311d123410a80f0875db4e3236dc3f97d74231ff4bf1c8783f2be13d7733c7d990c57387281 +"cdk-nag@npm:^2.36.54": + version: 2.36.54 + resolution: "cdk-nag@npm:2.36.54" + peerDependencies: + aws-cdk-lib: ^2.176.0 + constructs: ^10.0.5 + checksum: 10c0/4f26c6fd280bbacb6d75deb67da8193cf7900e93998da7471464ecde11d2b62d53ac6a899cb23811fe703c1d2ce2cdcc61ee2579bf20cf8134b3c48e730f7fa0 languageName: node linkType: hard -"chai@npm:^5.1.2": - version: 5.2.0 - resolution: "chai@npm:5.2.0" +"chai@npm:^5.2.0": + version: 5.2.1 + resolution: "chai@npm:5.2.1" dependencies: assertion-error: "npm:^2.0.1" check-error: "npm:^2.1.1" deep-eql: "npm:^5.0.1" loupe: "npm:^3.1.0" pathval: "npm:^2.0.0" - checksum: 10c0/dfd1cb719c7cebb051b727672d382a35338af1470065cb12adb01f4ee451bbf528e0e0f9ab2016af5fc1eea4df6e7f4504dc8443f8f00bd8fb87ad32dc516f7d - languageName: node - linkType: hard - -"chalk@npm:^2.4.1": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" - dependencies: - ansi-styles: "npm:^3.2.1" - escape-string-regexp: "npm:^1.0.5" - supports-color: "npm:^5.3.0" - checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 + checksum: 10c0/58209c03ae9b2fd97cfa1cb0fbe372b1906e6091311b9ba1b0468cc4923b0766a50a1050a164df3ccefb9464944c9216b632f1477c9e429068013bdbb57220f6 languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.1, chalk@npm:^4.1.2": +"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -7111,37 +5218,10 @@ __metadata: languageName: node linkType: hard -"change-case@npm:^4.1.2": - version: 4.1.2 - resolution: "change-case@npm:4.1.2" - dependencies: - camel-case: "npm:^4.1.2" - capital-case: "npm:^1.0.4" - constant-case: "npm:^3.0.4" - dot-case: "npm:^3.0.4" - header-case: "npm:^2.0.4" - no-case: "npm:^3.0.4" - param-case: "npm:^3.0.4" - pascal-case: "npm:^3.1.2" - path-case: "npm:^3.0.4" - sentence-case: "npm:^3.0.4" - snake-case: "npm:^3.0.4" - tslib: "npm:^2.0.3" - checksum: 10c0/95a6e48563cd393241ce18470c7310a8a050304a64b63addac487560ab039ce42b099673d1d293cc10652324d92060de11b5d918179fe3b5af2ee521fb03ca58 - languageName: node - linkType: hard - -"change-case@npm:^5.4.4": - version: 5.4.4 - resolution: "change-case@npm:5.4.4" - checksum: 10c0/2a9c2b9c9ad6ab2491105aaf506db1a9acaf543a18967798dcce20926c6a173aa63266cb6189f3086e3c14bf7ae1f8ea4f96ecc466fcd582310efa00372f3734 - languageName: node - linkType: hard - -"char-regex@npm:^1.0.2": - version: 1.0.2 - resolution: "char-regex@npm:1.0.2" - checksum: 10c0/57a09a86371331e0be35d9083ba429e86c4f4648ecbe27455dbfb343037c16ee6fdc7f6b61f433a57cc5ded5561d71c56a150e018f40c2ffb7bc93a26dae341e +"chalk@npm:^5.4.1": + version: 5.6.0 + resolution: "chalk@npm:5.6.0" + checksum: 10c0/f8558fc12fd9805f167611803b325b0098bbccdc9f1d3bafead41c9bac61f263357f3c0df0cbe28bc2fd5fca3edcf618b01d6771a5a776b4c15d061482a72b23 languageName: node linkType: hard @@ -7159,58 +5239,6 @@ __metadata: languageName: node linkType: hard -"child-process-ext@npm:^2.1.1": - version: 2.1.1 - resolution: "child-process-ext@npm:2.1.1" - dependencies: - cross-spawn: "npm:^6.0.5" - es5-ext: "npm:^0.10.53" - log: "npm:^6.0.0" - split2: "npm:^3.1.1" - stream-promise: "npm:^3.2.0" - checksum: 10c0/feba99e8098faf11fad5ce006365917258e4473876dfba47be4b4e48f8fb39a877cf03474e57078a85487b739d6fc5101ca275e3681af5ba1aaad650a52952b6 - languageName: node - linkType: hard - -"child-process-ext@npm:^3.0.1": - version: 3.0.2 - resolution: "child-process-ext@npm:3.0.2" - dependencies: - cross-spawn: "npm:^7.0.3" - es5-ext: "npm:^0.10.62" - log: "npm:^6.3.1" - split2: "npm:^3.2.2" - stream-promise: "npm:^3.2.0" - checksum: 10c0/ad0e2ac7e2f0306111157d1191748c7ec4496b130e365167418a4d692e355fae896c204cd88003ba7089ca645615b5e058ec2fb321748fb1273bcaab8fefeeba - languageName: node - linkType: hard - -"chokidar@npm:^3.5.1, chokidar@npm:^3.5.3": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" - dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 - languageName: node - linkType: hard - -"chownr@npm:^2.0.0": - version: 2.0.0 - resolution: "chownr@npm:2.0.0" - checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 - languageName: node - linkType: hard - "chownr@npm:^3.0.0": version: 3.0.0 resolution: "chownr@npm:3.0.0" @@ -7218,44 +5246,12 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^3.2.0, ci-info@npm:^3.8.0": - version: 3.9.0 - resolution: "ci-info@npm:3.9.0" - checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a - languageName: node - linkType: hard - -"cjs-module-lexer@npm:^1.0.0": - version: 1.4.3 - resolution: "cjs-module-lexer@npm:1.4.3" - checksum: 10c0/076b3af85adc4d65dbdab1b5b240fe5b45d44fcf0ef9d429044dd94d19be5589376805c44fb2d4b3e684e5fe6a9b7cf3e426476a6507c45283c5fc6ff95240be - languageName: node - linkType: hard - -"classnames@npm:^2.3.2": - version: 2.5.1 - resolution: "classnames@npm:2.5.1" - checksum: 10c0/afff4f77e62cea2d79c39962980bf316bacb0d7c49e13a21adaadb9221e1c6b9d3cdb829d8bb1b23c406f4e740507f37e1dcf506f7e3b7113d17c5bab787aa69 - languageName: node - linkType: hard - -"clean-stack@npm:^2.0.0": - version: 2.2.0 - resolution: "clean-stack@npm:2.2.0" - checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 - languageName: node - linkType: hard - -"cli-color@npm:^2.0.1, cli-color@npm:^2.0.4": - version: 2.0.4 - resolution: "cli-color@npm:2.0.4" +"clean-stack@npm:^3.0.1": + version: 3.0.1 + resolution: "clean-stack@npm:3.0.1" dependencies: - d: "npm:^1.0.1" - es5-ext: "npm:^0.10.64" - es6-iterator: "npm:^2.0.3" - memoizee: "npm:^0.4.15" - timers-ext: "npm:^0.1.7" - checksum: 10c0/49a0078fa3517cdfb3ad919a05ab2fe7352d9c9f0617937c38fc6245a38101632d9a23f40a53b2818773d2694b8ae814ff760801a702a26d76b297990ce8d399 + escape-string-regexp: "npm:4.0.0" + checksum: 10c0/4ea5c03bdf78e8afb2592f34c1b5832d0c7858d37d8b0d40fba9d61a103508fa3bb527d39a99469019083e58e05d1ad54447e04217d5d36987e97182adab0e03 languageName: node linkType: hard @@ -7268,21 +5264,6 @@ __metadata: languageName: node linkType: hard -"cli-progress-footer@npm:^2.3.2": - version: 2.3.3 - resolution: "cli-progress-footer@npm:2.3.3" - dependencies: - cli-color: "npm:^2.0.4" - d: "npm:^1.0.1" - es5-ext: "npm:^0.10.64" - mute-stream: "npm:0.0.8" - process-utils: "npm:^4.0.0" - timers-ext: "npm:^0.1.7" - type: "npm:^2.7.2" - checksum: 10c0/1fb621ef7d5c046bb79387427ae440923e4783c929fc4fb722500425fa58aa0e125a2ed9d2b17554c4c0c75226b630a39976ccde9b175bd4d77cac4d9f18c8fd - languageName: node - linkType: hard - "cli-spinners@npm:2.6.1": version: 2.6.1 resolution: "cli-spinners@npm:2.6.1" @@ -7290,40 +5271,17 @@ __metadata: languageName: node linkType: hard -"cli-spinners@npm:^2.5.0": +"cli-spinners@npm:^2.5.0, cli-spinners@npm:^2.9.2": version: 2.9.2 resolution: "cli-spinners@npm:2.9.2" checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 languageName: node linkType: hard -"cli-sprintf-format@npm:^1.1.1": - version: 1.1.1 - resolution: "cli-sprintf-format@npm:1.1.1" - dependencies: - cli-color: "npm:^2.0.1" - es5-ext: "npm:^0.10.53" - sprintf-kit: "npm:^2.0.1" - supports-color: "npm:^6.1.0" - checksum: 10c0/afe5aa49ad060b2a1d50228b3ca4762307119e63dc1b3203d6b1980df19a0fbbdf53b7096c54125deb987b788937908f04cee2b13fd4eb924ff3b3201602c9e9 - languageName: node - linkType: hard - -"cli-width@npm:^3.0.0": - version: 3.0.0 - resolution: "cli-width@npm:3.0.0" - checksum: 10c0/125a62810e59a2564268c80fdff56c23159a7690c003e34aeb2e68497dccff26911998ff49c33916fcfdf71e824322cc3953e3f7b48b27267c7a062c81348a9a - languageName: node - linkType: hard - -"cliui@npm:^7.0.2": - version: 7.0.4 - resolution: "cliui@npm:7.0.4" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.0" - wrap-ansi: "npm:^7.0.0" - checksum: 10c0/6035f5daf7383470cef82b3d3db00bec70afb3423538c50394386ffbbab135e26c3689c41791f911fa71b62d13d3863c712fdd70f0fbdffd938a1e6fd09aac00 +"cli-width@npm:^4.1.0": + version: 4.1.0 + resolution: "cli-width@npm:4.1.0" + checksum: 10c0/1fbd56413578f6117abcaf858903ba1f4ad78370a4032f916745fa2c7e390183a9d9029cf837df320b0fdce8137668e522f60a30a5f3d6529ff3872d265a955f languageName: node linkType: hard @@ -7338,15 +5296,6 @@ __metadata: languageName: node linkType: hard -"clone-response@npm:^1.0.2": - version: 1.0.3 - resolution: "clone-response@npm:1.0.3" - dependencies: - mimic-response: "npm:^1.0.0" - checksum: 10c0/06a2b611824efb128810708baee3bd169ec9a1bf5976a5258cd7eb3f7db25f00166c6eee5961f075c7e38e194f373d4fdf86b8166ad5b9c7e82bbd2e333a6087 - languageName: node - linkType: hard - "clone@npm:^1.0.2": version: 1.0.4 resolution: "clone@npm:1.0.4" @@ -7354,36 +5303,6 @@ __metadata: languageName: node linkType: hard -"clsx@npm:^2.0.0": - version: 2.1.1 - resolution: "clsx@npm:2.1.1" - checksum: 10c0/c4c8eb865f8c82baab07e71bfa8897c73454881c4f99d6bc81585aecd7c441746c1399d08363dc096c550cceaf97bd4ce1e8854e1771e9998d9f94c4fe075839 - languageName: node - linkType: hard - -"co@npm:^4.6.0": - version: 4.6.0 - resolution: "co@npm:4.6.0" - checksum: 10c0/c0e85ea0ca8bf0a50cbdca82efc5af0301240ca88ebe3644a6ffb8ffe911f34d40f8fbcf8f1d52c5ddd66706abd4d3bfcd64259f1e8e2371d4f47573b0dc8c28 - languageName: node - linkType: hard - -"collect-v8-coverage@npm:^1.0.0": - version: 1.0.2 - resolution: "collect-v8-coverage@npm:1.0.2" - checksum: 10c0/ed7008e2e8b6852c5483b444a3ae6e976e088d4335a85aa0a9db2861c5f1d31bd2d7ff97a60469b3388deeba661a619753afbe201279fb159b4b9548ab8269a1 - languageName: node - linkType: hard - -"color-convert@npm:^1.9.0": - version: 1.9.3 - resolution: "color-convert@npm:1.9.3" - dependencies: - color-name: "npm:1.1.3" - checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c - languageName: node - linkType: hard - "color-convert@npm:^2.0.1": version: 2.0.1 resolution: "color-convert@npm:2.0.1" @@ -7393,13 +5312,6 @@ __metadata: languageName: node linkType: hard -"color-name@npm:1.1.3": - version: 1.1.3 - resolution: "color-name@npm:1.1.3" - checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 - languageName: node - linkType: hard - "color-name@npm:~1.1.4": version: 1.1.4 resolution: "color-name@npm:1.1.4" @@ -7407,13 +5319,6 @@ __metadata: languageName: node linkType: hard -"colorette@npm:^1.2.0": - version: 1.4.0 - resolution: "colorette@npm:1.4.0" - checksum: 10c0/4955c8f7daafca8ae7081d672e4bd89d553bd5782b5846d5a7e05effe93c2f15f7e9c0cb46f341b59f579a39fcf436241ff79594899d75d5f3460c03d607fe9e - languageName: node - linkType: hard - "colorette@npm:^2.0.20": version: 2.0.20 resolution: "colorette@npm:2.0.20" @@ -7440,46 +5345,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^10.0.1": - version: 10.0.1 - resolution: "commander@npm:10.0.1" - checksum: 10c0/53f33d8927758a911094adadda4b2cbac111a5b377d8706700587650fd8f45b0bbe336de4b5c3fe47fd61f420a3d9bd452b6e0e6e5600a7e74d7bf0174f6efe3 - languageName: node - linkType: hard - -"commander@npm:^2.8.1": - version: 2.20.3 - resolution: "commander@npm:2.20.3" - checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 - languageName: node - linkType: hard - -"commander@npm:~4.1.1": - version: 4.1.1 - resolution: "commander@npm:4.1.1" - checksum: 10c0/84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab - languageName: node - linkType: hard - -"component-emitter@npm:^1.3.0": - version: 1.3.1 - resolution: "component-emitter@npm:1.3.1" - checksum: 10c0/e4900b1b790b5e76b8d71b328da41482118c0f3523a516a41be598dc2785a07fd721098d9bf6e22d89b19f4fa4e1025160dc00317ea111633a3e4f75c2b86032 - languageName: node - linkType: hard - -"compress-commons@npm:^4.1.2": - version: 4.1.2 - resolution: "compress-commons@npm:4.1.2" - dependencies: - buffer-crc32: "npm:^0.2.13" - crc32-stream: "npm:^4.0.2" - normalize-path: "npm:^3.0.0" - readable-stream: "npm:^3.6.0" - checksum: 10c0/e5fa03cb374ed89028e20226c70481e87286240392d5c6856f4e7fef40605c1892748648e20ed56597d390d76513b1b9bb4dbd658a1bbff41c9fa60107c74d3f - languageName: node - linkType: hard - "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -7487,18 +5352,6 @@ __metadata: languageName: node linkType: hard -"concat-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "concat-stream@npm:2.0.0" - dependencies: - buffer-from: "npm:^1.0.0" - inherits: "npm:^2.0.3" - readable-stream: "npm:^3.0.2" - typedarray: "npm:^0.0.6" - checksum: 10c0/29565dd9198fe1d8cf57f6cc71527dbc6ad67e12e4ac9401feb389c53042b2dceedf47034cbe702dfc4fd8df3ae7e6bfeeebe732cc4fa2674e484c13f04c219a - languageName: node - linkType: hard - "confusing-browser-globals@npm:^1.0.9": version: 1.0.11 resolution: "confusing-browser-globals@npm:1.0.11" @@ -7506,23 +5359,10 @@ __metadata: languageName: node linkType: hard -"constant-case@npm:^3.0.4": - version: 3.0.4 - resolution: "constant-case@npm:3.0.4" - dependencies: - no-case: "npm:^3.0.4" - tslib: "npm:^2.0.3" - upper-case: "npm:^2.0.2" - checksum: 10c0/91d54f18341fcc491ae66d1086642b0cc564be3e08984d7b7042f8b0a721c8115922f7f11d6a09f13ed96ff326eabae11f9d1eb0335fa9d8b6e39e4df096010e - languageName: node - linkType: hard - -"content-disposition@npm:^0.5.4": - version: 0.5.4 - resolution: "content-disposition@npm:0.5.4" - dependencies: - safe-buffer: "npm:5.2.1" - checksum: 10c0/bac0316ebfeacb8f381b38285dc691c9939bf0a78b0b7c2d5758acadad242d04783cee5337ba7d12a565a19075af1b3c11c728e1e4946de73c6ff7ce45f3f1bb +"constructs@npm:^10.4.2": + version: 10.4.2 + resolution: "constructs@npm:10.4.2" + checksum: 10c0/dcd5edd631c7313964f89fffb7365e1eebaede16cbc9ae69eab5337710353913684b860ccc4b2a3dfaf147656f48f0ae7853ca94cb51833e152b46047ac7a4ff languageName: node linkType: hard @@ -7533,40 +5373,19 @@ __metadata: languageName: node linkType: hard -"cookie@npm:^0.7.2": - version: 0.7.2 - resolution: "cookie@npm:0.7.2" - checksum: 10c0/9596e8ccdbf1a3a88ae02cf5ee80c1c50959423e1022e4e60b91dd87c622af1da309253d8abdb258fb5e3eacb4f08e579dc58b4897b8087574eee0fd35dfa5d2 - languageName: node - linkType: hard - -"cookiejar@npm:^2.1.3": - version: 2.1.4 - resolution: "cookiejar@npm:2.1.4" - checksum: 10c0/2dae55611c6e1678f34d93984cbd4bda58f4fe3e5247cc4993f4a305cd19c913bbaf325086ed952e892108115073a747596453d3dc1c34947f47f731818b8ad1 - languageName: node - linkType: hard - -"core-js-compat@npm:^3.40.0": - version: 3.41.0 - resolution: "core-js-compat@npm:3.41.0" +"core-js-compat@npm:^3.43.0": + version: 3.44.0 + resolution: "core-js-compat@npm:3.44.0" dependencies: - browserslist: "npm:^4.24.4" - checksum: 10c0/92d2c748d3dd1c4e3b6cee6b6683b9212db9bc0a6574d933781210daf3baaeb76334ed4636eb8935b45802aa8d9235ab604c9a262694e02a2fa17ad0f6976829 - languageName: node - linkType: hard - -"core-js@npm:^3.32.1": - version: 3.41.0 - resolution: "core-js@npm:3.41.0" - checksum: 10c0/a29ed0b7fe81acf49d04ce5c17a1947166b1c15197327a5d12f95bbe84b46d60c3c13de701d808f41da06fa316285f3f55ce5903abc8d5642afc1eac4457afc8 + browserslist: "npm:^4.25.1" + checksum: 10c0/5de4b042b8bb232b8390be3079030de5c7354610f136ed3eb91310a44455a78df02cfcf49b2fd05d5a5aa2695460620abf1b400784715f7482ed4770d40a68b2 languageName: node linkType: hard -"core-util-is@npm:~1.0.0": - version: 1.0.3 - resolution: "core-util-is@npm:1.0.3" - checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 +"corser@npm:^2.0.1": + version: 2.0.1 + resolution: "corser@npm:2.0.1" + checksum: 10c0/1f319a752a560342dd22d936e5a4c158bfcbc332524ef5b05a7277236dad8b0b2868fd5cf818559f29954ec4d777d82e797fccd76601fcfe431610e4143c8acc languageName: node linkType: hard @@ -7583,46 +5402,7 @@ __metadata: languageName: node linkType: hard -"crc-32@npm:^1.2.0": - version: 1.2.2 - resolution: "crc-32@npm:1.2.2" - bin: - crc32: bin/crc32.njs - checksum: 10c0/11dcf4a2e77ee793835d49f2c028838eae58b44f50d1ff08394a610bfd817523f105d6ae4d9b5bef0aad45510f633eb23c903e9902e4409bed1ce70cb82b9bf0 - languageName: node - linkType: hard - -"crc32-stream@npm:^4.0.2": - version: 4.0.3 - resolution: "crc32-stream@npm:4.0.3" - dependencies: - crc-32: "npm:^1.2.0" - readable-stream: "npm:^3.4.0" - checksum: 10c0/127b0c66a947c54db37054fca86085722140644d3a75ebc61d4477bad19304d2936386b0461e8ee9e1c24b00e804cd7c2e205180e5bcb4632d20eccd60533bc4 - languageName: node - linkType: hard - -"create-require@npm:^1.1.0": - version: 1.1.1 - resolution: "create-require@npm:1.1.1" - checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 - languageName: node - linkType: hard - -"cross-spawn@npm:^6.0.5": - version: 6.0.6 - resolution: "cross-spawn@npm:6.0.6" - dependencies: - nice-try: "npm:^1.0.4" - path-key: "npm:^2.0.1" - semver: "npm:^5.5.0" - shebang-command: "npm:^1.2.0" - which: "npm:^1.2.9" - checksum: 10c0/bf61fb890e8635102ea9bce050515cf915ff6a50ccaa0b37a17dc82fded0fb3ed7af5478b9367b86baee19127ad86af4be51d209f64fd6638c0862dca185fe1d - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": +"cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -7633,197 +5413,68 @@ __metadata: languageName: node linkType: hard -"css-color-keywords@npm:^1.0.0": - version: 1.0.0 - resolution: "css-color-keywords@npm:1.0.0" - checksum: 10c0/af205a86c68e0051846ed91eb3e30b4517e1904aac040013ff1d742019b3f9369ba5658ba40901dbbc121186fc4bf0e75a814321cc3e3182fbb2feb81c6d9cb7 - languageName: node - linkType: hard - -"css-to-react-native@npm:3.2.0": - version: 3.2.0 - resolution: "css-to-react-native@npm:3.2.0" - dependencies: - camelize: "npm:^1.0.0" - css-color-keywords: "npm:^1.0.0" - postcss-value-parser: "npm:^4.0.2" - checksum: 10c0/fde850a511d5d3d7c55a1e9b8ed26b69a8ad4868b3487e36ebfbfc0b96fc34bc977d9cd1d61a289d0c74d3f9a662d8cee297da53d4433bf2e27d6acdff8e1003 - languageName: node - linkType: hard - -"csstype@npm:3.1.3": - version: 3.1.3 - resolution: "csstype@npm:3.1.3" - checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 - languageName: node - linkType: hard - -"d@npm:1, d@npm:^1.0.1, d@npm:^1.0.2": - version: 1.0.2 - resolution: "d@npm:1.0.2" - dependencies: - es5-ext: "npm:^0.10.64" - type: "npm:^2.7.2" - checksum: 10c0/3e6ede10cd3b77586c47da48423b62bed161bf1a48bdbcc94d87263522e22f5dfb0e678a6dba5323fdc14c5d8612b7f7eb9e7d9e37b2e2d67a7bf9f116dabe5a - languageName: node - linkType: hard - -"damerau-levenshtein@npm:^1.0.8": - version: 1.0.8 - resolution: "damerau-levenshtein@npm:1.0.8" - checksum: 10c0/4c2647e0f42acaee7d068756c1d396e296c3556f9c8314bac1ac63ffb236217ef0e7e58602b18bb2173deec7ec8e0cac8e27cccf8f5526666b4ff11a13ad54a3 - languageName: node - linkType: hard - -"data-view-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "data-view-buffer@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.3" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.2" - checksum: 10c0/7986d40fc7979e9e6241f85db8d17060dd9a71bd53c894fa29d126061715e322a4cd47a00b0b8c710394854183d4120462b980b8554012acc1c0fa49df7ad38c - languageName: node - linkType: hard - -"data-view-byte-length@npm:^1.0.2": - version: 1.0.2 - resolution: "data-view-byte-length@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.3" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.2" - checksum: 10c0/f8a4534b5c69384d95ac18137d381f18a5cfae1f0fc1df0ef6feef51ef0d568606d970b69e02ea186c6c0f0eac77fe4e6ad96fec2569cc86c3afcc7475068c55 - languageName: node - linkType: hard - -"data-view-byte-offset@npm:^1.0.1": - version: 1.0.1 - resolution: "data-view-byte-offset@npm:1.0.1" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10c0/fa7aa40078025b7810dcffc16df02c480573b7b53ef1205aa6a61533011005c1890e5ba17018c692ce7c900212b547262d33279fde801ad9843edc0863bf78c4 - languageName: node - linkType: hard - -"dayjs@npm:^1.11.8": - version: 1.11.13 - resolution: "dayjs@npm:1.11.13" - checksum: 10c0/a3caf6ac8363c7dade9d1ee797848ddcf25c1ace68d9fe8678ecf8ba0675825430de5d793672ec87b24a69bf04a1544b176547b2539982275d5542a7955f35b7 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.7": - version: 4.4.0 - resolution: "debug@npm:4.4.0" - dependencies: - ms: "npm:^2.1.3" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/db94f1a182bf886f57b4755f85b3a74c39b5114b9377b7ab375dc2cfa3454f09490cc6c30f829df3fc8042bc8b8995f6567ce5cd96f3bc3688bd24027197d9de - languageName: node - linkType: hard - -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" - dependencies: - ms: "npm:^2.1.1" - checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a - languageName: node - linkType: hard - -"decko@npm:^1.2.0": - version: 1.2.0 - resolution: "decko@npm:1.2.0" - checksum: 10c0/bae2187734b6faa9db1cf53b04bb107f79a55735d85c7511f941d7fd1cac36991ad2048dee8451dcbcb4efa23a46e5dfd46f71a51585457cd5b912869b5d346b - languageName: node - linkType: hard - -"decompress-response@npm:^6.0.0": - version: 6.0.0 - resolution: "decompress-response@npm:6.0.0" - dependencies: - mimic-response: "npm:^3.1.0" - checksum: 10c0/bd89d23141b96d80577e70c54fb226b2f40e74a6817652b80a116d7befb8758261ad073a8895648a29cc0a5947021ab66705cb542fa9c143c82022b27c5b175e - languageName: node - linkType: hard - -"decompress-tar@npm:^4.0.0, decompress-tar@npm:^4.1.0, decompress-tar@npm:^4.1.1": - version: 4.1.1 - resolution: "decompress-tar@npm:4.1.1" +"csvtojson@npm:^2.0.10": + version: 2.0.10 + resolution: "csvtojson@npm:2.0.10" dependencies: - file-type: "npm:^5.2.0" - is-stream: "npm:^1.1.0" - tar-stream: "npm:^1.5.2" - checksum: 10c0/92d86c5dfe2a89f9b5db584668f8ed2a3107339083872c7f78b5f7d55222d954545e018c10346a50991542ad6d1406128bf1c97a24f023810993a1dcfb3c3f21 + bluebird: "npm:^3.5.1" + lodash: "npm:^4.17.3" + strip-bom: "npm:^2.0.0" + bin: + csvtojson: ./bin/csvtojson + checksum: 10c0/0a35e035db845c93768b5e1bf606d2d2ca5dadd36dd974474c6f54ed689fdbbb7fa21b723b2e1eb7fde9aa5d5d1e3e83d2162f1b8cb419fa7e0e196ec263a176 languageName: node linkType: hard -"decompress-tarbz2@npm:^4.0.0": - version: 4.1.1 - resolution: "decompress-tarbz2@npm:4.1.1" - dependencies: - decompress-tar: "npm:^4.1.0" - file-type: "npm:^6.1.0" - is-stream: "npm:^1.1.0" - seek-bzip: "npm:^1.0.5" - unbzip2-stream: "npm:^1.0.9" - checksum: 10c0/d5ab2c2435a53f45da8348ffdb5ae0a3ff8fec55948b7890a1c55413de4d1e539a22978e7dcd8bd3561985878c9778253fe146cbdea429f04fa4529abb57c54e +"damerau-levenshtein@npm:^1.0.8": + version: 1.0.8 + resolution: "damerau-levenshtein@npm:1.0.8" + checksum: 10c0/4c2647e0f42acaee7d068756c1d396e296c3556f9c8314bac1ac63ffb236217ef0e7e58602b18bb2173deec7ec8e0cac8e27cccf8f5526666b4ff11a13ad54a3 languageName: node linkType: hard -"decompress-targz@npm:^4.0.0": - version: 4.1.1 - resolution: "decompress-targz@npm:4.1.1" +"data-view-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-buffer@npm:1.0.2" dependencies: - decompress-tar: "npm:^4.1.1" - file-type: "npm:^5.2.0" - is-stream: "npm:^1.1.0" - checksum: 10c0/42514fb2df6248c56b2b115494b7d1d046bc582e960354ba4faad5792f261782a61d17d9ef53845abe78c0f0ecafc195cb0754c00227fa0bd0642a1bfd8eafad + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.2" + checksum: 10c0/7986d40fc7979e9e6241f85db8d17060dd9a71bd53c894fa29d126061715e322a4cd47a00b0b8c710394854183d4120462b980b8554012acc1c0fa49df7ad38c languageName: node linkType: hard -"decompress-unzip@npm:^4.0.1": - version: 4.0.1 - resolution: "decompress-unzip@npm:4.0.1" +"data-view-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-byte-length@npm:1.0.2" dependencies: - file-type: "npm:^3.8.0" - get-stream: "npm:^2.2.0" - pify: "npm:^2.3.0" - yauzl: "npm:^2.4.2" - checksum: 10c0/896f88e1c23b59cdce022227a8910c06158bd4b296c21d61af7167bd50d00e9e4355b605bdbfd7ba75d46ad277d4f881cdd037aec7165a40ccd0ee4ef59443a8 + call-bound: "npm:^1.0.3" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.2" + checksum: 10c0/f8a4534b5c69384d95ac18137d381f18a5cfae1f0fc1df0ef6feef51ef0d568606d970b69e02ea186c6c0f0eac77fe4e6ad96fec2569cc86c3afcc7475068c55 languageName: node linkType: hard -"decompress@npm:^4.2.1": - version: 4.2.1 - resolution: "decompress@npm:4.2.1" +"data-view-byte-offset@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-offset@npm:1.0.1" dependencies: - decompress-tar: "npm:^4.0.0" - decompress-tarbz2: "npm:^4.0.0" - decompress-targz: "npm:^4.0.0" - decompress-unzip: "npm:^4.0.1" - graceful-fs: "npm:^4.1.10" - make-dir: "npm:^1.0.0" - pify: "npm:^2.3.0" - strip-dirs: "npm:^2.0.0" - checksum: 10c0/6730279fa206aad04a8338a88ab49c596034c502b2d5f23a28d0a28290b82d9217f9e60c8b5739805474ca842fc856e08e2d64ed759f2118c2bcabe42fa9eece + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + is-data-view: "npm:^1.0.1" + checksum: 10c0/fa7aa40078025b7810dcffc16df02c480573b7b53ef1205aa6a61533011005c1890e5ba17018c692ce7c900212b547262d33279fde801ad9843edc0863bf78c4 languageName: node linkType: hard -"dedent@npm:^1.0.0": - version: 1.5.3 - resolution: "dedent@npm:1.5.3" - peerDependencies: - babel-plugin-macros: ^3.1.0 +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.6, debug@npm:^4.4.0, debug@npm:^4.4.1": + version: 4.4.1 + resolution: "debug@npm:4.4.1" + dependencies: + ms: "npm:^2.1.3" peerDependenciesMeta: - babel-plugin-macros: + supports-color: optional: true - checksum: 10c0/d94bde6e6f780be4da4fd760288fcf755ec368872f4ac5218197200d86430aeb8d90a003a840bff1c20221188e3f23adced0119cb811c6873c70d0ac66d12832 + checksum: 10c0/d2b44bc1afd912b49bb7ebb0d50a860dc93a4dd7d946e8de94abc957bb63726b7dd5aa48c18c2386c379ec024c46692e15ed3ed97d481729f929201e671fcd55 languageName: node linkType: hard @@ -7841,13 +5492,6 @@ __metadata: languageName: node linkType: hard -"deepmerge@npm:^4.2.2": - version: 4.3.1 - resolution: "deepmerge@npm:4.3.1" - checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 - languageName: node - linkType: hard - "default-browser-id@npm:^5.0.0": version: 5.0.0 resolution: "default-browser-id@npm:5.0.0" @@ -7874,26 +5518,6 @@ __metadata: languageName: node linkType: hard -"defer-to-connect@npm:^2.0.0": - version: 2.0.1 - resolution: "defer-to-connect@npm:2.0.1" - checksum: 10c0/625ce28e1b5ad10cf77057b9a6a727bf84780c17660f6644dab61dd34c23de3001f03cedc401f7d30a4ed9965c2e8a7336e220a329146f2cf85d4eddea429782 - languageName: node - linkType: hard - -"deferred@npm:^0.7.11": - version: 0.7.11 - resolution: "deferred@npm:0.7.11" - dependencies: - d: "npm:^1.0.1" - es5-ext: "npm:^0.10.50" - event-emitter: "npm:^0.3.5" - next-tick: "npm:^1.0.0" - timers-ext: "npm:^0.1.7" - checksum: 10c0/087b944f2c28d431ce71999c1a7402f2cf3c114a774843d15dd93fa112cd08ec3daa76f456208796e785086c5bad8a61156329f9a9d40f0eedbbc3d478e78605 - languageName: node - linkType: hard - "define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": version: 1.1.4 resolution: "define-data-property@npm:1.1.4" @@ -7937,22 +5561,6 @@ __metadata: languageName: node linkType: hard -"detect-libc@npm:^1.0.3": - version: 1.0.3 - resolution: "detect-libc@npm:1.0.3" - bin: - detect-libc: ./bin/detect-libc.js - checksum: 10c0/4da0deae9f69e13bc37a0902d78bf7169480004b1fed3c19722d56cff578d16f0e11633b7fbf5fb6249181236c72e90024cbd68f0b9558ae06e281f47326d50d - languageName: node - linkType: hard - -"detect-newline@npm:^3.0.0": - version: 3.1.0 - resolution: "detect-newline@npm:3.1.0" - checksum: 10c0/c38cfc8eeb9fda09febb44bcd85e467c970d4e3bf526095394e5a4f18bc26dd0cf6b22c69c1fa9969261521c593836db335c2795218f6d781a512aea2fb8209d - languageName: node - linkType: hard - "detect-port@npm:^1.5.1": version: 1.6.1 resolution: "detect-port@npm:1.6.1" @@ -7966,39 +5574,6 @@ __metadata: languageName: node linkType: hard -"dezalgo@npm:^1.0.4": - version: 1.0.4 - resolution: "dezalgo@npm:1.0.4" - dependencies: - asap: "npm:^2.0.0" - wrappy: "npm:1" - checksum: 10c0/8a870ed42eade9a397e6141fe5c025148a59ed52f1f28b1db5de216b4d57f0af7a257070c3af7ce3d5508c1ce9dd5009028a76f4b2cc9370dc56551d2355fad8 - languageName: node - linkType: hard - -"diff-sequences@npm:^29.6.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 - languageName: node - linkType: hard - -"diff@npm:^4.0.1": - version: 4.0.2 - resolution: "diff@npm:4.0.2" - checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1 - languageName: node - linkType: hard - -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c - languageName: node - linkType: hard - "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -8008,35 +5583,6 @@ __metadata: languageName: node linkType: hard -"dompurify@npm:^3.0.6": - version: 3.2.4 - resolution: "dompurify@npm:3.2.4" - dependencies: - "@types/trusted-types": "npm:^2.0.7" - dependenciesMeta: - "@types/trusted-types": - optional: true - checksum: 10c0/6be56810fb7ad2776155c8fc2967af5056783c030094362c7d0cf1ad13f2129cf922d8eefab528a34bdebfb98e2f44b306a983ab93aefb9d6f24c18a3d027a05 - languageName: node - linkType: hard - -"dot-case@npm:^3.0.4": - version: 3.0.4 - resolution: "dot-case@npm:3.0.4" - dependencies: - no-case: "npm:^3.0.4" - tslib: "npm:^2.0.3" - checksum: 10c0/5b859ea65097a7ea870e2c91b5768b72ddf7fa947223fd29e167bcdff58fe731d941c48e47a38ec8aa8e43044c8fbd15cd8fa21689a526bc34b6548197cd5b05 - languageName: node - linkType: hard - -"dotenv-expand@npm:^10.0.0": - version: 10.0.0 - resolution: "dotenv-expand@npm:10.0.0" - checksum: 10c0/298f5018e29cfdcb0b5f463ba8e8627749103fbcf6cf81c561119115754ed582deee37b49dfc7253028aaba875ab7aea5fa90e5dac88e511d009ab0e6677924e - languageName: node - linkType: hard - "dotenv-expand@npm:~11.0.6": version: 11.0.7 resolution: "dotenv-expand@npm:11.0.7" @@ -8046,14 +5592,14 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:16.4.5": - version: 16.4.5 - resolution: "dotenv@npm:16.4.5" - checksum: 10c0/48d92870076832af0418b13acd6e5a5a3e83bb00df690d9812e94b24aff62b88ade955ac99a05501305b8dc8f1b0ee7638b18493deb6fe93d680e5220936292f +"dotenv@npm:^16.4.5": + version: 16.6.1 + resolution: "dotenv@npm:16.6.1" + checksum: 10c0/15ce56608326ea0d1d9414a5c8ee6dcf0fffc79d2c16422b4ac2268e7e2d76ff5a572d37ffe747c377de12005f14b3cc22361e79fc7f1061cce81f77d2c973dc languageName: node linkType: hard -"dotenv@npm:^16.3.1, dotenv@npm:^16.4.5, dotenv@npm:^16.4.7, dotenv@npm:~16.4.5": +"dotenv@npm:~16.4.5": version: 16.4.7 resolution: "dotenv@npm:16.4.7" checksum: 10c0/be9f597e36a8daf834452daa1f4cc30e5375a5968f98f46d89b16b983c567398a330580c88395069a77473943c06b877d1ca25b4afafcdd6d4adb549e8293462 @@ -8071,16 +5617,6 @@ __metadata: languageName: node linkType: hard -"duration@npm:^0.2.2": - version: 0.2.2 - resolution: "duration@npm:0.2.2" - dependencies: - d: "npm:1" - es5-ext: "npm:~0.10.46" - checksum: 10c0/06591c3493dfed317a366c852d3d27a65dc9c6c2abe4cac16104f4cbe3fd697feef3c1cedd6ce9b5e03d273dd78489a3d77256a80c49cd5c2b31174ef41827a8 - languageName: node - linkType: hard - "eastasianwidth@npm:^0.2.0": version: 0.2.0 resolution: "eastasianwidth@npm:0.2.0" @@ -8088,17 +5624,7 @@ __metadata: languageName: node linkType: hard -"effect@npm:^3.8.3": - version: 3.14.1 - resolution: "effect@npm:3.14.1" - dependencies: - "@standard-schema/spec": "npm:^1.0.0" - fast-check: "npm:^3.23.1" - checksum: 10c0/d2d8d12b81da532b2771a2a2ca3f2baee29238654293c7d41edbf4d6e9a29f76a55accca4806f78e2a7477d577b95dbb9c2d96ba2b43ac1a3b0461f9d848a75d - languageName: node - linkType: hard - -"ejs@npm:^3.1.7": +"ejs@npm:^3.1.10, ejs@npm:^3.1.7": version: 3.1.10 resolution: "ejs@npm:3.1.10" dependencies: @@ -8109,17 +5635,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.73": - version: 1.5.123 - resolution: "electron-to-chromium@npm:1.5.123" - checksum: 10c0/ffaa65e9337f5ba0b51d5709795c3d1074e0cae8efda24116561feed6cedd281f523be50339d991c2fc65344e66e65e7308a157ff87047a8bb4e8008412e9eb1 - languageName: node - linkType: hard - -"emittery@npm:^0.13.1": - version: 0.13.1 - resolution: "emittery@npm:0.13.1" - checksum: 10c0/1573d0ae29ab34661b6c63251ff8f5facd24ccf6a823f19417ae8ba8c88ea450325788c67f16c99edec8de4b52ce93a10fe441ece389fd156e88ee7dab9bfa35 +"electron-to-chromium@npm:^1.5.173": + version: 1.5.181 + resolution: "electron-to-chromium@npm:1.5.181" + checksum: 10c0/9d4d2fbbcabe604348462c1df37c744615c3f1439eeb66dc12fd9e25ea4422dbafd20dd15f4a78106ad5aff9168f751ee2e62347ae36c1d7dd9dea61b325e98e languageName: node linkType: hard @@ -8146,22 +5665,12 @@ __metadata: languageName: node linkType: hard -"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": - version: 1.4.4 - resolution: "end-of-stream@npm:1.4.4" +"end-of-stream@npm:^1.4.1": + version: 1.4.5 + resolution: "end-of-stream@npm:1.4.5" dependencies: once: "npm:^1.4.0" - checksum: 10c0/870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975 - languageName: node - linkType: hard - -"enquirer@npm:^2.4.1": - version: 2.4.1 - resolution: "enquirer@npm:2.4.1" - dependencies: - ansi-colors: "npm:^4.1.1" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/43850479d7a51d36a9c924b518dcdc6373b5a8ae3401097d336b7b7e258324749d0ad37a1fcaa5706f04799baa05585cd7af19ebdf7667673e7694435fcea918 + checksum: 10c0/b0701c92a10b89afb1cb45bf54a5292c6f008d744eb4382fa559d54775ff31617d1d7bc3ef617575f552e24fad2c7c1a1835948c66b3f3a4be0a6c1f35c883d8 languageName: node linkType: hard @@ -8197,26 +5706,26 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9": - version: 1.23.9 - resolution: "es-abstract@npm:1.23.9" +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9, es-abstract@npm:^1.24.0": + version: 1.24.0 + resolution: "es-abstract@npm:1.24.0" dependencies: array-buffer-byte-length: "npm:^1.0.2" arraybuffer.prototype.slice: "npm:^1.0.4" available-typed-arrays: "npm:^1.0.7" call-bind: "npm:^1.0.8" - call-bound: "npm:^1.0.3" + call-bound: "npm:^1.0.4" data-view-buffer: "npm:^1.0.2" data-view-byte-length: "npm:^1.0.2" data-view-byte-offset: "npm:^1.0.1" es-define-property: "npm:^1.0.1" es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.0.0" + es-object-atoms: "npm:^1.1.1" es-set-tostringtag: "npm:^2.1.0" es-to-primitive: "npm:^1.3.0" function.prototype.name: "npm:^1.1.8" - get-intrinsic: "npm:^1.2.7" - get-proto: "npm:^1.0.0" + get-intrinsic: "npm:^1.3.0" + get-proto: "npm:^1.0.1" get-symbol-description: "npm:^1.1.0" globalthis: "npm:^1.0.4" gopd: "npm:^1.2.0" @@ -8228,21 +5737,24 @@ __metadata: is-array-buffer: "npm:^3.0.5" is-callable: "npm:^1.2.7" is-data-view: "npm:^1.0.2" + is-negative-zero: "npm:^2.0.3" is-regex: "npm:^1.2.1" + is-set: "npm:^2.0.3" is-shared-array-buffer: "npm:^1.0.4" is-string: "npm:^1.1.1" is-typed-array: "npm:^1.1.15" - is-weakref: "npm:^1.1.0" + is-weakref: "npm:^1.1.1" math-intrinsics: "npm:^1.1.0" - object-inspect: "npm:^1.13.3" + object-inspect: "npm:^1.13.4" object-keys: "npm:^1.1.1" object.assign: "npm:^4.1.7" own-keys: "npm:^1.0.1" - regexp.prototype.flags: "npm:^1.5.3" + regexp.prototype.flags: "npm:^1.5.4" safe-array-concat: "npm:^1.1.3" safe-push-apply: "npm:^1.0.0" safe-regex-test: "npm:^1.1.0" set-proto: "npm:^1.0.0" + stop-iteration-iterator: "npm:^1.1.0" string.prototype.trim: "npm:^1.2.10" string.prototype.trimend: "npm:^1.0.9" string.prototype.trimstart: "npm:^1.0.8" @@ -8251,8 +5763,8 @@ __metadata: typed-array-byte-offset: "npm:^1.0.4" typed-array-length: "npm:^1.0.7" unbox-primitive: "npm:^1.1.0" - which-typed-array: "npm:^1.1.18" - checksum: 10c0/1de229c9e08fe13c17fe5abaec8221545dfcd57e51f64909599a6ae896df84b8fd2f7d16c60cb00d7bf495b9298ca3581aded19939d4b7276854a4b066f8422b + which-typed-array: "npm:^1.1.19" + checksum: 10c0/b256e897be32df5d382786ce8cce29a1dd8c97efbab77a26609bd70f2ed29fbcfc7a31758cb07488d532e7ccccdfca76c1118f2afe5a424cdc05ca007867c318 languageName: node linkType: hard @@ -8294,10 +5806,10 @@ __metadata: languageName: node linkType: hard -"es-module-lexer@npm:^1.5.4": - version: 1.6.0 - resolution: "es-module-lexer@npm:1.6.0" - checksum: 10c0/667309454411c0b95c476025929881e71400d74a746ffa1ff4cb450bd87f8e33e8eef7854d68e401895039ac0bac64e7809acbebb6253e055dd49ea9e3ea9212 +"es-module-lexer@npm:^1.7.0": + version: 1.7.0 + resolution: "es-module-lexer@npm:1.7.0" + checksum: 10c0/4c935affcbfeba7fb4533e1da10fa8568043df1e3574b869385980de9e2d475ddc36769891936dbb07036edb3c3786a8b78ccf44964cd130dedc1f2c984b6c7b languageName: node linkType: hard @@ -8322,7 +5834,7 @@ __metadata: languageName: node linkType: hard -"es-shim-unscopables@npm:^1.0.2, es-shim-unscopables@npm:^1.1.0": +"es-shim-unscopables@npm:^1.0.2": version: 1.1.0 resolution: "es-shim-unscopables@npm:1.1.0" dependencies: @@ -8342,99 +5854,49 @@ __metadata: languageName: node linkType: hard -"es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.46, es5-ext@npm:^0.10.47, es5-ext@npm:^0.10.49, es5-ext@npm:^0.10.50, es5-ext@npm:^0.10.53, es5-ext@npm:^0.10.62, es5-ext@npm:^0.10.64, es5-ext@npm:~0.10.14, es5-ext@npm:~0.10.2, es5-ext@npm:~0.10.46": - version: 0.10.64 - resolution: "es5-ext@npm:0.10.64" - dependencies: - es6-iterator: "npm:^2.0.3" - es6-symbol: "npm:^3.1.3" - esniff: "npm:^2.0.1" - next-tick: "npm:^1.1.0" - checksum: 10c0/4459b6ae216f3c615db086e02437bdfde851515a101577fd61b19f9b3c1ad924bab4d197981eb7f0ccb915f643f2fc10ff76b97a680e96cbb572d15a27acd9a3 - languageName: node - linkType: hard - -"es6-iterator@npm:^2.0.3, es6-iterator@npm:~2.0.3": - version: 2.0.3 - resolution: "es6-iterator@npm:2.0.3" - dependencies: - d: "npm:1" - es5-ext: "npm:^0.10.35" - es6-symbol: "npm:^3.1.1" - checksum: 10c0/91f20b799dba28fb05bf623c31857fc1524a0f1c444903beccaf8929ad196c8c9ded233e5ac7214fc63a92b3f25b64b7f2737fcca8b1f92d2d96cf3ac902f5d8 - languageName: node - linkType: hard - -"es6-promise@npm:^3.2.1": - version: 3.3.1 - resolution: "es6-promise@npm:3.3.1" - checksum: 10c0/b4fc87cb8509c001f62f860f97b05d1fd3f87220c8b832578e6a483c719ca272b73a77f2231cb26395fa865e1cab2fd4298ab67786b69e97b8d757b938f4fc1f - languageName: node - linkType: hard - -"es6-set@npm:^0.1.6": - version: 0.1.6 - resolution: "es6-set@npm:0.1.6" - dependencies: - d: "npm:^1.0.1" - es5-ext: "npm:^0.10.62" - es6-iterator: "npm:~2.0.3" - es6-symbol: "npm:^3.1.3" - event-emitter: "npm:^0.3.5" - type: "npm:^2.7.2" - checksum: 10c0/50416775e45350b5c55b35aeb18dc25e6c2017af0ec056336b8e9e7c57e73d8342df398557909e815c523779628c842fbf1b0126c4483a9fbf42b0414358866a - languageName: node - linkType: hard - -"es6-symbol@npm:^3.1.1, es6-symbol@npm:^3.1.3": - version: 3.1.4 - resolution: "es6-symbol@npm:3.1.4" +"esbuild-visualizer@npm:^0.7.0": + version: 0.7.0 + resolution: "esbuild-visualizer@npm:0.7.0" dependencies: - d: "npm:^1.0.2" - ext: "npm:^1.7.0" - checksum: 10c0/777bf3388db5d7919e09a0fd175aa5b8a62385b17cb2227b7a137680cba62b4d9f6193319a102642aa23d5840d38a62e4784f19cfa5be4a2210a3f0e9b23d15d - languageName: node - linkType: hard - -"es6-weak-map@npm:^2.0.3": - version: 2.0.3 - resolution: "es6-weak-map@npm:2.0.3" - dependencies: - d: "npm:1" - es5-ext: "npm:^0.10.46" - es6-iterator: "npm:^2.0.3" - es6-symbol: "npm:^3.1.1" - checksum: 10c0/460932be9542473dbbddd183e21c15a66cfec1b2c17dae2b514e190d6fb2896b7eb683783d4b36da036609d2e1c93d2815f21b374dfccaf02a8978694c2f7b67 - languageName: node - linkType: hard - -"esbuild@npm:^0.21.3": - version: 0.21.5 - resolution: "esbuild@npm:0.21.5" - dependencies: - "@esbuild/aix-ppc64": "npm:0.21.5" - "@esbuild/android-arm": "npm:0.21.5" - "@esbuild/android-arm64": "npm:0.21.5" - "@esbuild/android-x64": "npm:0.21.5" - "@esbuild/darwin-arm64": "npm:0.21.5" - "@esbuild/darwin-x64": "npm:0.21.5" - "@esbuild/freebsd-arm64": "npm:0.21.5" - "@esbuild/freebsd-x64": "npm:0.21.5" - "@esbuild/linux-arm": "npm:0.21.5" - "@esbuild/linux-arm64": "npm:0.21.5" - "@esbuild/linux-ia32": "npm:0.21.5" - "@esbuild/linux-loong64": "npm:0.21.5" - "@esbuild/linux-mips64el": "npm:0.21.5" - "@esbuild/linux-ppc64": "npm:0.21.5" - "@esbuild/linux-riscv64": "npm:0.21.5" - "@esbuild/linux-s390x": "npm:0.21.5" - "@esbuild/linux-x64": "npm:0.21.5" - "@esbuild/netbsd-x64": "npm:0.21.5" - "@esbuild/openbsd-x64": "npm:0.21.5" - "@esbuild/sunos-x64": "npm:0.21.5" - "@esbuild/win32-arm64": "npm:0.21.5" - "@esbuild/win32-ia32": "npm:0.21.5" - "@esbuild/win32-x64": "npm:0.21.5" + open: "npm:^8.4.0" + picomatch: "npm:^4.0.0" + yargs: "npm:^17.6.2" + bin: + esbuild-visualizer: dist/bin/cli.js + checksum: 10c0/2b7929f4f73e44bc61f269497cf1a046b252be87104b1d8ad640545ad12a2bddc26c6491cfb31c00153d12d2655ce2dec6d922eac77dd0d8ba23ea903e1275ae + languageName: node + linkType: hard + +"esbuild@npm:^0.25.0": + version: 0.25.6 + resolution: "esbuild@npm:0.25.6" + dependencies: + "@esbuild/aix-ppc64": "npm:0.25.6" + "@esbuild/android-arm": "npm:0.25.6" + "@esbuild/android-arm64": "npm:0.25.6" + "@esbuild/android-x64": "npm:0.25.6" + "@esbuild/darwin-arm64": "npm:0.25.6" + "@esbuild/darwin-x64": "npm:0.25.6" + "@esbuild/freebsd-arm64": "npm:0.25.6" + "@esbuild/freebsd-x64": "npm:0.25.6" + "@esbuild/linux-arm": "npm:0.25.6" + "@esbuild/linux-arm64": "npm:0.25.6" + "@esbuild/linux-ia32": "npm:0.25.6" + "@esbuild/linux-loong64": "npm:0.25.6" + "@esbuild/linux-mips64el": "npm:0.25.6" + "@esbuild/linux-ppc64": "npm:0.25.6" + "@esbuild/linux-riscv64": "npm:0.25.6" + "@esbuild/linux-s390x": "npm:0.25.6" + "@esbuild/linux-x64": "npm:0.25.6" + "@esbuild/netbsd-arm64": "npm:0.25.6" + "@esbuild/netbsd-x64": "npm:0.25.6" + "@esbuild/openbsd-arm64": "npm:0.25.6" + "@esbuild/openbsd-x64": "npm:0.25.6" + "@esbuild/openharmony-arm64": "npm:0.25.6" + "@esbuild/sunos-x64": "npm:0.25.6" + "@esbuild/win32-arm64": "npm:0.25.6" + "@esbuild/win32-ia32": "npm:0.25.6" + "@esbuild/win32-x64": "npm:0.25.6" dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -8470,10 +5932,16 @@ __metadata: optional: true "@esbuild/linux-x64": optional: true + "@esbuild/netbsd-arm64": + optional: true "@esbuild/netbsd-x64": optional: true + "@esbuild/openbsd-arm64": + optional: true "@esbuild/openbsd-x64": optional: true + "@esbuild/openharmony-arm64": + optional: true "@esbuild/sunos-x64": optional: true "@esbuild/win32-arm64": @@ -8484,37 +5952,40 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 10c0/fa08508adf683c3f399e8a014a6382a6b65542213431e26206c0720e536b31c09b50798747c2a105a4bbba1d9767b8d3615a74c2f7bf1ddf6d836cd11eb672de - languageName: node - linkType: hard - -"esbuild@npm:~0.19.2": - version: 0.19.12 - resolution: "esbuild@npm:0.19.12" - dependencies: - "@esbuild/aix-ppc64": "npm:0.19.12" - "@esbuild/android-arm": "npm:0.19.12" - "@esbuild/android-arm64": "npm:0.19.12" - "@esbuild/android-x64": "npm:0.19.12" - "@esbuild/darwin-arm64": "npm:0.19.12" - "@esbuild/darwin-x64": "npm:0.19.12" - "@esbuild/freebsd-arm64": "npm:0.19.12" - "@esbuild/freebsd-x64": "npm:0.19.12" - "@esbuild/linux-arm": "npm:0.19.12" - "@esbuild/linux-arm64": "npm:0.19.12" - "@esbuild/linux-ia32": "npm:0.19.12" - "@esbuild/linux-loong64": "npm:0.19.12" - "@esbuild/linux-mips64el": "npm:0.19.12" - "@esbuild/linux-ppc64": "npm:0.19.12" - "@esbuild/linux-riscv64": "npm:0.19.12" - "@esbuild/linux-s390x": "npm:0.19.12" - "@esbuild/linux-x64": "npm:0.19.12" - "@esbuild/netbsd-x64": "npm:0.19.12" - "@esbuild/openbsd-x64": "npm:0.19.12" - "@esbuild/sunos-x64": "npm:0.19.12" - "@esbuild/win32-arm64": "npm:0.19.12" - "@esbuild/win32-ia32": "npm:0.19.12" - "@esbuild/win32-x64": "npm:0.19.12" + checksum: 10c0/6c2ddc66d8789d75bfa940fddf51a6a98b0fcb474f090669b47091f587e8c3e8e7da57d769b770fd8133268dd5bfc7055318aea0bca6f7c725220d7550437b42 + languageName: node + linkType: hard + +"esbuild@npm:~0.25.8": + version: 0.25.8 + resolution: "esbuild@npm:0.25.8" + dependencies: + "@esbuild/aix-ppc64": "npm:0.25.8" + "@esbuild/android-arm": "npm:0.25.8" + "@esbuild/android-arm64": "npm:0.25.8" + "@esbuild/android-x64": "npm:0.25.8" + "@esbuild/darwin-arm64": "npm:0.25.8" + "@esbuild/darwin-x64": "npm:0.25.8" + "@esbuild/freebsd-arm64": "npm:0.25.8" + "@esbuild/freebsd-x64": "npm:0.25.8" + "@esbuild/linux-arm": "npm:0.25.8" + "@esbuild/linux-arm64": "npm:0.25.8" + "@esbuild/linux-ia32": "npm:0.25.8" + "@esbuild/linux-loong64": "npm:0.25.8" + "@esbuild/linux-mips64el": "npm:0.25.8" + "@esbuild/linux-ppc64": "npm:0.25.8" + "@esbuild/linux-riscv64": "npm:0.25.8" + "@esbuild/linux-s390x": "npm:0.25.8" + "@esbuild/linux-x64": "npm:0.25.8" + "@esbuild/netbsd-arm64": "npm:0.25.8" + "@esbuild/netbsd-x64": "npm:0.25.8" + "@esbuild/openbsd-arm64": "npm:0.25.8" + "@esbuild/openbsd-x64": "npm:0.25.8" + "@esbuild/openharmony-arm64": "npm:0.25.8" + "@esbuild/sunos-x64": "npm:0.25.8" + "@esbuild/win32-arm64": "npm:0.25.8" + "@esbuild/win32-ia32": "npm:0.25.8" + "@esbuild/win32-x64": "npm:0.25.8" dependenciesMeta: "@esbuild/aix-ppc64": optional: true @@ -8550,10 +6021,16 @@ __metadata: optional: true "@esbuild/linux-x64": optional: true + "@esbuild/netbsd-arm64": + optional: true "@esbuild/netbsd-x64": optional: true + "@esbuild/openbsd-arm64": + optional: true "@esbuild/openbsd-x64": optional: true + "@esbuild/openharmony-arm64": + optional: true "@esbuild/sunos-x64": optional: true "@esbuild/win32-arm64": @@ -8564,7 +6041,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: 10c0/0f2d21ffe24ebead64843f87c3aebe2e703a5ed9feb086a0728b24907fac2eb9923e4a79857d3df9059c915739bd7a870dd667972eae325c67f478b592b8582d + checksum: 10c0/43747a25e120d5dd9ce75c82f57306580d715647c8db4f4a0a84e73b04cf16c27572d3937d3cfb95d5ac3266a4d1bbd3913e3d76ae719693516289fc86f8a5fd languageName: node linkType: hard @@ -8575,98 +6052,28 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^1.0.2, escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^2.0.0": - version: 2.0.0 - resolution: "escape-string-regexp@npm:2.0.0" - checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^4.0.0": +"escape-string-regexp@npm:4.0.0, escape-string-regexp@npm:^4.0.0": version: 4.0.0 resolution: "escape-string-regexp@npm:4.0.0" checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 languageName: node linkType: hard -"eslint-config-prettier@npm:9.1.0": - version: 9.1.0 - resolution: "eslint-config-prettier@npm:9.1.0" - peerDependencies: - eslint: ">=7.0.0" - bin: - eslint-config-prettier: bin/cli.js - checksum: 10c0/6d332694b36bc9ac6fdb18d3ca2f6ac42afa2ad61f0493e89226950a7091e38981b66bac2b47ba39d15b73fff2cd32c78b850a9cf9eed9ca9a96bfb2f3a2f10d +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 languageName: node linkType: hard -"eslint-config-prettier@npm:^10.1.1": - version: 10.1.2 - resolution: "eslint-config-prettier@npm:10.1.2" +"eslint-config-prettier@npm:10.1.8, eslint-config-prettier@npm:^10.1.8": + version: 10.1.8 + resolution: "eslint-config-prettier@npm:10.1.8" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: 10c0/c22c8e29193cc8fd70becf1c2dd072513f2b3004a175c2a49404c79d1745ba4dc0edc2afd00d16b0e26d24f95813a0469e7445a25104aec218f6d84cdb1697e9 - languageName: node - linkType: hard - -"eslint-import-resolver-node@npm:^0.3.9": - version: 0.3.9 - resolution: "eslint-import-resolver-node@npm:0.3.9" - dependencies: - debug: "npm:^3.2.7" - is-core-module: "npm:^2.13.0" - resolve: "npm:^1.22.4" - checksum: 10c0/0ea8a24a72328a51fd95aa8f660dcca74c1429806737cf10261ab90cfcaaf62fd1eff664b76a44270868e0a932711a81b250053942595bcd00a93b1c1575dd61 - languageName: node - linkType: hard - -"eslint-module-utils@npm:^2.12.0": - version: 2.12.0 - resolution: "eslint-module-utils@npm:2.12.0" - dependencies: - debug: "npm:^3.2.7" - peerDependenciesMeta: - eslint: - optional: true - checksum: 10c0/4d8b46dcd525d71276f9be9ffac1d2be61c9d54cc53c992e6333cf957840dee09381842b1acbbb15fc6b255ebab99cd481c5007ab438e5455a14abe1a0468558 - languageName: node - linkType: hard - -"eslint-plugin-import@npm:^2.29.1": - version: 2.31.0 - resolution: "eslint-plugin-import@npm:2.31.0" - dependencies: - "@rtsao/scc": "npm:^1.1.0" - array-includes: "npm:^3.1.8" - array.prototype.findlastindex: "npm:^1.2.5" - array.prototype.flat: "npm:^1.3.2" - array.prototype.flatmap: "npm:^1.3.2" - debug: "npm:^3.2.7" - doctrine: "npm:^2.1.0" - eslint-import-resolver-node: "npm:^0.3.9" - eslint-module-utils: "npm:^2.12.0" - hasown: "npm:^2.0.2" - is-core-module: "npm:^2.15.1" - is-glob: "npm:^4.0.3" - minimatch: "npm:^3.1.2" - object.fromentries: "npm:^2.0.8" - object.groupby: "npm:^1.0.3" - object.values: "npm:^1.2.0" - semver: "npm:^6.3.1" - string.prototype.trimend: "npm:^1.0.8" - tsconfig-paths: "npm:^3.15.0" - peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9 - checksum: 10c0/e21d116ddd1900e091ad120b3eb68c5dd5437fe2c930f1211781cd38b246f090a6b74d5f3800b8255a0ed29782591521ad44eb21c5534960a8f1fb4040fd913a + checksum: 10c0/e1bcfadc9eccd526c240056b1e59c5cd26544fe59feb85f38f4f1f116caed96aea0b3b87868e68b3099e55caaac3f2e5b9f58110f85db893e83a332751192682 languageName: node linkType: hard @@ -8695,12 +6102,12 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-prettier@npm:^5.2.5": - version: 5.2.6 - resolution: "eslint-plugin-prettier@npm:5.2.6" +"eslint-plugin-prettier@npm:^5.5.3": + version: 5.5.3 + resolution: "eslint-plugin-prettier@npm:5.5.3" dependencies: prettier-linter-helpers: "npm:^1.0.0" - synckit: "npm:^0.11.0" + synckit: "npm:^0.11.7" peerDependencies: "@types/eslint": ">=8.0.0" eslint: ">=8.0.0" @@ -8711,7 +6118,7 @@ __metadata: optional: true eslint-config-prettier: optional: true - checksum: 10c0/9911740a5edac7933d92671381908671c61ffa32a3cee7aed667ebab89831ee2c0b69eb9530f68dbe172ca9d4b3fa3d47350762dc1eb096a3ce125fa31c0e616 + checksum: 10c0/7524e381b400fec67dd2bd1a71779c220a5410f0063cd220d144431f291ec800bee1985709ef0dd38d666d01e0e53bec93824063912784d4021db8473fafe73e languageName: node linkType: hard @@ -8724,9 +6131,9 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.37.4": - version: 7.37.4 - resolution: "eslint-plugin-react@npm:7.37.4" +"eslint-plugin-react@npm:^7.37.5": + version: 7.37.5 + resolution: "eslint-plugin-react@npm:7.37.5" dependencies: array-includes: "npm:^3.1.8" array.prototype.findlast: "npm:^1.2.5" @@ -8738,7 +6145,7 @@ __metadata: hasown: "npm:^2.0.2" jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" minimatch: "npm:^3.1.2" - object.entries: "npm:^1.1.8" + object.entries: "npm:^1.1.9" object.fromentries: "npm:^2.0.8" object.values: "npm:^1.2.1" prop-types: "npm:^15.8.1" @@ -8748,17 +6155,17 @@ __metadata: string.prototype.repeat: "npm:^1.0.0" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - checksum: 10c0/4acbbdb19669dfa9a162ed8847c3ad1918f6aea1ceb675ee320b5d903b4e463fdef25e15233295b6d0a726fef2ea8b015c527da769c7690932ddc52d5b82ba12 + checksum: 10c0/c850bfd556291d4d9234f5ca38db1436924a1013627c8ab1853f77cac73ec19b020e861e6c7b783436a48b6ffcdfba4547598235a37ad4611b6739f65fd8ad57 languageName: node linkType: hard -"eslint-scope@npm:^8.3.0": - version: 8.3.0 - resolution: "eslint-scope@npm:8.3.0" +"eslint-scope@npm:^8.4.0": + version: 8.4.0 + resolution: "eslint-scope@npm:8.4.0" dependencies: esrecurse: "npm:^4.3.0" estraverse: "npm:^5.2.0" - checksum: 10c0/23bf54345573201fdf06d29efa345ab508b355492f6c6cc9e2b9f6d02b896f369b6dd5315205be94b8853809776c4d13353b85c6b531997b164ff6c3328ecf5b + checksum: 10c0/407f6c600204d0f3705bd557f81bd0189e69cd7996f408f8971ab5779c0af733d1af2f1412066b40ee1588b085874fc37a2333986c6521669cdbdd36ca5058e0 languageName: node linkType: hard @@ -8769,25 +6176,25 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^4.2.0": - version: 4.2.0 - resolution: "eslint-visitor-keys@npm:4.2.0" - checksum: 10c0/2ed81c663b147ca6f578312919483eb040295bbab759e5a371953456c636c5b49a559883e2677112453728d66293c0a4c90ab11cab3428cf02a0236d2e738269 +"eslint-visitor-keys@npm:^4.2.1": + version: 4.2.1 + resolution: "eslint-visitor-keys@npm:4.2.1" + checksum: 10c0/fcd43999199d6740db26c58dbe0c2594623e31ca307e616ac05153c9272f12f1364f5a0b1917a8e962268fdecc6f3622c1c2908b4fcc2e047a106fe6de69dc43 languageName: node linkType: hard -"eslint@npm:^9.13.0": - version: 9.23.0 - resolution: "eslint@npm:9.23.0" +"eslint@npm:^9.32.0": + version: 9.32.0 + resolution: "eslint@npm:9.32.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.12.1" - "@eslint/config-array": "npm:^0.19.2" - "@eslint/config-helpers": "npm:^0.2.0" - "@eslint/core": "npm:^0.12.0" + "@eslint/config-array": "npm:^0.21.0" + "@eslint/config-helpers": "npm:^0.3.0" + "@eslint/core": "npm:^0.15.0" "@eslint/eslintrc": "npm:^3.3.1" - "@eslint/js": "npm:9.23.0" - "@eslint/plugin-kit": "npm:^0.2.7" + "@eslint/js": "npm:9.32.0" + "@eslint/plugin-kit": "npm:^0.3.4" "@humanfs/node": "npm:^0.16.6" "@humanwhocodes/module-importer": "npm:^1.0.1" "@humanwhocodes/retry": "npm:^0.4.2" @@ -8798,9 +6205,9 @@ __metadata: cross-spawn: "npm:^7.0.6" debug: "npm:^4.3.2" escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^8.3.0" - eslint-visitor-keys: "npm:^4.2.0" - espree: "npm:^10.3.0" + eslint-scope: "npm:^8.4.0" + eslint-visitor-keys: "npm:^4.2.1" + espree: "npm:^10.4.0" esquery: "npm:^1.5.0" esutils: "npm:^2.0.2" fast-deep-equal: "npm:^3.1.3" @@ -8822,40 +6229,18 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10c0/9616c308dfa8d09db8ae51019c87d5d05933742214531b077bd6ab618baab3bec7938256c14dcad4dc47f5ba93feb0bc5e089f68799f076374ddea21b6a9be45 - languageName: node - linkType: hard - -"esniff@npm:^1.1.0": - version: 1.1.3 - resolution: "esniff@npm:1.1.3" - dependencies: - d: "npm:^1.0.1" - es5-ext: "npm:^0.10.62" - checksum: 10c0/094355417c328c1d393c06e69eb2c9455f43eedbb074b06e8b4a1fcdce62a63cea113fa2f9825673a1251f939b6e858b6934bdf22eb7a0ad5c5a1905bee8e11d - languageName: node - linkType: hard - -"esniff@npm:^2.0.1": - version: 2.0.1 - resolution: "esniff@npm:2.0.1" - dependencies: - d: "npm:^1.0.1" - es5-ext: "npm:^0.10.62" - event-emitter: "npm:^0.3.5" - type: "npm:^2.7.2" - checksum: 10c0/7efd8d44ac20e5db8cb0ca77eb65eca60628b2d0f3a1030bcb05e71cc40e6e2935c47b87dba3c733db12925aa5b897f8e0e7a567a2c274206f184da676ea2e65 + checksum: 10c0/e8a23924ec5f8b62e95483002ca25db74e25c23bd9c6d98a9f656ee32f820169bee3bfdf548ec728b16694f198b3db857d85a49210ee4a035242711d08fdc602 languageName: node linkType: hard -"espree@npm:^10.0.1, espree@npm:^10.3.0": - version: 10.3.0 - resolution: "espree@npm:10.3.0" +"espree@npm:^10.0.1, espree@npm:^10.4.0": + version: 10.4.0 + resolution: "espree@npm:10.4.0" dependencies: - acorn: "npm:^8.14.0" + acorn: "npm:^8.15.0" acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^4.2.0" - checksum: 10c0/272beeaca70d0a1a047d61baff64db04664a33d7cfb5d144f84bc8a5c6194c6c8ebe9cc594093ca53add88baa23e59b01e69e8a0160ab32eac570482e165c462 + eslint-visitor-keys: "npm:^4.2.1" + checksum: 10c0/c63fe06131c26c8157b4083313cb02a9a54720a08e21543300e55288c40e06c3fc284bdecf108d3a1372c5934a0a88644c98714f38b6ae8ed272b40d9ea08d6b languageName: node linkType: hard @@ -8893,122 +6278,45 @@ __metadata: version: 4.3.0 resolution: "esrecurse@npm:4.3.0" dependencies: - estraverse: "npm:^5.2.0" - checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 - languageName: node - linkType: hard - -"essentials@npm:^1.2.0": - version: 1.2.0 - resolution: "essentials@npm:1.2.0" - dependencies: - uni-global: "npm:^1.0.0" - checksum: 10c0/d557ddf422a8a289cf796d18c4c5af57f2d7efe8dd607fdf932b941e7a01ad5119742d22d76f1596cf3da071d6d4a9816096983d8b89a69f1252cf260692e268 - languageName: node - linkType: hard - -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0": - version: 5.3.0 - resolution: "estraverse@npm:5.3.0" - checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 - languageName: node - linkType: hard - -"estree-walker@npm:^3.0.3": - version: 3.0.3 - resolution: "estree-walker@npm:3.0.3" - dependencies: - "@types/estree": "npm:^1.0.0" - checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d - languageName: node - linkType: hard - -"esutils@npm:^2.0.2": - version: 2.0.3 - resolution: "esutils@npm:2.0.3" - checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 - languageName: node - linkType: hard - -"event-emitter@npm:^0.3.5": - version: 0.3.5 - resolution: "event-emitter@npm:0.3.5" - dependencies: - d: "npm:1" - es5-ext: "npm:~0.10.14" - checksum: 10c0/75082fa8ffb3929766d0f0a063bfd6046bd2a80bea2666ebaa0cfd6f4a9116be6647c15667bea77222afc12f5b4071b68d393cf39fdaa0e8e81eda006160aff0 - languageName: node - linkType: hard - -"event-target-shim@npm:^5.0.0": - version: 5.0.1 - resolution: "event-target-shim@npm:5.0.1" - checksum: 10c0/0255d9f936215fd206156fd4caa9e8d35e62075d720dc7d847e89b417e5e62cf1ce6c9b4e0a1633a9256de0efefaf9f8d26924b1f3c8620cffb9db78e7d3076b - languageName: node - linkType: hard - -"eventemitter3@npm:^5.0.1": - version: 5.0.1 - resolution: "eventemitter3@npm:5.0.1" - checksum: 10c0/4ba5c00c506e6c786b4d6262cfbce90ddc14c10d4667e5c83ae993c9de88aa856033994dd2b35b83e8dc1170e224e66a319fa80adc4c32adcd2379bbc75da814 - languageName: node - linkType: hard - -"events@npm:1.1.1": - version: 1.1.1 - resolution: "events@npm:1.1.1" - checksum: 10c0/29ba5a4c7d03dd2f4a2d3d9d4dfd8332225256f666cd69f490975d2eff8d7c73f1fb4872877b2c1f3b485e8fb42462153d65e5a21ea994eb928c3bec9e0c826e + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 languageName: node linkType: hard -"events@npm:^3.3.0": - version: 3.3.0 - resolution: "events@npm:3.3.0" - checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 languageName: node linkType: hard -"execa@npm:^5.1.1": - version: 5.1.1 - resolution: "execa@npm:5.1.1" +"estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^6.0.0" - human-signals: "npm:^2.1.0" - is-stream: "npm:^2.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^4.0.1" - onetime: "npm:^5.1.2" - signal-exit: "npm:^3.0.3" - strip-final-newline: "npm:^2.0.0" - checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f + "@types/estree": "npm:^1.0.0" + checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d languageName: node linkType: hard -"exit@npm:^0.1.2": - version: 0.1.2 - resolution: "exit@npm:0.1.2" - checksum: 10c0/71d2ad9b36bc25bb8b104b17e830b40a08989be7f7d100b13269aaae7c3784c3e6e1e88a797e9e87523993a25ba27c8958959a554535370672cfb4d824af8989 +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 languageName: node linkType: hard -"expect-type@npm:^1.1.0": - version: 1.2.0 - resolution: "expect-type@npm:1.2.0" - checksum: 10c0/6069e1980bf16b9385646800e23499c1447df636c433014f6bbabe4bb0e20bd0033f30d38a6f9ae0938b0203a9e870cc82cdfd74b7c837b480cefb8e8240d8e8 +"eventemitter3@npm:^4.0.0": + version: 4.0.7 + resolution: "eventemitter3@npm:4.0.7" + checksum: 10c0/5f6d97cbcbac47be798e6355e3a7639a84ee1f7d9b199a07017f1d2f1e2fe236004d14fa5dfaeba661f94ea57805385e326236a6debbc7145c8877fbc0297c6b languageName: node linkType: hard -"expect@npm:^29.7.0": - version: 29.7.0 - resolution: "expect@npm:29.7.0" - dependencies: - "@jest/expect-utils": "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10c0/2eddeace66e68b8d8ee5f7be57f3014b19770caaf6815c7a08d131821da527fb8c8cb7b3dcd7c883d2d3d8d184206a4268984618032d1e4b16dc8d6596475d41 +"expect-type@npm:^1.2.1": + version: 1.2.2 + resolution: "expect-type@npm:1.2.2" + checksum: 10c0/6019019566063bbc7a690d9281d920b1a91284a4a093c2d55d71ffade5ac890cf37a51e1da4602546c4b56569d2ad2fc175a2ccee77d1ae06cb3af91ef84f44b languageName: node linkType: hard @@ -9019,35 +6327,7 @@ __metadata: languageName: node linkType: hard -"ext-list@npm:^2.0.0": - version: 2.2.2 - resolution: "ext-list@npm:2.2.2" - dependencies: - mime-db: "npm:^1.28.0" - checksum: 10c0/bfdb435f333dccbf3f9698dc9d8e38eb47b42d756800bfafa9ec0c1c8aace877c40095baf36f691bcfd09bb88ed247c6e51596e75a158280fa19cf8588a7e258 - languageName: node - linkType: hard - -"ext-name@npm:^5.0.0": - version: 5.0.0 - resolution: "ext-name@npm:5.0.0" - dependencies: - ext-list: "npm:^2.0.0" - sort-keys-length: "npm:^1.0.0" - checksum: 10c0/6750b34636bb6dca78e1bcc797615af68ecf50d62cf774624a32ee7879da99c949b5c41e8aa56ede4eb15c6abad6b1a8858d0934faab75ff6e2fd6f408debe18 - languageName: node - linkType: hard - -"ext@npm:^1.4.0, ext@npm:^1.6.0, ext@npm:^1.7.0": - version: 1.7.0 - resolution: "ext@npm:1.7.0" - dependencies: - type: "npm:^2.7.2" - checksum: 10c0/a8e5f34e12214e9eee3a4af3b5c9d05ba048f28996450975b369fc86e5d0ef13b6df0615f892f5396a9c65d616213c25ec5b0ad17ef42eac4a500512a19da6c7 - languageName: node - linkType: hard - -"external-editor@npm:^3.0.3": +"external-editor@npm:^3.1.0": version: 3.1.0 resolution: "external-editor@npm:3.1.0" dependencies: @@ -9058,15 +6338,6 @@ __metadata: languageName: node linkType: hard -"fast-check@npm:^3.21.0, fast-check@npm:^3.23.1": - version: 3.23.2 - resolution: "fast-check@npm:3.23.2" - dependencies: - pure-rand: "npm:^6.1.0" - checksum: 10c0/16fcff3c80321ee765e23c3aebd0f6427f175c9c6c1753104ec658970162365dc2d56bda046d815e8f2e90634c07ba7d6f0bcfd327fbd576d98c56a18a9765ed - languageName: node - linkType: hard - "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -9081,7 +6352,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.3.2": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" dependencies: @@ -9094,7 +6365,7 @@ __metadata: languageName: node linkType: hard -"fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": +"fast-json-stable-stringify@npm:^2.0.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b @@ -9108,13 +6379,6 @@ __metadata: languageName: node linkType: hard -"fast-safe-stringify@npm:^2.0.7, fast-safe-stringify@npm:^2.1.1": - version: 2.1.1 - resolution: "fast-safe-stringify@npm:2.1.1" - checksum: 10c0/d90ec1c963394919828872f21edaa3ad6f1dddd288d2bd4e977027afff09f5db40f94e39536d4646f7e01761d704d72d51dce5af1b93717f3489ef808f5f4e4d - languageName: node - linkType: hard - "fast-uri@npm:^3.0.1": version: 3.0.6 resolution: "fast-uri@npm:3.0.6" @@ -9122,32 +6386,14 @@ __metadata: languageName: node linkType: hard -"fast-xml-parser@npm:4.4.1": - version: 4.4.1 - resolution: "fast-xml-parser@npm:4.4.1" - dependencies: - strnum: "npm:^1.0.5" - bin: - fxparser: src/cli/cli.js - checksum: 10c0/7f334841fe41bfb0bf5d920904ccad09cefc4b5e61eaf4c225bf1e1bb69ee77ef2147d8942f783ee8249e154d1ca8a858e10bda78a5d78b8bed3f48dcee9bf33 - languageName: node - linkType: hard - -"fast-xml-parser@npm:^4.5.0": - version: 4.5.3 - resolution: "fast-xml-parser@npm:4.5.3" +"fast-xml-parser@npm:5.2.5": + version: 5.2.5 + resolution: "fast-xml-parser@npm:5.2.5" dependencies: - strnum: "npm:^1.1.1" + strnum: "npm:^2.1.0" bin: fxparser: src/cli/cli.js - checksum: 10c0/bf9ccadacfadc95f6e3f0e7882a380a7f219cf0a6f96575149f02cb62bf44c3b7f0daee75b8ff3847bcfd7fbcb201e402c71045936c265cf6d94b141ec4e9327 - languageName: node - linkType: hard - -"fastest-levenshtein@npm:^1.0.16": - version: 1.0.16 - resolution: "fastest-levenshtein@npm:1.0.16" - checksum: 10c0/7e3d8ae812a7f4fdf8cad18e9cde436a39addf266a5986f653ea0d81e0de0900f50c0f27c6d5aff3f686bcb48acbd45be115ae2216f36a6a13a7dbbf5cad878b + checksum: 10c0/d1057d2e790c327ccfc42b872b91786a4912a152d44f9507bf053f800102dfb07ece3da0a86b33ff6a0caa5a5cad86da3326744f6ae5efb0c6c571d754fe48cd languageName: node linkType: hard @@ -9160,33 +6406,15 @@ __metadata: languageName: node linkType: hard -"fb-watchman@npm:^2.0.0": - version: 2.0.2 - resolution: "fb-watchman@npm:2.0.2" - dependencies: - bser: "npm:2.1.1" - checksum: 10c0/feae89ac148adb8f6ae8ccd87632e62b13563e6fb114cacb5265c51f585b17e2e268084519fb2edd133872f1d47a18e6bfd7e5e08625c0d41b93149694187581 - languageName: node - linkType: hard - -"fd-slicer@npm:~1.1.0": - version: 1.1.0 - resolution: "fd-slicer@npm:1.1.0" - dependencies: - pend: "npm:~1.2.0" - checksum: 10c0/304dd70270298e3ffe3bcc05e6f7ade2511acc278bc52d025f8918b48b6aa3b77f10361bddfadfe2a28163f7af7adbdce96f4d22c31b2f648ba2901f0c5fc20e - languageName: node - linkType: hard - -"fdir@npm:^6.4.3": - version: 6.4.3 - resolution: "fdir@npm:6.4.3" +"fdir@npm:^6.4.4, fdir@npm:^6.4.6": + version: 6.4.6 + resolution: "fdir@npm:6.4.6" peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: picomatch: optional: true - checksum: 10c0/d13c10120e9625adf21d8d80481586200759928c19405a816b77dd28eaeb80e7c59c5def3e2941508045eb06d34eb47fad865ccc8bf98e6ab988bb0ed160fb6f + checksum: 10c0/45b559cff889934ebb8bc498351e5acba40750ada7e7d6bde197768d2fa67c149be8ae7f8ff34d03f4e1eb20f2764116e56440aaa2f6689e9a4aa7ef06acafe9 languageName: node linkType: hard @@ -9197,7 +6425,7 @@ __metadata: languageName: node linkType: hard -"figures@npm:3.2.0, figures@npm:^3.0.0": +"figures@npm:3.2.0": version: 3.2.0 resolution: "figures@npm:3.2.0" dependencies: @@ -9215,45 +6443,6 @@ __metadata: languageName: node linkType: hard -"file-type@npm:^16.5.4": - version: 16.5.4 - resolution: "file-type@npm:16.5.4" - dependencies: - readable-web-to-node-stream: "npm:^3.0.0" - strtok3: "npm:^6.2.4" - token-types: "npm:^4.1.1" - checksum: 10c0/a6c9ab8bc05bc9c212bec239fb0d5bf59ddc9b3912f00c4ef44622e67ae4e553a1cc8372e9e595e14859035188eb305d05d488fa3c5c2a2ad90bb7745b3004ef - languageName: node - linkType: hard - -"file-type@npm:^3.8.0": - version: 3.9.0 - resolution: "file-type@npm:3.9.0" - checksum: 10c0/7ae074b350c2300807a99d428600a8ee6b2ace901400898706a20ddc2c43c9abb7e05177ff55ed67a2fd26dfa9b91857b21ec9c0ab3202b9cabebc7e65900240 - languageName: node - linkType: hard - -"file-type@npm:^4.2.0": - version: 4.4.0 - resolution: "file-type@npm:4.4.0" - checksum: 10c0/9579e6efb6ed262d82e6e282ea301bee781e66491eadf5a2b5ebf2502394ddaa00be37549d8067dd7d4e7c2b145921f37f8262b0544734804d38ceedcb36229f - languageName: node - linkType: hard - -"file-type@npm:^5.2.0": - version: 5.2.0 - resolution: "file-type@npm:5.2.0" - checksum: 10c0/c16c2f4e484a838c12b63e08637277905f08aebb1afbc291086029210aea17ded5ed701c9a4588313446ae0c1da71566b58df9a9c758a1ec300c4f80b9713cbf - languageName: node - linkType: hard - -"file-type@npm:^6.1.0": - version: 6.2.0 - resolution: "file-type@npm:6.2.0" - checksum: 10c0/3d7fe85a10bd97ca0c35fd9a20d21f5b20849bbb70985d37c34475051433f3c6109c76a3e5893bff6773037b769be9730a2db762789ecf25def9b62a4c2ee953 - languageName: node - linkType: hard - "filelist@npm:^1.0.4": version: 1.0.4 resolution: "filelist@npm:1.0.4" @@ -9263,31 +6452,6 @@ __metadata: languageName: node linkType: hard -"filename-reserved-regex@npm:^2.0.0": - version: 2.0.0 - resolution: "filename-reserved-regex@npm:2.0.0" - checksum: 10c0/453740b7f9fd126e508da555b37e38c1f7ff19f5e9f3d297b2de1beb09854957baddd74c83235e87b16e9ce27a2368798896669edad5a81b5b7bd8cb57c942fc - languageName: node - linkType: hard - -"filenamify@npm:^4.3.0": - version: 4.3.0 - resolution: "filenamify@npm:4.3.0" - dependencies: - filename-reserved-regex: "npm:^2.0.0" - strip-outer: "npm:^1.0.1" - trim-repeated: "npm:^1.0.0" - checksum: 10c0/dcfd2f116d66f78c9dd58bb0f0d9b6529d89c801a9f37a4f86e7adc0acecb6881c7fb7c3231dc9e6754b767edcfdca89cba3a492a58afd2b48479b30d14ccf8f - languageName: node - linkType: hard - -"filesize@npm:^10.0.7": - version: 10.1.6 - resolution: "filesize@npm:10.1.6" - checksum: 10c0/9a196d64da4e947b8c0d294be09a3dfa7a634434a1fc5fb3465f1c9acc1237ea0363f245ba6e24477ea612754d942bc964d86e0e500905a72e9e0e17ae1bbdbc - languageName: node - linkType: hard - "fill-range@npm:^7.1.1": version: 7.1.1 resolution: "fill-range@npm:7.1.1" @@ -9297,35 +6461,6 @@ __metadata: languageName: node linkType: hard -"find-my-way-ts@npm:^0.1.5": - version: 0.1.5 - resolution: "find-my-way-ts@npm:0.1.5" - checksum: 10c0/703797b8466e1fbf437f0a6f7e100e02ca5922c0d7afb0548b5e77fa9c7b4e4a5bed5d2589e27cc037a516b144e3ba334acce5369387a79975ffaf61b2900398 - languageName: node - linkType: hard - -"find-requires@npm:^1.0.0": - version: 1.0.0 - resolution: "find-requires@npm:1.0.0" - dependencies: - es5-ext: "npm:^0.10.49" - esniff: "npm:^1.1.0" - bin: - find-requires: ./bin/find-requires.js - checksum: 10c0/495abcf95d46c381557cd48118ec923459e4cab6865ade961016a1af3c1efeca6cfa8c0cd7038ea4dd7b031c03c7323e28c2422dd02701bda54de940916fa98f - languageName: node - linkType: hard - -"find-up@npm:^4.1.0": - version: 4.1.0 - resolution: "find-up@npm:4.1.0" - dependencies: - locate-path: "npm:^5.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1 - languageName: node - linkType: hard - "find-up@npm:^5.0.0": version: 5.0.0 resolution: "find-up@npm:5.0.0" @@ -9355,14 +6490,14 @@ __metadata: languageName: node linkType: hard -"flatted@npm:^3.2.9, flatted@npm:^3.3.1": +"flatted@npm:^3.2.9, flatted@npm:^3.3.3": version: 3.3.3 resolution: "flatted@npm:3.3.3" checksum: 10c0/e957a1c6b0254aa15b8cce8533e24165abd98fadc98575db082b786b5da1b7d72062b81bfdcd1da2f4d46b6ed93bec2434e62333e9b4261d79ef2e75a10dd538 languageName: node linkType: hard -"follow-redirects@npm:^1.15.6": +"follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.15.6": version: 1.15.9 resolution: "follow-redirects@npm:1.15.9" peerDependenciesMeta: @@ -9381,13 +6516,6 @@ __metadata: languageName: node linkType: hard -"foreach@npm:^2.0.4": - version: 2.0.6 - resolution: "foreach@npm:2.0.6" - checksum: 10c0/dc79f83997ac986dadbc95b4035ce8b86699fb654eb85446b0ad779fe69d567fc9894075e460243ca8bc20adb8fd178ad203aef66dc3c620ac78b18a4cb7059c - languageName: node - linkType: hard - "foreground-child@npm:^3.1.0": version: 3.3.1 resolution: "foreground-child@npm:3.3.1" @@ -9398,38 +6526,16 @@ __metadata: languageName: node linkType: hard -"form-data@npm:4.0.0": - version: 4.0.0 - resolution: "form-data@npm:4.0.0" - dependencies: - asynckit: "npm:^0.4.0" - combined-stream: "npm:^1.0.8" - mime-types: "npm:^2.1.12" - checksum: 10c0/cb6f3ac49180be03ff07ba3ff125f9eba2ff0b277fb33c7fc47569fc5e616882c5b1c69b9904c4c4187e97dd0419dd03b134174756f296dec62041e6527e2c6e - languageName: node - linkType: hard - "form-data@npm:^4.0.0": - version: 4.0.2 - resolution: "form-data@npm:4.0.2" + version: 4.0.3 + resolution: "form-data@npm:4.0.3" dependencies: asynckit: "npm:^0.4.0" combined-stream: "npm:^1.0.8" es-set-tostringtag: "npm:^2.1.0" + hasown: "npm:^2.0.2" mime-types: "npm:^2.1.12" - checksum: 10c0/e534b0cf025c831a0929bf4b9bbe1a9a6b03e273a8161f9947286b9b13bf8fb279c6944aae0070c4c311100c6d6dbb815cd955dc217728caf73fad8dc5b8ee9c - languageName: node - linkType: hard - -"formidable@npm:^2.0.1": - version: 2.1.2 - resolution: "formidable@npm:2.1.2" - dependencies: - dezalgo: "npm:^1.0.4" - hexoid: "npm:^1.0.0" - once: "npm:^1.4.0" - qs: "npm:^6.11.0" - checksum: 10c0/efba03d11127098daa6ef54c3c0fad25693973eb902fa88ccaaa203baebe8c74d12ba0fe1e113eccf79b9172510fa337e4e107330b124fb3a8c74697b4aa2ce3 + checksum: 10c0/f0cf45873d600110b5fadf5804478377694f73a1ed97aaa370a74c90cebd7fe6e845a081171668a5476477d0d55a73a4e03d6682968fa8661eac2a81d651fcdb languageName: node linkType: hard @@ -9449,46 +6555,14 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^10.1.0": - version: 10.1.0 - resolution: "fs-extra@npm:10.1.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/5f579466e7109719d162a9249abbeffe7f426eb133ea486e020b89bc6d67a741134076bf439983f2eb79276ceaf6bd7b7c1e43c3fd67fe889863e69072fb0a5e - languageName: node - linkType: hard - -"fs-extra@npm:^11.1.0": - version: 11.3.0 - resolution: "fs-extra@npm:11.3.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/5f95e996186ff45463059feb115a22fb048bdaf7e487ecee8a8646c78ed8fdca63630e3077d4c16ce677051f5e60d3355a06f3cd61f3ca43f48cc58822a44d0a - languageName: node - linkType: hard - -"fs-extra@npm:^9.1.0": - version: 9.1.0 - resolution: "fs-extra@npm:9.1.0" +"fs-extra@npm:^11.3.0": + version: 11.3.1 + resolution: "fs-extra@npm:11.3.1" dependencies: - at-least-node: "npm:^1.0.0" graceful-fs: "npm:^4.2.0" jsonfile: "npm:^6.0.1" universalify: "npm:^2.0.0" - checksum: 10c0/9b808bd884beff5cb940773018179a6b94a966381d005479f00adda6b44e5e3d4abf765135773d849cc27efe68c349e4a7b86acd7d3306d5932c14f3a4b17a92 - languageName: node - linkType: hard - -"fs-minipass@npm:^2.0.0": - version: 2.1.0 - resolution: "fs-minipass@npm:2.1.0" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 + checksum: 10c0/61e5b7285b1ca72c68dfe1058b2514294a922683afac2a80aa90540f9bd85370763d675e3b408ef500077d355956fece3bd24b546790e261c3d3015967e2b2d9 languageName: node linkType: hard @@ -9501,30 +6575,17 @@ __metadata: languageName: node linkType: hard -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 - languageName: node - linkType: hard - -"fs2@npm:^0.3.9": - version: 0.3.15 - resolution: "fs2@npm:0.3.15" +"fsevents@npm:2.3.2": + version: 2.3.2 + resolution: "fsevents@npm:2.3.2" dependencies: - d: "npm:^1.0.2" - deferred: "npm:^0.7.11" - es5-ext: "npm:^0.10.64" - event-emitter: "npm:^0.3.5" - ext: "npm:^1.7.0" - ignore: "npm:^5.3.2" - memoizee: "npm:^0.4.17" - type: "npm:^2.7.3" - checksum: 10c0/ee694f657e92740fee6156df0cb00085409bf3ed33936ca71c4fae204cbd8934fc9cb46f2451e5cde82ca14828d3bd97645c3af98cc6e9f6ebec149b9d34d8aa + node-gyp: "npm:latest" + checksum: 10c0/be78a3efa3e181cda3cf7a4637cb527bcebb0bd0ea0440105a3bb45b86f9245b307dc10a2507e8f4498a7d4ec349d1910f4d73e4d4495b16103106e07eee735b + conditions: os=darwin languageName: node linkType: hard -"fsevents@npm:^2.3.2, fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": +"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": version: 2.3.3 resolution: "fsevents@npm:2.3.3" dependencies: @@ -9534,7 +6595,16 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": +"fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin": + version: 2.3.2 + resolution: "fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin::version=2.3.2&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": version: 2.3.3 resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" dependencies: @@ -9610,13 +6680,6 @@ __metadata: languageName: node linkType: hard -"get-port-please@npm:^3.0.1": - version: 3.1.2 - resolution: "get-port-please@npm:3.1.2" - checksum: 10c0/61237342fe035967e5ad1b67a2dee347a64de093bf1222b7cd50072568d73c48dad5cc5cd4fa44635b7cfdcd14d6c47554edb9891c2ec70ab33ecb831683e257 - languageName: node - linkType: hard - "get-proto@npm:^1.0.0, get-proto@npm:^1.0.1": version: 1.0.1 resolution: "get-proto@npm:1.0.1" @@ -9627,39 +6690,6 @@ __metadata: languageName: node linkType: hard -"get-stdin@npm:^8.0.0": - version: 8.0.0 - resolution: "get-stdin@npm:8.0.0" - checksum: 10c0/b71b72b83928221052f713b3b6247ebf1ceaeb4ef76937778557537fd51ad3f586c9e6a7476865022d9394b39b74eed1dc7514052fa74d80625276253571b76f - languageName: node - linkType: hard - -"get-stream@npm:^2.2.0": - version: 2.3.1 - resolution: "get-stream@npm:2.3.1" - dependencies: - object-assign: "npm:^4.0.1" - pinkie-promise: "npm:^2.0.0" - checksum: 10c0/46c12f496e7edec688a1cc570fe7556ce91e91201fa7efb146853fb9f0a8f0b0bb9a02cf9d9e4e9d4e2097f98c83b09621d9034c25ca0cf80ae6f4dace9c3465 - languageName: node - linkType: hard - -"get-stream@npm:^5.1.0": - version: 5.2.0 - resolution: "get-stream@npm:5.2.0" - dependencies: - pump: "npm:^3.0.0" - checksum: 10c0/43797ffd815fbb26685bf188c8cfebecb8af87b3925091dd7b9a9c915993293d78e3c9e1bce125928ff92f2d0796f3889b92b5ec6d58d1041b574682132e0a80 - languageName: node - linkType: hard - -"get-stream@npm:^6.0.0, get-stream@npm:^6.0.1": - version: 6.0.1 - resolution: "get-stream@npm:6.0.1" - checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 - languageName: node - linkType: hard - "get-symbol-description@npm:^1.1.0": version: 1.1.0 resolution: "get-symbol-description@npm:1.1.0" @@ -9671,7 +6701,7 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": +"glob-parent@npm:^5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -9689,7 +6719,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7, glob@npm:^10.4.1": +"glob@npm:^10.2.2, glob@npm:^10.4.1": version: 10.4.5 resolution: "glob@npm:10.4.5" dependencies: @@ -9705,27 +6735,6 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.5, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.3": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe - languageName: node - linkType: hard - -"globals@npm:^11.1.0": - version: 11.12.0 - resolution: "globals@npm:11.12.0" - checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 - languageName: node - linkType: hard - "globals@npm:^14.0.0": version: 14.0.0 resolution: "globals@npm:14.0.0" @@ -9750,20 +6759,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.0.4, globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 - languageName: node - linkType: hard - "globrex@npm:^0.1.2": version: 0.1.2 resolution: "globrex@npm:0.1.2" @@ -9778,26 +6773,7 @@ __metadata: languageName: node linkType: hard -"got@npm:^11.8.6": - version: 11.8.6 - resolution: "got@npm:11.8.6" - dependencies: - "@sindresorhus/is": "npm:^4.0.0" - "@szmarczak/http-timer": "npm:^4.0.5" - "@types/cacheable-request": "npm:^6.0.1" - "@types/responselike": "npm:^1.0.0" - cacheable-lookup: "npm:^5.0.3" - cacheable-request: "npm:^7.0.2" - decompress-response: "npm:^6.0.0" - http2-wrapper: "npm:^1.0.0-beta.5.2" - lowercase-keys: "npm:^2.0.0" - p-cancelable: "npm:^2.0.0" - responselike: "npm:^2.0.0" - checksum: 10c0/754dd44877e5cf6183f1e989ff01c648d9a4719e357457bd4c78943911168881f1cfb7b2cb15d885e2105b3ad313adb8f017a67265dd7ade771afdb261ee8cb1 - languageName: node - linkType: hard - -"graceful-fs@npm:^4.1.10, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -9811,40 +6787,6 @@ __metadata: languageName: node linkType: hard -"graphlib@npm:^2.1.8": - version: 2.1.8 - resolution: "graphlib@npm:2.1.8" - dependencies: - lodash: "npm:^4.17.15" - checksum: 10c0/41c525e4d91a6d8b4e8da1883bf4e85689a547e908557ccc53f64db9141bdfb351b9162a79f13cae81c5b3a410027f59e4fc1edc1ea442234ec08e629859b188 - languageName: node - linkType: hard - -"handlebars@npm:^4.7.6": - version: 4.7.8 - resolution: "handlebars@npm:4.7.8" - dependencies: - minimist: "npm:^1.2.5" - neo-async: "npm:^2.6.2" - source-map: "npm:^0.6.1" - uglify-js: "npm:^3.1.4" - wordwrap: "npm:^1.0.0" - dependenciesMeta: - uglify-js: - optional: true - bin: - handlebars: bin/handlebars - checksum: 10c0/7aff423ea38a14bb379316f3857fe0df3c5d66119270944247f155ba1f08e07a92b340c58edaa00cfe985c21508870ee5183e0634dcb53dd405f35c93ef7f10d - languageName: node - linkType: hard - -"harmony-reflect@npm:^1.4.6": - version: 1.6.2 - resolution: "harmony-reflect@npm:1.6.2" - checksum: 10c0/fa5b251fbeff0e2d925f0bfb5ffe39e0627639e998c453562d6a39e41789c15499649dc022178c807cf99bfb97e7b974bbbc031ba82078a26be7b098b9bc2b1a - languageName: node - linkType: hard - "has-bigints@npm:^1.0.2": version: 1.1.0 resolution: "has-bigints@npm:1.1.0" @@ -9852,13 +6794,6 @@ __metadata: languageName: node linkType: hard -"has-flag@npm:^3.0.0": - version: 3.0.0 - resolution: "has-flag@npm:3.0.0" - checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 - languageName: node - linkType: hard - "has-flag@npm:^4.0.0": version: 4.0.0 resolution: "has-flag@npm:4.0.0" @@ -9909,20 +6844,12 @@ __metadata: languageName: node linkType: hard -"header-case@npm:^2.0.4": - version: 2.0.4 - resolution: "header-case@npm:2.0.4" - dependencies: - capital-case: "npm:^1.0.4" - tslib: "npm:^2.0.3" - checksum: 10c0/c9f295d9d8e38fa50679281fd70d80726962256e888a76c8e72e526453da7a1832dcb427caa716c1ad5d79841d4537301b90156fa30298fefd3d68f4ea2181bb - languageName: node - linkType: hard - -"hexoid@npm:^1.0.0": - version: 1.0.0 - resolution: "hexoid@npm:1.0.0" - checksum: 10c0/9c45e8ba676b9eb88455631ebceec4c829a8374a583410dc735472ab9808bf11339fcd074633c3fa30e420901b894d8a92ffd5e2e21eddd41149546e05a91f69 +"he@npm:^1.2.0": + version: 1.2.0 + resolution: "he@npm:1.2.0" + bin: + he: bin/he + checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 languageName: node linkType: hard @@ -9935,6 +6862,15 @@ __metadata: languageName: node linkType: hard +"html-encoding-sniffer@npm:^3.0.0": + version: 3.0.0 + resolution: "html-encoding-sniffer@npm:3.0.0" + dependencies: + whatwg-encoding: "npm:^2.0.0" + checksum: 10c0/b17b3b0fb5d061d8eb15121c3b0b536376c3e295ecaf09ba48dd69c6b6c957839db124fe1e2b3f11329753a4ee01aa7dedf63b7677999e86da17fbbdd82c5386 + languageName: node + linkType: hard + "html-escaper@npm:^2.0.0": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" @@ -9942,10 +6878,10 @@ __metadata: languageName: node linkType: hard -"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc +"http-cache-semantics@npm:^4.1.1": + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 10c0/45b66a945cf13ec2d1f29432277201313babf4a01d9e52f44b31ca923434083afeca03f18417f599c9ab3d0e7b618ceb21257542338b57c54b710463b4a53e37 languageName: node linkType: hard @@ -9959,60 +6895,51 @@ __metadata: languageName: node linkType: hard -"http2-client@npm:^1.2.5": - version: 1.3.5 - resolution: "http2-client@npm:1.3.5" - checksum: 10c0/4974f10f5c8b5b7b9e23771190471d02690e9a22c22e028d84715b7ecdcda05017fc9e565476558da3bdf0ba642d24186a94818d0b9afee706ccf9874034be73 - languageName: node - linkType: hard - -"http2-wrapper@npm:^1.0.0-beta.5.2": - version: 1.0.3 - resolution: "http2-wrapper@npm:1.0.3" - dependencies: - quick-lru: "npm:^5.1.1" - resolve-alpn: "npm:^1.0.0" - checksum: 10c0/6a9b72a033e9812e1476b9d776ce2f387bc94bc46c88aea0d5dab6bd47d0a539b8178830e77054dd26d1142c866d515a28a4dc7c3ff4232c88ff2ebe4f5d12d1 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^5.0.0, https-proxy-agent@npm:^5.0.1": - version: 5.0.1 - resolution: "https-proxy-agent@npm:5.0.1" +"http-proxy@npm:^1.18.1": + version: 1.18.1 + resolution: "http-proxy@npm:1.18.1" dependencies: - agent-base: "npm:6" - debug: "npm:4" - checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 + eventemitter3: "npm:^4.0.0" + follow-redirects: "npm:^1.0.0" + requires-port: "npm:^1.0.0" + checksum: 10c0/148dfa700a03fb421e383aaaf88ac1d94521dfc34072f6c59770528c65250983c2e4ec996f2f03aa9f3fe46cd1270a593126068319311e3e8d9e610a37533e94 languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5": - version: 7.0.6 - resolution: "https-proxy-agent@npm:7.0.6" +"http-server@npm:^14.1.0": + version: 14.1.1 + resolution: "http-server@npm:14.1.1" dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:4" - checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac - languageName: node - linkType: hard - -"human-signals@npm:^2.1.0": - version: 2.1.0 - resolution: "human-signals@npm:2.1.0" - checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a + basic-auth: "npm:^2.0.1" + chalk: "npm:^4.1.2" + corser: "npm:^2.0.1" + he: "npm:^1.2.0" + html-encoding-sniffer: "npm:^3.0.0" + http-proxy: "npm:^1.18.1" + mime: "npm:^1.6.0" + minimist: "npm:^1.2.6" + opener: "npm:^1.5.1" + portfinder: "npm:^1.0.28" + secure-compare: "npm:3.0.1" + union: "npm:~0.5.0" + url-join: "npm:^4.0.1" + bin: + http-server: bin/http-server + checksum: 10c0/c5770ddd722dd520ce0af25efee6bfb7c6300ff4e934636d4eec83fa995739e64de2e699e89e7a795b3a1894bcc37bec226617c1023600aacd7871fd8d6ffe6d languageName: node linkType: hard -"iconv-lite@npm:^0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" +"https-proxy-agent@npm:^7.0.1": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" dependencies: - safer-buffer: "npm:>= 2.1.2 < 3" - checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 + agent-base: "npm:^7.1.2" + debug: "npm:4" + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac languageName: node linkType: hard -"iconv-lite@npm:^0.6.2": +"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" dependencies: @@ -10021,40 +6948,33 @@ __metadata: languageName: node linkType: hard -"identity-obj-proxy@npm:3.0.0": - version: 3.0.0 - resolution: "identity-obj-proxy@npm:3.0.0" +"iconv-lite@npm:^0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" dependencies: - harmony-reflect: "npm:^1.4.6" - checksum: 10c0/a3fc4de0042d7b45bf8652d5596c80b42139d8625c9cd6a8834e29e1b6dce8fccabd1228e08744b78677a19ceed7201a32fed8ca3dc3e4852e8fee24360a6cfc - languageName: node - linkType: hard - -"ieee754@npm:1.1.13": - version: 1.1.13 - resolution: "ieee754@npm:1.1.13" - checksum: 10c0/eaf8c87e014282bfb5b13670991a2ed086eaef35ccc3fb713833863f2e7213041b2c29246adbc5f6561d51d53861c3b11f3b82b28fc6fa1352edeff381f056e5 + safer-buffer: "npm:>= 2.1.2 < 3" + checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 languageName: node linkType: hard -"ieee754@npm:^1.1.13, ieee754@npm:^1.1.4, ieee754@npm:^1.2.1": +"ieee754@npm:^1.1.13": version: 1.2.1 resolution: "ieee754@npm:1.2.1" checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb languageName: node linkType: hard -"ignore@npm:^5.0.4, ignore@npm:^5.1.8, ignore@npm:^5.2.0, ignore@npm:^5.3.1, ignore@npm:^5.3.2": +"ignore@npm:^5.0.4, ignore@npm:^5.2.0, ignore@npm:^5.3.2": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 languageName: node linkType: hard -"immediate@npm:~3.0.5": - version: 3.0.6 - resolution: "immediate@npm:3.0.6" - checksum: 10c0/f8ba7ede69bee9260241ad078d2d535848745ff5f6995c7c7cb41cfdc9ccc213f66e10fa5afb881f90298b24a3f7344b637b592beb4f54e582770cdce3f1f039 +"ignore@npm:^7.0.0": + version: 7.0.5 + resolution: "ignore@npm:7.0.5" + checksum: 10c0/ae00db89fe873064a093b8999fe4cc284b13ef2a178636211842cceb650b9c3e390d3339191acb145d81ed5379d2074840cf0c33a20bdbd6f32821f79eb4ad5d languageName: node linkType: hard @@ -10082,53 +7002,13 @@ __metadata: languageName: node linkType: hard -"index-to-position@npm:^1.0.0": - version: 1.0.0 - resolution: "index-to-position@npm:1.0.0" - checksum: 10c0/7d723b62496d51691ac7c0607f05a8590d1d3193546ea86a0d4658e3e7d97573d900343ed805c1bfafe1e966ef902d70b971dd7e8d385370337f6f5be52068b5 - languageName: node - linkType: hard - -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": +"inherits@npm:^2.0.3, inherits@npm:^2.0.4": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 languageName: node linkType: hard -"inquirer@npm:^8.2.5": - version: 8.2.6 - resolution: "inquirer@npm:8.2.6" - dependencies: - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.1.1" - cli-cursor: "npm:^3.1.0" - cli-width: "npm:^3.0.0" - external-editor: "npm:^3.0.3" - figures: "npm:^3.0.0" - lodash: "npm:^4.17.21" - mute-stream: "npm:0.0.8" - ora: "npm:^5.4.1" - run-async: "npm:^2.4.0" - rxjs: "npm:^7.5.5" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - through: "npm:^2.3.6" - wrap-ansi: "npm:^6.0.1" - checksum: 10c0/eb5724de1778265323f3a68c80acfa899378cb43c24cdcb58661386500e5696b6b0b6c700e046b7aa767fe7b4823c6f04e6ddc268173e3f84116112529016296 - languageName: node - linkType: hard - "internal-slot@npm:^1.1.0": version: 1.1.0 resolution: "internal-slot@npm:1.1.0" @@ -10150,16 +7030,6 @@ __metadata: languageName: node linkType: hard -"is-arguments@npm:^1.0.4": - version: 1.2.0 - resolution: "is-arguments@npm:1.2.0" - dependencies: - call-bound: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.2" - checksum: 10c0/6377344b31e9fcb707c6751ee89b11f132f32338e6a782ec2eac9393b0cbd32235dad93052998cda778ee058754860738341d8114910d50ada5615912bb929fc - languageName: node - linkType: hard - "is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5": version: 3.0.5 resolution: "is-array-buffer@npm:3.0.5" @@ -10200,15 +7070,6 @@ __metadata: languageName: node linkType: hard -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" - dependencies: - binary-extensions: "npm:^2.0.0" - checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 - languageName: node - linkType: hard - "is-boolean-object@npm:^1.2.1": version: 1.2.2 resolution: "is-boolean-object@npm:1.2.2" @@ -10226,7 +7087,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.13.0, is-core-module@npm:^2.15.1, is-core-module@npm:^2.16.0": +"is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.0": version: 2.16.1 resolution: "is-core-module@npm:2.16.1" dependencies: @@ -10256,7 +7117,7 @@ __metadata: languageName: node linkType: hard -"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1, is-docker@npm:^2.2.1": +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": version: 2.2.1 resolution: "is-docker@npm:2.2.1" bin: @@ -10297,14 +7158,7 @@ __metadata: languageName: node linkType: hard -"is-generator-fn@npm:^2.0.0": - version: 2.1.0 - resolution: "is-generator-fn@npm:2.1.0" - checksum: 10c0/2957cab387997a466cd0bf5c1b6047bd21ecb32bdcfd8996b15747aa01002c1c88731802f1b3d34ac99f4f6874b626418bd118658cf39380fe5fff32a3af9c4d - languageName: node - linkType: hard - -"is-generator-function@npm:^1.0.10, is-generator-function@npm:^1.0.7": +"is-generator-function@npm:^1.0.10": version: 1.1.0 resolution: "is-generator-function@npm:1.1.0" dependencies: @@ -10316,7 +7170,7 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": version: 4.0.3 resolution: "is-glob@npm:4.0.3" dependencies: @@ -10350,10 +7204,10 @@ __metadata: languageName: node linkType: hard -"is-natural-number@npm:^4.0.1": - version: 4.0.1 - resolution: "is-natural-number@npm:4.0.1" - checksum: 10c0/f05c544cb0ad39d4410e2ae2244282bf61918ebbb808b665436ffca4f6bbe908d3ae3a8d21fe143d302951f157d969986dd432098b63899561639fcd1ce1c280 +"is-negative-zero@npm:^2.0.3": + version: 2.0.3 + resolution: "is-negative-zero@npm:2.0.3" + checksum: 10c0/bcdcf6b8b9714063ffcfa9929c575ac69bfdabb8f4574ff557dfc086df2836cf07e3906f5bbc4f2a5c12f8f3ba56af640c843cdfc74da8caed86c7c7d66fd08e languageName: node linkType: hard @@ -10374,20 +7228,6 @@ __metadata: languageName: node linkType: hard -"is-plain-obj@npm:^1.0.0": - version: 1.1.0 - resolution: "is-plain-obj@npm:1.1.0" - checksum: 10c0/daaee1805add26f781b413fdf192fc91d52409583be30ace35c82607d440da63cc4cac0ac55136716688d6c0a2c6ef3edb2254fecbd1fe06056d6bd15975ee8c - languageName: node - linkType: hard - -"is-promise@npm:^2.2.2": - version: 2.2.2 - resolution: "is-promise@npm:2.2.2" - checksum: 10c0/2dba959812380e45b3df0fb12e7cb4d4528c989c7abb03ececb1d1fd6ab1cbfee956ca9daa587b9db1d8ac3c1e5738cf217bdb3dfd99df8c691be4c00ae09069 - languageName: node - linkType: hard - "is-regex@npm:^1.2.1": version: 1.2.1 resolution: "is-regex@npm:1.2.1" @@ -10416,21 +7256,7 @@ __metadata: languageName: node linkType: hard -"is-stream@npm:^1.1.0": - version: 1.1.0 - resolution: "is-stream@npm:1.1.0" - checksum: 10c0/b8ae7971e78d2e8488d15f804229c6eed7ed36a28f8807a1815938771f4adff0e705218b7dab968270433f67103e4fef98062a0beea55d64835f705ee72c7002 - languageName: node - linkType: hard - -"is-stream@npm:^2.0.0": - version: 2.0.1 - resolution: "is-stream@npm:2.0.1" - checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 - languageName: node - linkType: hard - -"is-string@npm:^1.0.7, is-string@npm:^1.1.1": +"is-string@npm:^1.1.1": version: 1.1.1 resolution: "is-string@npm:1.1.1" dependencies: @@ -10451,7 +7277,7 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15, is-typed-array@npm:^1.1.3": +"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15": version: 1.1.15 resolution: "is-typed-array@npm:1.1.15" dependencies: @@ -10467,6 +7293,13 @@ __metadata: languageName: node linkType: hard +"is-utf8@npm:^0.2.0": + version: 0.2.1 + resolution: "is-utf8@npm:0.2.1" + checksum: 10c0/3ed45e5b4ddfa04ed7e32c63d29c61b980ecd6df74698f45978b8c17a54034943bcbffb6ae243202e799682a66f90fef526f465dd39438745e9fe70794c1ef09 + languageName: node + linkType: hard + "is-weakmap@npm:^2.0.2": version: 2.0.2 resolution: "is-weakmap@npm:2.0.2" @@ -10474,7 +7307,7 @@ __metadata: languageName: node linkType: hard -"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.0": +"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.1": version: 1.1.1 resolution: "is-weakref@npm:1.1.1" dependencies: @@ -10493,7 +7326,7 @@ __metadata: languageName: node linkType: hard -"is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": +"is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" dependencies: @@ -10510,558 +7343,126 @@ __metadata: checksum: 10c0/d3317c11995690a32c362100225e22ba793678fe8732660c6de511ae71a0ff05b06980cf21f98a6bf40d7be0e9e9506f859abe00a1118287d63e53d0a3d06947 languageName: node linkType: hard - -"isarray@npm:^1.0.0, isarray@npm:~1.0.0": - version: 1.0.0 - resolution: "isarray@npm:1.0.0" - checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d - languageName: node - linkType: hard - -"isarray@npm:^2.0.5": - version: 2.0.5 - resolution: "isarray@npm:2.0.5" - checksum: 10c0/4199f14a7a13da2177c66c31080008b7124331956f47bca57dd0b6ea9f11687aa25e565a2c7a2b519bc86988d10398e3049a1f5df13c9f6b7664154690ae79fd - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d - languageName: node - linkType: hard - -"isexe@npm:^3.1.1": - version: 3.1.1 - resolution: "isexe@npm:3.1.1" - checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 - languageName: node - linkType: hard - -"isomorphic-ws@npm:^4.0.1": - version: 4.0.1 - resolution: "isomorphic-ws@npm:4.0.1" - peerDependencies: - ws: "*" - checksum: 10c0/7cb90dc2f0eb409825558982fb15d7c1d757a88595efbab879592f9d2b63820d6bbfb5571ab8abe36c715946e165a413a99f6aafd9f40ab1f514d73487bc9996 - languageName: node - linkType: hard - -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0, istanbul-lib-coverage@npm:^3.2.2": - version: 3.2.2 - resolution: "istanbul-lib-coverage@npm:3.2.2" - checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^5.0.4": - version: 5.2.1 - resolution: "istanbul-lib-instrument@npm:5.2.1" - dependencies: - "@babel/core": "npm:^7.12.3" - "@babel/parser": "npm:^7.14.7" - "@istanbuljs/schema": "npm:^0.1.2" - istanbul-lib-coverage: "npm:^3.2.0" - semver: "npm:^6.3.0" - checksum: 10c0/8a1bdf3e377dcc0d33ec32fe2b6ecacdb1e4358fd0eb923d4326bb11c67622c0ceb99600a680f3dad5d29c66fc1991306081e339b4d43d0b8a2ab2e1d910a6ee - languageName: node - linkType: hard - -"istanbul-lib-instrument@npm:^6.0.0": - version: 6.0.3 - resolution: "istanbul-lib-instrument@npm:6.0.3" - dependencies: - "@babel/core": "npm:^7.23.9" - "@babel/parser": "npm:^7.23.9" - "@istanbuljs/schema": "npm:^0.1.3" - istanbul-lib-coverage: "npm:^3.2.0" - semver: "npm:^7.5.4" - checksum: 10c0/a1894e060dd2a3b9f046ffdc87b44c00a35516f5e6b7baf4910369acca79e506fc5323a816f811ae23d82334b38e3ddeb8b3b331bd2c860540793b59a8689128 - languageName: node - linkType: hard - -"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": - version: 3.0.1 - resolution: "istanbul-lib-report@npm:3.0.1" - dependencies: - istanbul-lib-coverage: "npm:^3.0.0" - make-dir: "npm:^4.0.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7 - languageName: node - linkType: hard - -"istanbul-lib-source-maps@npm:^4.0.0": - version: 4.0.1 - resolution: "istanbul-lib-source-maps@npm:4.0.1" - dependencies: - debug: "npm:^4.1.1" - istanbul-lib-coverage: "npm:^3.0.0" - source-map: "npm:^0.6.1" - checksum: 10c0/19e4cc405016f2c906dff271a76715b3e881fa9faeb3f09a86cb99b8512b3a5ed19cadfe0b54c17ca0e54c1142c9c6de9330d65506e35873994e06634eebeb66 - languageName: node - linkType: hard - -"istanbul-lib-source-maps@npm:^5.0.6": - version: 5.0.6 - resolution: "istanbul-lib-source-maps@npm:5.0.6" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.23" - debug: "npm:^4.1.1" - istanbul-lib-coverage: "npm:^3.0.0" - checksum: 10c0/ffe75d70b303a3621ee4671554f306e0831b16f39ab7f4ab52e54d356a5d33e534d97563e318f1333a6aae1d42f91ec49c76b6cd3f3fb378addcb5c81da0255f - languageName: node - linkType: hard - -"istanbul-reports@npm:^3.1.3, istanbul-reports@npm:^3.1.7": - version: 3.1.7 - resolution: "istanbul-reports@npm:3.1.7" - dependencies: - html-escaper: "npm:^2.0.0" - istanbul-lib-report: "npm:^3.0.0" - checksum: 10c0/a379fadf9cf8dc5dfe25568115721d4a7eb82fbd50b005a6672aff9c6989b20cc9312d7865814e0859cd8df58cbf664482e1d3604be0afde1f7fc3ccc1394a51 - languageName: node - linkType: hard - -"iterator.prototype@npm:^1.1.4": - version: 1.1.5 - resolution: "iterator.prototype@npm:1.1.5" - dependencies: - define-data-property: "npm:^1.1.4" - es-object-atoms: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.6" - get-proto: "npm:^1.0.0" - has-symbols: "npm:^1.1.0" - set-function-name: "npm:^2.0.2" - checksum: 10c0/f7a262808e1b41049ab55f1e9c29af7ec1025a000d243b83edf34ce2416eedd56079b117fa59376bb4a724110690f13aa8427f2ee29a09eec63a7e72367626d0 - languageName: node - linkType: hard - -"jackspeak@npm:^3.1.2": - version: 3.4.3 - resolution: "jackspeak@npm:3.4.3" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 - languageName: node - linkType: hard - -"jake@npm:^10.8.5": - version: 10.9.2 - resolution: "jake@npm:10.9.2" - dependencies: - async: "npm:^3.2.3" - chalk: "npm:^4.0.2" - filelist: "npm:^1.0.4" - minimatch: "npm:^3.1.2" - bin: - jake: bin/cli.js - checksum: 10c0/c4597b5ed9b6a908252feab296485a4f87cba9e26d6c20e0ca144fb69e0c40203d34a2efddb33b3d297b8bd59605e6c1f44f6221ca1e10e69175ecbf3ff5fe31 - languageName: node - linkType: hard - -"jest-circus@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-circus@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/expect": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - co: "npm:^4.6.0" - dedent: "npm:^1.0.0" - is-generator-fn: "npm:^2.0.0" - jest-each: "npm:^29.7.0" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - pretty-format: "npm:^29.7.0" - pure-rand: "npm:^6.0.0" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 10c0/8d15344cf7a9f14e926f0deed64ed190c7a4fa1ed1acfcd81e4cc094d3cc5bf7902ebb7b874edc98ada4185688f90c91e1747e0dfd7ac12463b097968ae74b5e - languageName: node - linkType: hard - -"jest-config@npm:^29.4.1": - version: 29.7.0 - resolution: "jest-config@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@jest/test-sequencer": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - babel-jest: "npm:^29.7.0" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - deepmerge: "npm:^4.2.2" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - jest-circus: "npm:^29.7.0" - jest-environment-node: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-runner: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - parse-json: "npm:^5.2.0" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-json-comments: "npm:^3.1.1" - peerDependencies: - "@types/node": "*" - ts-node: ">=9.0.0" - peerDependenciesMeta: - "@types/node": - optional: true - ts-node: - optional: true - checksum: 10c0/bab23c2eda1fff06e0d104b00d6adfb1d1aabb7128441899c9bff2247bd26710b050a5364281ce8d52b46b499153bf7e3ee88b19831a8f3451f1477a0246a0f1 - languageName: node - linkType: hard - -"jest-diff@npm:^29.3.1, jest-diff@npm:^29.4.1, jest-diff@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-diff@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - diff-sequences: "npm:^29.6.3" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 - languageName: node - linkType: hard - -"jest-docblock@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-docblock@npm:29.7.0" - dependencies: - detect-newline: "npm:^3.0.0" - checksum: 10c0/d932a8272345cf6b6142bb70a2bb63e0856cc0093f082821577ea5bdf4643916a98744dfc992189d2b1417c38a11fa42466f6111526bc1fb81366f56410f3be9 - languageName: node - linkType: hard - -"jest-each@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-each@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - chalk: "npm:^4.0.0" - jest-get-type: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - pretty-format: "npm:^29.7.0" - checksum: 10c0/f7f9a90ebee80cc688e825feceb2613627826ac41ea76a366fa58e669c3b2403d364c7c0a74d862d469b103c843154f8456d3b1c02b487509a12afa8b59edbb4 - languageName: node - linkType: hard - -"jest-environment-node@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-environment-node@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-mock: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10c0/61f04fec077f8b1b5c1a633e3612fc0c9aa79a0ab7b05600683428f1e01a4d35346c474bde6f439f9fcc1a4aa9a2861ff852d079a43ab64b02105d1004b2592b - languageName: node - linkType: hard - -"jest-get-type@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-get-type@npm:29.6.3" - checksum: 10c0/552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b - languageName: node - linkType: hard - -"jest-haste-map@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-haste-map@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/graceful-fs": "npm:^4.1.3" - "@types/node": "npm:*" - anymatch: "npm:^3.0.3" - fb-watchman: "npm:^2.0.0" - fsevents: "npm:^2.3.2" - graceful-fs: "npm:^4.2.9" - jest-regex-util: "npm:^29.6.3" - jest-util: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - micromatch: "npm:^4.0.4" - walker: "npm:^1.0.8" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/2683a8f29793c75a4728787662972fedd9267704c8f7ef9d84f2beed9a977f1cf5e998c07b6f36ba5603f53cb010c911fe8cd0ac9886e073fe28ca66beefd30c - languageName: node - linkType: hard - -"jest-leak-detector@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-leak-detector@npm:29.7.0" - dependencies: - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/71bb9f77fc489acb842a5c7be030f2b9acb18574dc9fb98b3100fc57d422b1abc55f08040884bd6e6dbf455047a62f7eaff12aa4058f7cbdc11558718ca6a395 - languageName: node - linkType: hard - -"jest-matcher-utils@npm:^29.3.1, jest-matcher-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-matcher-utils@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/0d0e70b28fa5c7d4dce701dc1f46ae0922102aadc24ed45d594dd9b7ae0a8a6ef8b216718d1ab79e451291217e05d4d49a82666e1a3cc2b428b75cd9c933244e - languageName: node - linkType: hard - -"jest-message-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-message-util@npm:29.7.0" - dependencies: - "@babel/code-frame": "npm:^7.12.13" - "@jest/types": "npm:^29.6.3" - "@types/stack-utils": "npm:^2.0.0" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 10c0/850ae35477f59f3e6f27efac5215f706296e2104af39232bb14e5403e067992afb5c015e87a9243ec4d9df38525ef1ca663af9f2f4766aa116f127247008bd22 + +"isarray@npm:^2.0.5": + version: 2.0.5 + resolution: "isarray@npm:2.0.5" + checksum: 10c0/4199f14a7a13da2177c66c31080008b7124331956f47bca57dd0b6ea9f11687aa25e565a2c7a2b519bc86988d10398e3049a1f5df13c9f6b7664154690ae79fd languageName: node linkType: hard -"jest-mock@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-mock@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - jest-util: "npm:^29.7.0" - checksum: 10c0/7b9f8349ee87695a309fe15c46a74ab04c853369e5c40952d68061d9dc3159a0f0ed73e215f81b07ee97a9faaf10aebe5877a9d6255068a0977eae6a9ff1d5ac +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d languageName: node linkType: hard -"jest-pnp-resolver@npm:^1.2.2": - version: 1.2.3 - resolution: "jest-pnp-resolver@npm:1.2.3" - peerDependencies: - jest-resolve: "*" - peerDependenciesMeta: - jest-resolve: - optional: true - checksum: 10c0/86eec0c78449a2de733a6d3e316d49461af6a858070e113c97f75fb742a48c2396ea94150cbca44159ffd4a959f743a47a8b37a792ef6fdad2cf0a5cba973fac +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 languageName: node linkType: hard -"jest-regex-util@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-regex-util@npm:29.6.3" - checksum: 10c0/4e33fb16c4f42111159cafe26397118dcfc4cf08bc178a67149fb05f45546a91928b820894572679d62559839d0992e21080a1527faad65daaae8743a5705a3b +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.2": + version: 3.2.2 + resolution: "istanbul-lib-coverage@npm:3.2.2" + checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b languageName: node linkType: hard -"jest-resolve@npm:^29.4.1, jest-resolve@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-resolve@npm:29.7.0" +"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": + version: 3.0.1 + resolution: "istanbul-lib-report@npm:3.0.1" dependencies: - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-pnp-resolver: "npm:^1.2.2" - jest-util: "npm:^29.7.0" - jest-validate: "npm:^29.7.0" - resolve: "npm:^1.20.0" - resolve.exports: "npm:^2.0.0" - slash: "npm:^3.0.0" - checksum: 10c0/59da5c9c5b50563e959a45e09e2eace783d7f9ac0b5dcc6375dea4c0db938d2ebda97124c8161310082760e8ebbeff9f6b177c15ca2f57fb424f637a5d2adb47 - languageName: node - linkType: hard - -"jest-runner@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-runner@npm:29.7.0" - dependencies: - "@jest/console": "npm:^29.7.0" - "@jest/environment": "npm:^29.7.0" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - emittery: "npm:^0.13.1" - graceful-fs: "npm:^4.2.9" - jest-docblock: "npm:^29.7.0" - jest-environment-node: "npm:^29.7.0" - jest-haste-map: "npm:^29.7.0" - jest-leak-detector: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-resolve: "npm:^29.7.0" - jest-runtime: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - jest-watcher: "npm:^29.7.0" - jest-worker: "npm:^29.7.0" - p-limit: "npm:^3.1.0" - source-map-support: "npm:0.5.13" - checksum: 10c0/2194b4531068d939f14c8d3274fe5938b77fa73126aedf9c09ec9dec57d13f22c72a3b5af01ac04f5c1cf2e28d0ac0b4a54212a61b05f10b5d6b47f2a1097bb4 - languageName: node - linkType: hard - -"jest-runtime@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-runtime@npm:29.7.0" - dependencies: - "@jest/environment": "npm:^29.7.0" - "@jest/fake-timers": "npm:^29.7.0" - "@jest/globals": "npm:^29.7.0" - "@jest/source-map": "npm:^29.6.3" - "@jest/test-result": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - cjs-module-lexer: "npm:^1.0.0" - collect-v8-coverage: "npm:^1.0.0" - glob: "npm:^7.1.3" - graceful-fs: "npm:^4.2.9" - jest-haste-map: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-mock: "npm:^29.7.0" - jest-regex-util: "npm:^29.6.3" - jest-resolve: "npm:^29.7.0" - jest-snapshot: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - slash: "npm:^3.0.0" - strip-bom: "npm:^4.0.0" - checksum: 10c0/7cd89a1deda0bda7d0941835434e44f9d6b7bd50b5c5d9b0fc9a6c990b2d4d2cab59685ab3cb2850ed4cc37059f6de903af5a50565d7f7f1192a77d3fd6dd2a6 - languageName: node - linkType: hard - -"jest-snapshot@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-snapshot@npm:29.7.0" - dependencies: - "@babel/core": "npm:^7.11.6" - "@babel/generator": "npm:^7.7.2" - "@babel/plugin-syntax-jsx": "npm:^7.7.2" - "@babel/plugin-syntax-typescript": "npm:^7.7.2" - "@babel/types": "npm:^7.3.3" - "@jest/expect-utils": "npm:^29.7.0" - "@jest/transform": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - babel-preset-current-node-syntax: "npm:^1.0.0" - chalk: "npm:^4.0.0" - expect: "npm:^29.7.0" - graceful-fs: "npm:^4.2.9" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - natural-compare: "npm:^1.4.0" - pretty-format: "npm:^29.7.0" - semver: "npm:^7.5.3" - checksum: 10c0/6e9003c94ec58172b4a62864a91c0146513207bedf4e0a06e1e2ac70a4484088a2683e3a0538d8ea913bcfd53dc54a9b98a98cdfa562e7fe1d1339aeae1da570 + istanbul-lib-coverage: "npm:^3.0.0" + make-dir: "npm:^4.0.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7 languageName: node linkType: hard -"jest-util@npm:^29.4.1, jest-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-util@npm:29.7.0" +"istanbul-lib-source-maps@npm:^5.0.6": + version: 5.0.6 + resolution: "istanbul-lib-source-maps@npm:5.0.6" dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - graceful-fs: "npm:^4.2.9" - picomatch: "npm:^2.2.3" - checksum: 10c0/bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 + "@jridgewell/trace-mapping": "npm:^0.3.23" + debug: "npm:^4.1.1" + istanbul-lib-coverage: "npm:^3.0.0" + checksum: 10c0/ffe75d70b303a3621ee4671554f306e0831b16f39ab7f4ab52e54d356a5d33e534d97563e318f1333a6aae1d42f91ec49c76b6cd3f3fb378addcb5c81da0255f languageName: node linkType: hard -"jest-validate@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-validate@npm:29.7.0" +"istanbul-reports@npm:^3.1.7": + version: 3.1.7 + resolution: "istanbul-reports@npm:3.1.7" dependencies: - "@jest/types": "npm:^29.6.3" - camelcase: "npm:^6.2.0" - chalk: "npm:^4.0.0" - jest-get-type: "npm:^29.6.3" - leven: "npm:^3.1.0" - pretty-format: "npm:^29.7.0" - checksum: 10c0/a20b930480c1ed68778c739f4739dce39423131bc070cd2505ddede762a5570a256212e9c2401b7ae9ba4d7b7c0803f03c5b8f1561c62348213aba18d9dbece2 + html-escaper: "npm:^2.0.0" + istanbul-lib-report: "npm:^3.0.0" + checksum: 10c0/a379fadf9cf8dc5dfe25568115721d4a7eb82fbd50b005a6672aff9c6989b20cc9312d7865814e0859cd8df58cbf664482e1d3604be0afde1f7fc3ccc1394a51 languageName: node linkType: hard -"jest-watcher@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-watcher@npm:29.7.0" +"iterator.prototype@npm:^1.1.4": + version: 1.1.5 + resolution: "iterator.prototype@npm:1.1.5" dependencies: - "@jest/test-result": "npm:^29.7.0" - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - ansi-escapes: "npm:^4.2.1" - chalk: "npm:^4.0.0" - emittery: "npm:^0.13.1" - jest-util: "npm:^29.7.0" - string-length: "npm:^4.0.1" - checksum: 10c0/ec6c75030562fc8f8c727cb8f3b94e75d831fc718785abfc196e1f2a2ebc9a2e38744a15147170039628a853d77a3b695561ce850375ede3a4ee6037a2574567 + define-data-property: "npm:^1.1.4" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.6" + get-proto: "npm:^1.0.0" + has-symbols: "npm:^1.1.0" + set-function-name: "npm:^2.0.2" + checksum: 10c0/f7a262808e1b41049ab55f1e9c29af7ec1025a000d243b83edf34ce2416eedd56079b117fa59376bb4a724110690f13aa8427f2ee29a09eec63a7e72367626d0 languageName: node linkType: hard -"jest-worker@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-worker@npm:29.7.0" +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" dependencies: - "@types/node": "npm:*" - jest-util: "npm:^29.7.0" - merge-stream: "npm:^2.0.0" - supports-color: "npm:^8.0.0" - checksum: 10c0/5570a3a005b16f46c131968b8a5b56d291f9bbb85ff4217e31c80bd8a02e7de799e59a54b95ca28d5c302f248b54cbffde2d177c2f0f52ffcee7504c6eabf660 + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 languageName: node linkType: hard -"jmespath@npm:0.16.0": - version: 0.16.0 - resolution: "jmespath@npm:0.16.0" - checksum: 10c0/84cdca62c4a3d339701f01cc53decf16581c76ce49e6455119be1c5f6ab09a19e6788372536bd261d348d21cd817981605f8debae67affadba966219a2bac1c5 +"jake@npm:^10.8.5": + version: 10.9.2 + resolution: "jake@npm:10.9.2" + dependencies: + async: "npm:^3.2.3" + chalk: "npm:^4.0.2" + filelist: "npm:^1.0.4" + minimatch: "npm:^3.1.2" + bin: + jake: bin/cli.js + checksum: 10c0/c4597b5ed9b6a908252feab296485a4f87cba9e26d6c20e0ca144fb69e0c40203d34a2efddb33b3d297b8bd59605e6c1f44f6221ca1e10e69175ecbf3ff5fe31 languageName: node linkType: hard -"joi@npm:^17.7.0": - version: 17.13.3 - resolution: "joi@npm:17.13.3" +"jest-diff@npm:^30.0.2": + version: 30.0.5 + resolution: "jest-diff@npm:30.0.5" dependencies: - "@hapi/hoek": "npm:^9.3.0" - "@hapi/topo": "npm:^5.1.0" - "@sideway/address": "npm:^4.1.5" - "@sideway/formula": "npm:^3.0.1" - "@sideway/pinpoint": "npm:^2.0.0" - checksum: 10c0/9262aef1da3f1bec5b03caf50c46368899fe03b8ff26cbe3d53af4584dd1049079fc97230bbf1500b6149db7cc765b9ee45f0deb24bb6fc3fa06229d7148c17f + "@jest/diff-sequences": "npm:30.0.1" + "@jest/get-type": "npm:30.0.1" + chalk: "npm:^4.1.2" + pretty-format: "npm:30.0.5" + checksum: 10c0/b218ced37b7676f578ea866762f04caa74901bdcf3f593872aa9a4991a586302651a1d16bb0386772adacc7580a452ec621359af75d733c0b50ea947fe1881d3 languageName: node linkType: hard -"js-levenshtein@npm:^1.1.6": - version: 1.1.6 - resolution: "js-levenshtein@npm:1.1.6" - checksum: 10c0/14045735325ea1fd87f434a74b11d8a14380f090f154747e613529c7cff68b5ee607f5230fa40665d5fb6125a3791f4c223f73b9feca754f989b059f5c05864f +"jiti@npm:2.5.1": + version: 2.5.1 + resolution: "jiti@npm:2.5.1" + bin: + jiti: lib/jiti-cli.mjs + checksum: 10c0/f0a38d7d8842cb35ffe883038166aa2d52ffd21f1a4fc839ae4076ea7301c22a1f11373f8fc52e2667de7acde8f3e092835620dd6f72a0fbe9296b268b0874bb languageName: node linkType: hard @@ -11072,18 +7473,14 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:4.1.0, js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" - dependencies: - argparse: "npm:^2.0.1" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f +"js-tokens@npm:^9.0.1": + version: 9.0.1 + resolution: "js-tokens@npm:9.0.1" + checksum: 10c0/68dcab8f233dde211a6b5fd98079783cbcd04b53617c1250e3553ee16ab3e6134f5e65478e41d82f6d351a052a63d71024553933808570f04dbf828d7921e80e languageName: node linkType: hard -"js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.1, js-yaml@npm:^3.14.1": +"js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.1": version: 3.14.1 resolution: "js-yaml@npm:3.14.1" dependencies: @@ -11095,6 +7492,17 @@ __metadata: languageName: node linkType: hard +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + "jsbn@npm:1.1.0": version: 1.1.0 resolution: "jsbn@npm:1.1.0" @@ -11102,13 +7510,6 @@ __metadata: languageName: node linkType: hard -"jsep@npm:^1.4.0": - version: 1.4.0 - resolution: "jsep@npm:1.4.0" - checksum: 10c0/fe60adf47e050e22eadced42514a51a15a3cf0e2d147896584486acd8ee670fc16641101b9aeb81f4aaba382043d29744b7aac41171e8106515b14f27e0c7116 - languageName: node - linkType: hard - "jsesc@npm:^3.0.2": version: 3.1.0 resolution: "jsesc@npm:3.1.0" @@ -11134,23 +7535,6 @@ __metadata: languageName: node linkType: hard -"json-colorizer@npm:^2.2.2": - version: 2.2.2 - resolution: "json-colorizer@npm:2.2.2" - dependencies: - chalk: "npm:^2.4.1" - lodash.get: "npm:^4.4.2" - checksum: 10c0/5c5c91e116605ee0c43019db9e512752e7673f807b51ba656501e9e6a3df2dd039ffdfab7ac91a0af81512a71d4119dd84e37ca99c43723b42a023b7783b336a - languageName: node - linkType: hard - -"json-cycle@npm:^1.5.0": - version: 1.5.0 - resolution: "json-cycle@npm:1.5.0" - checksum: 10c0/43ba321cf186b22573826ee76d64601bdfe57fe787d74162626c453bd860595c4c62ebfc338b5a64994fb4e4d7a947e6c2ef5f202e3a2ee4b01ca23ebc0cd710 - languageName: node - linkType: hard - "json-parse-even-better-errors@npm:^2.3.0": version: 2.3.1 resolution: "json-parse-even-better-errors@npm:2.3.1" @@ -11158,33 +7542,6 @@ __metadata: languageName: node linkType: hard -"json-pointer@npm:0.6.2, json-pointer@npm:^0.6.2": - version: 0.6.2 - resolution: "json-pointer@npm:0.6.2" - dependencies: - foreach: "npm:^2.0.4" - checksum: 10c0/47f6103032c0340b3392cb650e0ec817f785eccb553407da13fae85bc535483c9b359d7e756de4ed73130172c28d2b02f8beb53a700a98b12e72c7bf70e734b7 - languageName: node - linkType: hard - -"json-refs@npm:^3.0.15": - version: 3.0.15 - resolution: "json-refs@npm:3.0.15" - dependencies: - commander: "npm:~4.1.1" - graphlib: "npm:^2.1.8" - js-yaml: "npm:^3.13.1" - lodash: "npm:^4.17.15" - native-promise-only: "npm:^0.8.1" - path-loader: "npm:^1.0.10" - slash: "npm:^3.0.0" - uri-js: "npm:^4.2.2" - bin: - json-refs: ./bin/json-refs - checksum: 10c0/52d5df45c74a134324c55fc9794bab276272e2cc4c8a7811cc94a0d4a9954c140882df6d3c77750db0a61988674e3d75c6159359606e6e8ff2f2c65003c31a68 - languageName: node - linkType: hard - "json-schema-traverse@npm:^0.4.1": version: 0.4.1 resolution: "json-schema-traverse@npm:0.4.1" @@ -11206,17 +7563,6 @@ __metadata: languageName: node linkType: hard -"json5@npm:^1.0.2": - version: 1.0.2 - resolution: "json5@npm:1.0.2" - dependencies: - minimist: "npm:^1.2.0" - bin: - json5: lib/cli.js - checksum: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f - languageName: node - linkType: hard - "json5@npm:^2.2.2, json5@npm:^2.2.3": version: 2.2.3 resolution: "json5@npm:2.2.3" @@ -11226,7 +7572,7 @@ __metadata: languageName: node linkType: hard -"jsonc-eslint-parser@npm:^2.1.0": +"jsonc-eslint-parser@npm:^2.1.0, jsonc-eslint-parser@npm:^2.4.0": version: 2.4.0 resolution: "jsonc-eslint-parser@npm:2.4.0" dependencies: @@ -11246,36 +7592,29 @@ __metadata: linkType: hard "jsonfile@npm:^6.0.1": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" + version: 6.2.0 + resolution: "jsonfile@npm:6.2.0" dependencies: graceful-fs: "npm:^4.1.6" universalify: "npm:^2.0.0" dependenciesMeta: graceful-fs: optional: true - checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 + checksum: 10c0/7f4f43b08d1869ded8a6822213d13ae3b99d651151d77efd1557ced0889c466296a7d9684e397bd126acf5eb2cfcb605808c3e681d0fdccd2fe5a04b47e76c0d languageName: node linkType: hard -"jsonpath-plus@npm:^10.0.6, jsonpath-plus@npm:^10.3.0": - version: 10.3.0 - resolution: "jsonpath-plus@npm:10.3.0" - dependencies: - "@jsep-plugin/assignment": "npm:^1.3.0" - "@jsep-plugin/regex": "npm:^1.0.4" - jsep: "npm:^1.4.0" - bin: - jsonpath: bin/jsonpath-cli.js - jsonpath-plus: bin/jsonpath-cli.js - checksum: 10c0/f5ff53078ecab98e8afd1dcdb4488e528653fa5a03a32d671f52db1ae9c3236e6e072d75e1949a80929fd21b07603924a586f829b40ad35993fa0247fa4f7506 +"jsonschema@npm:^1.5.0": + version: 1.5.0 + resolution: "jsonschema@npm:1.5.0" + checksum: 10c0/c24ddb8d741f02efc0da3ad9b597a275f6b595062903d3edbfaa535c3f9c4c98613df68da5cb6635ed9aeab30d658986fea61d7662fc5b2b92840d5a1e21235e languageName: node linkType: hard -"jsonpointer@npm:^5.0.0": - version: 5.0.1 - resolution: "jsonpointer@npm:5.0.1" - checksum: 10c0/89929e58b400fcb96928c0504fcf4fc3f919d81e9543ceb055df125538470ee25290bb4984251e172e6ef8fcc55761eb998c118da763a82051ad89d4cb073fe7 +"jsonschema@npm:~1.4.1": + version: 1.4.1 + resolution: "jsonschema@npm:1.4.1" + checksum: 10c0/c3422d3fc7d33ff7234a806ffa909bb6fb5d1cd664bea229c64a1785dc04cbccd5fc76cf547c6ab6dd7881dbcaf3540a6a9f925a5956c61a9cd3e23a3c1796ef languageName: node linkType: hard @@ -11291,33 +7630,7 @@ __metadata: languageName: node linkType: hard -"jszip@npm:^3.10.1": - version: 3.10.1 - resolution: "jszip@npm:3.10.1" - dependencies: - lie: "npm:~3.3.0" - pako: "npm:~1.0.2" - readable-stream: "npm:~2.3.6" - setimmediate: "npm:^1.0.5" - checksum: 10c0/58e01ec9c4960383fb8b38dd5f67b83ccc1ec215bf74c8a5b32f42b6e5fb79fada5176842a11409c4051b5b94275044851814a31076bf49e1be218d3ef57c863 - languageName: node - linkType: hard - -"jwt-decode@npm:^2.2.0": - version: 2.2.0 - resolution: "jwt-decode@npm:2.2.0" - checksum: 10c0/15658696fed0f9f8742485a7303b2f49719417187343f1d29c50dfbac0a41296dab73bb7e77f04cf16a3fac17ab32a83bb31489441eaf7d52316ee4aaab982e7 - languageName: node - linkType: hard - -"jwt-decode@npm:^3.1.2": - version: 3.1.2 - resolution: "jwt-decode@npm:3.1.2" - checksum: 10c0/a951547946b5e8b1d9df818152d6b1dbaf13eebb3a6e6daceedf888968f5d255959852c8188aae2c825dc9104a99d25cb6c23f25d76545d1aa0315b968b6912e - languageName: node - linkType: hard - -"keyv@npm:^4.0.0, keyv@npm:^4.5.4": +"keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -11342,22 +7655,6 @@ __metadata: languageName: node linkType: hard -"lazystream@npm:^1.0.0": - version: 1.0.1 - resolution: "lazystream@npm:1.0.1" - dependencies: - readable-stream: "npm:^2.0.5" - checksum: 10c0/ea4e509a5226ecfcc303ba6782cc269be8867d372b9bcbd625c88955df1987ea1a20da4643bf9270336415a398d33531ebf0d5f0d393b9283dc7c98bfcbd7b69 - languageName: node - linkType: hard - -"leven@npm:^3.1.0, leven@npm:^3.1.0 < 4": - version: 3.1.0 - resolution: "leven@npm:3.1.0" - checksum: 10c0/cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df - languageName: node - linkType: hard - "levn@npm:^0.4.1": version: 0.4.1 resolution: "levn@npm:0.4.1" @@ -11368,12 +7665,10 @@ __metadata: languageName: node linkType: hard -"lie@npm:~3.3.0": - version: 3.3.0 - resolution: "lie@npm:3.3.0" - dependencies: - immediate: "npm:~3.0.5" - checksum: 10c0/56dd113091978f82f9dc5081769c6f3b947852ecf9feccaf83e14a123bc630c2301439ce6182521e5fbafbde88e88ac38314327a4e0493a1bea7e0699a7af808 +"lilconfig@npm:^3.1.3": + version: 3.1.3 + resolution: "lilconfig@npm:3.1.3" + checksum: 10c0/f5604e7240c5c275743561442fbc5abf2a84ad94da0f5adc71d25e31fa8483048de3dcedcb7a44112a942fed305fd75841cdf6c9681c7f640c63f1049e9a5dcc languageName: node linkType: hard @@ -11391,15 +7686,6 @@ __metadata: languageName: node linkType: hard -"locate-path@npm:^5.0.0": - version: 5.0.0 - resolution: "locate-path@npm:5.0.0" - dependencies: - p-locate: "npm:^4.1.0" - checksum: 10c0/33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59 - languageName: node - linkType: hard - "locate-path@npm:^6.0.0": version: 6.0.0 resolution: "locate-path@npm:6.0.0" @@ -11416,41 +7702,6 @@ __metadata: languageName: node linkType: hard -"lodash.defaults@npm:^4.2.0": - version: 4.2.0 - resolution: "lodash.defaults@npm:4.2.0" - checksum: 10c0/d5b77aeb702caa69b17be1358faece33a84497bcca814897383c58b28a2f8dfc381b1d9edbec239f8b425126a3bbe4916223da2a576bb0411c2cefd67df80707 - languageName: node - linkType: hard - -"lodash.difference@npm:^4.5.0": - version: 4.5.0 - resolution: "lodash.difference@npm:4.5.0" - checksum: 10c0/5d52859218a7df427547ff1fadbc397879709fe6c788b037df7d6d92b676122c92bd35ec85d364edb596b65dfc6573132f420c9b4ee22bb6b9600cd454c90637 - languageName: node - linkType: hard - -"lodash.flatten@npm:^4.4.0": - version: 4.4.0 - resolution: "lodash.flatten@npm:4.4.0" - checksum: 10c0/97e8f0d6b61fe4723c02ad0c6e67e51784c4a2c48f56ef283483e556ad01594cf9cec9c773e177bbbdbdb5d19e99b09d2487cb6b6e5dc405c2693e93b125bd3a - languageName: node - linkType: hard - -"lodash.get@npm:^4.4.2": - version: 4.4.2 - resolution: "lodash.get@npm:4.4.2" - checksum: 10c0/48f40d471a1654397ed41685495acb31498d5ed696185ac8973daef424a749ca0c7871bf7b665d5c14f5cc479394479e0307e781f61d5573831769593411be6e - languageName: node - linkType: hard - -"lodash.isplainobject@npm:^4.0.6": - version: 4.0.6 - resolution: "lodash.isplainobject@npm:4.0.6" - checksum: 10c0/afd70b5c450d1e09f32a737bed06ff85b873ecd3d3d3400458725283e3f2e0bb6bf48e67dbe7a309eb371a822b16a26cca4a63c8c52db3fc7dc9d5f9dd324cbb - languageName: node - linkType: hard - "lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" @@ -11458,39 +7709,21 @@ __metadata: languageName: node linkType: hard -"lodash.union@npm:^4.6.0": - version: 4.6.0 - resolution: "lodash.union@npm:4.6.0" - checksum: 10c0/6da7f72d1facd472f6090b49eefff984c9f9179e13172039c0debca6851d21d37d83c7ad5c43af23bd220f184cd80e6897e8e3206509fae491f9068b02ae6319 +"lodash.truncate@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.truncate@npm:4.4.2" + checksum: 10c0/4e870d54e8a6c86c8687e057cec4069d2e941446ccab7f40b4d9555fa5872d917d0b6aa73bece7765500a3123f1723bcdba9ae881b679ef120bba9e1a0b0ed70 languageName: node linkType: hard -"lodash@npm:^4.17.11, lodash@npm:^4.17.15, lodash@npm:^4.17.21": +"lodash@npm:^4.17.3": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c languageName: node linkType: hard -"log-node@npm:^8.0.3": - version: 8.0.3 - resolution: "log-node@npm:8.0.3" - dependencies: - ansi-regex: "npm:^5.0.1" - cli-color: "npm:^2.0.1" - cli-sprintf-format: "npm:^1.1.1" - d: "npm:^1.0.1" - es5-ext: "npm:^0.10.53" - sprintf-kit: "npm:^2.0.1" - supports-color: "npm:^8.1.1" - type: "npm:^2.5.0" - peerDependencies: - log: ^6.0.0 - checksum: 10c0/a5fdfd2ac2377bea361e413665272a00afe7d8a568ef407bd076d638fd25785ff66e3493ed536eaebec91c7e4c5b6f38d85043ba096bffb030cbd9fcf7fa44ab - languageName: node - linkType: hard - -"log-symbols@npm:^4.0.0, log-symbols@npm:^4.1.0": +"log-symbols@npm:^4.0.0": version: 4.1.0 resolution: "log-symbols@npm:4.1.0" dependencies: @@ -11500,28 +7733,6 @@ __metadata: languageName: node linkType: hard -"log@npm:^6.0.0, log@npm:^6.3.1": - version: 6.3.2 - resolution: "log@npm:6.3.2" - dependencies: - d: "npm:^1.0.2" - duration: "npm:^0.2.2" - es5-ext: "npm:^0.10.64" - event-emitter: "npm:^0.3.5" - sprintf-kit: "npm:^2.0.2" - type: "npm:^2.7.3" - uni-global: "npm:^1.0.0" - checksum: 10c0/bfe675edfb4ce04afa927b6117856be41174be3fd1f532b72a7b37f668187de15a35517ab54021afc85853f401e44c1bc5b51024645d18fe972cf2d6d787a494 - languageName: node - linkType: hard - -"long@npm:^5.0.0": - version: 5.3.1 - resolution: "long@npm:5.3.1" - checksum: 10c0/8726994c6359bb7162fb94563e14c3f9c0f0eeafd90ec654738f4f144a5705756d36a873c442f172ee2a4b51e08d14ab99765b49aa1fb994c5ba7fe12057bca2 - languageName: node - linkType: hard - "loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" @@ -11533,26 +7744,10 @@ __metadata: languageName: node linkType: hard -"loupe@npm:^3.1.0, loupe@npm:^3.1.2": - version: 3.1.3 - resolution: "loupe@npm:3.1.3" - checksum: 10c0/f5dab4144254677de83a35285be1b8aba58b3861439ce4ba65875d0d5f3445a4a496daef63100ccf02b2dbc25bf58c6db84c9cb0b96d6435331e9d0a33b48541 - languageName: node - linkType: hard - -"lower-case@npm:^2.0.2": - version: 2.0.2 - resolution: "lower-case@npm:2.0.2" - dependencies: - tslib: "npm:^2.0.3" - checksum: 10c0/3d925e090315cf7dc1caa358e0477e186ffa23947740e4314a7429b6e62d72742e0bbe7536a5ae56d19d7618ce998aba05caca53c2902bd5742fdca5fc57fd7b - languageName: node - linkType: hard - -"lowercase-keys@npm:^2.0.0": - version: 2.0.0 - resolution: "lowercase-keys@npm:2.0.0" - checksum: 10c0/f82a2b3568910509da4b7906362efa40f5b54ea14c2584778ddb313226f9cbf21020a5db35f9b9a0e95847a9b781d548601f31793d736b22a2b8ae8eb9ab1082 +"loupe@npm:^3.1.0, loupe@npm:^3.1.4": + version: 3.1.4 + resolution: "loupe@npm:3.1.4" + checksum: 10c0/5c2e6aefaad25f812d361c750b8cf4ff91d68de289f141d7c85c2ce9bb79eeefa06a93c85f7b87cba940531ed8f15e492f32681d47eed23842ad1963eb3a154d languageName: node linkType: hard @@ -11572,23 +7767,7 @@ __metadata: languageName: node linkType: hard -"lru-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "lru-queue@npm:0.1.0" - dependencies: - es5-ext: "npm:~0.10.2" - checksum: 10c0/83517032b46843601c4528be65e8aaf85f5a7860a9cfa3e4f2b5591da436e7cd748d95b450c91434c4ffb75d3ae4c069ddbdd9f71ada56a99a00c03088c51b4d - languageName: node - linkType: hard - -"lunr@npm:^2.3.9": - version: 2.3.9 - resolution: "lunr@npm:2.3.9" - checksum: 10c0/77d7dbb4fbd602aac161e2b50887d8eda28c0fa3b799159cee380fbb311f1e614219126ecbbd2c3a9c685f1720a8109b3c1ca85cc893c39b6c9cc6a62a1d8a8b - languageName: node - linkType: hard - -"magic-string@npm:^0.30.12": +"magic-string@npm:^0.30.17": version: 0.30.17 resolution: "magic-string@npm:0.30.17" dependencies: @@ -11608,15 +7787,6 @@ __metadata: languageName: node linkType: hard -"make-dir@npm:^1.0.0": - version: 1.3.0 - resolution: "make-dir@npm:1.3.0" - dependencies: - pify: "npm:^3.0.0" - checksum: 10c0/5eb94f47d7ef41d89d1b8eef6539b8950d5bd99eeba093a942bfd327faa37d2d62227526b88b73633243a2ec7972d21eb0f4e5d62ae4e02a79e389f4a7bb3022 - languageName: node - linkType: hard - "make-dir@npm:^4.0.0": version: 4.0.0 resolution: "make-dir@npm:4.0.0" @@ -11626,13 +7796,6 @@ __metadata: languageName: node linkType: hard -"make-error@npm:^1.1.1": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f - languageName: node - linkType: hard - "make-fetch-happen@npm:^14.0.3": version: 14.0.3 resolution: "make-fetch-happen@npm:14.0.3" @@ -11652,31 +7815,6 @@ __metadata: languageName: node linkType: hard -"makeerror@npm:1.0.12": - version: 1.0.12 - resolution: "makeerror@npm:1.0.12" - dependencies: - tmpl: "npm:1.0.5" - checksum: 10c0/b0e6e599780ce6bab49cc413eba822f7d1f0dfebd1c103eaa3785c59e43e22c59018323cf9e1708f0ef5329e94a745d163fcbb6bff8e4c6742f9be9e86f3500c - languageName: node - linkType: hard - -"mark.js@npm:^8.11.1": - version: 8.11.1 - resolution: "mark.js@npm:8.11.1" - checksum: 10c0/5e69e776db61abdd857b5cbb7070c8a3b1b0e5c12bf077fcd5a8c6f17b1f85ed65275aba5662b57136d1b9f82b54bb34d4ef4220f7703c9a7ab806ae1e208cff - languageName: node - linkType: hard - -"marked@npm:^4.3.0": - version: 4.3.0 - resolution: "marked@npm:4.3.0" - bin: - marked: bin/marked.js - checksum: 10c0/0013463855e31b9c88d8bb2891a611d10ef1dc79f2e3cbff1bf71ba389e04c5971298c886af0be799d7fa9aa4593b086a136062d59f1210b0480b026a8c5dc47 - languageName: node - linkType: hard - "math-intrinsics@npm:^1.1.0": version: 1.1.0 resolution: "math-intrinsics@npm:1.1.0" @@ -11684,44 +7822,14 @@ __metadata: languageName: node linkType: hard -"memoizee@npm:^0.4.14, memoizee@npm:^0.4.15, memoizee@npm:^0.4.17": - version: 0.4.17 - resolution: "memoizee@npm:0.4.17" - dependencies: - d: "npm:^1.0.2" - es5-ext: "npm:^0.10.64" - es6-weak-map: "npm:^2.0.3" - event-emitter: "npm:^0.3.5" - is-promise: "npm:^2.2.2" - lru-queue: "npm:^0.1.0" - next-tick: "npm:^1.1.0" - timers-ext: "npm:^0.1.7" - checksum: 10c0/19821d055f0f641e79b718f91d6d89a6c92840643234a6f4e91d42aa330e8406f06c47d3828931e177c38830aa9b959710e5b7f0013be452af46d0f9eae4baf4 - languageName: node - linkType: hard - -"merge-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "merge-stream@npm:2.0.0" - checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 - languageName: node - linkType: hard - -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": +"merge2@npm:^1.3.0": version: 1.4.1 resolution: "merge2@npm:1.4.1" checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb languageName: node linkType: hard -"methods@npm:^1.1.2": - version: 1.1.2 - resolution: "methods@npm:1.1.2" - checksum: 10c0/bdf7cc72ff0a33e3eede03708c08983c4d7a173f91348b4b1e4f47d4cdbf734433ad971e7d1e8c77247d9e5cd8adb81ea4c67b0a2db526b758b2233d7814b8b2 - languageName: node - linkType: hard - -"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5, micromatch@npm:^4.0.8": +"micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -11738,14 +7846,7 @@ __metadata: languageName: node linkType: hard -"mime-db@npm:^1.28.0": - version: 1.54.0 - resolution: "mime-db@npm:1.54.0" - checksum: 10c0/8d907917bc2a90fa2df842cdf5dfeaf509adc15fe0531e07bb2f6ab15992416479015828d6a74200041c492e42cce3ebf78e5ce714388a0a538ea9c53eece284 - languageName: node - linkType: hard - -"mime-types@npm:^2.1.12": +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.35": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -11754,21 +7855,12 @@ __metadata: languageName: node linkType: hard -"mime@npm:2.6.0": - version: 2.6.0 - resolution: "mime@npm:2.6.0" - bin: - mime: cli.js - checksum: 10c0/a7f2589900d9c16e3bdf7672d16a6274df903da958c1643c9c45771f0478f3846dcb1097f31eb9178452570271361e2149310931ec705c037210fc69639c8e6c - languageName: node - linkType: hard - -"mime@npm:^3.0.0": - version: 3.0.0 - resolution: "mime@npm:3.0.0" +"mime@npm:^1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" bin: mime: cli.js - checksum: 10c0/402e792a8df1b2cc41cb77f0dcc46472b7944b7ec29cb5bbcd398624b6b97096728f1239766d3fdeb20551dd8d94738344c195a6ea10c4f906eb0356323b0531 + checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0 languageName: node linkType: hard @@ -11779,20 +7871,6 @@ __metadata: languageName: node linkType: hard -"mimic-response@npm:^1.0.0": - version: 1.0.1 - resolution: "mimic-response@npm:1.0.1" - checksum: 10c0/c5381a5eae997f1c3b5e90ca7f209ed58c3615caeee850e85329c598f0c000ae7bec40196580eef1781c60c709f47258131dab237cad8786f8f56750594f27fa - languageName: node - linkType: hard - -"mimic-response@npm:^3.1.0": - version: 3.1.0 - resolution: "mimic-response@npm:3.1.0" - checksum: 10c0/0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362 - languageName: node - linkType: hard - "minimatch@npm:9.0.3": version: 9.0.3 resolution: "minimatch@npm:9.0.3" @@ -11802,7 +7880,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -11811,7 +7889,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^5.0.1, minimatch@npm:^5.1.0": +"minimatch@npm:^5.0.1": version: 5.1.6 resolution: "minimatch@npm:5.1.6" dependencies: @@ -11820,7 +7898,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.4, minimatch@npm:^9.0.5": version: 9.0.5 resolution: "minimatch@npm:9.0.5" dependencies: @@ -11829,7 +7907,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6": +"minimist@npm:^1.2.6": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 @@ -11896,13 +7974,6 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 - languageName: node - linkType: hard - "minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": version: 7.1.2 resolution: "minipass@npm:7.1.2" @@ -11910,32 +7981,12 @@ __metadata: languageName: node linkType: hard -"minizlib@npm:^2.1.1": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" - dependencies: - minipass: "npm:^3.0.0" - yallist: "npm:^4.0.0" - checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 - languageName: node - linkType: hard - "minizlib@npm:^3.0.1": - version: 3.0.1 - resolution: "minizlib@npm:3.0.1" + version: 3.0.2 + resolution: "minizlib@npm:3.0.2" dependencies: - minipass: "npm:^7.0.4" - rimraf: "npm:^5.0.5" - checksum: 10c0/82f8bf70da8af656909a8ee299d7ed3b3372636749d29e105f97f20e88971be31f5ed7642f2e898f00283b68b701cc01307401cdc209b0efc5dd3818220e5093 - languageName: node - linkType: hard - -"mkdirp@npm:^1.0.3": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" - bin: - mkdirp: bin/cmd.js - checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + minipass: "npm:^7.1.2" + checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 languageName: node linkType: hard @@ -11948,47 +7999,6 @@ __metadata: languageName: node linkType: hard -"mobx-react-lite@npm:^4.1.0": - version: 4.1.0 - resolution: "mobx-react-lite@npm:4.1.0" - dependencies: - use-sync-external-store: "npm:^1.4.0" - peerDependencies: - mobx: ^6.9.0 - react: ^16.8.0 || ^17 || ^18 || ^19 - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true - checksum: 10c0/72300665cc64d73a58d650bdf5131878376a865ae708cabc2940ee22cf6b762aeed239a83ea104ea3742a0b1563a81a19acc02f162e19f524a9b5b0f0a86668e - languageName: node - linkType: hard - -"mobx-react@npm:^9.1.1": - version: 9.2.0 - resolution: "mobx-react@npm:9.2.0" - dependencies: - mobx-react-lite: "npm:^4.1.0" - peerDependencies: - mobx: ^6.9.0 - react: ^16.8.0 || ^17 || ^18 || ^19 - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true - checksum: 10c0/253410a3a4d5005d6f8ec5ed8e6c9696381e65ffe03b072ee6baa7bb5973eaaa0b51f10c83849a94a1b03011538c76b80af26c6230808bd99fb3dfd130ac1845 - languageName: node - linkType: hard - -"mobx@npm:^6.0.4": - version: 6.13.7 - resolution: "mobx@npm:6.13.7" - checksum: 10c0/3ae7f8c586a48a0a2b9b4900871455bc93d3878bdff70b6820ba830c6b883d7f8a0222aa2a0fec7201d25f38a19cb340e62a18a3939182a676dc35d857f35dd6 - languageName: node - linkType: hard - "mrmime@npm:^2.0.0": version: 2.0.1 resolution: "mrmime@npm:2.0.1" @@ -11996,28 +8006,21 @@ __metadata: languageName: node linkType: hard -"ms@npm:^2.1.1, ms@npm:^2.1.3": +"ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 languageName: node linkType: hard -"multipasta@npm:^0.2.5": - version: 0.2.5 - resolution: "multipasta@npm:0.2.5" - checksum: 10c0/f0790b1bdfc6b84ae6139982ead353957b668fe54fec8a4d93c19e9d051b02c837c93fbdff10b26bff2dbfcf7792c6435c27786c14ad82a0fb33b939c1bf96c6 - languageName: node - linkType: hard - -"mute-stream@npm:0.0.8": - version: 0.0.8 - resolution: "mute-stream@npm:0.0.8" - checksum: 10c0/18d06d92e5d6d45e2b63c0e1b8f25376af71748ac36f53c059baa8b76ffac31c5ab225480494e7d35d30215ecdb18fed26ec23cafcd2f7733f2f14406bcd19e2 +"mute-stream@npm:^1.0.0": + version: 1.0.0 + resolution: "mute-stream@npm:1.0.0" + checksum: 10c0/dce2a9ccda171ec979a3b4f869a102b1343dee35e920146776780de182f16eae459644d187e38d59a3d37adf85685e1c17c38cf7bfda7e39a9880f7a1d10a74c languageName: node linkType: hard -"nanoid@npm:^3.3.7, nanoid@npm:^3.3.8": +"nanoid@npm:^3.3.11": version: 3.3.11 resolution: "nanoid@npm:3.3.11" bin: @@ -12026,13 +8029,6 @@ __metadata: languageName: node linkType: hard -"native-promise-only@npm:^0.8.1": - version: 0.8.1 - resolution: "native-promise-only@npm:0.8.1" - checksum: 10c0/c1b41128ca9806818e12d0b84f7c71e88b1fa00f0f4857767d96206dbdd0af6755305103f55c583b045533185ffca863b0c34116ade507ff7ba2e417e076a5ac - languageName: node - linkType: hard - "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -12040,22 +8036,6 @@ __metadata: languageName: node linkType: hard -"ncjsm@npm:^4.3.2": - version: 4.3.2 - resolution: "ncjsm@npm:4.3.2" - dependencies: - builtin-modules: "npm:^3.3.0" - deferred: "npm:^0.7.11" - es5-ext: "npm:^0.10.62" - es6-set: "npm:^0.1.6" - ext: "npm:^1.7.0" - find-requires: "npm:^1.0.0" - fs2: "npm:^0.3.9" - type: "npm:^2.7.2" - checksum: 10c0/1878c9e6fcc848dd019974b0a874b5af23403c4cd7ad03c45b2977da89354da82de3da03595719f16564daa47e5c70b09c65ce674c3ebfe7a015ba81ebd434b9 - languageName: node - linkType: hard - "negotiator@npm:^1.0.0": version: 1.0.0 resolution: "negotiator@npm:1.0.0" @@ -12063,102 +8043,23 @@ __metadata: languageName: node linkType: hard -"neo-async@npm:^2.6.2": - version: 2.6.2 - resolution: "neo-async@npm:2.6.2" - checksum: 10c0/c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d - languageName: node - linkType: hard - -"next-tick@npm:^1.0.0, next-tick@npm:^1.1.0": - version: 1.1.0 - resolution: "next-tick@npm:1.1.0" - checksum: 10c0/3ba80dd805fcb336b4f52e010992f3e6175869c8d88bf4ff0a81d5d66e6049f89993463b28211613e58a6b7fe93ff5ccbba0da18d4fa574b96289e8f0b577f28 - languageName: node - linkType: hard - -"nice-try@npm:^1.0.4": - version: 1.0.5 - resolution: "nice-try@npm:1.0.5" - checksum: 10c0/95568c1b73e1d0d4069a3e3061a2102d854513d37bcfda73300015b7ba4868d3b27c198d1dbbd8ebdef4112fc2ed9e895d4a0f2e1cce0bd334f2a1346dc9205f - languageName: node - linkType: hard - -"no-case@npm:^3.0.4": - version: 3.0.4 - resolution: "no-case@npm:3.0.4" - dependencies: - lower-case: "npm:^2.0.2" - tslib: "npm:^2.0.3" - checksum: 10c0/8ef545f0b3f8677c848f86ecbd42ca0ff3cd9dd71c158527b344c69ba14710d816d8489c746b6ca225e7b615108938a0bda0a54706f8c255933703ac1cf8e703 - languageName: node - linkType: hard - -"node-addon-api@npm:^7.0.0": - version: 7.1.1 - resolution: "node-addon-api@npm:7.1.1" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/fb32a206276d608037fa1bcd7e9921e177fe992fc610d098aa3128baca3c0050fc1e014fa007e9b3874cf865ddb4f5bd9f43ccb7cbbbe4efaff6a83e920b17e9 - languageName: node - linkType: hard - -"node-dir@npm:^0.1.17": - version: 0.1.17 - resolution: "node-dir@npm:0.1.17" - dependencies: - minimatch: "npm:^3.0.2" - checksum: 10c0/16222e871708c405079ff8122d4a7e1d522c5b90fc8f12b3112140af871cfc70128c376e845dcd0044c625db0d2efebd2d852414599d240564db61d53402b4c1 - languageName: node - linkType: hard - -"node-fetch-h2@npm:^2.3.0": - version: 2.3.0 - resolution: "node-fetch-h2@npm:2.3.0" - dependencies: - http2-client: "npm:^1.2.5" - checksum: 10c0/10f117c5aa1d475fff05028dddd617a61606083e4d6c4195dd5f5b03c973182e0d125e804771e6888d04f7d92b5c9c27a6149d1beedd6af1e0744f163e8a02d9 - languageName: node - linkType: hard - -"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.11, node-fetch@npm:^2.6.7, node-fetch@npm:^2.6.8": - version: 2.7.0 - resolution: "node-fetch@npm:2.7.0" - dependencies: - whatwg-url: "npm:^5.0.0" - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 - languageName: node - linkType: hard - "node-gyp@npm:latest": - version: 11.1.0 - resolution: "node-gyp@npm:11.1.0" + version: 11.2.0 + resolution: "node-gyp@npm:11.2.0" dependencies: env-paths: "npm:^2.2.0" exponential-backoff: "npm:^3.1.1" - glob: "npm:^10.3.10" graceful-fs: "npm:^4.2.6" make-fetch-happen: "npm:^14.0.3" nopt: "npm:^8.0.0" proc-log: "npm:^5.0.0" semver: "npm:^7.3.5" tar: "npm:^7.4.3" + tinyglobby: "npm:^0.2.12" which: "npm:^5.0.0" bin: node-gyp: bin/node-gyp.js - checksum: 10c0/c38977ce502f1ea41ba2b8721bd5b49bc3d5b3f813eabfac8414082faf0620ccb5211e15c4daecc23ed9f5e3e9cc4da00e575a0bcfc2a95a069294f2afa1e0cd - languageName: node - linkType: hard - -"node-int64@npm:^0.4.0": - version: 0.4.0 - resolution: "node-int64@npm:0.4.0" - checksum: 10c0/a6a4d8369e2f2720e9c645255ffde909c0fbd41c92ea92a5607fc17055955daac99c1ff589d421eee12a0d24e99f7bfc2aabfeb1a4c14742f6c099a51863f31a + checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 languageName: node linkType: hard @@ -12169,15 +8070,6 @@ __metadata: languageName: node linkType: hard -"node-readfiles@npm:^0.2.0": - version: 0.2.0 - resolution: "node-readfiles@npm:0.2.0" - dependencies: - es6-promise: "npm:^3.2.1" - checksum: 10c0/9de2f741baae29f2422b22ef4399b5f7cb6c20372d4e88447a98d00a92cf1a35efdf942d24eee153a87d885aa7e7442b4bc6de33d4b91c47ba9da501780c76a1 - languageName: node - linkType: hard - "node-releases@npm:^2.0.19": version: 2.0.19 resolution: "node-releases@npm:2.0.19" @@ -12196,20 +8088,6 @@ __metadata: languageName: node linkType: hard -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 - languageName: node - linkType: hard - -"normalize-url@npm:^6.0.1": - version: 6.1.0 - resolution: "normalize-url@npm:6.1.0" - checksum: 10c0/95d948f9bdd2cfde91aa786d1816ae40f8262946e13700bf6628105994fe0ff361662c20af3961161c38a119dc977adeb41fc0b41b1745eb77edaaf9cb22db23 - languageName: node - linkType: hard - "npm-package-arg@npm:11.0.1": version: 11.0.1 resolution: "npm-package-arg@npm:11.0.1" @@ -12222,21 +8100,6 @@ __metadata: languageName: node linkType: hard -"npm-registry-utilities@npm:^1.0.0": - version: 1.0.0 - resolution: "npm-registry-utilities@npm:1.0.0" - dependencies: - ext: "npm:^1.6.0" - fs2: "npm:^0.3.9" - memoizee: "npm:^0.4.15" - node-fetch: "npm:^2.6.7" - semver: "npm:^7.3.5" - type: "npm:^2.6.0" - validate-npm-package-name: "npm:^3.0.0" - checksum: 10c0/92548cc66a945ec609c249766aad23f807316e837b4f782807d527c1bd1aebe0bd1106593c1ad952b9694b1f6e44bb124fa01267f2344e3d01eb872e9c93e4dc - languageName: node - linkType: hard - "npm-run-path@npm:^4.0.1": version: 4.0.1 resolution: "npm-run-path@npm:4.0.1" @@ -12246,25 +8109,25 @@ __metadata: languageName: node linkType: hard -"nx@npm:20.4.6": - version: 20.4.6 - resolution: "nx@npm:20.4.6" +"nx@npm:21.3.11": + version: 21.3.11 + resolution: "nx@npm:21.3.11" dependencies: "@napi-rs/wasm-runtime": "npm:0.2.4" - "@nx/nx-darwin-arm64": "npm:20.4.6" - "@nx/nx-darwin-x64": "npm:20.4.6" - "@nx/nx-freebsd-x64": "npm:20.4.6" - "@nx/nx-linux-arm-gnueabihf": "npm:20.4.6" - "@nx/nx-linux-arm64-gnu": "npm:20.4.6" - "@nx/nx-linux-arm64-musl": "npm:20.4.6" - "@nx/nx-linux-x64-gnu": "npm:20.4.6" - "@nx/nx-linux-x64-musl": "npm:20.4.6" - "@nx/nx-win32-arm64-msvc": "npm:20.4.6" - "@nx/nx-win32-x64-msvc": "npm:20.4.6" + "@nx/nx-darwin-arm64": "npm:21.3.11" + "@nx/nx-darwin-x64": "npm:21.3.11" + "@nx/nx-freebsd-x64": "npm:21.3.11" + "@nx/nx-linux-arm-gnueabihf": "npm:21.3.11" + "@nx/nx-linux-arm64-gnu": "npm:21.3.11" + "@nx/nx-linux-arm64-musl": "npm:21.3.11" + "@nx/nx-linux-x64-gnu": "npm:21.3.11" + "@nx/nx-linux-x64-musl": "npm:21.3.11" + "@nx/nx-win32-arm64-msvc": "npm:21.3.11" + "@nx/nx-win32-x64-msvc": "npm:21.3.11" "@yarnpkg/lockfile": "npm:^1.1.0" "@yarnpkg/parsers": "npm:3.0.2" "@zkochan/js-yaml": "npm:0.0.7" - axios: "npm:^1.7.4" + axios: "npm:^1.8.3" chalk: "npm:^4.1.0" cli-cursor: "npm:3.1.0" cli-spinners: "npm:2.6.1" @@ -12276,7 +8139,7 @@ __metadata: flat: "npm:^5.0.2" front-matter: "npm:^4.0.2" ignore: "npm:^5.0.4" - jest-diff: "npm:^29.4.1" + jest-diff: "npm:^30.0.2" jsonc-parser: "npm:3.2.0" lines-and-columns: "npm:2.0.3" minimatch: "npm:9.0.3" @@ -12289,6 +8152,7 @@ __metadata: string-width: "npm:^4.2.3" tar-stream: "npm:~2.2.0" tmp: "npm:~0.2.1" + tree-kill: "npm:^1.2.2" tsconfig-paths: "npm:^4.1.2" tslib: "npm:^2.3.0" yaml: "npm:^2.6.0" @@ -12326,83 +8190,18 @@ __metadata: bin: nx: bin/nx.js nx-cloud: bin/nx-cloud.js - checksum: 10c0/8c6510a2929da72a1f8b29ef8962d56bb0e3962a70f0c37235079ff72bf455bbaaaaddc320a611545c81363a742d04d9f116a2f4715db0317225b381310ebfcb - languageName: node - linkType: hard - -"oas-kit-common@npm:^1.0.8": - version: 1.0.8 - resolution: "oas-kit-common@npm:1.0.8" - dependencies: - fast-safe-stringify: "npm:^2.0.7" - checksum: 10c0/5619a0bd19a07b52af1afeff26e44601002c0fd558d0020fdb720cb3723b60c83b80efede3a62110ce315f15b971751fb46396760e0e507fb8fd412cdc3808dd - languageName: node - linkType: hard - -"oas-linter@npm:^3.2.2": - version: 3.2.2 - resolution: "oas-linter@npm:3.2.2" - dependencies: - "@exodus/schemasafe": "npm:^1.0.0-rc.2" - should: "npm:^13.2.1" - yaml: "npm:^1.10.0" - checksum: 10c0/5a8ea3d8a0bf185b676659d1e1c0b9b50695aeff53ccd5c264c8e99b4a7c0021f802b937913d76f0bc1a6a2b8ae151df764d95302b0829063b9b26f8c436871c - languageName: node - linkType: hard - -"oas-resolver@npm:^2.5.6": - version: 2.5.6 - resolution: "oas-resolver@npm:2.5.6" - dependencies: - node-fetch-h2: "npm:^2.3.0" - oas-kit-common: "npm:^1.0.8" - reftools: "npm:^1.1.9" - yaml: "npm:^1.10.0" - yargs: "npm:^17.0.1" - bin: - resolve: resolve.js - checksum: 10c0/cfba5ba3f7ea6673a840836cf194a80ba7f77e6d1ee005aa35cc838cad56d7e455fa53753ae7cc38810c96405b8606e675098ea7023639cf546cb10343f180f9 - languageName: node - linkType: hard - -"oas-schema-walker@npm:^1.1.5": - version: 1.1.5 - resolution: "oas-schema-walker@npm:1.1.5" - checksum: 10c0/8ba6bd2a9a8ede2c5574f217653a9e2b889a7c5be69c664a57e293591c58952e8510f4f9e2a82fd5f52491c859ce5c2b68342e9b971e9667f6b811e7fb56fd54 - languageName: node - linkType: hard - -"oas-validator@npm:^5.0.8": - version: 5.0.8 - resolution: "oas-validator@npm:5.0.8" - dependencies: - call-me-maybe: "npm:^1.0.1" - oas-kit-common: "npm:^1.0.8" - oas-linter: "npm:^3.2.2" - oas-resolver: "npm:^2.5.6" - oas-schema-walker: "npm:^1.1.5" - reftools: "npm:^1.1.9" - should: "npm:^13.2.1" - yaml: "npm:^1.10.0" - checksum: 10c0/16bb722042dcba93892c50db2201df6aeea9c3dd60e2f7bc18b36f23c610d136f52a5946908817f6fdd4139219fa4b177f952b9831039078b4c8730fa026b180 + checksum: 10c0/ef1177345605a285514a736dd11ecf4706aa2b892d4f8181eaaa28e47686f5217987150bd3aeb11ef8f65b80780c8004c84636aac154e0d531182dedc28ad4f7 languageName: node linkType: hard -"object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": +"object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 languageName: node linkType: hard -"object-hash@npm:^3.0.0": - version: 3.0.0 - resolution: "object-hash@npm:3.0.0" - checksum: 10c0/a06844537107b960c1c8b96cd2ac8592a265186bfa0f6ccafe0d34eabdb526f6fa81da1f37c43df7ed13b12a4ae3457a16071603bcd39d8beddb5f08c37b0f47 - languageName: node - linkType: hard - -"object-inspect@npm:^1.13.3": +"object-inspect@npm:^1.13.3, object-inspect@npm:^1.13.4": version: 1.13.4 resolution: "object-inspect@npm:1.13.4" checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 @@ -12430,7 +8229,7 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.8": +"object.entries@npm:^1.1.9": version: 1.1.9 resolution: "object.entries@npm:1.1.9" dependencies: @@ -12454,18 +8253,7 @@ __metadata: languageName: node linkType: hard -"object.groupby@npm:^1.0.3": - version: 1.0.3 - resolution: "object.groupby@npm:1.0.3" - dependencies: - call-bind: "npm:^1.0.7" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" - checksum: 10c0/60d0455c85c736fbfeda0217d1a77525956f76f7b2495edeca9e9bbf8168a45783199e77b894d30638837c654d0cc410e0e02cbfcf445bc8de71c3da1ede6a9c - languageName: node - linkType: hard - -"object.values@npm:^1.1.6, object.values@npm:^1.2.0, object.values@npm:^1.2.1": +"object.values@npm:^1.1.6, object.values@npm:^1.2.1": version: 1.2.1 resolution: "object.values@npm:1.2.1" dependencies: @@ -12477,7 +8265,7 @@ __metadata: languageName: node linkType: hard -"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": +"once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" dependencies: @@ -12486,7 +8274,7 @@ __metadata: languageName: node linkType: hard -"onetime@npm:^5.1.0, onetime@npm:^5.1.2": +"onetime@npm:^5.1.0": version: 5.1.2 resolution: "onetime@npm:5.1.2" dependencies: @@ -12495,29 +8283,19 @@ __metadata: languageName: node linkType: hard -"open@npm:^10.1.0": - version: 10.1.0 - resolution: "open@npm:10.1.0" +"open@npm:^10.2.0": + version: 10.2.0 + resolution: "open@npm:10.2.0" dependencies: default-browser: "npm:^5.2.1" define-lazy-prop: "npm:^3.0.0" is-inside-container: "npm:^1.0.0" - is-wsl: "npm:^3.1.0" - checksum: 10c0/c86d0b94503d5f735f674158d5c5d339c25ec2927562f00ee74590727292ed23e1b8d9336cb41ffa7e1fa4d3641d29b199b4ea37c78cb557d72b511743e90ebb - languageName: node - linkType: hard - -"open@npm:^7.4.2": - version: 7.4.2 - resolution: "open@npm:7.4.2" - dependencies: - is-docker: "npm:^2.0.0" - is-wsl: "npm:^2.1.1" - checksum: 10c0/77573a6a68f7364f3a19a4c80492712720746b63680ee304555112605ead196afe91052bd3c3d165efdf4e9d04d255e87de0d0a77acec11ef47fd5261251813f + wsl-utils: "npm:^0.1.0" + checksum: 10c0/5a36d0c1fd2f74ce553beb427ca8b8494b623fc22c6132d0c1688f246a375e24584ea0b44c67133d9ab774fa69be8e12fbe1ff12504b1142bd960fb09671948f languageName: node linkType: hard -"open@npm:^8.4.0, open@npm:^8.4.2": +"open@npm:^8.4.0": version: 8.4.2 resolution: "open@npm:8.4.2" dependencies: @@ -12528,48 +8306,12 @@ __metadata: languageName: node linkType: hard -"openapi-fetch@npm:^0.12.2": - version: 0.12.5 - resolution: "openapi-fetch@npm:0.12.5" - dependencies: - openapi-typescript-helpers: "npm:^0.0.15" - checksum: 10c0/f882c73e8681039a37f1702d08a0ed91e896cc00ee189418febd07b48a8885f6ea6ac7b3850c1f124e34151569d3bf4ce57949f067b36afd0e513e4a31302c15 - languageName: node - linkType: hard - -"openapi-sampler@npm:^1.5.0, openapi-sampler@npm:^1.6.1": - version: 1.6.1 - resolution: "openapi-sampler@npm:1.6.1" - dependencies: - "@types/json-schema": "npm:^7.0.7" - fast-xml-parser: "npm:^4.5.0" - json-pointer: "npm:0.6.2" - checksum: 10c0/b5c95d03e3a035e06da514b3db3e9645e36029dd37551e44fdbdf162c764db52a4d4fe077ea1e02e96a95580b968924000fd9275ab03a1092c734f7862951c87 - languageName: node - linkType: hard - -"openapi-typescript-helpers@npm:^0.0.15": - version: 0.0.15 - resolution: "openapi-typescript-helpers@npm:0.0.15" - checksum: 10c0/5eb68d487b787e3e31266470b1a310726549dd45a1079655ab18066ab291b0b3c343fdf629991013706a2329b86964f8798d56ef0272b94b931fe6c19abd7a88 - languageName: node - linkType: hard - -"openapi-typescript@npm:^7.6.1": - version: 7.6.1 - resolution: "openapi-typescript@npm:7.6.1" - dependencies: - "@redocly/openapi-core": "npm:^1.28.0" - ansi-colors: "npm:^4.1.3" - change-case: "npm:^5.4.4" - parse-json: "npm:^8.1.0" - supports-color: "npm:^9.4.0" - yargs-parser: "npm:^21.1.1" - peerDependencies: - typescript: ^5.x +"opener@npm:^1.5.1": + version: 1.5.2 + resolution: "opener@npm:1.5.2" bin: - openapi-typescript: bin/cli.js - checksum: 10c0/3591be796ac5eb1fe051b765c29e7cc5fcf9bb59e83eb43e13b4c98f25957d78523a5c8922eb52f1785b3fab6f5e269bc02892d72350ac7274d41192a36673c9 + opener: bin/opener-bin.js + checksum: 10c0/dd56256ab0cf796585617bc28e06e058adf09211781e70b264c76a1dbe16e90f868c974e5bf5309c93469157c7d14b89c35dc53fe7293b0e40b4d2f92073bc79 languageName: node linkType: hard @@ -12603,23 +8345,6 @@ __metadata: languageName: node linkType: hard -"ora@npm:^5.4.1": - version: 5.4.1 - resolution: "ora@npm:5.4.1" - dependencies: - bl: "npm:^4.1.0" - chalk: "npm:^4.1.0" - cli-cursor: "npm:^3.1.0" - cli-spinners: "npm:^2.5.0" - is-interactive: "npm:^1.0.0" - is-unicode-supported: "npm:^0.1.0" - log-symbols: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - wcwidth: "npm:^1.0.1" - checksum: 10c0/10ff14aace236d0e2f044193362b22edce4784add08b779eccc8f8ef97195cae1248db8ec1ec5f5ff076f91acbe573f5f42a98c19b78dba8c54eefff983cae85 - languageName: node - linkType: hard - "os-tmpdir@npm:~1.0.2": version: 1.0.2 resolution: "os-tmpdir@npm:1.0.2" @@ -12627,13 +8352,6 @@ __metadata: languageName: node linkType: hard -"outdent@npm:^0.8.0": - version: 0.8.0 - resolution: "outdent@npm:0.8.0" - checksum: 10c0/d8a6c38b838b7ac23ebf1cc50442312f4efe286b211dbe5c71fa84d5daa2512fb94a8f2df1389313465acb0b4e5fa72270dd78f519f3d4db5bc22b2762c86827 - languageName: node - linkType: hard - "own-keys@npm:^1.0.1": version: 1.0.1 resolution: "own-keys@npm:1.0.1" @@ -12646,20 +8364,22 @@ __metadata: linkType: hard "oxc-resolver@npm:^5.0.0": - version: 5.0.1 - resolution: "oxc-resolver@npm:5.0.1" - dependencies: - "@oxc-resolver/binding-darwin-arm64": "npm:5.0.1" - "@oxc-resolver/binding-darwin-x64": "npm:5.0.1" - "@oxc-resolver/binding-freebsd-x64": "npm:5.0.1" - "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:5.0.1" - "@oxc-resolver/binding-linux-arm64-gnu": "npm:5.0.1" - "@oxc-resolver/binding-linux-arm64-musl": "npm:5.0.1" - "@oxc-resolver/binding-linux-x64-gnu": "npm:5.0.1" - "@oxc-resolver/binding-linux-x64-musl": "npm:5.0.1" - "@oxc-resolver/binding-wasm32-wasi": "npm:5.0.1" - "@oxc-resolver/binding-win32-arm64-msvc": "npm:5.0.1" - "@oxc-resolver/binding-win32-x64-msvc": "npm:5.0.1" + version: 5.3.0 + resolution: "oxc-resolver@npm:5.3.0" + dependencies: + "@oxc-resolver/binding-darwin-arm64": "npm:5.3.0" + "@oxc-resolver/binding-darwin-x64": "npm:5.3.0" + "@oxc-resolver/binding-freebsd-x64": "npm:5.3.0" + "@oxc-resolver/binding-linux-arm-gnueabihf": "npm:5.3.0" + "@oxc-resolver/binding-linux-arm64-gnu": "npm:5.3.0" + "@oxc-resolver/binding-linux-arm64-musl": "npm:5.3.0" + "@oxc-resolver/binding-linux-riscv64-gnu": "npm:5.3.0" + "@oxc-resolver/binding-linux-s390x-gnu": "npm:5.3.0" + "@oxc-resolver/binding-linux-x64-gnu": "npm:5.3.0" + "@oxc-resolver/binding-linux-x64-musl": "npm:5.3.0" + "@oxc-resolver/binding-wasm32-wasi": "npm:5.3.0" + "@oxc-resolver/binding-win32-arm64-msvc": "npm:5.3.0" + "@oxc-resolver/binding-win32-x64-msvc": "npm:5.3.0" dependenciesMeta: "@oxc-resolver/binding-darwin-arm64": optional: true @@ -12673,6 +8393,10 @@ __metadata: optional: true "@oxc-resolver/binding-linux-arm64-musl": optional: true + "@oxc-resolver/binding-linux-riscv64-gnu": + optional: true + "@oxc-resolver/binding-linux-s390x-gnu": + optional: true "@oxc-resolver/binding-linux-x64-gnu": optional: true "@oxc-resolver/binding-linux-x64-musl": @@ -12683,43 +8407,11 @@ __metadata: optional: true "@oxc-resolver/binding-win32-x64-msvc": optional: true - checksum: 10c0/490c72a9564b48ea3fa68c3756890b035b4b567b44f0e103f071d47f4e9fc90a840695f759bed8310a765772556807db288653866c5f3de29d457b9a8fb8c1f0 - languageName: node - linkType: hard - -"p-cancelable@npm:^2.0.0": - version: 2.1.1 - resolution: "p-cancelable@npm:2.1.1" - checksum: 10c0/8c6dc1f8dd4154fd8b96a10e55a3a832684c4365fb9108056d89e79fbf21a2465027c04a59d0d797b5ffe10b54a61a32043af287d5c4860f1e996cbdbc847f01 - languageName: node - linkType: hard - -"p-event@npm:^4.2.0": - version: 4.2.0 - resolution: "p-event@npm:4.2.0" - dependencies: - p-timeout: "npm:^3.1.0" - checksum: 10c0/f1b6a2fb13d47f2a8afc00150da5ece0d28940ce3d8fa562873e091d3337d298e78fee9cb18b768598ff1d11df608b2ae23868309ff6405b864a2451ccd6d25a - languageName: node - linkType: hard - -"p-finally@npm:^1.0.0": - version: 1.0.0 - resolution: "p-finally@npm:1.0.0" - checksum: 10c0/6b8552339a71fe7bd424d01d8451eea92d379a711fc62f6b2fe64cad8a472c7259a236c9a22b4733abca0b5666ad503cb497792a0478c5af31ded793d00937e7 - languageName: node - linkType: hard - -"p-limit@npm:^2.2.0": - version: 2.3.0 - resolution: "p-limit@npm:2.3.0" - dependencies: - p-try: "npm:^2.0.0" - checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 + checksum: 10c0/d663ed392d4ed9dc4961657bac0285c53bb8fdbef4f649d54234563377b0fb6e69601dd29f92286cd4b25e77e6a433b200901bb21a6f57904576253dd47dd67a languageName: node linkType: hard -"p-limit@npm:^3.0.2, p-limit@npm:^3.1.0": +"p-limit@npm:^3.0.2": version: 3.1.0 resolution: "p-limit@npm:3.1.0" dependencies: @@ -12728,15 +8420,6 @@ __metadata: languageName: node linkType: hard -"p-locate@npm:^4.1.0": - version: 4.1.0 - resolution: "p-locate@npm:4.1.0" - dependencies: - p-limit: "npm:^2.2.0" - checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 - languageName: node - linkType: hard - "p-locate@npm:^5.0.0": version: 5.0.0 resolution: "p-locate@npm:5.0.0" @@ -12746,15 +8429,6 @@ __metadata: languageName: node linkType: hard -"p-map@npm:^4.0.0": - version: 4.0.0 - resolution: "p-map@npm:4.0.0" - dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 - languageName: node - linkType: hard - "p-map@npm:^7.0.2": version: 7.0.3 resolution: "p-map@npm:7.0.3" @@ -12762,43 +8436,10 @@ __metadata: languageName: node linkType: hard -"p-timeout@npm:^3.1.0": - version: 3.2.0 - resolution: "p-timeout@npm:3.2.0" - dependencies: - p-finally: "npm:^1.0.0" - checksum: 10c0/524b393711a6ba8e1d48137c5924749f29c93d70b671e6db761afa784726572ca06149c715632da8f70c090073afb2af1c05730303f915604fd38ee207b70a61 - languageName: node - linkType: hard - -"p-try@npm:^2.0.0": - version: 2.2.0 - resolution: "p-try@npm:2.2.0" - checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f - languageName: node - linkType: hard - "package-json-from-dist@npm:^1.0.0": - version: 1.0.1 - resolution: "package-json-from-dist@npm:1.0.1" - checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b - languageName: node - linkType: hard - -"pako@npm:~1.0.2": - version: 1.0.11 - resolution: "pako@npm:1.0.11" - checksum: 10c0/86dd99d8b34c3930345b8bbeb5e1cd8a05f608eeb40967b293f72fe469d0e9c88b783a8777e4cc7dc7c91ce54c5e93d88ff4b4f060e6ff18408fd21030d9ffbe - languageName: node - linkType: hard - -"param-case@npm:^3.0.4": - version: 3.0.4 - resolution: "param-case@npm:3.0.4" - dependencies: - dot-case: "npm:^3.0.4" - tslib: "npm:^2.0.3" - checksum: 10c0/ccc053f3019f878eca10e70ec546d92f51a592f762917dafab11c8b532715dcff58356118a6f350976e4ab109e321756f05739643ed0ca94298e82291e6f9e76 + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b languageName: node linkType: hard @@ -12811,7 +8452,7 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": +"parse-json@npm:^5.0.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" dependencies: @@ -12823,44 +8464,6 @@ __metadata: languageName: node linkType: hard -"parse-json@npm:^8.1.0": - version: 8.2.0 - resolution: "parse-json@npm:8.2.0" - dependencies: - "@babel/code-frame": "npm:^7.26.2" - index-to-position: "npm:^1.0.0" - type-fest: "npm:^4.37.0" - checksum: 10c0/2461af504efa4886ccb4649066506229a04407e680a08a35ff8a10a65bcfcf2aa74405335ea0d1ade9b89fd633981279fc83d6ad7f0d5ca985335eb915bd82dc - languageName: node - linkType: hard - -"pascal-case@npm:^3.1.2": - version: 3.1.2 - resolution: "pascal-case@npm:3.1.2" - dependencies: - no-case: "npm:^3.0.4" - tslib: "npm:^2.0.3" - checksum: 10c0/05ff7c344809fd272fc5030ae0ee3da8e4e63f36d47a1e0a4855ca59736254192c5a27b5822ed4bae96e54048eec5f6907713cfcfff7cdf7a464eaf7490786d8 - languageName: node - linkType: hard - -"path-browserify@npm:^1.0.1": - version: 1.0.1 - resolution: "path-browserify@npm:1.0.1" - checksum: 10c0/8b8c3fd5c66bd340272180590ae4ff139769e9ab79522e2eb82e3d571a89b8117c04147f65ad066dccfb42fcad902e5b7d794b3d35e0fd840491a8ddbedf8c66 - languageName: node - linkType: hard - -"path-case@npm:^3.0.4": - version: 3.0.4 - resolution: "path-case@npm:3.0.4" - dependencies: - dot-case: "npm:^3.0.4" - tslib: "npm:^2.0.3" - checksum: 10c0/b6b14637228a558793f603aaeb2fcd981e738b8b9319421b713532fba96d75aa94024b9f6b9ae5aa33d86755144a5b36697d28db62ae45527dbd672fcc2cf0b7 - languageName: node - linkType: hard - "path-exists@npm:^4.0.0": version: 4.0.0 resolution: "path-exists@npm:4.0.0" @@ -12868,20 +8471,6 @@ __metadata: languageName: node linkType: hard -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 - languageName: node - linkType: hard - -"path-key@npm:^2.0.1": - version: 2.0.1 - resolution: "path-key@npm:2.0.1" - checksum: 10c0/dd2044f029a8e58ac31d2bf34c34b93c3095c1481942960e84dd2faa95bbb71b9b762a106aead0646695330936414b31ca0bd862bf488a937ad17c8c5d73b32b - languageName: node - linkType: hard - "path-key@npm:^3.0.0, path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -12889,16 +8478,6 @@ __metadata: languageName: node linkType: hard -"path-loader@npm:^1.0.10": - version: 1.0.12 - resolution: "path-loader@npm:1.0.12" - dependencies: - native-promise-only: "npm:^0.8.1" - superagent: "npm:^7.1.6" - checksum: 10c0/e559ed3694264e43501a0ed6f905307c282fe65197a918f3963fb81f1c570bd979d157339e86527fad57b220446a84a5ed512b186703f0c6080f2fa858e91ada - languageName: node - linkType: hard - "path-parse@npm:^1.0.7": version: 1.0.7 resolution: "path-parse@npm:1.0.7" @@ -12923,119 +8502,55 @@ __metadata: languageName: node linkType: hard -"path2@npm:^0.1.0": - version: 0.1.0 - resolution: "path2@npm:0.1.0" - checksum: 10c0/822f6c902395f65d2595b9cf1b3d0d6861da312f34c215c06d959ec568aab974c8f854eeceae5c83ac3f74a9a4672501a546e3f927a089be883e28ba1af0b7e5 - languageName: node - linkType: hard - -"pathe@npm:^1.1.2": - version: 1.1.2 - resolution: "pathe@npm:1.1.2" - checksum: 10c0/64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897 +"pathe@npm:^2.0.3": + version: 2.0.3 + resolution: "pathe@npm:2.0.3" + checksum: 10c0/c118dc5a8b5c4166011b2b70608762e260085180bb9e33e80a50dcdb1e78c010b1624f4280c492c92b05fc276715a4c357d1f9edc570f8f1b3d90b6839ebaca1 languageName: node linkType: hard "pathval@npm:^2.0.0": - version: 2.0.0 - resolution: "pathval@npm:2.0.0" - checksum: 10c0/602e4ee347fba8a599115af2ccd8179836a63c925c23e04bd056d0674a64b39e3a081b643cc7bc0b84390517df2d800a46fcc5598d42c155fe4977095c2f77c5 - languageName: node - linkType: hard - -"peek-readable@npm:^4.1.0": - version: 4.1.0 - resolution: "peek-readable@npm:4.1.0" - checksum: 10c0/f9b81ce3eed185cc9ebbf7dff0b6e130dd6da7b05f1802bbf726a78e4d84990b0a65f8e701959c50eb1124cc2ad352205147954bf39793faba29bb00ce742a44 - languageName: node - linkType: hard - -"pend@npm:~1.2.0": - version: 1.2.0 - resolution: "pend@npm:1.2.0" - checksum: 10c0/8a87e63f7a4afcfb0f9f77b39bb92374afc723418b9cb716ee4257689224171002e07768eeade4ecd0e86f1fa3d8f022994219fb45634f2dbd78c6803e452458 - languageName: node - linkType: hard - -"perfect-scrollbar@npm:^1.5.5": - version: 1.5.6 - resolution: "perfect-scrollbar@npm:1.5.6" - checksum: 10c0/57d3070a33a204953f5093221aa126975ae69b8cf8857a123ccf17344f4cb5c676b00868528517f33120393d66df3140df911b9ef25f3f67835b70c6f0d77139 + version: 2.0.1 + resolution: "pathval@npm:2.0.1" + checksum: 10c0/460f4709479fbf2c45903a65655fc8f0a5f6d808f989173aeef5fdea4ff4f303dc13f7870303999add60ec49d4c14733895c0a869392e9866f1091fa64fd7581 languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": +"picocolors@npm:^1.1.0, picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be - languageName: node - linkType: hard - -"picomatch@npm:^4.0.2": +"picomatch@npm:4.0.2, picomatch@npm:^4.0.0, picomatch@npm:^4.0.2": version: 4.0.2 resolution: "picomatch@npm:4.0.2" checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc languageName: node linkType: hard -"pify@npm:^2.3.0": - version: 2.3.0 - resolution: "pify@npm:2.3.0" - checksum: 10c0/551ff8ab830b1052633f59cb8adc9ae8407a436e06b4a9718bcb27dc5844b83d535c3a8512b388b6062af65a98c49bdc0dd523d8b2617b188f7c8fee457158dc - languageName: node - linkType: hard - -"pify@npm:^3.0.0": - version: 3.0.0 - resolution: "pify@npm:3.0.0" - checksum: 10c0/fead19ed9d801f1b1fcd0638a1ac53eabbb0945bf615f2f8806a8b646565a04a1b0e7ef115c951d225f042cca388fdc1cd3add46d10d1ed6951c20bd2998af10 - languageName: node - linkType: hard - -"pinkie-promise@npm:^2.0.0": - version: 2.0.1 - resolution: "pinkie-promise@npm:2.0.1" - dependencies: - pinkie: "npm:^2.0.0" - checksum: 10c0/11b5e5ce2b090c573f8fad7b517cbca1bb9a247587306f05ae71aef6f9b2cd2b923c304aa9663c2409cfde27b367286179f1379bc4ec18a3fbf2bb0d473b160a - languageName: node - linkType: hard - -"pinkie@npm:^2.0.0": - version: 2.0.4 - resolution: "pinkie@npm:2.0.4" - checksum: 10c0/25228b08b5597da42dc384221aa0ce56ee0fbf32965db12ba838e2a9ca0193c2f0609c45551ee077ccd2060bf109137fdb185b00c6d7e0ed7e35006d20fdcbc6 - languageName: node - linkType: hard - -"pirates@npm:^4.0.4, pirates@npm:^4.0.6": - version: 4.0.6 - resolution: "pirates@npm:4.0.6" - checksum: 10c0/00d5fa51f8dded94d7429700fb91a0c1ead00ae2c7fd27089f0c5b63e6eca36197fe46384631872690a66f390c5e27198e99006ab77ae472692ab9c2ca903f36 +"picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be languageName: node linkType: hard -"pluralize@npm:^8.0.0": - version: 8.0.0 - resolution: "pluralize@npm:8.0.0" - checksum: 10c0/2044cfc34b2e8c88b73379ea4a36fc577db04f651c2909041b054c981cd863dd5373ebd030123ab058d194ae615d3a97cfdac653991e499d10caf592e8b3dc33 +"pirates@npm:^4.0.6": + version: 4.0.7 + resolution: "pirates@npm:4.0.7" + checksum: 10c0/a51f108dd811beb779d58a76864bbd49e239fa40c7984cd11596c75a121a8cc789f1c8971d8bb15f0dbf9d48b76c05bb62fcbce840f89b688c0fa64b37e8478a languageName: node linkType: hard -"polished@npm:^4.2.2": - version: 4.3.1 - resolution: "polished@npm:4.3.1" +"portfinder@npm:^1.0.28": + version: 1.0.37 + resolution: "portfinder@npm:1.0.37" dependencies: - "@babel/runtime": "npm:^7.17.8" - checksum: 10c0/45480d4c7281a134281cef092f6ecc202a868475ff66a390fee6e9261386e16f3047b4de46a2f2e1cf7fb7aa8f52d30b4ed631a1e3bcd6f303ca31161d4f07fe + async: "npm:^3.2.6" + debug: "npm:^4.3.6" + checksum: 10c0/eabd2764ced7bb0e6da7a1382bb77f9531309f7782fb6169021d05eecff0c0a17958bcf87573047a164dd0bb23f294d5d74b08ffe58c47005c28ed92eea9a6a7 languageName: node linkType: hard @@ -13046,32 +8561,14 @@ __metadata: languageName: node linkType: hard -"postcss-value-parser@npm:^4.0.2": - version: 4.2.0 - resolution: "postcss-value-parser@npm:4.2.0" - checksum: 10c0/f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 - languageName: node - linkType: hard - -"postcss@npm:8.4.49": - version: 8.4.49 - resolution: "postcss@npm:8.4.49" - dependencies: - nanoid: "npm:^3.3.7" - picocolors: "npm:^1.1.1" - source-map-js: "npm:^1.2.1" - checksum: 10c0/f1b3f17aaf36d136f59ec373459f18129908235e65dbdc3aee5eef8eba0756106f52de5ec4682e29a2eab53eb25170e7e871b3e4b52a8f1de3d344a514306be3 - languageName: node - linkType: hard - -"postcss@npm:^8.4.43": - version: 8.5.3 - resolution: "postcss@npm:8.5.3" +"postcss@npm:^8.5.3, postcss@npm:^8.5.6": + version: 8.5.6 + resolution: "postcss@npm:8.5.6" dependencies: - nanoid: "npm:^3.3.8" + nanoid: "npm:^3.3.11" picocolors: "npm:^1.1.1" source-map-js: "npm:^1.2.1" - checksum: 10c0/b75510d7b28c3ab728c8733dd01538314a18c52af426f199a3c9177e63eb08602a3938bfb66b62dc01350b9aed62087eabbf229af97a1659eb8d3513cec823b3 + checksum: 10c0/5127cc7c91ed7a133a1b7318012d8bfa112da9ef092dddf369ae699a1f10ebbd89b1b9f25f3228795b84585c72aabd5ced5fc11f2ba467eedf7b081a66fad024 languageName: node linkType: hard @@ -13105,11 +8602,13 @@ __metadata: languageName: node linkType: hard -"prettier-plugin-tailwindcss@npm:^0.6.11": - version: 0.6.11 - resolution: "prettier-plugin-tailwindcss@npm:0.6.11" +"prettier-plugin-tailwindcss@npm:^0.6.13": + version: 0.6.14 + resolution: "prettier-plugin-tailwindcss@npm:0.6.14" peerDependencies: "@ianvs/prettier-plugin-sort-imports": "*" + "@prettier/plugin-hermes": "*" + "@prettier/plugin-oxc": "*" "@prettier/plugin-pug": "*" "@shopify/prettier-plugin-liquid": "*" "@trivago/prettier-plugin-sort-imports": "*" @@ -13129,6 +8628,10 @@ __metadata: peerDependenciesMeta: "@ianvs/prettier-plugin-sort-imports": optional: true + "@prettier/plugin-hermes": + optional: true + "@prettier/plugin-oxc": + optional: true "@prettier/plugin-pug": optional: true "@shopify/prettier-plugin-liquid": @@ -13159,34 +8662,27 @@ __metadata: optional: true prettier-plugin-svelte: optional: true - checksum: 10c0/e5688a86f457b4eaa682d83a86702826d2d828db4cfc153b8b1f0b8409c94530a4bde8deb3e819497ba8e4bd0eda08ed55468a41a8138f82db43d633cf332121 + checksum: 10c0/1bf635be28b30b3f171a184497eecf512601d19328e402dd2eb1ede52aa57b4f5b605eae2929f4916de9ba22526f3d730d9afa90334db09d17c59f463f7b26d8 languageName: node linkType: hard -"prettier@npm:^3.3.3": - version: 3.5.3 - resolution: "prettier@npm:3.5.3" +"prettier@npm:^3.6.2": + version: 3.6.2 + resolution: "prettier@npm:3.6.2" bin: prettier: bin/prettier.cjs - checksum: 10c0/3880cb90b9dc0635819ab52ff571518c35bd7f15a6e80a2054c05dbc8a3aa6e74f135519e91197de63705bcb38388ded7e7230e2178432a1468005406238b877 + checksum: 10c0/488cb2f2b99ec13da1e50074912870217c11edaddedeadc649b1244c749d15ba94e846423d062e2c4c9ae683e2d65f754de28889ba06e697ac4f988d44f45812 languageName: node linkType: hard -"pretty-format@npm:^29.7.0": - version: 29.7.0 - resolution: "pretty-format@npm:29.7.0" +"pretty-format@npm:30.0.5": + version: 30.0.5 + resolution: "pretty-format@npm:30.0.5" dependencies: - "@jest/schemas": "npm:^29.6.3" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^18.0.0" - checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f - languageName: node - linkType: hard - -"prismjs@npm:^1.29.0": - version: 1.30.0 - resolution: "prismjs@npm:1.30.0" - checksum: 10c0/f56205bfd58ef71ccfcbcb691fd0eb84adc96c6ff21b0b69fc6fdcf02be42d6ef972ba4aed60466310de3d67733f6a746f89f2fb79c00bf217406d465b3e8f23 + "@jest/schemas": "npm:30.0.5" + ansi-styles: "npm:^5.2.0" + react-is: "npm:^18.3.1" + checksum: 10c0/9f6cf1af5c3169093866c80adbfdad32f69c692b62f24ba3ca8cdec8519336123323f896396f9fa40346a41b197c5f6be15aec4d8620819f12496afaaca93f81 languageName: node linkType: hard @@ -13204,39 +8700,6 @@ __metadata: languageName: node linkType: hard -"process-nextick-args@npm:~2.0.0": - version: 2.0.1 - resolution: "process-nextick-args@npm:2.0.1" - checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 - languageName: node - linkType: hard - -"process-utils@npm:^4.0.0": - version: 4.0.0 - resolution: "process-utils@npm:4.0.0" - dependencies: - ext: "npm:^1.4.0" - fs2: "npm:^0.3.9" - memoizee: "npm:^0.4.14" - type: "npm:^2.1.0" - checksum: 10c0/31ff8ff7d62bfd8d768c917f1a523757188062f6fa1762fa44f815bf1adcde5b03d547f13d3dc40f63682fdfeccdccd958c1451701fd468ff24313ed301930d5 - languageName: node - linkType: hard - -"process@npm:^0.11.10": - version: 0.11.10 - resolution: "process@npm:0.11.10" - checksum: 10c0/40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3 - languageName: node - linkType: hard - -"promise-queue@npm:^2.2.5": - version: 2.2.5 - resolution: "promise-queue@npm:2.2.5" - checksum: 10c0/6b29c1c717399c7e10d9527f3a6af74ea7f811aa297dab27c22e5718a824b1cb012d179e1f5d609bf2db051aaf49630fe8222317dedc2174b24971026ab39969 - languageName: node - linkType: hard - "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -13247,7 +8710,7 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:^15.5.0, prop-types@npm:^15.8.1": +"prop-types@npm:^15.8.1": version: 15.8.1 resolution: "prop-types@npm:15.8.1" dependencies: @@ -13258,26 +8721,6 @@ __metadata: languageName: node linkType: hard -"protobufjs@npm:^7.3.0": - version: 7.4.0 - resolution: "protobufjs@npm:7.4.0" - dependencies: - "@protobufjs/aspromise": "npm:^1.1.2" - "@protobufjs/base64": "npm:^1.1.2" - "@protobufjs/codegen": "npm:^2.0.4" - "@protobufjs/eventemitter": "npm:^1.1.0" - "@protobufjs/fetch": "npm:^1.1.0" - "@protobufjs/float": "npm:^1.0.2" - "@protobufjs/inquire": "npm:^1.1.0" - "@protobufjs/path": "npm:^1.1.2" - "@protobufjs/pool": "npm:^1.1.0" - "@protobufjs/utf8": "npm:^1.1.0" - "@types/node": "npm:>=13.7.0" - long: "npm:^5.0.0" - checksum: 10c0/a5460a63fe596523b9a067cbce39a6b310d1a71750fda261f076535662aada97c24450e18c5bc98a27784f70500615904ff1227e1742183509f0db4fdede669b - languageName: node - linkType: hard - "proxy-from-env@npm:^1.1.0": version: 1.1.0 resolution: "proxy-from-env@npm:1.1.0" @@ -13285,38 +8728,14 @@ __metadata: languageName: node linkType: hard -"pump@npm:^3.0.0": - version: 3.0.2 - resolution: "pump@npm:3.0.2" - dependencies: - end-of-stream: "npm:^1.1.0" - once: "npm:^1.3.1" - checksum: 10c0/5ad655cb2a7738b4bcf6406b24ad0970d680649d996b55ad20d1be8e0c02394034e4c45ff7cd105d87f1e9b96a0e3d06fd28e11fae8875da26e7f7a8e2c9726f - languageName: node - linkType: hard - -"punycode@npm:1.3.2": - version: 1.3.2 - resolution: "punycode@npm:1.3.2" - checksum: 10c0/281fd20eaf4704f79d80cb0dc65065bf6452ee67989b3e8941aed6360a5a9a8a01d3e2ed71d0bde3cd74fb5a5dd9db4160bed5a8c20bed4b6764c24ce4c7d2d2 - languageName: node - linkType: hard - -"punycode@npm:^2.1.0": +"punycode@npm:^2.1.0, punycode@npm:^2.3.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 languageName: node linkType: hard -"pure-rand@npm:^6.0.0, pure-rand@npm:^6.1.0": - version: 6.1.0 - resolution: "pure-rand@npm:6.1.0" - checksum: 10c0/1abe217897bf74dcb3a0c9aba3555fe975023147b48db540aa2faf507aee91c03bf54f6aef0eb2bf59cc259a16d06b28eca37f0dc426d94f4692aeff02fb0e65 - languageName: node - linkType: hard - -"qs@npm:^6.10.3, qs@npm:^6.11.0": +"qs@npm:^6.4.0": version: 6.14.0 resolution: "qs@npm:6.14.0" dependencies: @@ -13325,20 +8744,6 @@ __metadata: languageName: node linkType: hard -"querystring@npm:0.2.0": - version: 0.2.0 - resolution: "querystring@npm:0.2.0" - checksum: 10c0/2036c9424beaacd3978bac9e4ba514331cc73163bea7bf3ad7e2c7355e55501938ec195312c607753f9c6e70b1bf9dfcda38db6241bd299c034e27ac639d64ed - languageName: node - linkType: hard - -"querystring@npm:^0.2.1": - version: 0.2.1 - resolution: "querystring@npm:0.2.1" - checksum: 10c0/6841b32bec4f16ffe7f5b5e4373b47ad451f079cde3a7f45e63e550f0ecfd8f8189ef81fb50079413b3fc1c59b06146e4c98192cb74ed7981aca72090466cd94 - languageName: node - linkType: hard - "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -13346,40 +8751,6 @@ __metadata: languageName: node linkType: hard -"quick-lru@npm:^5.1.1": - version: 5.1.1 - resolution: "quick-lru@npm:5.1.1" - checksum: 10c0/a24cba5da8cec30d70d2484be37622580f64765fb6390a928b17f60cd69e8dbd32a954b3ff9176fa1b86d86ff2ba05252fae55dc4d40d0291c60412b0ad096da - languageName: node - linkType: hard - -"ramda@npm:^0.28.0": - version: 0.28.0 - resolution: "ramda@npm:0.28.0" - checksum: 10c0/0f9dc0cc3b0432ff047f1e2a5e58860c531a84574674c0f52fef535efc6e1e07fa3851102fff3da7dd551a592c743f6f6fa521379a6aa5fe50266f8af8f0b570 - languageName: node - linkType: hard - -"randombytes@npm:^2.1.0": - version: 2.1.0 - resolution: "randombytes@npm:2.1.0" - dependencies: - safe-buffer: "npm:^5.1.0" - checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 - languageName: node - linkType: hard - -"react-dom@npm:^17.0.0 || ^18.2.0 || ^19.0.0": - version: 19.0.0 - resolution: "react-dom@npm:19.0.0" - dependencies: - scheduler: "npm:^0.25.0" - peerDependencies: - react: ^19.0.0 - checksum: 10c0/a36ce7ab507b237ae2759c984cdaad4af4096d8199fb65b3815c16825e5cfeb7293da790a3fc2184b52bfba7ba3ff31c058c01947aff6fd1a3701632aabaa6a9 - languageName: node - linkType: hard - "react-is@npm:^16.13.1": version: 16.13.1 resolution: "react-is@npm:16.13.1" @@ -13387,48 +8758,14 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^18.0.0": +"react-is@npm:^18.3.1": version: 18.3.1 resolution: "react-is@npm:18.3.1" checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 languageName: node linkType: hard -"react-tabs@npm:^6.0.2": - version: 6.1.0 - resolution: "react-tabs@npm:6.1.0" - dependencies: - clsx: "npm:^2.0.0" - prop-types: "npm:^15.5.0" - peerDependencies: - react: ^18.0.0 || ^19.0.0 - checksum: 10c0/3e01f478e1563d3ae8aaffc3c5e34a09319395a7880c95194f8415e0addc92c0ce1345a1e7f1d4b821b8eb7cbf3a141bb4dcc5ee805b3ec4b185aa203278c6e1 - languageName: node - linkType: hard - -"react@npm:^17.0.0 || ^18.2.0 || ^19.0.0": - version: 19.0.0 - resolution: "react@npm:19.0.0" - checksum: 10c0/9cad8f103e8e3a16d15cb18a0d8115d8bd9f9e1ce3420310aea381eb42aa0a4f812cf047bb5441349257a05fba8a291515691e3cb51267279b2d2c3253f38471 - languageName: node - linkType: hard - -"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.5, readable-stream@npm:^2.3.0, readable-stream@npm:^2.3.5, readable-stream@npm:~2.3.6": - version: 2.3.8 - resolution: "readable-stream@npm:2.3.8" - dependencies: - core-util-is: "npm:~1.0.0" - inherits: "npm:~2.0.3" - isarray: "npm:~1.0.0" - process-nextick-args: "npm:~2.0.0" - safe-buffer: "npm:~5.1.1" - string_decoder: "npm:~1.1.1" - util-deprecate: "npm:~1.0.1" - checksum: 10c0/7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa - languageName: node - linkType: hard - -"readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": +"readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -13439,81 +8776,6 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^4.7.0": - version: 4.7.0 - resolution: "readable-stream@npm:4.7.0" - dependencies: - abort-controller: "npm:^3.0.0" - buffer: "npm:^6.0.3" - events: "npm:^3.3.0" - process: "npm:^0.11.10" - string_decoder: "npm:^1.3.0" - checksum: 10c0/fd86d068da21cfdb10f7a4479f2e47d9c0a9b0c862fc0c840a7e5360201580a55ac399c764b12a4f6fa291f8cee74d9c4b7562e0d53b3c4b2769f2c98155d957 - languageName: node - linkType: hard - -"readable-web-to-node-stream@npm:^3.0.0": - version: 3.0.4 - resolution: "readable-web-to-node-stream@npm:3.0.4" - dependencies: - readable-stream: "npm:^4.7.0" - checksum: 10c0/2dc417d5d0b0c0191fcf57f87df3b2853db21d1da5554ec32b1e1c5a515e5a1243fc077a23f74046d711c2d736628f64b31054a8379b95bb016212430b5110c5 - languageName: node - linkType: hard - -"readdir-glob@npm:^1.1.2": - version: 1.1.3 - resolution: "readdir-glob@npm:1.1.3" - dependencies: - minimatch: "npm:^5.1.0" - checksum: 10c0/a37e0716726650845d761f1041387acd93aa91b28dd5381950733f994b6c349ddc1e21e266ec7cc1f9b92e205a7a972232f9b89d5424d07361c2c3753d5dbace - languageName: node - linkType: hard - -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: "npm:^2.2.1" - checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b - languageName: node - linkType: hard - -"redoc@npm:2.4.0": - version: 2.4.0 - resolution: "redoc@npm:2.4.0" - dependencies: - "@redocly/openapi-core": "npm:^1.4.0" - classnames: "npm:^2.3.2" - decko: "npm:^1.2.0" - dompurify: "npm:^3.0.6" - eventemitter3: "npm:^5.0.1" - json-pointer: "npm:^0.6.2" - lunr: "npm:^2.3.9" - mark.js: "npm:^8.11.1" - marked: "npm:^4.3.0" - mobx-react: "npm:^9.1.1" - openapi-sampler: "npm:^1.5.0" - path-browserify: "npm:^1.0.1" - perfect-scrollbar: "npm:^1.5.5" - polished: "npm:^4.2.2" - prismjs: "npm:^1.29.0" - prop-types: "npm:^15.8.1" - react-tabs: "npm:^6.0.2" - slugify: "npm:~1.4.7" - stickyfill: "npm:^1.1.1" - swagger2openapi: "npm:^7.0.8" - url-template: "npm:^2.0.8" - peerDependencies: - core-js: ^3.1.4 - mobx: ^6.0.4 - react: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.4 || ^17.0.0 || ^18.0.0 || ^19.0.0 - styled-components: ^4.1.1 || ^5.1.1 || ^6.0.5 - checksum: 10c0/94a8c02e4f4962a808a58775036d99c1d09553f8ed31b2780efe43f639a5a7d9affe7a0a77513eed78143a1247cf2b2c79055c06b956d14767e203177f7fb5ae - languageName: node - linkType: hard - "reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": version: 1.0.10 resolution: "reflect.getprototypeof@npm:1.0.10" @@ -13530,13 +8792,6 @@ __metadata: languageName: node linkType: hard -"reftools@npm:^1.1.9": - version: 1.1.9 - resolution: "reftools@npm:1.1.9" - checksum: 10c0/4b44c9e75d6e5328b43b974de08776ee1718a0b48f24e033b2699f872cc9a698234a4aa0553b9e1a766b828aeb9834e4aa988410f0279e86179edb33b270da6c - languageName: node - linkType: hard - "regenerate-unicode-properties@npm:^10.2.0": version: 10.2.0 resolution: "regenerate-unicode-properties@npm:10.2.0" @@ -13553,23 +8808,7 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:^0.14.0": - version: 0.14.1 - resolution: "regenerator-runtime@npm:0.14.1" - checksum: 10c0/1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 - languageName: node - linkType: hard - -"regenerator-transform@npm:^0.15.2": - version: 0.15.2 - resolution: "regenerator-transform@npm:0.15.2" - dependencies: - "@babel/runtime": "npm:^7.8.4" - checksum: 10c0/7cfe6931ec793269701994a93bab89c0cc95379191fad866270a7fea2adfec67ea62bb5b374db77058b60ba4509319d9b608664d0d288bd9989ca8dbd08fae90 - languageName: node - linkType: hard - -"regexp.prototype.flags@npm:^1.5.3": +"regexp.prototype.flags@npm:^1.5.3, regexp.prototype.flags@npm:^1.5.4": version: 1.5.4 resolution: "regexp.prototype.flags@npm:1.5.4" dependencies: @@ -13629,10 +8868,10 @@ __metadata: languageName: node linkType: hard -"resolve-alpn@npm:^1.0.0": - version: 1.2.1 - resolution: "resolve-alpn@npm:1.2.1" - checksum: 10c0/b70b29c1843bc39781ef946c8cd4482e6d425976599c0f9c138cec8209e4e0736161bf39319b01676a847000085dfdaf63583c6fb4427bf751a10635bd2aa0c4 +"requires-port@npm:^1.0.0": + version: 1.0.0 + resolution: "requires-port@npm:1.0.0" + checksum: 10c0/b2bfdd09db16c082c4326e573a82c0771daaf7b53b9ce8ad60ea46aa6e30aaf475fe9b164800b89f93b748d2c234d8abff945d2551ba47bf5698e04cd7713267 languageName: node linkType: hard @@ -13643,21 +8882,14 @@ __metadata: languageName: node linkType: hard -"resolve-from@npm:^5.0.0": - version: 5.0.0 - resolution: "resolve-from@npm:5.0.0" - checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 - languageName: node - linkType: hard - -"resolve.exports@npm:2.0.3, resolve.exports@npm:^2.0.0": +"resolve.exports@npm:2.0.3": version: 2.0.3 resolution: "resolve.exports@npm:2.0.3" checksum: 10c0/1ade1493f4642a6267d0a5e68faeac20b3d220f18c28b140343feb83694d8fed7a286852aef43689d16042c61e2ddb270be6578ad4a13990769e12065191200d languageName: node linkType: hard -"resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.4": +"resolve@npm:^1.19.0, resolve@npm:^1.22.10": version: 1.22.10 resolution: "resolve@npm:1.22.10" dependencies: @@ -13683,7 +8915,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": +"resolve@patch:resolve@npm%3A^1.19.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.10#optional!builtin": version: 1.22.10 resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" dependencies: @@ -13709,15 +8941,6 @@ __metadata: languageName: node linkType: hard -"responselike@npm:^2.0.0": - version: 2.0.1 - resolution: "responselike@npm:2.0.1" - dependencies: - lowercase-keys: "npm:^2.0.0" - checksum: 10c0/360b6deb5f101a9f8a4174f7837c523c3ec78b7ca8a7c1d45a1062b303659308a23757e318b1e91ed8684ad1205721142dd664d94771cd63499353fd4ee732b5 - languageName: node - linkType: hard - "restore-cursor@npm:^3.1.0": version: 3.1.0 resolution: "restore-cursor@npm:3.1.0" @@ -13742,42 +8965,31 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^5.0.5": - version: 5.0.10 - resolution: "rimraf@npm:5.0.10" - dependencies: - glob: "npm:^10.3.7" - bin: - rimraf: dist/esm/bin.mjs - checksum: 10c0/7da4fd0e15118ee05b918359462cfa1e7fe4b1228c7765195a45b55576e8c15b95db513b8466ec89129666f4af45ad978a3057a02139afba1a63512a2d9644cc - languageName: node - linkType: hard - -"rollup@npm:^4.20.0": - version: 4.37.0 - resolution: "rollup@npm:4.37.0" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.37.0" - "@rollup/rollup-android-arm64": "npm:4.37.0" - "@rollup/rollup-darwin-arm64": "npm:4.37.0" - "@rollup/rollup-darwin-x64": "npm:4.37.0" - "@rollup/rollup-freebsd-arm64": "npm:4.37.0" - "@rollup/rollup-freebsd-x64": "npm:4.37.0" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.37.0" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.37.0" - "@rollup/rollup-linux-arm64-gnu": "npm:4.37.0" - "@rollup/rollup-linux-arm64-musl": "npm:4.37.0" - "@rollup/rollup-linux-loongarch64-gnu": "npm:4.37.0" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.37.0" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.37.0" - "@rollup/rollup-linux-riscv64-musl": "npm:4.37.0" - "@rollup/rollup-linux-s390x-gnu": "npm:4.37.0" - "@rollup/rollup-linux-x64-gnu": "npm:4.37.0" - "@rollup/rollup-linux-x64-musl": "npm:4.37.0" - "@rollup/rollup-win32-arm64-msvc": "npm:4.37.0" - "@rollup/rollup-win32-ia32-msvc": "npm:4.37.0" - "@rollup/rollup-win32-x64-msvc": "npm:4.37.0" - "@types/estree": "npm:1.0.6" +"rollup@npm:^4.34.9, rollup@npm:^4.40.0": + version: 4.44.2 + resolution: "rollup@npm:4.44.2" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.44.2" + "@rollup/rollup-android-arm64": "npm:4.44.2" + "@rollup/rollup-darwin-arm64": "npm:4.44.2" + "@rollup/rollup-darwin-x64": "npm:4.44.2" + "@rollup/rollup-freebsd-arm64": "npm:4.44.2" + "@rollup/rollup-freebsd-x64": "npm:4.44.2" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.44.2" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.44.2" + "@rollup/rollup-linux-arm64-gnu": "npm:4.44.2" + "@rollup/rollup-linux-arm64-musl": "npm:4.44.2" + "@rollup/rollup-linux-loongarch64-gnu": "npm:4.44.2" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.44.2" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.44.2" + "@rollup/rollup-linux-riscv64-musl": "npm:4.44.2" + "@rollup/rollup-linux-s390x-gnu": "npm:4.44.2" + "@rollup/rollup-linux-x64-gnu": "npm:4.44.2" + "@rollup/rollup-linux-x64-musl": "npm:4.44.2" + "@rollup/rollup-win32-arm64-msvc": "npm:4.44.2" + "@rollup/rollup-win32-ia32-msvc": "npm:4.44.2" + "@rollup/rollup-win32-x64-msvc": "npm:4.44.2" + "@types/estree": "npm:1.0.8" fsevents: "npm:~2.3.2" dependenciesMeta: "@rollup/rollup-android-arm-eabi": @@ -13824,7 +9036,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10c0/2e00382e08938636edfe0a7547ea2eaa027205dc0b6ff85d8b82be0fbe55a4ef88a1995fee2a5059e33dbccf12d1376c236825353afb89c96298cc95c5160a46 + checksum: 10c0/5ada4fd03e8077888a065bb03f2425501b8402e7cc26f0ffbb454feb61e3a825c8260252a5f768c25481866e798c5ff910f5953c4638ae238d1a14befced02b8 languageName: node linkType: hard @@ -13835,22 +9047,6 @@ __metadata: languageName: node linkType: hard -"run-async@npm:^2.4.0": - version: 2.4.1 - resolution: "run-async@npm:2.4.1" - checksum: 10c0/35a68c8f1d9664f6c7c2e153877ca1d6e4f886e5ca067c25cdd895a6891ff3a1466ee07c63d6a9be306e9619ff7d509494e6d9c129516a36b9fd82263d579ee1 - languageName: node - linkType: hard - -"run-parallel-limit@npm:^1.1.0": - version: 1.1.0 - resolution: "run-parallel-limit@npm:1.1.0" - dependencies: - queue-microtask: "npm:^1.2.2" - checksum: 10c0/9c78eb77e788d0ed803a7e80921412f6f6accfb2006de8c21699d9ebf7696df9cefaa313fe14d6169a3fc9f564b34fe91bfd9948cc3a58e2d24136a2390523ae - languageName: node - linkType: hard - "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -13860,15 +9056,6 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:^7.5.5": - version: 7.8.2 - resolution: "rxjs@npm:7.8.2" - dependencies: - tslib: "npm:^2.1.0" - checksum: 10c0/1fcd33d2066ada98ba8f21fcbbcaee9f0b271de1d38dc7f4e256bfbc6ffcdde68c8bfb69093de7eeb46f24b1fb820620bf0223706cff26b4ab99a7ff7b2e2c45 - languageName: node - linkType: hard - "safe-array-concat@npm:^1.1.3": version: 1.1.3 resolution: "safe-array-concat@npm:1.1.3" @@ -13882,20 +9069,20 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:~5.2.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 - languageName: node - linkType: hard - -"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": +"safe-buffer@npm:5.1.2": version: 5.1.2 resolution: "safe-buffer@npm:5.1.2" checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 languageName: node linkType: hard +"safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + "safe-push-apply@npm:^1.0.0": version: 1.0.0 resolution: "safe-push-apply@npm:1.0.0" @@ -13920,53 +9107,18 @@ __metadata: "safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" - checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 - languageName: node - linkType: hard - -"sax@npm:1.2.1": - version: 1.2.1 - resolution: "sax@npm:1.2.1" - checksum: 10c0/1ae269cfde0b3774b4c92eb744452b6740bde5c5744fe5cadef6f496e42d9b632f483fb6aff9a23c0749c94c6951b06b0c5a90a5e99c879d3401cfd5ba61dc02 - languageName: node - linkType: hard - -"sax@npm:>=0.6.0": - version: 1.4.1 - resolution: "sax@npm:1.4.1" - checksum: 10c0/6bf86318a254c5d898ede6bd3ded15daf68ae08a5495a2739564eb265cd13bcc64a07ab466fb204f67ce472bb534eb8612dac587435515169593f4fffa11de7c - languageName: node - linkType: hard - -"scheduler@npm:^0.25.0": - version: 0.25.0 - resolution: "scheduler@npm:0.25.0" - checksum: 10c0/a4bb1da406b613ce72c1299db43759526058fdcc413999c3c3e0db8956df7633acf395cb20eb2303b6a65d658d66b6585d344460abaee8080b4aa931f10eaafe - languageName: node - linkType: hard - -"seek-bzip@npm:^1.0.5": - version: 1.0.6 - resolution: "seek-bzip@npm:1.0.6" - dependencies: - commander: "npm:^2.8.1" - bin: - seek-bunzip: bin/seek-bunzip - seek-table: bin/seek-bzip-table - checksum: 10c0/e4019e4498bb725ff855603595c4116ca003674b13d29cb9ed9891b2ceec884ccf7c1cb5dba0d6b50fe6ce760a011078f5744efb79823f4ddb9decb1571e9912 + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 languageName: node linkType: hard -"semver@npm:^5.5.0": - version: 5.7.2 - resolution: "semver@npm:5.7.2" - bin: - semver: bin/semver - checksum: 10c0/e4cf10f86f168db772ae95d86ba65b3fd6c5967c94d97c708ccb463b778c2ee53b914cd7167620950fc07faf5a564e6efe903836639e512a1aa15fbc9667fa25 +"secure-compare@npm:3.0.1": + version: 3.0.1 + resolution: "secure-compare@npm:3.0.1" + checksum: 10c0/af3102f3f555d917c8ffff7a5f6f00f70195708f4faf82d48794485c9f3cb365cee0dd4da6b4e53e8964f172970bce6069b6101ba3ce8c309bff54f460d1f650 languageName: node linkType: hard -"semver@npm:^6.3.0, semver@npm:^6.3.1": +"semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -13975,149 +9127,12 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.2, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": - version: 7.7.1 - resolution: "semver@npm:7.7.1" +"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.6.0, semver@npm:^7.6.3, semver@npm:^7.7.2": + version: 7.7.2 + resolution: "semver@npm:7.7.2" bin: semver: bin/semver.js - checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 - languageName: node - linkType: hard - -"sentence-case@npm:^3.0.4": - version: 3.0.4 - resolution: "sentence-case@npm:3.0.4" - dependencies: - no-case: "npm:^3.0.4" - tslib: "npm:^2.0.3" - upper-case-first: "npm:^2.0.2" - checksum: 10c0/9a90527a51300cf5faea7fae0c037728f9ddcff23ac083883774c74d180c0a03c31aab43d5c3347512e8c1b31a0d4712512ec82beb71aa79b85149f9abeb5467 - languageName: node - linkType: hard - -"serverless-esbuild@npm:^1.54.4": - version: 1.55.0 - resolution: "serverless-esbuild@npm:1.55.0" - dependencies: - "@effect/platform": "npm:^0.65.5" - "@effect/platform-node": "npm:^0.60.5" - "@effect/schema": "npm:^0.73.4" - acorn: "npm:^8.8.1" - acorn-walk: "npm:^8.2.0" - anymatch: "npm:^3.1.3" - archiver: "npm:^5.3.1" - bestzip: "npm:^2.2.1" - chokidar: "npm:^3.5.3" - effect: "npm:^3.8.3" - execa: "npm:^5.1.1" - fs-extra: "npm:^11.1.0" - globby: "npm:^11.0.4" - p-map: "npm:^4.0.0" - ramda: "npm:^0.28.0" - semver: "npm:^7.3.8" - peerDependencies: - esbuild: 0.8 - 0.25 - esbuild-node-externals: ^1.0.0 - peerDependenciesMeta: - esbuild-node-externals: - optional: true - checksum: 10c0/1cd6e6a3f012fc3ded24008cae8b2ccb2daa689d9e0ee6e87815e3c0f027a39c6f4f5e30c83ab0c9c30cb76c80a2799d3e8bbdc4beb90b769b41013a61af9df7 - languageName: node - linkType: hard - -"serverless-step-functions@npm:^3.21.1": - version: 3.21.2 - resolution: "serverless-step-functions@npm:3.21.2" - dependencies: - "@serverless/utils": "npm:^6.7.0" - asl-validator: "npm:^3.8.0" - bluebird: "npm:^3.4.0" - chalk: "npm:^4.1.2" - joi: "npm:^17.7.0" - lodash: "npm:^4.17.11" - peerDependencies: - serverless: ">=2.32.0" - checksum: 10c0/6f526b51a62eacac834b27cc45cc4b12657d4835dfa5e8e21fe11fc53b8fb6daf25898b06a7c34ec1417c48f7e8be4cb626c6e7481bd31d7e49322c238fc206f - languageName: node - linkType: hard - -"serverless@npm:^3.38.0": - version: 3.40.0 - resolution: "serverless@npm:3.40.0" - dependencies: - "@aws-sdk/client-api-gateway": "npm:^3.588.0" - "@aws-sdk/client-cognito-identity-provider": "npm:^3.588.0" - "@aws-sdk/client-eventbridge": "npm:^3.588.0" - "@aws-sdk/client-iam": "npm:^3.588.0" - "@aws-sdk/client-lambda": "npm:^3.588.0" - "@aws-sdk/client-s3": "npm:^3.588.0" - "@serverless/dashboard-plugin": "npm:^7.2.0" - "@serverless/platform-client": "npm:^4.5.1" - "@serverless/utils": "npm:^6.13.1" - abort-controller: "npm:^3.0.0" - ajv: "npm:^8.12.0" - ajv-formats: "npm:^2.1.1" - archiver: "npm:^5.3.1" - aws-sdk: "npm:^2.1404.0" - bluebird: "npm:^3.7.2" - cachedir: "npm:^2.3.0" - chalk: "npm:^4.1.2" - child-process-ext: "npm:^2.1.1" - ci-info: "npm:^3.8.0" - cli-progress-footer: "npm:^2.3.2" - d: "npm:^1.0.1" - dayjs: "npm:^1.11.8" - decompress: "npm:^4.2.1" - dotenv: "npm:^16.3.1" - dotenv-expand: "npm:^10.0.0" - essentials: "npm:^1.2.0" - ext: "npm:^1.7.0" - fastest-levenshtein: "npm:^1.0.16" - filesize: "npm:^10.0.7" - fs-extra: "npm:^10.1.0" - get-stdin: "npm:^8.0.0" - globby: "npm:^11.1.0" - graceful-fs: "npm:^4.2.11" - https-proxy-agent: "npm:^5.0.1" - is-docker: "npm:^2.2.1" - js-yaml: "npm:^4.1.0" - json-colorizer: "npm:^2.2.2" - json-cycle: "npm:^1.5.0" - json-refs: "npm:^3.0.15" - lodash: "npm:^4.17.21" - memoizee: "npm:^0.4.15" - micromatch: "npm:^4.0.5" - node-fetch: "npm:^2.6.11" - npm-registry-utilities: "npm:^1.0.0" - object-hash: "npm:^3.0.0" - open: "npm:^8.4.2" - path2: "npm:^0.1.0" - process-utils: "npm:^4.0.0" - promise-queue: "npm:^2.2.5" - require-from-string: "npm:^2.0.2" - semver: "npm:^7.5.3" - signal-exit: "npm:^3.0.7" - stream-buffers: "npm:^3.0.2" - strip-ansi: "npm:^6.0.1" - supports-color: "npm:^8.1.1" - tar: "npm:^6.1.15" - timers-ext: "npm:^0.1.7" - type: "npm:^2.7.2" - untildify: "npm:^4.0.0" - uuid: "npm:^9.0.0" - ws: "npm:^7.5.9" - yaml-ast-parser: "npm:0.0.43" - bin: - serverless: bin/serverless.js - sls: bin/serverless.js - checksum: 10c0/4310d754610bc9a808ef5c92f2e8d9818e2af369228c9250568081b0a795d088b94d28debf5d1ca6e082417ab17b528d163b0b5e312f362c3c8b45aff339ca94 - languageName: node - linkType: hard - -"set-cookie-parser@npm:^2.3.5": - version: 2.7.1 - resolution: "set-cookie-parser@npm:2.7.1" - checksum: 10c0/060c198c4c92547ac15988256f445eae523f57f2ceefeccf52d30d75dedf6bff22b9c26f756bd44e8e560d44ff4ab2130b178bd2e52ef5571bf7be3bd7632d9a + checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea languageName: node linkType: hard @@ -14158,29 +9173,6 @@ __metadata: languageName: node linkType: hard -"setimmediate@npm:^1.0.5": - version: 1.0.5 - resolution: "setimmediate@npm:1.0.5" - checksum: 10c0/5bae81bfdbfbd0ce992893286d49c9693c82b1bcc00dcaaf3a09c8f428fdeacf4190c013598b81875dfac2b08a572422db7df779a99332d0fce186d15a3e4d49 - languageName: node - linkType: hard - -"shallowequal@npm:1.1.0": - version: 1.1.0 - resolution: "shallowequal@npm:1.1.0" - checksum: 10c0/b926efb51cd0f47aa9bc061add788a4a650550bbe50647962113a4579b60af2abe7b62f9b02314acc6f97151d4cf87033a2b15fc20852fae306d1a095215396c - languageName: node - linkType: hard - -"shebang-command@npm:^1.2.0": - version: 1.2.0 - resolution: "shebang-command@npm:1.2.0" - dependencies: - shebang-regex: "npm:^1.0.0" - checksum: 10c0/7b20dbf04112c456b7fc258622dafd566553184ac9b6938dd30b943b065b21dabd3776460df534cc02480db5e1b6aec44700d985153a3da46e7db7f9bd21326d - languageName: node - linkType: hard - "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -14190,13 +9182,6 @@ __metadata: languageName: node linkType: hard -"shebang-regex@npm:^1.0.0": - version: 1.0.0 - resolution: "shebang-regex@npm:1.0.0" - checksum: 10c0/9abc45dee35f554ae9453098a13fdc2f1730e525a5eb33c51f096cc31f6f10a4b38074c1ebf354ae7bffa7229506083844008dfc3bb7818228568c0b2dc1fff2 - languageName: node - linkType: hard - "shebang-regex@npm:^3.0.0": version: 3.0.0 resolution: "shebang-regex@npm:3.0.0" @@ -14204,62 +9189,6 @@ __metadata: languageName: node linkType: hard -"should-equal@npm:^2.0.0": - version: 2.0.0 - resolution: "should-equal@npm:2.0.0" - dependencies: - should-type: "npm:^1.4.0" - checksum: 10c0/b375e1da2586671e2b9442ac5b700af508f56438af9923f69123b1fe4e02ccddc9a8a3eb803447a6df91e616cec236c41d6f28fdaa100467f9fdb81651089538 - languageName: node - linkType: hard - -"should-format@npm:^3.0.3": - version: 3.0.3 - resolution: "should-format@npm:3.0.3" - dependencies: - should-type: "npm:^1.3.0" - should-type-adaptors: "npm:^1.0.1" - checksum: 10c0/ef2a31148d79a3fabd0dc6c1c1b10f90d9e071ad8e1f99452bd01e8aceaca62985b43974cf8103185fa1a3ade85947c6f664e44ca9af253afd1ce93c223bd8e4 - languageName: node - linkType: hard - -"should-type-adaptors@npm:^1.0.1": - version: 1.1.0 - resolution: "should-type-adaptors@npm:1.1.0" - dependencies: - should-type: "npm:^1.3.0" - should-util: "npm:^1.0.0" - checksum: 10c0/cf127f8807f69ace9db04dbec3f274330a854405feef9821b5fa525748961da65747869cca36c813132b98757bd3e42d53541579cb16630ccf3c0dd9c0082320 - languageName: node - linkType: hard - -"should-type@npm:^1.3.0, should-type@npm:^1.4.0": - version: 1.4.0 - resolution: "should-type@npm:1.4.0" - checksum: 10c0/50cb50d776ee117b151068367c09ec12ac8e6f5fe2bd4d167413972813f06e930fe8624232a56c335846d3afcb784455f9a9690baa4350b3919bd001f0c4c94b - languageName: node - linkType: hard - -"should-util@npm:^1.0.0": - version: 1.0.1 - resolution: "should-util@npm:1.0.1" - checksum: 10c0/1790719e05eae9edae86e44cbbad98529bd333df3f7cdfd63ea80acb6af718990e70abbc173aa9ccb93fff5ab6ee08d38412d707ff4003840be2256a278a61f3 - languageName: node - linkType: hard - -"should@npm:^13.2.1": - version: 13.2.3 - resolution: "should@npm:13.2.3" - dependencies: - should-equal: "npm:^2.0.0" - should-format: "npm:^3.0.3" - should-type: "npm:^1.4.0" - should-type-adaptors: "npm:^1.0.1" - should-util: "npm:^1.0.0" - checksum: 10c0/99581d8615f6fb27cd23c9f431cfacef58d118a90d0cccf58775b90631a47441397cfbdcbe6379e2718e9e60f293e3dfc0e87857f4b5a36fe962814e46ab05fa - languageName: node - linkType: hard - "side-channel-list@npm:^1.0.0": version: 1.0.0 resolution: "side-channel-list@npm:1.0.0" @@ -14315,45 +9244,21 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.2": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 languageName: node linkType: hard -"signal-exit@npm:^4.0.1": +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": version: 4.1.0 resolution: "signal-exit@npm:4.1.0" checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 languageName: node linkType: hard -"simple-git@npm:^3.16.0": - version: 3.27.0 - resolution: "simple-git@npm:3.27.0" - dependencies: - "@kwsites/file-exists": "npm:^1.1.1" - "@kwsites/promise-deferred": "npm:^1.1.1" - debug: "npm:^4.3.5" - checksum: 10c0/ef56cabea585377d3e0ca30e4e93447f465d91f23eaf751693cc31f366b5f7636facf52ad5bcd598bfdf295fa60732e7a394303d378995b52e2d221d92e5f9f4 - languageName: node - linkType: hard - -"simple-websocket@npm:^9.0.0": - version: 9.1.0 - resolution: "simple-websocket@npm:9.1.0" - dependencies: - debug: "npm:^4.3.1" - queue-microtask: "npm:^1.2.2" - randombytes: "npm:^2.1.0" - readable-stream: "npm:^3.6.0" - ws: "npm:^7.4.2" - checksum: 10c0/fc245963d54d5a6647d407b9f6ad46da14e90479e0f150c62a94a22fd17e578412f110678a70641fe0a849165051327243edbfe9a886cb19ddf94154881cde5c - languageName: node - linkType: hard - -"sirv@npm:^3.0.0": +"sirv@npm:^3.0.1": version: 3.0.1 resolution: "sirv@npm:3.0.1" dependencies: @@ -14364,17 +9269,14 @@ __metadata: languageName: node linkType: hard -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b - languageName: node - linkType: hard - -"slugify@npm:~1.4.7": - version: 1.4.7 - resolution: "slugify@npm:1.4.7" - checksum: 10c0/27d31bac7bd28a7a702ab7b18996d2a41086d81a97cdc5487f131d7cedb009a745bcd10c8b263e48deb9f055e6c5a6b0bdb37f1156d5dd29b66f8ba981945302 +"slice-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "slice-ansi@npm:4.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + astral-regex: "npm:^2.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + checksum: 10c0/6c25678db1270d4793e0327620f1e0f9f5bea4630123f51e9e399191bc52c87d6e6de53ed33538609e5eacbd1fab769fae00f3705d08d029f02102a540648918 languageName: node linkType: hard @@ -14385,16 +9287,6 @@ __metadata: languageName: node linkType: hard -"snake-case@npm:^3.0.4": - version: 3.0.4 - resolution: "snake-case@npm:3.0.4" - dependencies: - dot-case: "npm:^3.0.4" - tslib: "npm:^2.0.3" - checksum: 10c0/ab19a913969f58f4474fe9f6e8a026c8a2142a01f40b52b79368068343177f818cdfef0b0c6b9558f298782441d5ca8ed5932eb57822439fad791d866e62cecd - languageName: node - linkType: hard - "socks-proxy-agent@npm:^8.0.3": version: 8.0.5 resolution: "socks-proxy-agent@npm:8.0.5" @@ -14407,30 +9299,12 @@ __metadata: linkType: hard "socks@npm:^2.8.3": - version: 2.8.4 - resolution: "socks@npm:2.8.4" + version: 2.8.5 + resolution: "socks@npm:2.8.5" dependencies: ip-address: "npm:^9.0.5" smart-buffer: "npm:^4.2.0" - checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 - languageName: node - linkType: hard - -"sort-keys-length@npm:^1.0.0": - version: 1.0.1 - resolution: "sort-keys-length@npm:1.0.1" - dependencies: - sort-keys: "npm:^1.0.0" - checksum: 10c0/4567d08aa859c7e48b7e2cba14a8ae09a100f6a3bd7cf5d21dccd808d6332c945b9a7e2230a95c16e0e6eac1a943cd050ae51a5d1b4c8ec4b1e89a5801be9aa2 - languageName: node - linkType: hard - -"sort-keys@npm:^1.0.0": - version: 1.1.2 - resolution: "sort-keys@npm:1.1.2" - dependencies: - is-plain-obj: "npm:^1.0.0" - checksum: 10c0/5dd383b0299a40277051f7498c3999520138e2eb50d422962f658738341c9e82349fad4a3024d5ba1a3122688fbaf958f2a472d4c53bade55515097c2ce15420 + checksum: 10c0/e427d0eb0451cfd04e20b9156ea8c0e9b5e38a8d70f21e55c30fbe4214eda37cfc25d782c63f9adc5fbdad6d062a0f127ef2cefc9a44b6fee2b9ea5d1ed10827 languageName: node linkType: hard @@ -14441,16 +9315,6 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:0.5.13": - version: 0.5.13 - resolution: "source-map-support@npm:0.5.13" - dependencies: - buffer-from: "npm:^1.0.0" - source-map: "npm:^0.6.0" - checksum: 10c0/137539f8c453fa0f496ea42049ab5da4569f96781f6ac8e5bfda26937be9494f4e8891f523c5f98f0e85f71b35d74127a00c46f83f6a4f54672b58d53202565e - languageName: node - linkType: hard - "source-map-support@npm:0.5.19": version: 0.5.19 resolution: "source-map-support@npm:0.5.19" @@ -14471,22 +9335,13 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.6.0, source-map@npm:^0.6.1": +"source-map@npm:^0.6.0": version: 0.6.1 resolution: "source-map@npm:0.6.1" checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 languageName: node linkType: hard -"split2@npm:^3.1.1, split2@npm:^3.2.2": - version: 3.2.2 - resolution: "split2@npm:3.2.2" - dependencies: - readable-stream: "npm:^3.0.0" - checksum: 10c0/2dad5603c52b353939befa3e2f108f6e3aff42b204ad0f5f16dd12fd7c2beab48d117184ce6f7c8854f9ee5ffec6faae70d243711dd7d143a9f635b4a285de4e - languageName: node - linkType: hard - "sprintf-js@npm:^1.1.3": version: 1.1.3 resolution: "sprintf-js@npm:1.1.3" @@ -14501,15 +9356,6 @@ __metadata: languageName: node linkType: hard -"sprintf-kit@npm:^2.0.1, sprintf-kit@npm:^2.0.2": - version: 2.0.2 - resolution: "sprintf-kit@npm:2.0.2" - dependencies: - es5-ext: "npm:^0.10.64" - checksum: 10c0/357df864807af1d9c441d7e2c458c2e846513ae9124b782fc90a7ab8a73e9e18abf279d8e0f3d55f8bf94ef0f9eaab1522c521de9d817bc7e2d024f816a0b7c9 - languageName: node - linkType: hard - "ssri@npm:^12.0.0": version: 12.0.0 resolution: "ssri@npm:12.0.0" @@ -14519,15 +9365,6 @@ __metadata: languageName: node linkType: hard -"stack-utils@npm:^2.0.3": - version: 2.0.6 - resolution: "stack-utils@npm:2.0.6" - dependencies: - escape-string-regexp: "npm:^2.0.0" - checksum: 10c0/651c9f87667e077584bbe848acaecc6049bc71979f1e9a46c7b920cad4431c388df0f51b8ad7cfd6eed3db97a2878d0fc8b3122979439ea8bac29c61c95eec8a - languageName: node - linkType: hard - "stackback@npm:0.0.2": version: 0.0.2 resolution: "stackback@npm:0.0.2" @@ -14535,49 +9372,43 @@ __metadata: languageName: node linkType: hard -"std-env@npm:^3.8.0": - version: 3.8.1 - resolution: "std-env@npm:3.8.1" - checksum: 10c0/e9b19cca6bc6f06f91607db5b636662914ca8ec9efc525a99da6ec7e493afec109d3b017d21d9782b4369fcfb2891c7c4b4e3c60d495fdadf6861ce434e07bf8 - languageName: node - linkType: hard - -"stickyfill@npm:^1.1.1": - version: 1.1.1 - resolution: "stickyfill@npm:1.1.1" - checksum: 10c0/8f11804fd3bba852cf3277dc4d6366a2bd592d3f7f3d9ab30b7adab4190a20e1296960b5107257081645b0d28afcbbab9f80e347cc425f2cd72b0a4f6917b4ab - languageName: node - linkType: hard - -"stream-buffers@npm:^3.0.2": - version: 3.0.3 - resolution: "stream-buffers@npm:3.0.3" - checksum: 10c0/d052e6344fba340b27dfbe8d6568f600b7f81fdc57b2659e82c8d58a3ef855a4852c56736b1078a511a7f4458db96ee89b11c42c96d116b9073a99deb29a6f05 +"std-env@npm:^3.9.0": + version: 3.9.0 + resolution: "std-env@npm:3.9.0" + checksum: 10c0/4a6f9218aef3f41046c3c7ecf1f98df00b30a07f4f35c6d47b28329bc2531eef820828951c7d7b39a1c5eb19ad8a46e3ddfc7deb28f0a2f3ceebee11bab7ba50 languageName: node linkType: hard -"stream-promise@npm:^3.2.0": - version: 3.2.0 - resolution: "stream-promise@npm:3.2.0" +"stop-iteration-iterator@npm:^1.1.0": + version: 1.1.0 + resolution: "stop-iteration-iterator@npm:1.1.0" dependencies: - 2-thenable: "npm:^1.0.0" - es5-ext: "npm:^0.10.49" - is-stream: "npm:^1.1.0" - checksum: 10c0/0f5d27b647846e56df4f947ad0e8c2a8ea7841c763f85f5ba44a9e4f1afbfe74f71f877c2da911e2af8cd7306bcb94263b49b6d8a58d3a8e3f57db14273c651a + es-errors: "npm:^1.3.0" + internal-slot: "npm:^1.1.0" + checksum: 10c0/de4e45706bb4c0354a4b1122a2b8cc45a639e86206807ce0baf390ee9218d3ef181923fa4d2b67443367c491aa255c5fbaa64bb74648e3c5b48299928af86c09 languageName: node linkType: hard -"string-length@npm:^4.0.1": - version: 4.0.2 - resolution: "string-length@npm:4.0.2" - dependencies: - char-regex: "npm:^1.0.2" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/1cd77409c3d7db7bc59406f6bcc9ef0783671dcbabb23597a1177c166906ef2ee7c8290f78cae73a8aec858768f189d2cb417797df5e15ec4eb5e16b3346340c +"store-parameters@npm:^1.0.6": + version: 1.0.6 + resolution: "store-parameters@npm:1.0.6" + dependencies: + "@aws-sdk/client-ssm": "npm:^3.864.0" + "@aws-sdk/credential-providers": "npm:^3.864.0" + "@inquirer/prompts": "npm:^5.5.0" + "@json2csv/formatters": "npm:^7.0.6" + "@json2csv/node": "npm:^7.0.6" + "@oclif/core": "npm:^4" + "@oclif/plugin-help": "npm:^6" + chalk: "npm:^5.4.1" + csvtojson: "npm:^2.0.10" + bin: + store-parameters: bin/run.js + checksum: 10c0/5d1120b5687845ea07c57d0dbdc7d27962fb275b072d4f60b7c70ee07ee477adf5b90a9a0a574bd20db405037105647bf3d6b32d6b976a684fafffb11a23d156 languageName: node linkType: hard -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -14656,7 +9487,7 @@ __metadata: languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.8, string.prototype.trimend@npm:^1.0.9": +"string.prototype.trimend@npm:^1.0.9": version: 1.0.9 resolution: "string.prototype.trimend@npm:1.0.9" dependencies: @@ -14679,7 +9510,7 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": +"string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" dependencies: @@ -14688,15 +9519,6 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:~1.1.1": - version: 1.1.1 - resolution: "string_decoder@npm:1.1.1" - dependencies: - safe-buffer: "npm:~5.1.0" - checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e - languageName: node - linkType: hard - "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -14715,33 +9537,19 @@ __metadata: languageName: node linkType: hard -"strip-bom@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-bom@npm:3.0.0" - checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 - languageName: node - linkType: hard - -"strip-bom@npm:^4.0.0": - version: 4.0.0 - resolution: "strip-bom@npm:4.0.0" - checksum: 10c0/26abad1172d6bc48985ab9a5f96c21e440f6e7e476686de49be813b5a59b3566dccb5c525b831ec54fe348283b47f3ffb8e080bc3f965fde12e84df23f6bb7ef - languageName: node - linkType: hard - -"strip-dirs@npm:^2.0.0": - version: 2.1.0 - resolution: "strip-dirs@npm:2.1.0" +"strip-bom@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-bom@npm:2.0.0" dependencies: - is-natural-number: "npm:^4.0.1" - checksum: 10c0/073d6d08331ec2e87afc2c2535d7336fee1d63797384045e4ecb9908a5ac6615022ee000cc278d6bbc94147bed7350f7cf4657b6d18c377813f37e7ae329fb52 + is-utf8: "npm:^0.2.0" + checksum: 10c0/4fcbb248af1d5c1f2d710022b7d60245077e7942079bfb7ef3fc8c1ae78d61e96278525ba46719b15ab12fced5c7603777105bc898695339d7c97c64d300ed0b languageName: node linkType: hard -"strip-final-newline@npm:^2.0.0": - version: 2.0.0 - resolution: "strip-final-newline@npm:2.0.0" - checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 languageName: node linkType: hard @@ -14752,93 +9560,19 @@ __metadata: languageName: node linkType: hard -"strip-outer@npm:^1.0.1": - version: 1.0.1 - resolution: "strip-outer@npm:1.0.1" - dependencies: - escape-string-regexp: "npm:^1.0.2" - checksum: 10c0/c0f38e6f37563d878a221b1c76f0822f180ec5fc39be5ada30ee637a7d5b59d19418093bad2b4db1e69c40d7a7a7ac50828afce07276cf3d51ac8965cb140dfb - languageName: node - linkType: hard - -"strnum@npm:^1.0.5, strnum@npm:^1.1.1": - version: 1.1.2 - resolution: "strnum@npm:1.1.2" - checksum: 10c0/a0fce2498fa3c64ce64a40dada41beb91cabe3caefa910e467dc0518ef2ebd7e4d10f8c2202a6104f1410254cae245066c0e94e2521fb4061a5cb41831952392 - languageName: node - linkType: hard - -"strtok3@npm:^6.2.4": - version: 6.3.0 - resolution: "strtok3@npm:6.3.0" - dependencies: - "@tokenizer/token": "npm:^0.3.0" - peek-readable: "npm:^4.1.0" - checksum: 10c0/8f1483a2a6758404502f2fc431586fcf37d747b10b125596ab5ec92319c247dd1195f82ba0bc2eaa582db3d807b5cca4b67ff61411756fec6622d051f8e255c2 - languageName: node - linkType: hard - -"styled-components@npm:^6.0.7": - version: 6.1.16 - resolution: "styled-components@npm:6.1.16" - dependencies: - "@emotion/is-prop-valid": "npm:1.2.2" - "@emotion/unitless": "npm:0.8.1" - "@types/stylis": "npm:4.2.5" - css-to-react-native: "npm:3.2.0" - csstype: "npm:3.1.3" - postcss: "npm:8.4.49" - shallowequal: "npm:1.1.0" - stylis: "npm:4.3.2" - tslib: "npm:2.6.2" - peerDependencies: - react: ">= 16.8.0" - react-dom: ">= 16.8.0" - checksum: 10c0/190d6d5dc9099489fac37e23be5bda7fef399ca9f9230f1de81100b98ec1c75070ef5990241c007126d97f40069d3c864f4239e185161a70ff111dd3e3bf5370 - languageName: node - linkType: hard - -"stylis@npm:4.3.2": - version: 4.3.2 - resolution: "stylis@npm:4.3.2" - checksum: 10c0/0410e1404cbeee3388a9e17587875211ce2f014c8379af0d1e24ca55878867c9f1ccc7b0ce9a156ca53f5d6e301391a82b0645522a604674a378b3189a4a1994 - languageName: node - linkType: hard - -"superagent@npm:^7.1.6": - version: 7.1.6 - resolution: "superagent@npm:7.1.6" - dependencies: - component-emitter: "npm:^1.3.0" - cookiejar: "npm:^2.1.3" - debug: "npm:^4.3.4" - fast-safe-stringify: "npm:^2.1.1" - form-data: "npm:^4.0.0" - formidable: "npm:^2.0.1" - methods: "npm:^1.1.2" - mime: "npm:2.6.0" - qs: "npm:^6.10.3" - readable-stream: "npm:^3.6.0" - semver: "npm:^7.3.7" - checksum: 10c0/af956af1524dda3878df6f694d62bddb63daa747c2a429984b7304e4a5d355b81caaeb5d2049cdbeba207abba06b0d215008755a4f1b4d2c823e0eeaf6a4fad4 - languageName: node - linkType: hard - -"supports-color@npm:^5.3.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" +"strip-literal@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-literal@npm:3.0.0" dependencies: - has-flag: "npm:^3.0.0" - checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + js-tokens: "npm:^9.0.1" + checksum: 10c0/d81657f84aba42d4bbaf2a677f7e7f34c1f3de5a6726db8bc1797f9c0b303ba54d4660383a74bde43df401cf37cce1dff2c842c55b077a4ceee11f9e31fba828 languageName: node linkType: hard -"supports-color@npm:^6.1.0": - version: 6.1.0 - resolution: "supports-color@npm:6.1.0" - dependencies: - has-flag: "npm:^3.0.0" - checksum: 10c0/ebf2befe41b55932c6d77192b91775f1403c389440ce2dab6f72663cf32ee87a1d9dea3512131a18e45ccac91424a8873b266142828489d0206d65ee93d224b6 +"strnum@npm:^2.1.0": + version: 2.1.1 + resolution: "strnum@npm:2.1.1" + checksum: 10c0/1f9bd1f9b4c68333f25c2b1f498ea529189f060cd50aa59f1876139c994d817056de3ce57c12c970f80568d75df2289725e218bd9e3cdf73cd1a876c9c102733 languageName: node linkType: hard @@ -14851,7 +9585,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^8.0.0, supports-color@npm:^8.1.1": +"supports-color@npm:^8": version: 8.1.1 resolution: "supports-color@npm:8.1.1" dependencies: @@ -14860,13 +9594,6 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^9.4.0": - version: 9.4.0 - resolution: "supports-color@npm:9.4.0" - checksum: 10c0/6c24e6b2b64c6a60e5248490cfa50de5924da32cf09ae357ad8ebbf305cc5d2717ba705a9d4cb397d80bbf39417e8fdc8d7a0ce18bd0041bf7b5b456229164e4 - languageName: node - linkType: hard - "supports-preserve-symlinks-flag@npm:^1.0.0": version: 1.0.0 resolution: "supports-preserve-symlinks-flag@npm:1.0.0" @@ -14874,55 +9601,29 @@ __metadata: languageName: node linkType: hard -"swagger2openapi@npm:^7.0.8": - version: 7.0.8 - resolution: "swagger2openapi@npm:7.0.8" - dependencies: - call-me-maybe: "npm:^1.0.1" - node-fetch: "npm:^2.6.1" - node-fetch-h2: "npm:^2.3.0" - node-readfiles: "npm:^0.2.0" - oas-kit-common: "npm:^1.0.8" - oas-resolver: "npm:^2.5.6" - oas-schema-walker: "npm:^1.1.5" - oas-validator: "npm:^5.0.8" - reftools: "npm:^1.1.9" - yaml: "npm:^1.10.0" - yargs: "npm:^17.0.1" - bin: - boast: boast.js - oas-validate: oas-validate.js - swagger2openapi: swagger2openapi.js - checksum: 10c0/441a4d3a7d353f99395b14a0c8d6124be6390f2f8aa53336905e7314a7f80b66f5f2a40ac0dc2dbe2f7bc01f52a223a94f54a2ece345095fd3ad8ae8b03d688b - languageName: node - linkType: hard - -"synckit@npm:^0.11.0": - version: 0.11.4 - resolution: "synckit@npm:0.11.4" +"synckit@npm:^0.11.7": + version: 0.11.8 + resolution: "synckit@npm:0.11.8" dependencies: - "@pkgr/core": "npm:^0.2.3" - tslib: "npm:^2.8.1" - checksum: 10c0/dd2965a37c93c0b652bf07b1fd8d1639a803b65cf34c0cb1b827b8403044fc3b09ec87f681d922a324825127ee95b2e0394e7caccb502f407892d63e903c5276 + "@pkgr/core": "npm:^0.2.4" + checksum: 10c0/a1de5131ee527512afcaafceb2399b2f3e63678e56b831e1cb2dc7019c972a8b654703a3b94ef4166868f87eb984ea252b467c9d9e486b018ec2e6a55c24dfd8 languageName: node linkType: hard -"tar-stream@npm:^1.5.2": - version: 1.6.2 - resolution: "tar-stream@npm:1.6.2" +"table@npm:^6.9.0": + version: 6.9.0 + resolution: "table@npm:6.9.0" dependencies: - bl: "npm:^1.0.0" - buffer-alloc: "npm:^1.2.0" - end-of-stream: "npm:^1.0.0" - fs-constants: "npm:^1.0.0" - readable-stream: "npm:^2.3.0" - to-buffer: "npm:^1.1.1" - xtend: "npm:^4.0.0" - checksum: 10c0/ab8528d2cc9ccd0906d1ce6d8089030b2c92a578c57645ff4971452c8c5388b34c7152c04ed64b8510d22a66ffaf0fee58bada7d6ab41ad1e816e31993d59cf3 + ajv: "npm:^8.0.1" + lodash.truncate: "npm:^4.4.2" + slice-ansi: "npm:^4.0.0" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/35646185712bb65985fbae5975dda46696325844b78735f95faefae83e86df0a265277819a3e67d189de6e858c509b54e66ca3958ffd51bde56ef1118d455bf4 languageName: node linkType: hard -"tar-stream@npm:^2.2.0, tar-stream@npm:~2.2.0": +"tar-stream@npm:~2.2.0": version: 2.2.0 resolution: "tar-stream@npm:2.2.0" dependencies: @@ -14935,20 +9636,6 @@ __metadata: languageName: node linkType: hard -"tar@npm:^6.1.15": - version: 6.2.1 - resolution: "tar@npm:6.2.1" - dependencies: - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - minipass: "npm:^5.0.0" - minizlib: "npm:^2.1.1" - mkdirp: "npm:^1.0.3" - yallist: "npm:^4.0.0" - checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 - languageName: node - linkType: hard - "tar@npm:^7.4.3": version: 7.4.3 resolution: "tar@npm:7.4.3" @@ -14963,17 +9650,6 @@ __metadata: languageName: node linkType: hard -"test-exclude@npm:^6.0.0": - version: 6.0.0 - resolution: "test-exclude@npm:6.0.0" - dependencies: - "@istanbuljs/schema": "npm:^0.1.2" - glob: "npm:^7.1.4" - minimatch: "npm:^3.0.4" - checksum: 10c0/019d33d81adff3f9f1bfcff18125fb2d3c65564f437d9be539270ee74b994986abb8260c7c2ce90e8f30162178b09dbbce33c6389273afac4f36069c48521f57 - languageName: node - linkType: hard - "test-exclude@npm:^7.0.1": version: 7.0.1 resolution: "test-exclude@npm:7.0.1" @@ -14985,30 +9661,6 @@ __metadata: languageName: node linkType: hard -"throat@npm:^5.0.0": - version: 5.0.0 - resolution: "throat@npm:5.0.0" - checksum: 10c0/1b9c661dabf93ff9026fecd781ccfd9b507c41b9d5e581614884fffd09f3f9ebfe26d3be668ccf904fd324dd3f6efe1a3ec7f83e91b1dff9fdcc6b7d39b8bfe3 - languageName: node - linkType: hard - -"through@npm:^2.3.6, through@npm:^2.3.8": - version: 2.3.8 - resolution: "through@npm:2.3.8" - checksum: 10c0/4b09f3774099de0d4df26d95c5821a62faee32c7e96fb1f4ebd54a2d7c11c57fe88b0a0d49cf375de5fee5ae6bf4eb56dbbf29d07366864e2ee805349970d3cc - languageName: node - linkType: hard - -"timers-ext@npm:^0.1.7": - version: 0.1.8 - resolution: "timers-ext@npm:0.1.8" - dependencies: - es5-ext: "npm:^0.10.64" - next-tick: "npm:^1.1.0" - checksum: 10c0/d0222d0c171d08df69e51462e3fa2085744d13f8ac82b27597db05db1a09bc4244e03ea3cebe89ba279fd43f45daa39156acbe5b6ae5a9b9d62d300543312533 - languageName: node - linkType: hard - "tinybench@npm:^2.9.0": version: 2.9.0 resolution: "tinybench@npm:2.9.0" @@ -15016,41 +9668,41 @@ __metadata: languageName: node linkType: hard -"tinyexec@npm:^0.3.1": +"tinyexec@npm:^0.3.2": version: 0.3.2 resolution: "tinyexec@npm:0.3.2" checksum: 10c0/3efbf791a911be0bf0821eab37a3445c2ba07acc1522b1fa84ae1e55f10425076f1290f680286345ed919549ad67527d07281f1c19d584df3b74326909eb1f90 languageName: node linkType: hard -"tinyglobby@npm:^0.2.10": - version: 0.2.12 - resolution: "tinyglobby@npm:0.2.12" +"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13, tinyglobby@npm:^0.2.14": + version: 0.2.14 + resolution: "tinyglobby@npm:0.2.14" dependencies: - fdir: "npm:^6.4.3" + fdir: "npm:^6.4.4" picomatch: "npm:^4.0.2" - checksum: 10c0/7c9be4fd3625630e262dcb19015302aad3b4ba7fc620f269313e688f2161ea8724d6cb4444baab5ef2826eb6bed72647b169a33ec8eea37501832a2526ff540f + checksum: 10c0/f789ed6c924287a9b7d3612056ed0cda67306cd2c80c249fd280cf1504742b12583a2089b61f4abbd24605f390809017240e250241f09938054c9b363e51c0a6 languageName: node linkType: hard -"tinypool@npm:^1.0.1": - version: 1.0.2 - resolution: "tinypool@npm:1.0.2" - checksum: 10c0/31ac184c0ff1cf9a074741254fe9ea6de95026749eb2b8ec6fd2b9d8ca94abdccda731f8e102e7f32e72ed3b36d32c6975fd5f5523df3f1b6de6c3d8dfd95e63 +"tinypool@npm:^1.1.1": + version: 1.1.1 + resolution: "tinypool@npm:1.1.1" + checksum: 10c0/bf26727d01443061b04fa863f571016950888ea994ba0cd8cba3a1c51e2458d84574341ab8dbc3664f1c3ab20885c8cf9ff1cc4b18201f04c2cde7d317fff69b languageName: node linkType: hard -"tinyrainbow@npm:^1.2.0": - version: 1.2.0 - resolution: "tinyrainbow@npm:1.2.0" - checksum: 10c0/7f78a4b997e5ba0f5ecb75e7ed786f30bab9063716e7dff24dd84013fb338802e43d176cb21ed12480561f5649a82184cf31efb296601a29d38145b1cdb4c192 +"tinyrainbow@npm:^2.0.0": + version: 2.0.0 + resolution: "tinyrainbow@npm:2.0.0" + checksum: 10c0/c83c52bef4e0ae7fb8ec6a722f70b5b6fa8d8be1c85792e829f56c0e1be94ab70b293c032dc5048d4d37cfe678f1f5babb04bdc65fd123098800148ca989184f languageName: node linkType: hard -"tinyspy@npm:^3.0.2": - version: 3.0.2 - resolution: "tinyspy@npm:3.0.2" - checksum: 10c0/55ffad24e346622b59292e097c2ee30a63919d5acb7ceca87fc0d1c223090089890587b426e20054733f97a58f20af2c349fb7cc193697203868ab7ba00bcea0 +"tinyspy@npm:^4.0.3": + version: 4.0.3 + resolution: "tinyspy@npm:4.0.3" + checksum: 10c0/0a92a18b5350945cc8a1da3a22c9ad9f4e2945df80aaa0c43e1b3a3cfb64d8501e607ebf0305e048e3c3d3e0e7f8eb10cea27dc17c21effb73e66c4a3be36373 languageName: node linkType: hard @@ -15070,36 +9722,12 @@ __metadata: languageName: node linkType: hard -"tmpl@npm:1.0.5": - version: 1.0.5 - resolution: "tmpl@npm:1.0.5" - checksum: 10c0/f935537799c2d1922cb5d6d3805f594388f75338fe7a4a9dac41504dd539704ca4db45b883b52e7b0aa5b2fd5ddadb1452bf95cd23a69da2f793a843f9451cc9 - languageName: node - linkType: hard - -"to-buffer@npm:^1.1.1": - version: 1.1.1 - resolution: "to-buffer@npm:1.1.1" - checksum: 10c0/fb9fc6a0103f2b06e2e01c3d291586d0148759d5584f35d0973376434d1b58bd6ee5df9273f0bb1190eb2a5747c894bf49fed571325a7ac10208a48f31736439 - languageName: node - linkType: hard - "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" dependencies: is-number: "npm:^7.0.0" - checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 - languageName: node - linkType: hard - -"token-types@npm:^4.1.1": - version: 4.2.1 - resolution: "token-types@npm:4.2.1" - dependencies: - "@tokenizer/token": "npm:^0.3.0" - ieee754: "npm:^1.2.1" - checksum: 10c0/e9a4a139deba9515770cd7ac36a8f53f953b9d035d309e88a66d706760dba0df420753f2b8bdee6b9f3cbff8d66b24e69571e8dea27baa7b378229ab1bcca399 + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 languageName: node linkType: hard @@ -15110,34 +9738,16 @@ __metadata: languageName: node linkType: hard -"tr46@npm:~0.0.3": - version: 0.0.3 - resolution: "tr46@npm:0.0.3" - checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 - languageName: node - linkType: hard - -"traverse@npm:^0.6.6": - version: 0.6.11 - resolution: "traverse@npm:0.6.11" - dependencies: - gopd: "npm:^1.2.0" - typedarray.prototype.slice: "npm:^1.0.5" - which-typed-array: "npm:^1.1.18" - checksum: 10c0/2b57662da3061ed2aa9977a6a3e315fc19f2cfdeb691700a88c12f4d460146abdb4d726740f47a9ca5fa84d3c50096b76ee50047d1a71c2afb168852ad264e36 - languageName: node - linkType: hard - -"trim-repeated@npm:^1.0.0": - version: 1.0.0 - resolution: "trim-repeated@npm:1.0.0" - dependencies: - escape-string-regexp: "npm:^1.0.2" - checksum: 10c0/89acada0142ed0cdb113615a3e82fdb09e7fdb0e3504ded62762dd935bc27debfcc38edefa497dc7145d8dc8602d40dd9eec891e0ea6c28fa0cc384200b692db +"tree-kill@npm:^1.2.2": + version: 1.2.2 + resolution: "tree-kill@npm:1.2.2" + bin: + tree-kill: cli.js + checksum: 10c0/7b1b7c7f17608a8f8d20a162e7957ac1ef6cd1636db1aba92f4e072dc31818c2ff0efac1e3d91064ede67ed5dc57c565420531a8134090a12ac10cf792ab14d2 languageName: node linkType: hard -"ts-api-utils@npm:^2.0.1": +"ts-api-utils@npm:^2.1.0": version: 2.1.0 resolution: "ts-api-utils@npm:2.1.0" peerDependencies: @@ -15146,47 +9756,9 @@ __metadata: languageName: node linkType: hard -"ts-node@npm:10.9.1": - version: 10.9.1 - resolution: "ts-node@npm:10.9.1" - dependencies: - "@cspotcode/source-map-support": "npm:^0.8.0" - "@tsconfig/node10": "npm:^1.0.7" - "@tsconfig/node12": "npm:^1.0.7" - "@tsconfig/node14": "npm:^1.0.0" - "@tsconfig/node16": "npm:^1.0.2" - acorn: "npm:^8.4.1" - acorn-walk: "npm:^8.1.1" - arg: "npm:^4.1.0" - create-require: "npm:^1.1.0" - diff: "npm:^4.0.1" - make-error: "npm:^1.1.1" - v8-compile-cache-lib: "npm:^3.0.1" - yn: "npm:3.1.1" - peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" - peerDependenciesMeta: - "@swc/core": - optional: true - "@swc/wasm": - optional: true - bin: - ts-node: dist/bin.js - ts-node-cwd: dist/bin-cwd.js - ts-node-esm: dist/bin-esm.js - ts-node-script: dist/bin-script.js - ts-node-transpile-only: dist/bin-transpile.js - ts-script: dist/bin-script-deprecated.js - checksum: 10c0/95187932fb83f3901e22546bd2feeac7d2feb4f412f42ac3a595f049a23e8dcf70516dffb51866391228ea2dbcfaea039e250fb2bb334d48a86ab2b6aea0ae2d - languageName: node - linkType: hard - "tsconfck@npm:^3.0.3": - version: 3.1.5 - resolution: "tsconfck@npm:3.1.5" + version: 3.1.6 + resolution: "tsconfck@npm:3.1.6" peerDependencies: typescript: ^5.0.0 peerDependenciesMeta: @@ -15194,19 +9766,7 @@ __metadata: optional: true bin: tsconfck: bin/tsconfck.js - checksum: 10c0/9b62cd85d5702aa23ea50ea578d7124f3d59cc4518fcc7eacc04f4f9c9c481f720738ff8351bd4472247c0723a17dfd01af95a5b60ad623cdb8727fbe4881847 - languageName: node - linkType: hard - -"tsconfig-paths@npm:^3.15.0": - version: 3.15.0 - resolution: "tsconfig-paths@npm:3.15.0" - dependencies: - "@types/json5": "npm:^0.0.29" - json5: "npm:^1.0.2" - minimist: "npm:^1.2.6" - strip-bom: "npm:^3.0.0" - checksum: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5 + checksum: 10c0/269c3c513540be44844117bb9b9258fe6f8aeab026d32aeebf458d5299125f330711429dbb556dbf125a0bc25f4a81e6c24ac96de2740badd295c3fb400f66c4 languageName: node linkType: hard @@ -15221,14 +9781,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.6.2": - version: 2.6.2 - resolution: "tslib@npm:2.6.2" - checksum: 10c0/e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb - languageName: node - linkType: hard - -"tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.6.3, tslib@npm:^2.8.0, tslib@npm:^2.8.1": +"tslib@npm:^2.3.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.6.3, tslib@npm:^2.8.0, tslib@npm:^2.8.1": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 @@ -15244,13 +9797,6 @@ __metadata: languageName: node linkType: hard -"type-detect@npm:4.0.8": - version: 4.0.8 - resolution: "type-detect@npm:4.0.8" - checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd - languageName: node - linkType: hard - "type-fest@npm:^0.21.3": version: 0.21.3 resolution: "type-fest@npm:0.21.3" @@ -15258,20 +9804,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^4.37.0": - version: 4.37.0 - resolution: "type-fest@npm:4.37.0" - checksum: 10c0/5bad189f66fbe3431e5d36befa08cab6010e56be68b7467530b7ef94c3cf81ef775a8ac3047c8bbda4dd3159929285870357498d7bc1df062714f9c5c3a84926 - languageName: node - linkType: hard - -"type@npm:^2.1.0, type@npm:^2.5.0, type@npm:^2.6.0, type@npm:^2.7.2, type@npm:^2.7.3": - version: 2.7.3 - resolution: "type@npm:2.7.3" - checksum: 10c0/dec6902c2c42fcb86e3adf8cdabdf80e5ef9de280872b5fd547351e9cca2fe58dd2aa6d2547626ddff174145db272f62d95c7aa7038e27c11315657d781a688d - languageName: node - linkType: hard - "typed-array-buffer@npm:^1.0.3": version: 1.0.3 resolution: "typed-array-buffer@npm:1.0.3" @@ -15325,69 +9857,58 @@ __metadata: languageName: node linkType: hard -"typedarray.prototype.slice@npm:^1.0.5": - version: 1.0.5 - resolution: "typedarray.prototype.slice@npm:1.0.5" +"typescript-eslint@npm:^8.35.1": + version: 8.39.0 + resolution: "typescript-eslint@npm:8.39.0" dependencies: - call-bind: "npm:^1.0.8" - define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.9" - es-errors: "npm:^1.3.0" - get-proto: "npm:^1.0.1" - math-intrinsics: "npm:^1.1.0" - typed-array-buffer: "npm:^1.0.3" - typed-array-byte-offset: "npm:^1.0.4" - checksum: 10c0/4995828640f8079cfbc9e3b4b8fc2e0eeb109edd1a2596806325ae07306dba1cd947e6ed6f63391aa7d5af0ea4f40fddf1b6eb863f8a59869a9dfc5dcfd8eac2 - languageName: node - linkType: hard - -"typedarray@npm:^0.0.6": - version: 0.0.6 - resolution: "typedarray@npm:0.0.6" - checksum: 10c0/6005cb31df50eef8b1f3c780eb71a17925f3038a100d82f9406ac2ad1de5eb59f8e6decbdc145b3a1f8e5836e17b0c0002fb698b9fe2516b8f9f9ff602d36412 + "@typescript-eslint/eslint-plugin": "npm:8.39.0" + "@typescript-eslint/parser": "npm:8.39.0" + "@typescript-eslint/typescript-estree": "npm:8.39.0" + "@typescript-eslint/utils": "npm:8.39.0" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <6.0.0" + checksum: 10c0/4625a271dc18b37ab454688ded9812f30178cb79413f6fd7a7959cff834e8b0e78066d478781509c0f85e14e93126d2271576e2c9788de17d0316c385cfb75e7 languageName: node linkType: hard -"typescript-eslint@npm:^8.29.0": - version: 8.31.0 - resolution: "typescript-eslint@npm:8.31.0" - dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.31.0" - "@typescript-eslint/parser": "npm:8.31.0" - "@typescript-eslint/utils": "npm:8.31.0" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <5.9.0" - checksum: 10c0/8545887f70c4f40c4aee51d224326368f67ef5f770ba5ae9e67bfd36f4d9ab5f3414569ffaaec311893a312539934ea367a68135c6f2b0a3e175c3de59507338 +"typescript@npm:~5.8.2": + version: 5.8.3 + resolution: "typescript@npm:5.8.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/5f8bb01196e542e64d44db3d16ee0e4063ce4f3e3966df6005f2588e86d91c03e1fb131c2581baf0fb65ee79669eea6e161cd448178986587e9f6844446dbb48 languageName: node linkType: hard -"typescript@npm:5.7.3, typescript@npm:~5.7.2": - version: 5.7.3 - resolution: "typescript@npm:5.7.3" +"typescript@npm:~5.9.2": + version: 5.9.2 + resolution: "typescript@npm:5.9.2" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/b7580d716cf1824736cc6e628ab4cd8b51877408ba2be0869d2866da35ef8366dd6ae9eb9d0851470a39be17cbd61df1126f9e211d8799d764ea7431d5435afa + checksum: 10c0/cd635d50f02d6cf98ed42de2f76289701c1ec587a363369255f01ed15aaf22be0813226bff3c53e99d971f9b540e0b3cc7583dbe05faded49b1b0bed2f638a18 languageName: node linkType: hard -"typescript@patch:typescript@npm%3A5.7.3#optional!builtin, typescript@patch:typescript@npm%3A~5.7.2#optional!builtin": - version: 5.7.3 - resolution: "typescript@patch:typescript@npm%3A5.7.3#optional!builtin::version=5.7.3&hash=5786d5" +"typescript@patch:typescript@npm%3A~5.8.2#optional!builtin": + version: 5.8.3 + resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=5786d5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/6fd7e0ed3bf23a81246878c613423730c40e8bdbfec4c6e4d7bf1b847cbb39076e56ad5f50aa9d7ebd89877999abaee216002d3f2818885e41c907caaa192cc4 + checksum: 10c0/39117e346ff8ebd87ae1510b3a77d5d92dae5a89bde588c747d25da5c146603a99c8ee588c7ef80faaf123d89ed46f6dbd918d534d641083177d5fac38b8a1cb languageName: node linkType: hard -"uglify-js@npm:^3.1.4": - version: 3.19.3 - resolution: "uglify-js@npm:3.19.3" +"typescript@patch:typescript@npm%3A~5.9.2#optional!builtin": + version: 5.9.2 + resolution: "typescript@patch:typescript@npm%3A5.9.2#optional!builtin::version=5.9.2&hash=5786d5" bin: - uglifyjs: bin/uglifyjs - checksum: 10c0/83b0a90eca35f778e07cad9622b80c448b6aad457c9ff8e568afed978212b42930a95f9e1be943a1ffa4258a3340fbb899f41461131c05bb1d0a9c303aed8479 + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/34d2a8e23eb8e0d1875072064d5e1d9c102e0bdce56a10a25c0b917b8aa9001a9cf5c225df12497e99da107dc379360bc138163c66b55b95f5b105b50578067e languageName: node linkType: hard @@ -15403,43 +9924,17 @@ __metadata: languageName: node linkType: hard -"unbzip2-stream@npm:^1.0.9": - version: 1.4.3 - resolution: "unbzip2-stream@npm:1.4.3" - dependencies: - buffer: "npm:^5.2.1" - through: "npm:^2.3.8" - checksum: 10c0/2ea2048f3c9db3499316ccc1d95ff757017ccb6f46c812d7c42466247e3b863fb178864267482f7f178254214247779daf68e85f50bd7736c3c97ba2d58b910a - languageName: node - linkType: hard - -"undici-types@npm:~5.26.4": - version: 5.26.5 - resolution: "undici-types@npm:5.26.5" - checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 - languageName: node - linkType: hard - -"undici-types@npm:~6.20.0": - version: 6.20.0 - resolution: "undici-types@npm:6.20.0" - checksum: 10c0/68e659a98898d6a836a9a59e6adf14a5d799707f5ea629433e025ac90d239f75e408e2e5ff086afc3cace26f8b26ee52155293564593fbb4a2f666af57fc59bf - languageName: node - linkType: hard - -"undici@npm:^6.19.7, undici@npm:^6.21.1": - version: 6.21.2 - resolution: "undici@npm:6.21.2" - checksum: 10c0/799bbc02b77dda9b6b12d56d2620a3a4d4cf087908d6a548acc3ce32f21b5c27467f75c2c4b30fab281daf341210be3d685e8fe99854288de541715ae5735027 +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 languageName: node linkType: hard -"uni-global@npm:^1.0.0": - version: 1.0.0 - resolution: "uni-global@npm:1.0.0" - dependencies: - type: "npm:^2.5.0" - checksum: 10c0/8a2545e8fc1638a076c7e55ed66bdbea87083c612f3791254b1fb51dc3cf6b1521a844550224757ff6ad7e18adb691316d18e44c2116703fb7480d63180eefc5 +"undici-types@npm:~7.10.0": + version: 7.10.0 + resolution: "undici-types@npm:7.10.0" + checksum: 10c0/8b00ce50e235fe3cc601307f148b5e8fb427092ee3b23e8118ec0a5d7f68eca8cee468c8fc9f15cbb2cf2a3797945ebceb1cbd9732306a1d00e0a9b6afa0f635 languageName: node linkType: hard @@ -15474,6 +9969,15 @@ __metadata: languageName: node linkType: hard +"union@npm:~0.5.0": + version: 0.5.0 + resolution: "union@npm:0.5.0" + dependencies: + qs: "npm:^6.4.0" + checksum: 10c0/9ac158d99991063180e56f408f5991e808fa07594713439c098116da09215c154672ee8c832e16a6b39b037609c08bcaff8ff07c1e3e46c3cc622897972af2aa + languageName: node + linkType: hard + "unique-filename@npm:^4.0.0": version: 4.0.0 resolution: "unique-filename@npm:4.0.0" @@ -15499,14 +10003,7 @@ __metadata: languageName: node linkType: hard -"untildify@npm:^4.0.0": - version: 4.0.0 - resolution: "untildify@npm:4.0.0" - checksum: 10c0/d758e624c707d49f76f7511d75d09a8eda7f2020d231ec52b67ff4896bcf7013be3f9522d8375f57e586e9a2e827f5641c7e06ee46ab9c435fc2b2b2e9de517a - languageName: node - linkType: hard - -"update-browserslist-db@npm:^1.1.1": +"update-browserslist-db@npm:^1.1.3": version: 1.1.3 resolution: "update-browserslist-db@npm:1.1.3" dependencies: @@ -15520,31 +10017,6 @@ __metadata: languageName: node linkType: hard -"upper-case-first@npm:^2.0.2": - version: 2.0.2 - resolution: "upper-case-first@npm:2.0.2" - dependencies: - tslib: "npm:^2.0.3" - checksum: 10c0/ccad6a0b143310ebfba2b5841f30bef71246297385f1329c022c902b2b5fc5aee009faf1ac9da5ab3ba7f615b88f5dc1cd80461b18a8f38cb1d4c3eb92538ea9 - languageName: node - linkType: hard - -"upper-case@npm:^2.0.2": - version: 2.0.2 - resolution: "upper-case@npm:2.0.2" - dependencies: - tslib: "npm:^2.0.3" - checksum: 10c0/5ac176c9d3757abb71400df167f9abb46d63152d5797c630d1a9f083fbabd89711fb4b3dc6de06ff0138fe8946fa5b8518b4fcdae9ca8a3e341417075beae069 - languageName: node - linkType: hard - -"uri-js-replace@npm:^1.0.1": - version: 1.0.1 - resolution: "uri-js-replace@npm:1.0.1" - checksum: 10c0/0be6c972c84c316e29667628ce7b4ce4de7fc77cec9a514f70c4a3336eea8d1d783c71c9988ac5da333f0f6a85a04a7ae05a3c4aa43af6cd07b7a4d85c8d9f11 - languageName: node - linkType: hard - "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -15554,71 +10026,21 @@ __metadata: languageName: node linkType: hard -"url-template@npm:^2.0.8": - version: 2.0.8 - resolution: "url-template@npm:2.0.8" - checksum: 10c0/56a15057eacbcf05d52b0caed8279c8451b3dd9d32856a1fdd91c6dc84dcb1646f12bafc756b7ade62ca5b1564da8efd7baac5add35868bafb43eb024c62805b - languageName: node - linkType: hard - -"url@npm:0.10.3": - version: 0.10.3 - resolution: "url@npm:0.10.3" - dependencies: - punycode: "npm:1.3.2" - querystring: "npm:0.2.0" - checksum: 10c0/f0a1c7d99ac35dd68a8962bc7b3dd38f08d457387fc686f0669ff881b00a68eabd9cb3aded09dfbe25401d7b632fc4a9c074cb373f6a4bd1d8b5324d1d442a0d - languageName: node - linkType: hard - -"use-sync-external-store@npm:^1.4.0": - version: 1.4.0 - resolution: "use-sync-external-store@npm:1.4.0" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - checksum: 10c0/ec011a5055962c0f6b509d6e78c0b143f8cd069890ae370528753053c55e3b360d3648e76cfaa854faa7a59eb08d6c5fb1015e60ffde9046d32f5b2a295acea5 +"url-join@npm:^4.0.1": + version: 4.0.1 + resolution: "url-join@npm:4.0.1" + checksum: 10c0/ac65e2c7c562d7b49b68edddcf55385d3e922bc1dd5d90419ea40b53b6de1607d1e45ceb71efb9d60da02c681d13c6cb3a1aa8b13fc0c989dfc219df97ee992d languageName: node linkType: hard -"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": +"util-deprecate@npm:^1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 languageName: node linkType: hard -"util@npm:^0.12.4": - version: 0.12.5 - resolution: "util@npm:0.12.5" - dependencies: - inherits: "npm:^2.0.3" - is-arguments: "npm:^1.0.4" - is-generator-function: "npm:^1.0.7" - is-typed-array: "npm:^1.1.3" - which-typed-array: "npm:^1.1.2" - checksum: 10c0/c27054de2cea2229a66c09522d0fa1415fb12d861d08523a8846bf2e4cbf0079d4c3f725f09dcb87493549bcbf05f5798dce1688b53c6c17201a45759e7253f3 - languageName: node - linkType: hard - -"uuid@npm:8.0.0": - version: 8.0.0 - resolution: "uuid@npm:8.0.0" - bin: - uuid: dist/bin/uuid - checksum: 10c0/e62301a1c6102da5ce9a147b492a4b5cfa14d2e8fdf4a6ebfda7929cb72d186f84173815ec18fa4160a03bf9724b16ece3737b3ac6701815bc965f8fa4279298 - languageName: node - linkType: hard - -"uuid@npm:^8.3.2": - version: 8.3.2 - resolution: "uuid@npm:8.3.2" - bin: - uuid: dist/bin/uuid - checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 - languageName: node - linkType: hard - -"uuid@npm:^9.0.0, uuid@npm:^9.0.1": +"uuid@npm:^9.0.1": version: 9.0.1 resolution: "uuid@npm:9.0.1" bin: @@ -15627,33 +10049,6 @@ __metadata: languageName: node linkType: hard -"v8-compile-cache-lib@npm:^3.0.1": - version: 3.0.1 - resolution: "v8-compile-cache-lib@npm:3.0.1" - checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391 - languageName: node - linkType: hard - -"v8-to-istanbul@npm:^9.0.1": - version: 9.3.0 - resolution: "v8-to-istanbul@npm:9.3.0" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.12" - "@types/istanbul-lib-coverage": "npm:^2.0.1" - convert-source-map: "npm:^2.0.0" - checksum: 10c0/968bcf1c7c88c04df1ffb463c179558a2ec17aa49e49376120504958239d9e9dad5281aa05f2a78542b8557f2be0b0b4c325710262f3b838b40d703d5ed30c23 - languageName: node - linkType: hard - -"validate-npm-package-name@npm:^3.0.0": - version: 3.0.0 - resolution: "validate-npm-package-name@npm:3.0.0" - dependencies: - builtins: "npm:^1.0.3" - checksum: 10c0/064f21f59aefae6cc286dd4a50b15d14adb0227e0facab4316197dfb8d06801669e997af5081966c15f7828a5e6ff1957bd20886aeb6b9d0fa430e4cb5db9c4a - languageName: node - linkType: hard - "validate-npm-package-name@npm:^5.0.0": version: 5.0.1 resolution: "validate-npm-package-name@npm:5.0.1" @@ -15661,18 +10056,18 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:2.1.9": - version: 2.1.9 - resolution: "vite-node@npm:2.1.9" +"vite-node@npm:3.2.4": + version: 3.2.4 + resolution: "vite-node@npm:3.2.4" dependencies: cac: "npm:^6.7.14" - debug: "npm:^4.3.7" - es-module-lexer: "npm:^1.5.4" - pathe: "npm:^1.1.2" - vite: "npm:^5.0.0" + debug: "npm:^4.4.1" + es-module-lexer: "npm:^1.7.0" + pathe: "npm:^2.0.3" + vite: "npm:^5.0.0 || ^6.0.0 || ^7.0.0-0" bin: vite-node: vite-node.mjs - checksum: 10c0/0d3589f9f4e9cff696b5b49681fdb75d1638c75053728be52b4013f70792f38cb0120a9c15e3a4b22bdd6b795ad7c2da13bcaf47242d439f0906049e73bdd756 + checksum: 10c0/6ceca67c002f8ef6397d58b9539f80f2b5d79e103a18367288b3f00a8ab55affa3d711d86d9112fce5a7fa658a212a087a005a045eb8f4758947dd99af2a6c6b languageName: node linkType: hard @@ -15692,29 +10087,37 @@ __metadata: languageName: node linkType: hard -"vite@npm:5.4.8": - version: 5.4.8 - resolution: "vite@npm:5.4.8" +"vite@npm:6.3.5": + version: 6.3.5 + resolution: "vite@npm:6.3.5" dependencies: - esbuild: "npm:^0.21.3" + esbuild: "npm:^0.25.0" + fdir: "npm:^6.4.4" fsevents: "npm:~2.3.3" - postcss: "npm:^8.4.43" - rollup: "npm:^4.20.0" + picomatch: "npm:^4.0.2" + postcss: "npm:^8.5.3" + rollup: "npm:^4.34.9" + tinyglobby: "npm:^0.2.13" peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: ">=1.21.0" less: "*" lightningcss: ^1.21.0 sass: "*" sass-embedded: "*" stylus: "*" sugarss: "*" - terser: ^5.4.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 dependenciesMeta: fsevents: optional: true peerDependenciesMeta: "@types/node": optional: true + jiti: + optional: true less: optional: true lightningcss: @@ -15729,35 +10132,47 @@ __metadata: optional: true terser: optional: true + tsx: + optional: true + yaml: + optional: true bin: vite: bin/vite.js - checksum: 10c0/af70af6d6316a3af71f44ebe3ab343bd66450d4157af73af3b32239e1b6ec43ff6f651d7cc4193b21ed3bff2e9356a3de9e96aee53857f39922e4a2d9fad75a1 + checksum: 10c0/df70201659085133abffc6b88dcdb8a57ef35f742a01311fc56a4cfcda6a404202860729cc65a2c401a724f6e25f9ab40ce4339ed4946f550541531ced6fe41c languageName: node linkType: hard -"vite@npm:^5.0.0": - version: 5.4.14 - resolution: "vite@npm:5.4.14" +"vite@npm:^5.0.0 || ^6.0.0 || ^7.0.0-0": + version: 7.0.3 + resolution: "vite@npm:7.0.3" dependencies: - esbuild: "npm:^0.21.3" + esbuild: "npm:^0.25.0" + fdir: "npm:^6.4.6" fsevents: "npm:~2.3.3" - postcss: "npm:^8.4.43" - rollup: "npm:^4.20.0" + picomatch: "npm:^4.0.2" + postcss: "npm:^8.5.6" + rollup: "npm:^4.40.0" + tinyglobby: "npm:^0.2.14" peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 - less: "*" + "@types/node": ^20.19.0 || >=22.12.0 + jiti: ">=1.21.0" + less: ^4.0.0 lightningcss: ^1.21.0 - sass: "*" - sass-embedded: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 dependenciesMeta: fsevents: optional: true peerDependenciesMeta: "@types/node": optional: true + jiti: + optional: true less: optional: true lightningcss: @@ -15772,46 +10187,56 @@ __metadata: optional: true terser: optional: true + tsx: + optional: true + yaml: + optional: true bin: vite: bin/vite.js - checksum: 10c0/8842933bd70ca6a98489a0bb9c8464bec373de00f9a97c8c7a4e64b24d15c88bfaa8c1acb38a68c3e5eb49072ffbccb146842c2d4edcdd036a9802964cffe3d1 - languageName: node - linkType: hard - -"vitest@npm:^2.0.0": - version: 2.1.9 - resolution: "vitest@npm:2.1.9" - dependencies: - "@vitest/expect": "npm:2.1.9" - "@vitest/mocker": "npm:2.1.9" - "@vitest/pretty-format": "npm:^2.1.9" - "@vitest/runner": "npm:2.1.9" - "@vitest/snapshot": "npm:2.1.9" - "@vitest/spy": "npm:2.1.9" - "@vitest/utils": "npm:2.1.9" - chai: "npm:^5.1.2" - debug: "npm:^4.3.7" - expect-type: "npm:^1.1.0" - magic-string: "npm:^0.30.12" - pathe: "npm:^1.1.2" - std-env: "npm:^3.8.0" + checksum: 10c0/9173a1bf9fee82606f39c7b3e785638c1ac7f3473879fc88593f3a2093ed766140a08b845050fd790adb8a36e2cbc81b71401407da05d5dd747ae4f3adb89794 + languageName: node + linkType: hard + +"vitest@npm:^3.2.4": + version: 3.2.4 + resolution: "vitest@npm:3.2.4" + dependencies: + "@types/chai": "npm:^5.2.2" + "@vitest/expect": "npm:3.2.4" + "@vitest/mocker": "npm:3.2.4" + "@vitest/pretty-format": "npm:^3.2.4" + "@vitest/runner": "npm:3.2.4" + "@vitest/snapshot": "npm:3.2.4" + "@vitest/spy": "npm:3.2.4" + "@vitest/utils": "npm:3.2.4" + chai: "npm:^5.2.0" + debug: "npm:^4.4.1" + expect-type: "npm:^1.2.1" + magic-string: "npm:^0.30.17" + pathe: "npm:^2.0.3" + picomatch: "npm:^4.0.2" + std-env: "npm:^3.9.0" tinybench: "npm:^2.9.0" - tinyexec: "npm:^0.3.1" - tinypool: "npm:^1.0.1" - tinyrainbow: "npm:^1.2.0" - vite: "npm:^5.0.0" - vite-node: "npm:2.1.9" + tinyexec: "npm:^0.3.2" + tinyglobby: "npm:^0.2.14" + tinypool: "npm:^1.1.1" + tinyrainbow: "npm:^2.0.0" + vite: "npm:^5.0.0 || ^6.0.0 || ^7.0.0-0" + vite-node: "npm:3.2.4" why-is-node-running: "npm:^2.3.0" peerDependencies: "@edge-runtime/vm": "*" - "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 2.1.9 - "@vitest/ui": 2.1.9 + "@types/debug": ^4.1.12 + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + "@vitest/browser": 3.2.4 + "@vitest/ui": 3.2.4 happy-dom: "*" jsdom: "*" peerDependenciesMeta: "@edge-runtime/vm": optional: true + "@types/debug": + optional: true "@types/node": optional: true "@vitest/browser": @@ -15824,16 +10249,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: 10c0/e339e16dccacf4589ff43cb1f38c7b4d14427956ae8ef48702af6820a9842347c2b6c77356aeddb040329759ca508a3cb2b104ddf78103ea5bc98ab8f2c3a54e - languageName: node - linkType: hard - -"walker@npm:^1.0.8": - version: 1.0.8 - resolution: "walker@npm:1.0.8" - dependencies: - makeerror: "npm:1.0.12" - checksum: 10c0/a17e037bccd3ca8a25a80cb850903facdfed0de4864bd8728f1782370715d679fa72e0a0f5da7c1c1379365159901e5935f35be531229da53bbfc0efdabdb48e + checksum: 10c0/5bf53ede3ae6a0e08956d72dab279ae90503f6b5a05298a6a5e6ef47d2fd1ab386aaf48fafa61ed07a0ebfe9e371772f1ccbe5c258dd765206a8218bf2eb79eb languageName: node linkType: hard @@ -15846,20 +10262,12 @@ __metadata: languageName: node linkType: hard -"webidl-conversions@npm:^3.0.0": - version: 3.0.1 - resolution: "webidl-conversions@npm:3.0.1" - checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db - languageName: node - linkType: hard - -"whatwg-url@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-url@npm:5.0.0" +"whatwg-encoding@npm:^2.0.0": + version: 2.0.0 + resolution: "whatwg-encoding@npm:2.0.0" dependencies: - tr46: "npm:~0.0.3" - webidl-conversions: "npm:^3.0.0" - checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 + iconv-lite: "npm:0.6.3" + checksum: 10c0/91b90a49f312dc751496fd23a7e68981e62f33afe938b97281ad766235c4872fc4e66319f925c5e9001502b3040dd25a33b02a9c693b73a4cbbfdc4ad10c3e3e languageName: node linkType: hard @@ -15909,7 +10317,7 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18, which-typed-array@npm:^1.1.2": +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.19": version: 1.1.19 resolution: "which-typed-array@npm:1.1.19" dependencies: @@ -15924,18 +10332,7 @@ __metadata: languageName: node linkType: hard -"which@npm:^1.2.9": - version: 1.3.1 - resolution: "which@npm:1.3.1" - dependencies: - isexe: "npm:^2.0.0" - bin: - which: ./bin/which - checksum: 10c0/e945a8b6bbf6821aaaef7f6e0c309d4b615ef35699576d5489b4261da9539f70393c6b2ce700ee4321c18f914ebe5644bc4631b15466ffbaad37d83151f6af59 - languageName: node - linkType: hard - -"which@npm:^2.0.1, which@npm:^2.0.2": +"which@npm:^2.0.1": version: 2.0.2 resolution: "which@npm:2.0.2" dependencies: @@ -15969,6 +10366,15 @@ __metadata: languageName: node linkType: hard +"widest-line@npm:^3.1.0": + version: 3.1.0 + resolution: "widest-line@npm:3.1.0" + dependencies: + string-width: "npm:^4.0.0" + checksum: 10c0/b1e623adcfb9df35350dd7fc61295d6d4a1eaa65a406ba39c4b8360045b614af95ad10e05abf704936ed022569be438c4bfa02d6d031863c4166a238c301119f + languageName: node + linkType: hard + "word-wrap@npm:^1.2.5": version: 1.2.5 resolution: "word-wrap@npm:1.2.5" @@ -15994,7 +10400,7 @@ __metadata: languageName: node linkType: hard -"wrap-ansi@npm:^6.0.1": +"wrap-ansi@npm:^6.2.0": version: 6.2.0 resolution: "wrap-ansi@npm:6.2.0" dependencies: @@ -16023,67 +10429,12 @@ __metadata: languageName: node linkType: hard -"write-file-atomic@npm:^4.0.2": - version: 4.0.2 - resolution: "write-file-atomic@npm:4.0.2" - dependencies: - imurmurhash: "npm:^0.1.4" - signal-exit: "npm:^3.0.7" - checksum: 10c0/a2c282c95ef5d8e1c27b335ae897b5eca00e85590d92a3fd69a437919b7b93ff36a69ea04145da55829d2164e724bc62202cdb5f4b208b425aba0807889375c7 - languageName: node - linkType: hard - -"ws@npm:^7.4.2, ws@npm:^7.5.3, ws@npm:^7.5.9": - version: 7.5.10 - resolution: "ws@npm:7.5.10" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d - languageName: node - linkType: hard - -"ws@npm:^8.18.0": - version: 8.18.1 - resolution: "ws@npm:8.18.1" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/e498965d6938c63058c4310ffb6967f07d4fa06789d3364829028af380d299fe05762961742971c764973dce3d1f6a2633fe8b2d9410c9b52e534b4b882a99fa - languageName: node - linkType: hard - -"xml2js@npm:0.6.2": - version: 0.6.2 - resolution: "xml2js@npm:0.6.2" +"wsl-utils@npm:^0.1.0": + version: 0.1.0 + resolution: "wsl-utils@npm:0.1.0" dependencies: - sax: "npm:>=0.6.0" - xmlbuilder: "npm:~11.0.0" - checksum: 10c0/e98a84e9c172c556ee2c5afa0fc7161b46919e8b53ab20de140eedea19903ed82f7cd5b1576fb345c84f0a18da1982ddf65908129b58fc3d7cbc658ae232108f - languageName: node - linkType: hard - -"xmlbuilder@npm:~11.0.0": - version: 11.0.1 - resolution: "xmlbuilder@npm:11.0.1" - checksum: 10c0/74b979f89a0a129926bc786b913459bdbcefa809afaa551c5ab83f89b1915bdaea14c11c759284bb9b931e3b53004dbc2181e21d3ca9553eeb0b2a7b4e40c35b - languageName: node - linkType: hard - -"xtend@npm:^4.0.0": - version: 4.0.2 - resolution: "xtend@npm:4.0.2" - checksum: 10c0/366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e + is-wsl: "npm:^3.1.0" + checksum: 10c0/44318f3585eb97be994fc21a20ddab2649feaf1fbe893f1f866d936eea3d5f8c743bec6dc02e49fbdd3c0e69e9b36f449d90a0b165a4f47dd089747af4cf2377 languageName: node linkType: hard @@ -16115,39 +10466,19 @@ __metadata: languageName: node linkType: hard -"yaml-ast-parser@npm:0.0.43": - version: 0.0.43 - resolution: "yaml-ast-parser@npm:0.0.43" - checksum: 10c0/4d2f1e761067b2c6abdd882279a406f879258787af470a6d4a659cb79cb2ab056b870b25f1f80f46ed556e8b499d611d247806376f53edf3412f72c0a8ea2e98 - languageName: node - linkType: hard - -"yaml@npm:^1.10.0": +"yaml@npm:1.10.2, yaml@npm:^1.10.0": version: 1.10.2 resolution: "yaml@npm:1.10.2" checksum: 10c0/5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f languageName: node linkType: hard -"yaml@npm:^2.3.1, yaml@npm:^2.6.0": - version: 2.7.0 - resolution: "yaml@npm:2.7.0" +"yaml@npm:^2.6.0": + version: 2.8.0 + resolution: "yaml@npm:2.8.0" bin: yaml: bin.mjs - checksum: 10c0/886a7d2abbd70704b79f1d2d05fe9fb0aa63aefb86e1cb9991837dced65193d300f5554747a872b4b10ae9a12bc5d5327e4d04205f70336e863e35e89d8f4ea9 - languageName: node - linkType: hard - -"yamljs@npm:^0.3.0": - version: 0.3.0 - resolution: "yamljs@npm:0.3.0" - dependencies: - argparse: "npm:^1.0.7" - glob: "npm:^7.0.5" - bin: - json2yaml: ./bin/json2yaml - yaml2json: ./bin/yaml2json - checksum: 10c0/61bea60327c9326fc05ddc53983e0e28d019f191499e8e0bf631fa2cd233935bbce89199d852574bcc90f436a5c040e458e882aed5a143ba9e9d85621444bbc9 + checksum: 10c0/f6f7310cf7264a8107e72c1376f4de37389945d2fb4656f8060eca83f01d2d703f9d1b925dd8f39852a57034fafefde6225409ddd9f22aebfda16c6141b71858 languageName: node linkType: hard @@ -16158,44 +10489,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^20.2.2": - version: 20.2.9 - resolution: "yargs-parser@npm:20.2.9" - checksum: 10c0/0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 - languageName: node - linkType: hard - -"yargs@npm:17.0.1": - version: 17.0.1 - resolution: "yargs@npm:17.0.1" - dependencies: - cliui: "npm:^7.0.2" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.0" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^20.2.2" - checksum: 10c0/3eb39d6dd477331826ef0a4732e05777b1f3ad85a4c1e44155f278369038206e504d3a36ec12470e9a9364117685f1d5a0b01f954a1bb7edb47ec34eda254e1c - languageName: node - linkType: hard - -"yargs@npm:^16.2.0": - version: 16.2.0 - resolution: "yargs@npm:16.2.0" - dependencies: - cliui: "npm:^7.0.2" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.0" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^20.2.2" - checksum: 10c0/b1dbfefa679848442454b60053a6c95d62f2d2e21dd28def92b647587f415969173c6e99a0f3bab4f1b67ee8283bf735ebe3544013f09491186ba9e8a9a2b651 - languageName: node - linkType: hard - -"yargs@npm:^17.0.1, yargs@npm:^17.6.2": +"yargs@npm:^17.6.2": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: @@ -16210,23 +10504,6 @@ __metadata: languageName: node linkType: hard -"yauzl@npm:^2.4.2": - version: 2.10.0 - resolution: "yauzl@npm:2.10.0" - dependencies: - buffer-crc32: "npm:~0.2.3" - fd-slicer: "npm:~1.1.0" - checksum: 10c0/f265002af7541b9ec3589a27f5fb8f11cf348b53cc15e2751272e3c062cd73f3e715bc72d43257de71bbaecae446c3f1b14af7559e8ab0261625375541816422 - languageName: node - linkType: hard - -"yn@npm:3.1.1": - version: 3.1.1 - resolution: "yn@npm:3.1.1" - checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443 - languageName: node - linkType: hard - "yocto-queue@npm:^0.1.0": version: 0.1.0 resolution: "yocto-queue@npm:0.1.0" @@ -16234,13 +10511,9 @@ __metadata: languageName: node linkType: hard -"zip-stream@npm:^4.1.0": - version: 4.1.1 - resolution: "zip-stream@npm:4.1.1" - dependencies: - archiver-utils: "npm:^3.0.4" - compress-commons: "npm:^4.1.2" - readable-stream: "npm:^3.6.0" - checksum: 10c0/38f91ca116a38561cf184c29e035e9453b12c30eaf574e0993107a4a5331882b58c9a7f7b97f63910664028089fbde3296d0b3682d1ccb2ad96929e68f1b2b89 +"yoctocolors-cjs@npm:^2.1.2": + version: 2.1.2 + resolution: "yoctocolors-cjs@npm:2.1.2" + checksum: 10c0/a0e36eb88fea2c7981eab22d1ba45e15d8d268626e6c4143305e2c1628fa17ebfaa40cd306161a8ce04c0a60ee0262058eab12567493d5eb1409780853454c6f languageName: node linkType: hard