From 486daf6d14091310c2946391f90f409f9cb4b62a Mon Sep 17 00:00:00 2001 From: afmika Date: Wed, 14 Feb 2024 17:46:03 +0300 Subject: [PATCH] refactor(cli/sdk): move all preps to sdk (wip) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit feat(sdk): testing framework integration 2 (#579) Continuation of #566 , focused on prisma runtime. N/A - [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change --------- Signed-off-by: Michaël refactor(sdk): move post-processing functions to the typegate (#586) Depends on #579 Compiled `wasm` bin size is too large, goal is to reduce it to ~3MB. N/A - [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change --------- Signed-off-by: Michaël Co-authored-by: Natoandro feat(sdk): prepare client (wip) feat: Remove obsolete restrictions on prisma (#592) Since v5, where on unique queries exposes all the fields, not just unique fields. Reference: https://www.prisma.io/docs/orm/reference/prisma-client-reference#filter-on-non-unique-fields-with-userwhereuniqueinput - [x] The change come with new or modified tests - [x] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change feat(sdk): change finalization logic (wip) fix: Show error message for unregistered type name (#594) Check and throw the error for the `expose` function when called from the Python SDK. We got a finalization failure when there are some unregistered type referenced with `g.ref`. _No changes needed._ - [x] The change come with new or modified tests - [x] Hard-to-understand functions have explanatory comments - [x] End-user documentation is updated to reflect the change feat: Parameter transformation (#587) Enable parameter transformation with the `.apply()` method. It has more or less the same logic as `.reduce()` with the ability to flatten the input type. This feature enables simpler APIs (input types) on top of runtimes (e.g.: prisma). _No changes needed_. - [x] The change come with new or modified tests - [x] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change feat(sdk): change finalization logic + serialization (wip) feat(sdk): serialization (wip) feat(sdk): from_random injection (#593) This change includes changes in StringFormats(added some string formats), logic to provide random values for type nodes and tests to validate the changes. The changes are mostly in the typegraph sdk. This feature enables the user to inject random values for a field(**Type Node**) when defining a **Typegraph**. _No changes needed_. - [x] The change come with new or modified tests - [x] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change fix(cli): threads pointing to different mem loc feat(sdk): serialize (wip) feat(sdk): print serialized version fix(examples): add top level await fix(cli): conflicting ports feat(sdk): undeploy feat(cli): prepare undeploy feat(cli): prepare deploy feat(cli): deploy (wip) feat(cli/sdk): store response feat(cli/sdk): id by path scheme + pass migration flags fix(cli): pass value feat(cli): deploy without migration fix(cli): loader event not firing when serialize chore: remove unwanted file feat!: Nested context query (#595) - Revert context flattening - Enable jsonpath-like key to access nested object fields or array items on the context. If you access the context directly in your application (through the token), access to nested fields shall be updated. E.g. the expression `context["profile.id"]` have to turned to `context.profile.id`. - [x] The change come with new or modified tests - [x] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change fix: remove injections from prisma output types (#597) Remove injections from generated output types for prisma operations. Generated types fail validations (_injection not allowed in output types_). _No changes needed_. - [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change feat(deno/sdk): native function embedding in typescript (#598) Add support for function or lambda definition typescript sdk for `deno.func` similarly to how `python.from_def` in python sdk works. Providing a string is a bit impractical and counter-intuitive espcially when the sdk language matches with runtime's language. No changes needed. - [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change --------- Signed-off-by: Michaël fix(cli): fix for `meta-cli deploy` exit with code `0` on failure (#600) fix the issue where `meta-cli deploy` command exits with code 0 on failure. bug fix No changes needed. - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change feat(sdk): rework deploy command with new scheme chore(examples): rm debug line feat(cli/sdk): set prefix when the typegraph is loaded fix(cli): retry bug (wip) fix(cli): bind directly from pre-allocated tcplistener chore(deps): Bump the deps group in /website with 13 updates (#604) Bumps the deps group in /website with 13 updates: | Package | From | To | | --- | --- | --- | | [@apollo/client](https://github.com/apollographql/apollo-client) | `3.9.1` | `3.9.5` | | [@giscus/react](https://github.com/giscus/giscus-component/tree/HEAD/react) | `2.4.0` | `3.0.0` | | [@graphiql/react](https://github.com/graphql/graphiql/tree/HEAD/packages/graphiql-react) | `0.20.2` | `0.20.3` | | [graphiql](https://github.com/graphql/graphiql/tree/HEAD/packages/graphiql) | `3.1.0` | `3.1.1` | | [graphql-ws](https://github.com/enisdenjo/graphql-ws) | `5.14.3` | `5.15.0` | | [konva](https://github.com/konvajs/konva) | `9.3.2` | `9.3.3` | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) | `18.2.48` | `18.2.61` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `6.20.0` | `7.1.0` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `6.20.0` | `7.1.0` | | [eslint](https://github.com/eslint/eslint) | `8.56.0` | `8.57.0` | | [sass](https://github.com/sass/dart-sass) | `1.70.0` | `1.71.1` | | [sass-loader](https://github.com/webpack-contrib/sass-loader) | `14.1.0` | `14.1.1` | | [webpack](https://github.com/webpack/webpack) | `5.90.0` | `5.90.3` | Updates `@apollo/client` from 3.9.1 to 3.9.5
Release notes

Sourced from @​apollo/client's releases.

v3.9.5

Patch Changes

v3.9.4

Patch Changes

v3.9.3

Patch Changes

v3.9.2

Patch Changes

Changelog

Sourced from @​apollo/client's changelog.

3.9.5

Patch Changes

3.9.4

Patch Changes

3.9.3

Patch Changes

3.9.2

Patch Changes

Commits
  • 17ccc42 3.9.5 release (#11580)
  • 1133469 fix: strengthen MockedResponse.newData type (#11592)
  • a0d40aa Fix anchor links in ApolloClient api docs (#11599)
  • 1ba2fd9 Fix regression that causes partial data to be reported unexpectedly in some c...
  • 8c20955 bump rehackt to v0.0.5 (#11595)
  • ac4ae84 chore(deps): update all devdependencies (#11586)
  • 6933e0e chore(deps): update mad9000/actions-find-and-replace-string action to v5 (#11...
  • 9cba37c chore(deps): update all dependencies - patch updates (#11585)
  • d46acaf Update ROADMAP.md
  • 65ab695 Make mock response error and result optional when delay is infinite (#11562)
  • Additional commits viewable in compare view

Updates `@giscus/react` from 2.4.0 to 3.0.0
Release notes

Sourced from @​giscus/react's releases.

@​giscus/react v3.0.0

Added

  • Update types with new available languages and themes.

Changed

  • Breaking: drop CommonJS support. This package is now ESM-only (#1998).

Fixed

  • Fix incompatibility with Next.js 14.1 when using the app router (#1976).
Commits
  • ad31fa6 common: Bump versions
  • f71ba9b common: Update types
  • 77f6fb0 react: Format config files too
  • 36973ff react: Export as pure ESM
  • e8417b2 common: Update dependencies
  • 111050c react: Remove packaged 2.3.0
  • 13d5043 build(deps-dev): bump the react group in /react with 6 updates
  • 33dcbb2 build(deps-dev): bump the react group in /react with 5 updates
  • 268fbcd build(deps-dev): bump the react group in /react with 7 updates
  • 46718bc build(deps-dev): bump the react group in /react with 6 updates
  • Additional commits viewable in compare view

Updates `@graphiql/react` from 0.20.2 to 0.20.3
Release notes

Sourced from @​graphiql/react's releases.

@​graphiql/react@​0.20.3

Patch Changes

  • #3526 2b6ea316 Thanks @​benjie! - Add new useOptimisticState hook that can wrap a useState-like hook to perform optimistic caching of state changes, this helps to avoid losing characters when the user is typing rapidly. Example of usage: const [state, setState] = useOptimisticState(useOperationsEditorState());
Changelog

Sourced from @​graphiql/react's changelog.

0.20.3

Patch Changes

  • #3526 2b6ea316 Thanks @​benjie! - Add new useOptimisticState hook that can wrap a useState-like hook to perform optimistic caching of state changes, this helps to avoid losing characters when the user is typing rapidly. Example of usage: const [state, setState] = useOptimisticState(useOperationsEditorState());
Commits

Updates `graphiql` from 3.1.0 to 3.1.1
Release notes

Sourced from graphiql's releases.

graphiql@3.1.1

Patch Changes

Changelog

Sourced from graphiql's changelog.

3.1.1

Patch Changes

Commits

Updates `graphql-ws` from 5.14.3 to 5.15.0
Release notes

Sourced from graphql-ws's releases.

v5.15.0

5.15.0 (2024-02-12)

Bug Fixes

  • client: Use TerminatedCloseEvent class extending an Error for rejecting promises when terminating (74b4ceb), closes #531
  • server: Dispose of subscriptions on close even if added late to the subscriptions list (#534) (e45d6b1), closes #532

Features

  • server: Add is retry flag to connect events (#507) (9ad853f)
Changelog

Sourced from graphql-ws's changelog.

5.15.0 (2024-02-12)

Bug Fixes

  • client: Use TerminatedCloseEvent class extending an Error for rejecting promises when terminating (74b4ceb), closes #531
  • server: Dispose of subscriptions on close even if added late to the subscriptions list (#534) (e45d6b1), closes #532

Features

  • server: Add is retry flag to connect events (#507) (9ad853f)
Commits
  • 933d720 chore(release): 🎉 5.15.0 [skip ci]
  • 74b4ceb fix(client): Use TerminatedCloseEvent class extending an Error for reject...
  • f76bb54 test: update expected arguments for connecting event
  • 9ad853f feat(server): Add is retry flag to connect events (#507)
  • e45d6b1 fix(server): Dispose of subscriptions on close even if added late to the subs...
  • e2603be chore: revert pkg workspaces after pack
  • 8d3f3d0 chore(deps): update lockfile
  • c61e31b refactor: return of the website workspace
  • e19263e chore(deps): update lockfile
  • 69791ee docs(bun): correct handleProtocols usage
  • See full diff in compare view

Updates `konva` from 9.3.2 to 9.3.3
Release notes

Sourced from konva's releases.

9.3.3

Commits

  • 4da037a: Another fix for exporting buffered shapes (Anton Lavrenov)
  • 93106ab: update CHANGELOG with new version (Anton Lavrenov)
  • ea92753: build for 9.3.3 (Anton Lavrenov)
  • e767285: update cdn link (Anton Lavrenov)
Changelog

Sourced from konva's changelog.

9.3.3 (2024-02-09)

  • Another fix for exporting buffered shapes
Commits

Updates `@types/react` from 18.2.48 to 18.2.61
Commits

Updates `@typescript-eslint/eslint-plugin` from 6.20.0 to 7.1.0
Release notes

Sourced from @​typescript-eslint/eslint-plugin's releases.

v7.1.0

7.1.0 (2024-02-26)

🚀 Features

  • eslint-plugin: add *-type-checked-only configs (#8367)
  • eslint-plugin: [naming-convention] support the auto-accessor syntax (#8084)
  • eslint-plugin: [consistent-return] add new rule (#8289)
  • typescript-estree: add debug logs for useProgramFromProjectService (#8426)

🩹 Fixes

  • eslint-plugin: [prefer-optional-chan] allow typeof for avoiding reference error (#8472)
  • eslint-plugin: [no-misused-promises] improve check union types (#8534)
  • eslint-plugin: [no-use-before-define] fix false positive type reference in as, satisfies (#8474)
  • typescript-estree: use simpler absolutify behavior for project service client file paths (#8520)

❤️ Thank You

You can read about our versioning strategy and releases on our website.

v7.0.2

7.0.2 (2024-02-19)

🩹 Fixes

  • fix tsconfig-less check errors, fix @types/eslint incompatibilities, add tests (#8460)
  • utils: use mergeable interface for settings property (#8485)

❤️ Thank You

You can read about our versioning strategy and releases on our website.

v7.0.1

7.0.1 (2024-02-12)

🩹 Fixes

  • eslint-plugin: update peer dep for parser (#8441)

... (truncated)

Changelog

Sourced from @​typescript-eslint/eslint-plugin's changelog.

7.1.0 (2024-02-26)

🚀 Features

  • eslint-plugin: add *-type-checked-only configs

  • eslint-plugin: [naming-convention] support the auto-accessor syntax

  • eslint-plugin: [consistent-return] add new rule

🩹 Fixes

  • eslint-plugin: [prefer-optional-chan] allow typeof for avoiding reference error

  • eslint-plugin: [no-misused-promises] improve check union types

  • eslint-plugin: [no-use-before-define] fix false positive type reference in as, satisfies

❤️ Thank You

  • Arka Pratim Chaudhuri
  • Josh Goldberg ✨
  • YeonJuan

You can read about our versioning strategy and releases on our website.

7.0.2 (2024-02-19)

🩹 Fixes

  • fix tsconfig-less check errors, fix @types/eslint incompatibilities, add tests

❤️ Thank You

  • Brad Zacher
  • Gareth Jones

You can read about our versioning strategy and releases on our website.

7.0.1 (2024-02-12)

🩹 Fixes

  • eslint-plugin: update peer dep for parser

... (truncated)

Commits
  • 4bc6944 chore(release): publish 7.1.0
  • 1807d55 docs: add tabs in no-unsafe-unary-minus.md (#8542)
  • f2f57de test(eslint-plugin): [no-misused-promises] add test cases for spread args (#8...
  • fa67955 chore: drop T from internal types (#8521)
  • 60c1cd3 fix(eslint-plugin): [no-use-before-define] fix false positive type reference ...
  • 1458920 fix(eslint-plugin): [no-misused-promises] improve check union types (#8534)
  • c1441c8 fix(eslint-plugin): [prefer-optional-chan] allow typeof for avoiding referenc...
  • e7ec6f0 docs: from option instead of source in prefer-readonly-parameter-types (#8461)
  • 46cef96 feat(eslint-plugin): [consistent-return] add new rule (#8289)
  • f7198db feat(eslint-plugin): [naming-convention] support the auto-accessor syntax (#8...
  • Additional commits viewable in compare view

Updates `@typescript-eslint/parser` from 6.20.0 to 7.1.0
Release notes

Sourced from @​typescript-eslint/parser's releases.

v7.1.0

7.1.0 (2024-02-26)

🚀 Features

  • eslint-plugin: add *-type-checked-only configs (#8367)
  • eslint-plugin: [naming-convention] support the auto-accessor syntax (#8084)
  • eslint-plugin: [consistent-return] add new rule (#8289)
  • typescript-estree: add debug logs for useProgramFromProjectService (#8426)

🩹 Fixes

  • eslint-plugin: [prefer-optional-chan] allow typeof for avoiding reference error (#8472)
  • eslint-plugin: [no-misused-promises] improve check union types (#8534)
  • eslint-plugin: [no-use-before-define] fix false positive type reference in as, satisfies (#8474)
  • typescript-estree: use simpler absolutify behavior for project service client file paths (#8520)

❤️ Thank You

You can read about our versioning strategy and releases on our website.

v7.0.2

7.0.2 (2024-02-19)

🩹 Fixes

  • fix tsconfig-less check errors, fix @types/eslint incompatibilities, add tests (#8460)
  • utils: use mergeable interface for settings property (#8485)

❤️ Thank You

You can read about our versioning strategy and releases on our website.

v7.0.1

7.0.1 (2024-02-12)

🩹 Fixes

  • eslint-plugin: update peer dep for parser (#8441)

... (truncated)

Changelog

Sourced from @​typescript-eslint/parser's changelog.

7.1.0 (2024-02-26)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

7.0.2 (2024-02-19)

🩹 Fixes

  • fix tsconfig-less check errors, fix @types/eslint incompatibilities, add tests

❤️ Thank You

  • Brad Zacher
  • Gareth Jones

You can read about our versioning strategy and releases on our website.

7.0.1 (2024-02-12)

This was a version bump only for parser to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

7.0.0 (2024-02-12)

🚀 Features

  • ⚠️ bump ESLint, NodeJS, and TS minimum version requirements

  • add support for flat configs

⚠️ Breaking Changes

  • ⚠️ bump ESLint, NodeJS, and TS minimum version requirements

❤️ Thank You

  • Brad Zacher
  • Kirk Waiblinger
  • StyleShit
  • YeonJuan

You can read about our versioning strategy and releases on our website.

... (truncated)

Commits
  • 4bc6944 chore(release): publish 7.1.0
  • 677e7cc chore(release): publish 7.0.2
  • 4f3215f chore(release): publish 7.0.1
  • b27de99 chore(release): publish 7.0.0
  • 1aa393c chore(deps): update dependency prettier to v3.2.5 (#8401)
  • 8ef5f4b feat: add support for flat configs (#7935)
  • 1200b4c chore(deps): update nx to v17.3.0 (#8317)
  • 584db29 feat: bump ESLint, NodeJS, and TS minimum version requirements (#8377)
  • 289ee88 chore(release): publish 6.21.0
  • aa5edf7 chore(deps): update dependency prettier to v3.2.4 (#8357)
  • Additional commits viewable in compare view

Updates `eslint` from 8.56.0 to 8.57.0
Release notes

Sourced from eslint's releases.

v8.57.0

Features

  • 1120b9b feat: Add loadESLint() API method for v8 (#18098) (Nicholas C. Zakas)
  • dca7d0f feat: Enable eslint.config.mjs and eslint.config.cjs (#18066) (Nitin Kumar)

Bug Fixes

  • 2196d97 fix: handle absolute file paths in FlatRuleTester (#18064) (Nitin Kumar)
  • 69dd1d1 fix: Ensure config keys are printed for config errors (#18067) (Nitin Kumar)
  • 9852a31 fix: deep merge behavior in flat config (#18065) (Nitin Kumar)
  • 4c7e9b0 fix: allow circular references in config (#18056) (Milos Djermanovic)

Documentation

  • 84922d0 docs: Show prerelease version in dropdown (#18139) (Nicholas C. Zakas)
  • 5b8c363 docs: Switch to Ethical Ads (#18117) (Milos Djermanovic)
  • 77dbfd9 docs: show NEXT in version selectors (#18052) (Milos Djermanovic)

Chores

  • 1813aec chore: upgrade @​eslint/js@​8.57.0 (#18143) (Milos Djermanovic)
  • 5c356bb chore: package.json update for @​eslint/js release (Jenkins)
  • f4a1fe2 test: add more tests for ignoring files and directories (#18068) (Nitin Kumar)
  • 42c0aef ci: Enable CI for v8.x branch (#18047) (Milos Djermanovic)
Changelog

Sourced from eslint's changelog.

v8.57.0 - February 23, 2024

  • 1813aec chore: upgrade @​eslint/js@​8.57.0 (#18143) (Milos Djermanovic)
  • 5c356bb chore: package.json update for @​eslint/js release (Jenkins)
  • 84922d0 docs: Show prerelease version in dropdown (#18139) (Nicholas C. Zakas)
  • 1120b9b feat: Add loadESLint() API method for v8 (#18098) (Nicholas C. Zakas)
  • 5b8c363 docs: Switch to Ethical Ads (#18117) (Milos Djermanovic)
  • 2196d97 fix: handle absolute file paths in FlatRuleTester (#18064) (Nitin Kumar)
  • f4a1fe2 test: add more tests for ignoring files and directories (#18068) (Nitin Kumar)
  • 69dd1d1 fix: Ensure config keys are printed for config errors (#18067) (Nitin Kumar)
  • 9852a31 fix: deep merge behavior in flat config (#18065) (Nitin Kumar)
  • dca7d0f feat: Enable eslint.config.mjs and eslint.config.cjs (#18066) (Nitin Kumar)
  • 4c7e9b0 fix: allow circular references in config (#18056) (Milos Djermanovic)
  • 77dbfd9 docs: show NEXT in version selectors (#18052) (Milos Djermanovic)
  • 42c0aef ci: Enable CI for v8.x branch (#18047) (Milos Djermanovic)

v9.0.0-beta.0 - February 9, 2024

  • e40d1d7 chore: upgrade @​eslint/js@​9.0.0-beta.0 (#18108) (Milos Djermanovic)
  • 9870f93 chore: package.json update for @​eslint/js release (Jenkins)
  • 2c62e79 chore: upgrade @​eslint/eslintrc@​3.0.1 (#18107) (Milos Djermanovic)
  • 81f0294 chore: upgrade espree@10.0.1 (#18106) (Milos Djermanovic)
  • 5e2b292 chore: upgrade eslint-visitor-keys@4.0.0 (#18105) (Milos Djermanovic)
  • 9163646 feat!: Rule Tester checks for missing placeholder data in the message (#18073) (fnx)
  • 53f0f47 feat: Add loadESLint() API method for v9 (#18097) (Nicholas C. Zakas)
  • f1c7e6f docs: Switch to Ethical Ads (#18090) (Strek)
  • 15c143f docs: JS Foundation -> OpenJS Foundation in PR template (#18092) (Nicholas C. Zakas)
  • c4d26fd fix: use-isnan doesn't report on SequenceExpressions (#18059) (StyleShit)
  • 6ea339e docs: add stricter rule test validations to v9 migration guide (#18085) (Milos Djermanovic)
  • ce838ad chore: replace dependency npm-run-all with npm-run-all2 ^5.0.0 (#18045) (renovate[bot])
  • 3c816f1 docs: use relative link from CLI to core concepts (#18083) (Milos Djermanovic)
  • 54df731 chore: update dependency markdownlint-cli to ^0.39.0 (#18084) (renovate[bot])
  • 9458735 docs: fix malformed eslint config comments in rule examples (#18078) (Francesco Trotta)
  • 07a1ada docs: link from --fix CLI doc to the relevant core concept (#18080) (Bryan Mishkin)
  • 8f06a60 chore: update dependency shelljs to ^0.8.5 (#18079) (Francesco Trotta)
  • b844324 docs: Update team responsibilities (#18048) (Nicholas C. Zakas)
  • aadfb60 docs: document languageOptions and other v9 changes for context (#18074) (fnx)
  • 3c4d51d feat!: default for enforceForClassMembers in no-useless-computed-key (#18054) (Francesco Trotta)
  • 47e60f8 feat!: Stricter rule test validations (#17654) (fnx)
  • 1a94589 feat!: no-unused-vars default caughtErrors to 'all' (#18043) (Josh Goldberg ✨)
  • 857e242 docs: tweak explanation for meta.docs rule properties (#18057) (Bryan Mishkin)
  • 10485e8 docs: recommend messageId over message for reporting rule violations (#18050) (Bryan Mishkin)
  • 98b5ab4 docs: Update README (GitHub Actions Bot)
  • 93ffe30 chore: update dependency file-entry-cache to v8 (#17903) (renovate[bot])
  • 505fbf4 docs: update no-restricted-imports rule (#18015) (Tanuj Kanti)
  • 2d11d46 feat: add suggestions to use-isnan in binary expressions (#17996) (StyleShit)
  • c25b4af docs: Update README (GitHub Actions Bot)

v9.0.0-alpha.2 - January 26, 2024

... (truncated)

Commits

Updates `sass` from 1.70.0 to 1.71.1
Release notes

Sourced from sass's releases.

Dart Sass 1.71.1

To install Sass 1.71.1, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.

Changes

Command-Line Interface

  • Ship the musl Linux release with the proper Dart executable.

JavaScript API

  • Export the NodePackageImporter class in ESM mode.

  • Allow NodePackageImporter to locate a default directory even when the entrypoint is an ESM module.

Dart API

  • Make passing a null argument to NodePackageImporter() a static error rather than just a runtime error.

Embedded Sass

  • In the JS Embedded Host, properly install the musl Linux embedded compiler when running on musl Linux.

See the full changelog for changes in earlier releases.

Dart Sass 1.71.0

To install Sass 1.71.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.

Changes

For more information about pkg: importers, see the announcement on the Sass blog.

Command-Line Interface

  • Add a --pkg-importer flag to enable built-in pkg: importers. Currently this only supports the Node.js package resolution algorithm, via --pkg-importer=node. For example, @use "pkg:bootstrap" will load node_modules/bootstrap/scss/bootstrap.scss.

JavaScript API

  • Add a NodePackageImporter importer that can be passed to the importers option. This loads files using the pkg: URL scheme according to the Node.js package resolution algorithm. For example, @use "pkg:bootstrap" will load node_modules/bootstrap/scss/bootstra... _Description has been truncated_ Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): Bump @mdx-js/react from 3.0.0 to 3.0.1 in /website (#605) Bumps [@mdx-js/react](https://github.com/mdx-js/mdx/tree/HEAD/packages/react) from 3.0.0 to 3.0.1.
    Release notes

    Sourced from @​mdx-js/react's releases.

    3.0.1

    Fix

    Types

    Site

    Full Changelog: https://github.com/mdx-js/mdx/compare/3.0.0...3.0.1

    Commits

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@mdx-js/react&package-manager=npm_and_yarn&previous-version=3.0.0&new-version=3.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> feat(cli): basic retry on failure feat(cli): retry on failure fix(cli): forced panic in default mode feat(sdk/sdk): python client fix(cli): cover missed events fix(sdk): always sync target version fix(cli): unreachable loader event when no files are provided feat(sdk/python): serialize feat(sdk/python): deploy fix(sdk/python/e2e): circular imports fix(cli): dir => root typegraph, migration paths => relative to dir fix(typegate,typegraph): minor bugs (#596) Just a few very minor bugs I'd encountered this week. Tests pending. Bugs. _No changes required_ - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change fix: esm customizer for typegate deno ext (#606) Enables v8 snapshots integration for `meta typegate` subcommand and the standalone typegate. Also bumps deno to 1.41.0. Fixes #591 _No changes required_ - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change refactor!: make fat `meta-cli` the default (#607) Switch the default `meta-cli` release to the fat version (the one that includes the `typegate` subcommand). Tackles #MET-400 The fat cli requires `libwasmedge.so` to be present. Users will need to install or switch to the `meta-cli-thin` release. - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [x] End-user documentation is updated to reflect the change fix: re-enable macos-latest cli-compat test job (#608) Fixes and enables the broken job. Job was disabled earlier to mysterious breakages. __No changes required__ - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change chore(release): bump 0.3.5 (#613) Ready for release of v0.3.5 Required by console. _No changes required__. - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change fix(sdk): tarball yields wrong rel. path when sdk is spawn from another process test(cli): disable codegen fix(sdk): cover empty list edgecase fix(cli): increase payload size fix(cli): run server only on specific commands feat(cli): database reset interactive (wip) fix(sdk): never decide on a default migration path on sdk fix(sdk/python): migration not considered feat(cli): database reset live interaction feat(cli): migration failure on nullconstraint (wip) fix(cli): stdout out of order for Confirm test(e2e): temporary disable dev migration test fix: apply from context (#616) Fix type validators for apply from context. Bug. _N/A_ - [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change fix(python-wasi): fix for vm not initialized after consecutive deploy (#617) Bug fix for typegate throwing `vm not initialized` after reload Bug fix No Migrations Needed - [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change fix(gate): `RandomRuntime` does not consider `enum`, `either`, `union` variants (#619) add either, enum, struct and union type support in Random Runtime. generating random values for enums, either and union types was failing. _No Migrations Needed - [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change feat(sdk): allow MigrationAction to be configurable per runtime name feat(sdk): multiple choices on failed migration feat(cli): remove duplicate action fix(cli): run the server on the appropriate command test(template): fix outdated sdks fix(website): disable empty typegraph fix(test): name clash + update self_deploy test(e2e): missing runtime name when removing a file chore(cli/sdk): remove unused code test(validation): delegate validation to sdk feat(sdk): make config optional for the global postprocessor chore(release): prepare for 0.3.6-0 (#615) Automatic suggested bump Co-authored-by: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com> chore(deps-dev): Bump the deps group with 1 update (#601) Bumps the deps group with 1 update: [ruff](https://github.com/astral-sh/ruff). Updates `ruff` from 0.1.15 to 0.3.0
    Release notes

    Sourced from ruff's releases.

    v0.3.0

    This release introduces the new Ruff formatter 2024.2 style and adds a new lint rule to detect invalid formatter suppression comments.

    Changes

    Preview features

    • [flake8-bandit] Remove suspicious-lxml-import (S410) (#10154)
    • [pycodestyle] Allow os.environ modifications between imports (E402) (#10066)
    • [pycodestyle] Don't warn about a single whitespace character before a comma in a tuple (E203) (#10094)

    Rule changes

    • [eradicate] Detect commented out case statements (ERA001) (#10055)
    • [eradicate] Detect single-line code for try:, except:, etc. (ERA001) (#10057)
    • [flake8-boolean-trap] Allow boolean positionals in __post_init__ (#10027)
    • [flake8-copyright] Allow © in copyright notices (#10065)
    • [isort]: Use one blank line after imports in typing stub files (#9971)
    • [pylint] New Rule dict-iter-missing-items (PLE1141) (#9845)
    • [pylint] Ignore sys.version and sys.platform (PLR1714) (#10054)
    • [pyupgrade] Detect literals with unary operators (UP018) (#10060)
    • [ruff] Expand rule for list(iterable).pop(0) idiom (RUF015) (#10148)

    Formatter

    This release introduces the Ruff 2024.2 style, stabilizing the following changes:

    • Prefer splitting the assignment's value over the target or type annotation (#8943)
    • Remove blank lines before class docstrings (#9154)
    • Wrap multiple context managers in with parentheses when targeting Python 3.9 or newer (#9222)
    • Add a blank line after nested classes with a dummy body (...) in typing stub files (#9155)
    • Reduce vertical spacing for classes and functions with a dummy (...) body (#7440, #9240)
    • Add a blank line after the module docstring (#8283)
    • Parenthesize long type hints in assignments (#9210)
    • Preserve indent for single multiline-string call-expressions (#9673)
    • Normalize hex escape and unicode escape sequences (#9280)
    • Format module docstrings (#9725)

    CLI

    • Explicitly disallow extend as part of a --config flag (#10135)
    • Remove build from the default exclusion list (#10093)
    • Deprecate ruff <path>, ruff --explain, ruff --clean, and ruff --generate-shell-completion in favor of ruff check <path>, ruff rule, ruff clean, and ruff generate-shell-completion (#10169)
    • Remove the deprecated CLI option --format from ruff rule and ruff linter (#10170)

    Bug fixes

    • [flake8-bugbear] Avoid adding default initializers to stubs (B006) (#10152)
    • [flake8-type-checking] Respect runtime-required decorators for function signatures (#10091)

    ... (truncated)

    Changelog

    Sourced from ruff's changelog.

    0.3.0

    This release introduces the new Ruff formatter 2024.2 style and adds a new lint rule to detect invalid formatter suppression comments.

    Preview features

    • [flake8-bandit] Remove suspicious-lxml-import (S410) (#10154)
    • [pycodestyle] Allow os.environ modifications between imports (E402) (#10066)
    • [pycodestyle] Don't warn about a single whitespace character before a comma in a tuple (E203) (#10094)

    Rule changes

    • [eradicate] Detect commented out case statements (ERA001) (#10055)
    • [eradicate] Detect single-line code for try:, except:, etc. (ERA001) (#10057)
    • [flake8-boolean-trap] Allow boolean positionals in __post_init__ (#10027)
    • [flake8-copyright] Allow © in copyright notices (#10065)
    • [isort]: Use one blank line after imports in typing stub files (#9971)
    • [pylint] New Rule dict-iter-missing-items (PLE1141) (#9845)
    • [pylint] Ignore sys.version and sys.platform (PLR1714) (#10054)
    • [pyupgrade] Detect literals with unary operators (UP018) (#10060)
    • [ruff] Expand rule for list(iterable).pop(0) idiom (RUF015) (#10148)

    Formatter

    This release introduces the Ruff 2024.2 style, stabilizing the following changes:

    • Prefer splitting the assignment's value over the target or type annotation (#8943)
    • Remove blank lines before class docstrings (#9154)
    • Wrap multiple context managers in with parentheses when targeting Python 3.9 or newer (#9222)
    • Add a blank line after nested classes with a dummy body (...) in typing stub files (#9155)
    • Reduce vertical spacing for classes and functions with a dummy (...) body (#7440, #9240)
    • Add a blank line after the module docstring (#8283)
    • Parenthesize long type hints in assignments (#9210)
    • Preserve indent for single multiline-string call-expressions (#9673)
    • Normalize hex escape and unicode escape sequences (#9280)
    • Format module docstrings (#9725)

    CLI

    • Explicitly disallow extend as part of a --config flag (#10135)
    • Remove build from the default exclusion list (#10093)
    • Deprecate ruff <path>, ruff --explain, ruff --clean, and ruff --generate-shell-completion in favor of ruff check <path>, ruff rule, ruff clean, and ruff generate-shell-completion (#10169)
    • Remove the deprecated CLI option --format from ruff rule and ruff linter (#10170)

    Bug fixes

    • [flake8-bugbear] Avoid adding default initializers to stubs (B006) (#10152)
    • [flake8-type-checking] Respect runtime-required decorators for function signatures (#10091)
    • [pycodestyle] Mark fixes overlapping with a multiline string as unsafe (W293) (#10049)

    ... (truncated)

    Commits

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ruff&package-manager=pip&previous-version=0.1.15&new-version=0.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> test(e2e): make sure test does not depend on the version + debug collected files on ci fix: support multiple typegraph in a single file address comments fix: rename query variable fix: Optimize typegraph size (#618) - Hash all type data to compare them on the conversion phase in typegraph/core: remove duplicate types from type final typegraph (duplicate: same value for all the fields except for the "random" name/title). - Skip unreferenced types in `.apply` Typegraph is too big sometimes. - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change fix: typegate.json chore(sdk): add hash compute function and field to store it chore(sdk, gate): add ref_files to tg.meta during tg conversion feat(gate): add getUploadUrl endpoint and one time endpoint to upload file feat(sdk): add refereed files getter from the global store feat(gate): add cache to store used urls and add file upload at tg_deploy feat(gate): change to open the artifacts from the typegate engine feat(gate): sign upload url feat(core_sdk): remove reading file and replace with upload url feat(gate): update prisma migrations and read wasm file in engine chore(sdk): add referred files to returned values upon finalize_typegraph feat(sdk): handle file upload in typescript sdk chore(test): add wasmedge ts test chore(sdk): concat entry script path in wasm path chore: Prepare release v0.3.6 (#626) Prepare release v0.3.6 _N/A_ _N/A_ - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change chore(release): prepare for 0.3.7-0 (#630) Automatic suggested bump Co-authored-by: Natoandro <43663718+Natoandro@users.noreply.github.com> feat(cli): long running discovery (#599) Delegate serialize, deploy, undeploy, unpack work to SDK. Remove duplicate logic, thinking of cli as a convenience on top of the SDK. When meta cli is used, Migration files are unpacked/resolved relative to the typegraph's path, not the process's `workdir`. - [x] The change come with new or modified tests - [x] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change --------- Signed-off-by: Michaël chore(typegraph_core): fix snapshot assert chore(sdk): update tg snapshot chore: update snapshots feat(sdk, test): add ts wasmedge test, make wasmedge.wasi async in ts sdk chore(sdk, test): change file hash impl and modify wasmedge test fix(test): fix tests after uppload protocol change chore: address comments chore: remove unnecessary changes chore: address comments on reading file directly in wasmedge typegate engine and create artifact path on gate side: chore(gate, sdk): upload artifacts before deploying typegraph fix(test): fix bindings_test.ts fix(job): fix github job failing chore(job): revert deno dir changes feat: Raw prisma query through the typegate runtime (#634) - Enable prisma query execution through the typegate runtime Console. _N/A_ - [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change chore(gate): set artifact tmp_dir resolution chore: rename files to artifacts as per OCI nomenclature chore(docs): add workflow diagram for upload protocol add upload protocol workflow diagram Signed-off-by: Estifanos Bireda <77430541+destifo@users.noreply.github.com> chore: remove duplicate drawing feat(sdk, gate): inital commit to uploading python_rt files chore: access tg name from params wip: store artifact deps in tg context feat(sdk, gate, cli): upload protocol poc uploading wasm file for `WasmEdge Runtime` for single replica mode (#631) Upload protocol for wasm files and atrifacts for `WasmEdge Runtime` for single replica mode - Upload WasmEdge Runtime artifacts during typegraph deploy - Access and load WasmEdge Runtime artifacts from the local file system from typegate *No Migrations Needed* - [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change --------- Signed-off-by: Estifanos Bireda <77430541+destifo@users.noreply.github.com> Co-authored-by: afmika Co-authored-by: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com> wip: store artifact deps in global_store chore: replace upload protcol tldraw to drawio format wip(sdk, gate): add dep uploader and refactorr artifact upload chore(test): add tg deployer through shell in meta test chore(sdk, test): finalize uploading artifacts and depedencies chore(sdk): resolve dep relative paths fix: fix artifact and deps storage dir feat(sdk): .tgignore file support (#633) Set what files/folders should be ignored when using the custom `expand_path` function in an external `.tgignore` file. `.tgignore` will behave similarly to most .ignore files with basic glob syntax support. `expand_glob` has been renamed to `expand_path` - [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change --------- Signed-off-by: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com> Co-authored-by: Yohe-Am <56622350+Yohe-Am@users.noreply.github.com> chore(deps): Bump express from 4.18.2 to 4.19.2 in /website (#640) Bumps [express](https://github.com/expressjs/express) from 4.18.2 to 4.19.2.
    Release notes

    Sourced from express's releases.

    4.19.2

    What's Changed

    Full Changelog: https://github.com/expressjs/express/compare/4.19.1...4.19.2

    4.19.1

    What's Changed

    Full Changelog: https://github.com/expressjs/express/compare/4.19.0...4.19.1

    4.19.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/expressjs/express/compare/4.18.3...4.19.0

    4.18.3

    Main Changes

    • Fix routing requests without method
    • deps: body-parser@1.20.2
      • Fix strict json error message on Node.js 19+
      • deps: content-type@~1.0.5
      • deps: raw-body@2.5.2

    Other Changes

    ... (truncated)

    Changelog

    Sourced from express's changelog.

    4.19.2 / 2024-03-25

    • Improved fix for open redirect allow list bypass

    4.19.1 / 2024-03-20

    • Allow passing non-strings to res.location with new encoding handling checks

    4.19.0 / 2024-03-20

    • Prevent open redirect allow list bypass due to encodeurl
    • deps: cookie@0.6.0

    4.18.3 / 2024-02-29

    • Fix routing requests without method
    • deps: body-parser@1.20.2
      • Fix strict json error message on Node.js 19+
      • deps: content-type@~1.0.5
      • deps: raw-body@2.5.2
    • deps: cookie@0.6.0
      • Add partitioned option
    Commits
    • 04bc627 4.19.2
    • da4d763 Improved fix for open redirect allow list bypass
    • 4f0f6cc 4.19.1
    • a003cfa Allow passing non-strings to res.location with new encoding handling checks f...
    • a1fa90f fixed un-edited version in history.md for 4.19.0
    • 11f2b1d build: fix build due to inconsistent supertest behavior in older versions
    • 084e365 4.19.0
    • 0867302 Prevent open redirect allow list bypass due to encodeurl
    • 567c9c6 Add note on how to update docs for new release (#5541)
    • 69a4cf2 deps: cookie@0.6.0
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by wesleytodd, a new releaser for express since your current version.


    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=express&package-manager=npm_and_yarn&previous-version=4.18.2&new-version=4.19.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/metatypedev/metatype/network/alerts).
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): Bump webpack-dev-middleware from 5.3.3 to 5.3.4 in /website (#637) Bumps [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) from 5.3.3 to 5.3.4.
    Release notes

    Sourced from webpack-dev-middleware's releases.

    v5.3.4

    5.3.4 (2024-03-20)

    Bug Fixes

    • security: do not allow to read files above (#1779) (189c4ac)
    Changelog

    Sourced from webpack-dev-middleware's changelog.

    5.3.4 (2024-03-20)

    Bug Fixes

    • security: do not allow to read files above (#1779) (189c4ac)
    Commits

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=webpack-dev-middleware&package-manager=npm_and_yarn&previous-version=5.3.3&new-version=5.3.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/metatypedev/metatype/network/alerts).
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): Bump follow-redirects from 1.15.5 to 1.15.6 in /website (#627) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.5 to 1.15.6.
    Commits

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=follow-redirects&package-manager=npm_and_yarn&previous-version=1.15.5&new-version=1.15.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/metatypedev/metatype/network/alerts).
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> chore(deps): Bump the deps group with 1 update (#603) Bumps the deps group with 1 update: [pre-commit/action](https://github.com/pre-commit/action). Updates `pre-commit/action` from 3.0.0 to 3.0.1
    Release notes

    Sourced from pre-commit/action's releases.

    pre-commit/action@v3.0.1

    Misc

    Commits
    • 2c7b380 v3.0.1
    • 8e2deeb Merge pull request #190 from SukiCZ/upgrade-action/cache-v4
    • 0dbc303 Upgrade action/cache to v4. Fixes: #189
    • c7d159c Merge pull request #185 from pre-commit/asottile-patch-1
    • 9dd4237 fix main badge
    • 37faf8a Merge pull request #184 from pre-commit/pre-commit-ci-update-config
    • 049686e [pre-commit.ci] pre-commit autoupdate
    • 5f528da move back to maintenance-only
    • efd3bcf Merge pull request #170 from pre-commit/pre-commit-ci-update-config
    • df308c7 [pre-commit.ci] pre-commit autoupdate
    • Additional commits viewable in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pre-commit/action&package-manager=github_actions&previous-version=3.0.0&new-version=3.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> feat!: Store the typegraph on s3 (#620) Store the typegraph on s3 for multiple instance support mode. Reduce Redis data. Environment variables: - `REDIS_URL` has been removed - For multiple instance support, the following variables are required: `SYNC_REDIS_URL`, `SYNC_S3_HOST`, `SYNC_S3_REGION`, `SYNC_S3_BUCKET`, `SYNC_S3_ACCESS_KEY`, `SYNC_S3_SECRET_KEY`; and the following variables are optional: `SYNC_REDIS_PASSWORD`, `SYNC_S3_PATH_STYLE`. Otherwise, none of them can be set. - [x] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments - [x] End-user documentation is updated to reflect the change --- .ghjk/lock.json | 7 +- .github/workflows/publish-website.yml | 2 +- .github/workflows/release.yml | 24 +- .github/workflows/tests.yml | 128 +- .gitignore | 1 + .pre-commit-config.yaml | 4 +- CHANGELOG.md | 2644 ++-- CONTRIBUTING.md | 16 +- Cargo.lock | 2377 +-- Cargo.toml | 9 +- dev-tools/package.json | 2 +- dev-tools/ts-language-server/package.json | 2 +- .../vscode-metatype-support/package.json | 2 +- dev/Dockerfile | 5 +- dev/deps.ts | 20 +- dev/lock.yml | 16 +- dev/test.ts | 1 - dev/tree-view.ts | 3 + dev/typegraph-size.ts | 51 + dev/update.ts | 11 +- dev/utils.ts | 5 +- .../artifact_upload_protocol.drawio.svg | 304 + .../workflows/typegraph_deployment.drawio.svg | 290 + examples/deploy/.tgignore | 7 + examples/deploy/deploy.mjs | 76 +- examples/deploy/deploy.py | 62 +- examples/templates/deno/api/example.ts | 8 +- examples/templates/deno/compose.yml | 2 +- examples/templates/node/compose.yml | 2 +- examples/templates/node/package.json | 2 +- examples/templates/python/compose.yml | 2 +- examples/templates/python/pyproject.toml | 4 +- examples/typegraphs/authentication.py | 8 +- examples/typegraphs/authentication.ts | 8 +- examples/typegraphs/backend-for-frontend.ts | 2 +- examples/typegraphs/basic.py | 8 +- examples/typegraphs/basic.ts | 8 +- examples/typegraphs/cors.ts | 2 +- examples/typegraphs/database.ts | 2 +- examples/typegraphs/deno.ts | 2 +- examples/typegraphs/example_rest.ts | 2 +- examples/typegraphs/execute.py | 6 +- examples/typegraphs/execute.ts | 8 +- examples/typegraphs/faas-runner.ts | 2 +- examples/typegraphs/files-upload.ts | 2 +- examples/typegraphs/first-typegraph.ts | 2 +- examples/typegraphs/func.ts | 2 +- examples/typegraphs/graphql-server.ts | 2 +- examples/typegraphs/graphql.ts | 2 +- examples/typegraphs/iam-provider.ts | 2 +- examples/typegraphs/index.ts | 2 +- examples/typegraphs/jwt.py | 10 +- examples/typegraphs/jwt.ts | 14 +- examples/typegraphs/math.ts | 2 +- .../typegraphs/microservice-orchestration.ts | 2 +- examples/typegraphs/oauth2.py | 8 +- examples/typegraphs/oauth2.ts | 8 +- examples/typegraphs/policies.ts | 2 +- ...o-sugar.py => prisma-no-sugar.py.disabled} | 0 examples/typegraphs/prisma-runtime.ts | 2 +- examples/typegraphs/prisma.ts | 2 +- .../typegraphs/programmable-api-gateway.ts | 2 +- examples/typegraphs/rate.ts | 2 +- examples/typegraphs/reduce.ts | 2 +- examples/typegraphs/rest.ts | 2 +- examples/typegraphs/roadmap-policies.ts | 2 +- .../{random.py => roadmap-random.py} | 0 .../{random.ts => roadmap-random.ts} | 2 +- examples/typegraphs/triggers.ts | 2 +- ghjk.ts | 2 +- installer.sh | 28 +- libs/common/Cargo.toml | 2 +- libs/common/src/archive.rs | 51 +- libs/common/src/node.rs | 9 +- libs/common/src/typegraph/mod.rs | 15 +- .../src/typegraph/parameter_transform.rs | 60 + libs/common/src/typegraph/runtimes/python.rs | 4 +- .../common/src/typegraph/runtimes/wasmedge.rs | 2 + libs/common/src/typegraph/types.rs | 25 +- libs/common/src/typegraph/validator/common.rs | 93 + libs/common/src/typegraph/validator/input.rs | 109 + libs/common/src/typegraph/validator/mod.rs | 135 + libs/common/src/typegraph/validator/types.rs | 354 + .../{validator.rs => validator/value.rs} | 194 +- libs/common/src/typegraph/visitor.rs | 231 +- libs/deno/src/lib.rs | 1 + libs/typescript/Cargo.toml | 4 +- libs/xtask/Cargo.toml | 2 +- libs/xtask/src/deno.rs | 3 +- meta-cli/Cargo.toml | 3 +- meta-cli/src/cli/codegen.rs | 55 +- meta-cli/src/cli/completion.rs | 3 +- meta-cli/src/cli/deploy.rs | 221 +- meta-cli/src/cli/dev.rs | 10 +- meta-cli/src/cli/doctor.rs | 3 +- meta-cli/src/cli/mod.rs | 3 +- meta-cli/src/cli/new.rs | 3 +- meta-cli/src/cli/serialize.rs | 38 +- meta-cli/src/cli/typegate.rs | 4 +- meta-cli/src/cli/undeploy.rs | 5 +- meta-cli/src/cli/upgrade.rs | 5 +- meta-cli/src/codegen/deno.rs | 130 +- meta-cli/src/com/mod.rs | 6 + meta-cli/src/com/responses.rs | 69 + meta-cli/src/com/server.rs | 163 + meta-cli/src/com/store.rs | 179 + meta-cli/src/config.rs | 39 +- meta-cli/src/deploy/actors/console/input.rs | 15 +- meta-cli/src/deploy/actors/loader.rs | 100 +- meta-cli/src/deploy/actors/mod.rs | 2 - meta-cli/src/deploy/actors/push_manager.rs | 482 - meta-cli/src/deploy/actors/pusher.rs | 537 - .../src/deploy/push/migration_resolution.rs | 141 +- meta-cli/src/deploy/push/mod.rs | 1 + meta-cli/src/deploy/push/pusher.rs | 359 + meta-cli/src/main.rs | 34 +- meta-cli/src/tests/utils.rs | 2 + meta-cli/src/typegraph/loader/discovery.rs | 2 +- meta-cli/src/typegraph/loader/mod.rs | 123 +- meta-cli/src/typegraph/postprocess.rs | 298 +- meta-cli/src/utils/mod.rs | 8 - poetry.lock | 82 +- pyproject.toml | 4 +- typegate/deno.lock | 287 + typegate/engine/00_runtime.js | 65 + typegate/engine/bindings.ts | 4 + typegate/engine/runtime.d.ts | 4 + typegate/engine/runtime.js | 46 - typegate/engine/src/ext.rs | 21 +- typegate/engine/src/lib.rs | 30 +- typegate/engine/src/runtimes.rs | 1 + typegate/engine/src/runtimes/deno_rt.rs | 16 + typegate/engine/src/runtimes/wasmedge.rs | 14 +- typegate/import_map.json | 2 +- typegate/src/config.ts | 22 - typegate/src/engine/planner/args.ts | 56 +- typegate/src/engine/planner/mod.ts | 10 +- .../engine/planner/parameter_transformer.ts | 353 + typegate/src/engine/query_engine.ts | 2 +- .../src/engine/typecheck/code_generator.ts | 8 +- .../typecheck/inline_validators/boolean.ts | 15 + .../typecheck/inline_validators/common.ts | 6 + .../inline_validators/constraints.ts | 61 + .../typecheck/inline_validators/file.ts | 38 + .../typecheck/inline_validators/list.ts | 33 + .../engine/typecheck/inline_validators/mod.ts | 6 + .../typecheck/inline_validators/number.ts | 30 + .../typecheck/inline_validators/object.ts | 56 + .../typecheck/inline_validators/string.ts | 55 + typegate/src/engine/typecheck/input.ts | 56 +- typegate/src/libs/jsonpath.ts | 272 + typegate/src/main.ts | 36 +- typegate/src/postprocess.ts | 34 + typegate/src/runtimes/deno/deno.ts | 1 - typegate/src/runtimes/http.ts | 10 +- typegate/src/runtimes/prisma/prisma.ts | 14 +- .../src/runtimes/python_wasi/python_wasi.ts | 69 +- typegate/src/runtimes/random.ts | 168 +- typegate/src/runtimes/typegate.ts | 70 +- typegate/src/runtimes/wasmedge.ts | 6 +- .../src/services/artifact_upload_service.ts | 141 + typegate/src/services/auth/mod.ts | 7 +- .../src/services/auth/protocols/oauth2.ts | 8 +- typegate/src/sync/config.ts | 130 + typegate/src/sync/mod.ts | 4 + typegate/src/{ => sync}/replicated_map.ts | 38 +- typegate/src/sync/typegraph.ts | 107 + typegate/src/typegate/mod.ts | 90 +- typegate/src/typegate/register.ts | 85 +- typegate/src/typegraph/mod.ts | 26 + typegate/src/typegraph/types.ts | 42 + typegate/src/typegraph/visitor.ts | 20 +- typegate/src/typegraphs/introspection.json | 504 +- typegate/src/typegraphs/prisma_migration.json | 420 +- typegate/src/typegraphs/typegate.json | 604 +- typegate/src/typegraphs/typegate.py | 150 +- typegate/standalone/Cargo.toml | 1 + typegate/standalone/src/main.rs | 18 +- typegate/tests/artifacts/rust.wasm | Bin 0 -> 173492 bytes typegate/tests/auth/auth.py | 2 +- typegate/tests/auth/auth_test.ts | 8 +- typegate/tests/e2e/cli/deploy_test.ts | 107 +- typegate/tests/e2e/cli/dev_test.ts | 43 +- typegate/tests/e2e/cli/undeploy_test.ts | 17 +- .../e2e/nextjs/apollo/pages/api/apollo.ts | 31 +- typegate/tests/e2e/nextjs/apollo_test.ts | 224 +- typegate/tests/e2e/self_deploy/.tgignore | 3 + .../tests/e2e/self_deploy/scripts/main.ts | 6 + .../tests/e2e/self_deploy/self_deploy.mjs | 28 + .../tests/e2e/self_deploy/self_deploy_test.ts | 43 + .../tests/e2e/templates/templates_test.ts | 11 +- .../__snapshots__/typegraph_test.ts.snap | 290 +- .../__snapshots__/validator_test.ts.snap | 22 +- typegate/tests/e2e/typegraph/validator.py | 27 + typegate/tests/e2e/website/website_test.ts | 8 + typegate/tests/injection/injection.py | 13 +- typegate/tests/injection/injection.ts | 21 +- typegate/tests/injection/injection_test.ts | 123 +- typegate/tests/injection/nested_context.py | 25 + typegate/tests/internal/internal_test.ts | 5 +- typegate/tests/metatype.yml | 25 - typegate/tests/params/apply.py | 133 + typegate/tests/params/apply_nested_context.py | 27 + typegate/tests/params/apply_test.ts | 255 + .../__snapshots__/planner_test.ts.snap | 106 +- typegate/tests/planner/planner.py | 26 +- .../random/injection/random_injection.py | 93 + .../random/injection/random_injection.ts | 40 + .../random/injection/random_injection_test.ts | 205 + typegate/tests/random/random.ts | 25 + .../tests/random/{random.py => random_.py} | 0 typegate/tests/random/random_test.ts | 150 +- .../tests/rate_limiter/rate_limiter_test.ts | 10 +- .../invalid_ref_error_message/invalid_ref.py | 12 + .../invalid_ref_test.ts | 15 + .../rest/__snapshots__/rest_test.ts.snap | 70 +- typegate/tests/runtimes/deno/deno_static.ts | 21 - typegate/tests/runtimes/deno/deno_test.ts | 22 +- .../tests/runtimes/deno/deno_typescript.ts | 31 + .../__snapshots__/graphql_test.ts.snap | 26 +- .../tests/runtimes/http/{http.py => http_.py} | 0 typegate/tests/runtimes/http/http_test.ts | 2 +- .../runtimes/prisma/mixed_runtime_test.ts | 2 +- .../runtimes/prisma/prisma_edgecases_test.ts | 2 +- typegate/tests/runtimes/prisma/prisma_test.ts | 17 + .../tests/runtimes/python_wasi/python_wasi.py | 1 + .../tests/runtimes/python_wasi/python_wasi.ts | 22 +- .../runtimes/python_wasi/python_wasi_test.ts | 542 +- .../runtimes/s3/__snapshots__/s3_test.ts.snap | 137 +- .../__snapshots__/temporal_test.ts.snap | 302 +- .../typegate_prisma_test.ts.snap | 363 + .../typegate_runtime_test.ts.snap | 36 +- .../runtimes/typegate/typegate_prisma_test.ts | 100 + .../tests/runtimes/wasmedge/rust/Cargo.lock | 12711 +++++++++++++++- .../tests/runtimes/wasmedge/rust/Cargo.toml | 2 +- typegate/tests/runtimes/wasmedge/wasmedge.py | 33 +- typegate/tests/runtimes/wasmedge/wasmedge.ts | 30 + .../tests/runtimes/wasmedge/wasmedge_test.ts | 63 +- .../__snapshots__/class_syntax_test.ts.snap | 28 +- typegate/tests/simple/class_syntax.py | 4 +- typegate/tests/sync/sync_config_test.ts | 83 + typegate/tests/sync/typegraph_sync_test.ts | 110 + .../input_validator_test.ts.snap | 102 +- .../__snapshots__/typecheck_test.ts.snap | 4 +- .../tests/typecheck/input_validator_test.ts | 17 +- typegate/tests/typecheck/type_alias_test.ts | 33 +- typegate/tests/utils/assert.ts | 30 + typegate/tests/utils/bindings_test.ts | 9 +- typegate/tests/utils/database.ts | 14 +- typegate/tests/utils/mod.ts | 4 +- typegate/tests/utils/s3.ts | 51 + typegate/tests/utils/test.ts | 139 +- typegraph/core/Cargo.toml | 8 +- typegraph/core/src/conversion/hash.rs | 15 + typegraph/core/src/conversion/mod.rs | 2 + .../src/conversion/parameter_transform.rs | 125 + typegraph/core/src/conversion/policies.rs | 41 + typegraph/core/src/conversion/runtimes.rs | 33 +- typegraph/core/src/errors.rs | 6 + typegraph/core/src/global_store.rs | 119 +- typegraph/core/src/lib.rs | 74 +- typegraph/core/src/params/apply.rs | 563 + typegraph/core/src/params/mod.rs | 4 + typegraph/core/src/runtimes/mod.rs | 6 + typegraph/core/src/runtimes/prisma/model.rs | 5 +- .../src/runtimes/prisma/relationship/mod.rs | 1 - .../runtimes/prisma/type_generation/mod.rs | 23 +- .../prisma/type_generation/out_type.rs | 3 +- .../query_unique_where_expr.rs | 47 - .../type_generation/query_where_expr.rs | 28 +- ...ere_expr__tests__Post__QueryWhereExpr.snap | 426 +- ...ere_expr__tests__User__QueryWhereExpr.snap | 818 +- ..._generation__test__aggregate Post out.snap | 46 +- ...eneration__test__aggregate Record out.snap | 48 +- ..._generation__test__aggregate User out.snap | 46 +- ...eneration__test__create_many Post inp.snap | 1644 +- ...eneration__test__create_many Post out.snap | 6 +- ...eration__test__create_many Record inp.snap | 19 +- ...eration__test__create_many Record out.snap | 6 +- ...eneration__test__create_many User inp.snap | 1748 +-- ...eneration__test__create_many User out.snap | 6 +- ...generation__test__create_one Post inp.snap | 1642 +- ...neration__test__create_one Record inp.snap | 17 +- ...generation__test__create_one User inp.snap | 1746 +-- ...generation__test__find_first Post out.snap | 17 +- ...neration__test__find_first Record out.snap | 16 +- ...generation__test__find_first User out.snap | 19 +- ..._generation__test__find_many Post inp.snap | 512 +- ..._generation__test__find_many Post out.snap | 26 +- ...eneration__test__find_many Record inp.snap | 437 +- ...eneration__test__find_many Record out.snap | 15 +- ..._generation__test__find_many User inp.snap | 932 +- ..._generation__test__find_many User out.snap | 24 +- ...eneration__test__find_unique Post inp.snap | 223 +- ...eneration__test__find_unique Post out.snap | 26 +- ...eration__test__find_unique Record inp.snap | 214 +- ...eration__test__find_unique Record out.snap | 15 +- ...eneration__test__find_unique User inp.snap | 419 +- ...eneration__test__find_unique User out.snap | 24 +- ...e_generation__test__group_by Post inp.snap | 1920 +-- ...e_generation__test__group_by Post out.snap | 52 +- ...generation__test__group_by Record inp.snap | 1344 +- ...generation__test__group_by Record out.snap | 57 +- ...e_generation__test__group_by User inp.snap | 3620 ++--- ...e_generation__test__group_by User out.snap | 54 +- ...eneration__test__update_many Post inp.snap | 2136 +-- ...eration__test__update_many Record inp.snap | 415 +- ...eneration__test__update_many User inp.snap | 4334 +++--- ...generation__test__update_one Post inp.snap | 1923 +-- ...neration__test__update_one Record inp.snap | 261 +- ...generation__test__update_one User inp.snap | 3925 ++--- ..._generation__where___test__where Post.snap | 412 +- ...eneration__where___test__where Record.snap | 344 +- ..._generation__where___test__where User.snap | 804 +- .../type_generation/with_nested_count.rs | 5 +- typegraph/core/src/runtimes/temporal.rs | 29 +- typegraph/core/src/runtimes/typegate.rs | 4 + ...core__tests__successful_serialization.snap | 4 +- typegraph/core/src/t.rs | 1 + typegraph/core/src/test_utils.rs | 105 +- typegraph/core/src/typedef/boolean.rs | 18 +- typegraph/core/src/typedef/either.rs | 23 +- typegraph/core/src/typedef/file.rs | 17 + typegraph/core/src/typedef/float.rs | 33 +- typegraph/core/src/typedef/func.rs | 68 +- typegraph/core/src/typedef/integer.rs | 29 +- typegraph/core/src/typedef/list.rs | 23 +- typegraph/core/src/typedef/optional.rs | 20 +- typegraph/core/src/typedef/string.rs | 29 +- typegraph/core/src/typedef/struct_.rs | 23 +- typegraph/core/src/typedef/union.rs | 23 +- typegraph/core/src/typegraph.rs | 99 +- typegraph/core/src/types/mod.rs | 1 + typegraph/core/src/types/subgraph/map.rs | 108 + typegraph/core/src/types/subgraph/mod.rs | 24 + typegraph/core/src/types/type_def.rs | 100 +- typegraph/core/src/types/type_id.rs | 23 + typegraph/core/src/utils/fs_host.rs | 168 +- typegraph/core/src/utils/mod.rs | 73 +- .../core/src/utils/postprocess/deno_rt.rs | 56 +- typegraph/core/src/utils/postprocess/mod.rs | 51 +- .../core/src/utils/postprocess/prisma_rt.rs | 78 + .../core/src/utils/postprocess/python_rt.rs | 15 +- .../core/src/utils/postprocess/validation.rs | 25 + .../core/src/utils/postprocess/wasmedge_rt.rs | 25 +- typegraph/core/wit/typegraph.wit | 81 +- typegraph/node/package.json | 2 +- typegraph/node/sdk/package.json | 2 +- typegraph/node/sdk/src/host/host.ts | 23 +- typegraph/node/sdk/src/policy.ts | 26 +- typegraph/node/sdk/src/runtimes/deno.ts | 50 +- typegraph/node/sdk/src/runtimes/graphql.ts | 10 +- typegraph/node/sdk/src/runtimes/http.ts | 36 +- typegraph/node/sdk/src/runtimes/python.ts | 47 +- typegraph/node/sdk/src/runtimes/wasmedge.ts | 11 +- typegraph/node/sdk/src/tg_artifact_upload.ts | 151 + typegraph/node/sdk/src/tg_deploy.ts | 95 +- typegraph/node/sdk/src/tg_manage.ts | 166 + typegraph/node/sdk/src/typegraph.ts | 109 +- typegraph/node/sdk/src/types.ts | 144 +- typegraph/node/sdk/src/utils/file_utils.ts | 70 + typegraph/node/sdk/src/utils/func_utils.ts | 16 + .../node/sdk/src/utils/injection_utils.ts | 5 +- typegraph/node/sdk/src/utils/type_utils.ts | 3 +- typegraph/python/poetry.lock | 26 +- typegraph/python/pyproject.toml | 4 +- typegraph/python/typegraph/__init__.py | 2 +- .../python/typegraph/graph/shared_types.py | 33 + .../typegraph/graph/tg_artifact_upload.py | 149 + typegraph/python/typegraph/graph/tg_deploy.py | 112 +- typegraph/python/typegraph/graph/tg_manage.py | 192 + typegraph/python/typegraph/graph/typegraph.py | 86 +- typegraph/python/typegraph/host/host.py | 12 +- typegraph/python/typegraph/injection.py | 10 +- typegraph/python/typegraph/policy.py | 7 +- typegraph/python/typegraph/runtimes/deno.py | 8 + typegraph/python/typegraph/runtimes/python.py | 30 +- .../python/typegraph/runtimes/wasmedge.py | 4 +- typegraph/python/typegraph/t.py | 118 +- typegraph/python/typegraph/utils.py | 71 +- typegraph/python/typegraph/wit.py | 7 + .../docs/reference/runtimes/prisma/index.mdx | 4 +- .../typegate/synchronization/index.mdx | 83 + website/docs/reference/types/index.mdx | 8 + .../types/parameter-transformations.mdx | 281 + .../docs/tutorials/metatype-basics/index.mdx | 2 + website/package.json | 28 +- website/pnpm-lock.yaml | 1404 +- website/shared/install/meta-cli.mdx | 12 + website/static/images/system_setup.drawio.svg | 152 + website/static/specs/0.0.3.json | 222 + whiz.yaml | 2 + 392 files changed, 47918 insertions(+), 23731 deletions(-) create mode 100644 dev/typegraph-size.ts create mode 100644 docs/workflows/artifact_upload_protocol.drawio.svg create mode 100644 docs/workflows/typegraph_deployment.drawio.svg create mode 100644 examples/deploy/.tgignore rename examples/typegraphs/{prisma-no-sugar.py => prisma-no-sugar.py.disabled} (100%) rename examples/typegraphs/{random.py => roadmap-random.py} (100%) rename examples/typegraphs/{random.ts => roadmap-random.ts} (98%) create mode 100644 libs/common/src/typegraph/parameter_transform.rs create mode 100644 libs/common/src/typegraph/validator/common.rs create mode 100644 libs/common/src/typegraph/validator/input.rs create mode 100644 libs/common/src/typegraph/validator/mod.rs create mode 100644 libs/common/src/typegraph/validator/types.rs rename libs/common/src/typegraph/{validator.rs => validator/value.rs} (56%) create mode 100644 meta-cli/src/com/mod.rs create mode 100644 meta-cli/src/com/responses.rs create mode 100644 meta-cli/src/com/server.rs create mode 100644 meta-cli/src/com/store.rs delete mode 100644 meta-cli/src/deploy/actors/push_manager.rs delete mode 100644 meta-cli/src/deploy/actors/pusher.rs create mode 100644 meta-cli/src/deploy/push/pusher.rs create mode 100644 typegate/engine/00_runtime.js delete mode 100644 typegate/engine/runtime.js create mode 100644 typegate/engine/src/runtimes/deno_rt.rs create mode 100644 typegate/src/engine/planner/parameter_transformer.ts create mode 100644 typegate/src/engine/typecheck/inline_validators/boolean.ts create mode 100644 typegate/src/engine/typecheck/inline_validators/common.ts create mode 100644 typegate/src/engine/typecheck/inline_validators/constraints.ts create mode 100644 typegate/src/engine/typecheck/inline_validators/file.ts create mode 100644 typegate/src/engine/typecheck/inline_validators/list.ts create mode 100644 typegate/src/engine/typecheck/inline_validators/mod.ts create mode 100644 typegate/src/engine/typecheck/inline_validators/number.ts create mode 100644 typegate/src/engine/typecheck/inline_validators/object.ts create mode 100644 typegate/src/engine/typecheck/inline_validators/string.ts create mode 100644 typegate/src/libs/jsonpath.ts create mode 100644 typegate/src/postprocess.ts create mode 100644 typegate/src/services/artifact_upload_service.ts create mode 100644 typegate/src/sync/config.ts create mode 100644 typegate/src/sync/mod.ts rename typegate/src/{ => sync}/replicated_map.ts (90%) create mode 100644 typegate/src/sync/typegraph.ts create mode 100755 typegate/tests/artifacts/rust.wasm create mode 100644 typegate/tests/e2e/self_deploy/.tgignore create mode 100644 typegate/tests/e2e/self_deploy/scripts/main.ts create mode 100644 typegate/tests/e2e/self_deploy/self_deploy.mjs create mode 100644 typegate/tests/e2e/self_deploy/self_deploy_test.ts create mode 100644 typegate/tests/injection/nested_context.py create mode 100644 typegate/tests/params/apply.py create mode 100644 typegate/tests/params/apply_nested_context.py create mode 100644 typegate/tests/params/apply_test.ts create mode 100644 typegate/tests/random/injection/random_injection.py create mode 100644 typegate/tests/random/injection/random_injection.ts create mode 100644 typegate/tests/random/injection/random_injection_test.ts rename typegate/tests/random/{random.py => random_.py} (100%) create mode 100644 typegate/tests/regression/invalid_ref_error_message/invalid_ref.py create mode 100644 typegate/tests/regression/invalid_ref_error_message/invalid_ref_test.ts delete mode 100644 typegate/tests/runtimes/deno/deno_static.ts create mode 100644 typegate/tests/runtimes/deno/deno_typescript.ts rename typegate/tests/runtimes/http/{http.py => http_.py} (100%) create mode 100644 typegate/tests/runtimes/typegate/__snapshots__/typegate_prisma_test.ts.snap create mode 100644 typegate/tests/runtimes/typegate/typegate_prisma_test.ts create mode 100644 typegate/tests/runtimes/wasmedge/wasmedge.ts create mode 100644 typegate/tests/sync/sync_config_test.ts create mode 100644 typegate/tests/sync/typegraph_sync_test.ts create mode 100644 typegate/tests/utils/assert.ts create mode 100644 typegate/tests/utils/s3.ts create mode 100644 typegraph/core/src/conversion/hash.rs create mode 100644 typegraph/core/src/conversion/parameter_transform.rs create mode 100644 typegraph/core/src/params/apply.rs create mode 100644 typegraph/core/src/params/mod.rs delete mode 100644 typegraph/core/src/runtimes/prisma/type_generation/query_unique_where_expr.rs create mode 100644 typegraph/core/src/types/subgraph/map.rs create mode 100644 typegraph/core/src/types/subgraph/mod.rs create mode 100644 typegraph/core/src/utils/postprocess/prisma_rt.rs create mode 100644 typegraph/core/src/utils/postprocess/validation.rs create mode 100644 typegraph/node/sdk/src/tg_artifact_upload.ts create mode 100644 typegraph/node/sdk/src/tg_manage.ts create mode 100644 typegraph/node/sdk/src/utils/file_utils.ts create mode 100644 typegraph/python/typegraph/graph/shared_types.py create mode 100644 typegraph/python/typegraph/graph/tg_artifact_upload.py create mode 100644 typegraph/python/typegraph/graph/tg_manage.py create mode 100644 website/docs/reference/typegate/synchronization/index.mdx create mode 100644 website/docs/reference/types/parameter-transformations.mdx create mode 100644 website/static/images/system_setup.drawio.svg diff --git a/.ghjk/lock.json b/.ghjk/lock.json index 5ed112822b..5fa29adf49 100644 --- a/.ghjk/lock.json +++ b/.ghjk/lock.json @@ -384,6 +384,11 @@ }, "portRef": "npmi_npm@0.1.0", "packageName": "@bytecodealliance/jco" + }, + "f4760b34b6c9f9f96207cfb380deb77007a212a60bd10bdb3dc9d20b94c2785c": { + "version": "v8.15.2", + "depConfigs": {}, + "portRef": "pnpm_ghrel@0.1.0" } } }, @@ -746,7 +751,7 @@ } }, { - "version": "v8.8.0", + "version": "v8.15.2", "port": { "ty": "denoWorker@v1", "name": "pnpm_ghrel", diff --git a/.github/workflows/publish-website.yml b/.github/workflows/publish-website.yml index 88c47a4034..5961f2748b 100644 --- a/.github/workflows/publish-website.yml +++ b/.github/workflows/publish-website.yml @@ -27,7 +27,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: metatypedev/setup-ghjk@32fe7ad4eab41d5e62189208afa6fe17112a5563 + - uses: metatypedev/setup-ghjk@a7bbf22959e3c0f80b8ba9f800b0a9f1ff17fa7b - uses: actions/cache@v4 with: path: .venv diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e88b17f381..7dbe7a53ca 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ on: env: GHJK_VERSION: "f380522" - DENO_VERSION: "1.40.1" + DENO_VERSION: "1.41.0" REGISTRY_IMAGE: ghcr.io/${{ github.repository_owner }}/typegate jobs: @@ -98,7 +98,7 @@ jobs: with: targets: ${{ matrix.target }} # some targets don't use cross so will require the deps in the host - - uses: metatypedev/setup-ghjk@32fe7ad4eab41d5e62189208afa6fe17112a5563 + - uses: metatypedev/setup-ghjk@a7bbf22959e3c0f80b8ba9f800b0a9f1ff17fa7b - uses: Swatinem/rust-cache@v2 with: key: ${{ runner.os }}-${{ matrix.target }} @@ -120,33 +120,33 @@ jobs: # we cd next to the file so that the its parent dirs # aren't present in the tar cd target/${{ matrix.target }}/release/ - tar czvf ../../../meta-cli-${{ steps.latest-tag.outputs.tag }}-${{ matrix.target }}.tar.gz "meta${{ matrix.suffix }}" + tar czvf ../../../meta-cli-thin-${{ steps.latest-tag.outputs.tag }}-${{ matrix.target }}.tar.gz "meta${{ matrix.suffix }}" cd ../../../ - if: ${{ matrix.target != 'aarch64-unknown-linux-gnu' }} shell: bash run: | cargo build --release --locked --package meta-cli --target ${{ matrix.target }} --features typegate -v cd target/${{ matrix.target }}/release/ - tar czvf ../../../meta-cli-full-${{ steps.latest-tag.outputs.tag }}-${{ matrix.target }}.tar.gz "meta${{ matrix.suffix }}" + tar czvf ../../../meta-cli-${{ steps.latest-tag.outputs.tag }}-${{ matrix.target }}.tar.gz "meta${{ matrix.suffix }}" cd ../../../ cargo build --release --locked --package meta-cli --target ${{ matrix.target }} cd target/${{ matrix.target }}/release/ - tar czvf ../../../meta-cli-${{ steps.latest-tag.outputs.tag }}-${{ matrix.target }}.tar.gz "meta${{ matrix.suffix }}" + tar czvf ../../../meta-cli-thin-${{ steps.latest-tag.outputs.tag }}-${{ matrix.target }}.tar.gz "meta${{ matrix.suffix }}" cd ../../../ - # full meta-cli is not avail for arm64 linux (waiting on arm64 linux machines for Gh CI) + # fat meta-cli is not avail for arm64 linux (waiting on arm64 linux machines for Gh CI) - if: ${{ matrix.target != 'aarch64-unknown-linux-gnu' }} uses: svenstaro/upload-release-action@v2 with: tag: ${{ steps.latest-tag.outputs.tag }} - file: "meta-cli-full-${{ steps.latest-tag.outputs.tag }}-${{ matrix.target }}.tar.gz" - asset_name: "meta-cli-full-${{ steps.latest-tag.outputs.tag }}-${{ matrix.target }}.tar.gz" + file: "meta-cli-${{ steps.latest-tag.outputs.tag }}-${{ matrix.target }}.tar.gz" + asset_name: "meta-cli-${{ steps.latest-tag.outputs.tag }}-${{ matrix.target }}.tar.gz" overwrite: ${{ inputs.ovewriteArtifacts }} - uses: svenstaro/upload-release-action@v2 with: tag: ${{ steps.latest-tag.outputs.tag }} - file: "meta-cli-${{ steps.latest-tag.outputs.tag }}-${{ matrix.target }}.tar.gz" - asset_name: "meta-cli-${{ steps.latest-tag.outputs.tag }}-${{ matrix.target }}.tar.gz" + file: "meta-cli-thin-${{ steps.latest-tag.outputs.tag }}-${{ matrix.target }}.tar.gz" + asset_name: "meta-cli-thin-${{ steps.latest-tag.outputs.tag }}-${{ matrix.target }}.tar.gz" overwrite: ${{ inputs.ovewriteArtifacts }} typegraph: @@ -172,7 +172,7 @@ jobs: - uses: denoland/setup-deno@v1 with: deno-version: ${{ env.DENO_VERSION }} - - uses: metatypedev/setup-ghjk@32fe7ad4eab41d5e62189208afa6fe17112a5563 + - uses: metatypedev/setup-ghjk@a7bbf22959e3c0f80b8ba9f800b0a9f1ff17fa7b - shell: bash env: POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_TOKEN }} @@ -305,7 +305,7 @@ jobs: fetch-depth: 0 - uses: WyriHaximus/github-action-get-previous-tag@v1.4.0 id: latest-tag - - uses: metatypedev/setup-ghjk@32fe7ad4eab41d5e62189208afa6fe17112a5563 + - uses: metatypedev/setup-ghjk@a7bbf22959e3c0f80b8ba9f800b0a9f1ff17fa7b - shell: bash run: | cd dev-tools diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index faaa4457bb..dd23969e36 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -10,9 +10,10 @@ on: env: GHJK_VERSION: "f380522" - DENO_VERSION: "1.40.1" + DENO_VERSION: "1.41.0" RUST_BACKTRACE: "full" RUST_LOG: "info,swc_ecma_codegen=off,tracing::span=off" + DENO_DIR: deno-dir jobs: changes: @@ -70,7 +71,7 @@ jobs: - uses: denoland/setup-deno@v1 with: deno-version: ${{ env.DENO_VERSION }} - - uses: metatypedev/setup-ghjk@32fe7ad4eab41d5e62189208afa6fe17112a5563 + - uses: metatypedev/setup-ghjk@a7bbf22959e3c0f80b8ba9f800b0a9f1ff17fa7b - shell: bash run: | sudo apt update @@ -82,7 +83,7 @@ jobs: pnpm install --frozen-lockfile --recursive cd .. deno cache --import-map typegate/import_map.json typegate/src/main.ts typegate/tests/utils/mod.ts - - uses: pre-commit/action@v3.0.0 + - uses: pre-commit/action@v3.0.1 test-website: needs: changes @@ -98,7 +99,7 @@ jobs: with: path: ${{ env.DENO_DIR }} key: deno-mac-${{ hashFiles('**/deno.lock') }} - - uses: metatypedev/setup-ghjk@32fe7ad4eab41d5e62189208afa6fe17112a5563 + - uses: metatypedev/setup-ghjk@a7bbf22959e3c0f80b8ba9f800b0a9f1ff17fa7b - name: Cache .venv dir uses: actions/cache@v4 with: @@ -146,9 +147,12 @@ jobs: with: path: .venv key: ${{ runner.os }}-venv-${{ hashFiles('**/poetry.lock', '.ghjk/lock.json') }} - - uses: metatypedev/setup-ghjk@32fe7ad4eab41d5e62189208afa6fe17112a5563 + - uses: metatypedev/setup-ghjk@a7bbf22959e3c0f80b8ba9f800b0a9f1ff17fa7b + with: + # temporary fix + cache-key-prefix: ${{ matrix.os }} - shell: bash - env: + env: WASM_FILE: target/debug/typegraph_core.wasm run: | python3 -m venv .venv @@ -171,55 +175,58 @@ jobs: cargo run --locked --package meta-cli -- --help cargo test --locked --package meta-cli - test-docker: - needs: changes - if: ${{ needs.changes.outputs.typegate == 'true' }} - runs-on: ${{ matrix.runner }} - strategy: - fail-fast: false - matrix: - include: - - platform: linux/amd64 - runner: ubuntu-latest - # FIXME: try macos-14 runner once all actions support it - # docker buildx action broken as of 2024-02-09 - - platform: linux/arm64 - runner: custom-macos - steps: - - uses: actions/checkout@v4 - - uses: docker/setup-buildx-action@v3 - - uses: scherermichael-oss/action-has-permission@master - id: check - with: - required-permission: write - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: docker/login-action@v3 - if: steps.check.outputs.has-permission - with: - registry: docker.io - username: zifeo - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build with cache (internal) - uses: docker/build-push-action@v5 - if: steps.check.outputs.has-permission - with: - file: dev/Dockerfile - platforms: ${{ matrix.platform }} - push: false - cache-from: type=registry,ref=docker.io/zifeo/metatype-cache:ci - cache-to: type=registry,ref=docker.io/zifeo/metatype-cache:ci,mode=max - # check target runs extra validation steps in the Dockerfile - target: check - - name: Build without cache (external) - uses: docker/build-push-action@v5 - if: "! steps.check.outputs.has-permission" - with: - file: dev/Dockerfile - platforms: linux/amd64 - push: false - cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/typegate:latest - target: check + # test-docker: + # needs: changes + # if: ${{ needs.changes.outputs.typegate == 'true' }} + # runs-on: ${{ matrix.runner }} + # strategy: + # fail-fast: false + # matrix: + # include: + # - platform: linux/amd64 + # runner: ubuntu-latest + # # - platform: linux/amd64 + # # runner: custom-ubuntu-large + # # FIXME: try macos-14 runner once all actions support it + # # docker buildx action broken as of 2024-02-09 + # # TODO + # # - platform: linux/arm64 + # # runner: custom-macos + # steps: + # - uses: actions/checkout@v4 + # - uses: docker/setup-buildx-action@v3 + # - uses: scherermichael-oss/action-has-permission@master + # id: check + # with: + # required-permission: write + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # - uses: docker/login-action@v3 + # if: steps.check.outputs.has-permission + # with: + # registry: docker.io + # username: zifeo + # password: ${{ secrets.DOCKERHUB_TOKEN }} + # - name: Build with cache (internal) + # uses: docker/build-push-action@v5 + # if: steps.check.outputs.has-permission + # with: + # file: dev/Dockerfile + # platforms: ${{ matrix.platform }} + # push: false + # cache-from: type=registry,ref=docker.io/zifeo/metatype-cache:ci + # cache-to: type=registry,ref=docker.io/zifeo/metatype-cache:ci,mode=max + # # check target runs extra validation steps in the Dockerfile + # target: check + # - name: Build without cache (external) + # uses: docker/build-push-action@v5 + # if: "! steps.check.outputs.has-permission" + # with: + # file: dev/Dockerfile + # platforms: linux/amd64 + # push: false + # cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/typegate:latest + # target: check test-full: needs: changes @@ -236,7 +243,7 @@ jobs: ports: - 6379:6379 options: >- - --health-cmd "redis-cli ping" + --health-cmd "redis-cli -a password ping" --health-interval 10s --health-timeout 5s --health-retries 5 @@ -285,14 +292,14 @@ jobs: path: .venv key: ${{ runner.os }}-venv-${{ hashFiles('**/poetry.lock', '.ghjk/lock.json') }} # FIXME: the custom runner is missing some ambient items found in - # github runner images by default. remove this hack when ghjk handles + # github runner images by default. remove this hack when ghjk handles # zstd/bsdtar on it's own - run: | sudo apt update sudo apt install -y --no-install-recommends zstd - - uses: metatypedev/setup-ghjk@32fe7ad4eab41d5e62189208afa6fe17112a5563 + - uses: metatypedev/setup-ghjk@a7bbf22959e3c0f80b8ba9f800b0a9f1ff17fa7b - shell: bash - env: + env: WASM_FILE: target/debug/typegraph_core.wasm run: | echo pwd in $(pwd) @@ -340,6 +347,7 @@ jobs: deno cache --import-map typegate/import_map.json \ typegate/src/main.ts \ typegate/tests/utils/*.ts \ + typegate/tests/runtimes/wasmedge/*.ts \ dev/deps.ts \ dev/utils.ts deno --unstable-worker-options --unstable-net coverage ./coverage --lcov > coverage.lcov @@ -357,7 +365,7 @@ jobs: - uses: denoland/setup-deno@v1 with: deno-version: ${{ env.DENO_VERSION }} - - uses: metatypedev/setup-ghjk@32fe7ad4eab41d5e62189208afa6fe17112a5563 + - uses: metatypedev/setup-ghjk@a7bbf22959e3c0f80b8ba9f800b0a9f1ff17fa7b - shell: bash run: | cd dev-tools diff --git a/.gitignore b/.gitignore index 2a2f16c925..2b40558223 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,7 @@ dev-tools/*.vsix typegate/workers typegate/codegen typegate/tests/prisma-migrations +typegate/tests/e2e/cli/prisma-migrations typegate/tests/importers/copy/ .env typegate/native/bindings.json diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 54536b4789..e25c79eea7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -50,11 +50,11 @@ repos: - id: deno-fmt name: Deno format language: system - entry: bash -c 'cd typegate && deno fmt --ignore=native,src/typegraphs,tmp,tests/e2e/nextjs && cd ../dev && deno fmt' + entry: bash -c 'cd typegate && deno fmt --ignore=native,src/typegraphs,tmp,tests/e2e/nextjs && cd ../dev && deno fmt && cd ../typegraph/node && deno fmt --ignore=node_modules,dist' pass_filenames: false types: - ts - files: ^(typegate|dev)/ + files: ^(typegate|dev|typegraph/node)/ - id: deno-lint name: Deno lint language: system diff --git a/CHANGELOG.md b/CHANGELOG.md index 274959f525..3524270e99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,24 +1,484 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -## [v0.3.4](https://github.com/metatypedev/metatype/releases/tag/v0.3.4) - 2024-02-10 - -### Bug Fixes - -
    - -(ci) `upload-artifact@v4` migration, `cross` compilation for meta + typegate (#571) - - -The recent update to `upload-artifact@v4` has some breaking changes as -described -[here](https://github.com/actions/upload-artifact/blob/main/docs/MIGRATION.md). -This PR addresses them. It also fixes the cross-compilation issues with -the `meta-cli` job in the release workflow. +# Changelog + +All notable changes to this project will be documented in this file. + +## [v0.3.6](https://github.com/metatypedev/metatype/releases/tag/v0.3.6) - 2024-03-14 + +### Bug Fixes + +
    + +(gate) `RandomRuntime` does not consider `enum`, `either`, `union` variants (#619) + + +add either, enum, struct and union type support in Random Runtime. + +#### Motivation and context + +generating random values for enums, either and union types was failing. + +#### Migration notes + +_No Migrations Needed + +### Checklist + +- [x] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +(python-wasi) Fix for vm not initialized after consecutive deploy (#617) + + +Bug fix for typegate throwing `vm not initialized` after reload #### Motivation and context +Bug fix + +#### Migration notes + +No Migrations Needed + +### Checklist + +- [x] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +Apply from context (#616) + + +Fix type validators for apply from context. + +#### Motivation and context + +Bug. + +#### Migration notes + +_N/A_ + +### Checklist + +- [x] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +Optimize typegraph size (#618) + + +- Hash all type data to compare them on the conversion phase in typegraph/core: + remove duplicate types from type final typegraph (duplicate: same value for + all the fields except for the "random" name/title). +- Skip unreferenced types in `.apply` + +#### Motivation and context + +Typegraph is too big sometimes. + +#### Migration notes + + + +### Checklist + +- [ ] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
    + +### Miscellaneous Tasks + +
    + +Prepare release v0.3.6 (#626) + + +Prepare release v0.3.6 + +#### Motivation and context + +_N/A_ + +#### Migration notes + +_N/A_ + +### Checklist + +- [ ] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
    + +## [v0.3.5](https://github.com/metatypedev/metatype/releases/tag/v0.3.5) - 2024-03-05 + +### Bug Fixes + +
    + +(cli) Fix for `meta-cli deploy` exit with code `0` on failure (#600) + + +fix the issue where `meta-cli deploy` command exits with code 0 on failure. + +#### Motivation and context + +bug fix + +#### Migration notes + +No changes needed. + +### Checklist + +- [ ] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +(typegate,typegraph) Minor bugs (#596) + + +Just a few very minor bugs I'd encountered this week. Tests pending. + +#### Motivation and context + +Bugs. + +#### Migration notes + +_No changes required_ + +### Checklist + +- [ ] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +Show error message for unregistered type name (#594) + + +Check and throw the error for the `expose` function when called from the Python +SDK. + +#### Motivation and context + +We got a finalization failure when there are some unregistered type referenced +with `g.ref`. + +#### Migration notes + +_No changes needed._ + +### Checklist + +- [x] The change come with new or modified tests +- [x] Hard-to-understand functions have explanatory comments +- [x] End-user documentation is updated to reflect the change + +
    +
    + +Remove injections from prisma output types (#597) + + +Remove injections from generated output types for prisma operations. + +#### Motivation and context + +Generated types fail validations (_injection not allowed in output types_). + +#### Migration notes + +_No changes needed_. + +### Checklist + +- [x] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +Esm customizer for typegate deno ext (#606) + + +Enables v8 snapshots integration for `meta typegate` subcommand and the +standalone typegate. Also bumps deno to 1.41.0. + +#### Motivation and context + +
    +
    + +Re-enable macos-latest cli-compat test job (#608) + + +Fixes and enables the broken job. + +#### Motivation and context + +Job was disabled earlier to mysterious breakages. + +#### Migration notes + +**No changes required** + +### Checklist + +- [ ] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
    + +### Features + +
    + +(deno/sdk) Native function embedding in typescript (#598) + + +Add support for function or lambda definition typescript sdk for `deno.func` +similarly to how `python.from_def` in python sdk works. + +#### Motivation and context + +Providing a string is a bit impractical and counter-intuitive espcially when the +sdk language matches with runtime's language. + +#### Migration notes + +No changes needed. + +### Checklist + +- [x] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +--- + +
    +
    + +(sdk) Testing framework integration 2 (#579) + + +#### Motivation and context + +Continuation of #566 , focused on prisma runtime. + +#### Migration notes + +N/A + +### Checklist + +- [x] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +--- + +
    +
    + +(sdk) From_random injection (#593) + + + + + + +This change includes changes in StringFormats(added some string formats), logic +to provide random values for type nodes and tests to validate the changes. The +changes are mostly in the typegraph sdk. + +#### Motivation and context + + + +This feature enables the user to inject random values for a field(**Type Node**) +when defining a **Typegraph**. + +#### Migration notes + +_No changes needed_. + + + +### Checklist + +- [x] The change come with new or modified tests +- [x] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +Remove obsolete restrictions on prisma (#592) + + +#### Motivation and context + +Since v5, where on unique queries exposes all the fields, not just unique +fields. + +
    +
    + +Parameter transformation (#587) + + +Enable parameter transformation with the `.apply()` method. It has more or less +the same logic as `.reduce()` with the ability to flatten the input type. + +#### Motivation and context + +This feature enables simpler APIs (input types) on top of runtimes (e.g.: +prisma). + +#### Migration notes + +_No changes needed_. + +### Checklist + +- [x] The change come with new or modified tests +- [x] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +Nested context query (#595) + - BREAKING: Nested context query (#595) + + +- Revert context flattening +- Enable jsonpath-like key to access nested object fields or array items on the + context. + +#### Migration notes + +If you access the context directly in your application (through the token), +access to nested fields shall be updated. E.g. the expression +`context["profile.id"]` have to turned to `context.profile.id`. + +### Checklist + +- [x] The change come with new or modified tests +- [x] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
    + +### Miscellaneous Tasks + +
    + +(release) Bump 0.3.5 (#613) + + +Ready for release of v0.3.5 + +#### Motivation and context + +Required by console. + +#### Migration notes + +_No changes required__. + +### Checklist + +- [ ] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
    + +### Refactor + +
    + +(sdk) Move post-processing functions to the typegate (#586) + + +#### Motivation and context + +Depends on #579 Compiled `wasm` bin size is too large, goal is to reduce it to +~3MB. + +#### Migration notes + +N/A + +### Checklist + +- [x] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +--- + +
    +
    + +Make fat `meta-cli` the default (#607) + - BREAKING: make fat `meta-cli` the default (#607) + + +Switch the default `meta-cli` release to the fat version (the one that includes +the `typegate` subcommand). + +#### Motivation and context + +
    + +## [v0.3.4](https://github.com/metatypedev/metatype/releases/tag/v0.3.4) - 2024-02-10 + +### Bug Fixes + +
    + +(ci) `upload-artifact@v4` migration, `cross` compilation for meta + typegate (#571) + + +The recent update to `upload-artifact@v4` has some breaking changes as described +[here](https://github.com/actions/upload-artifact/blob/main/docs/MIGRATION.md). +This PR addresses them. It also fixes the cross-compilation issues with the +`meta-cli` job in the release workflow. + +#### Motivation and context [Issue](https://github.com/metatypedev/metatype/actions/runs/7719983991/job/21044171984) in release workflow. @@ -31,20 +491,19 @@ _No changes required._ - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
    -
    - -(ci) Minor typo in `release.yml/docker` (#576) - - +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +(ci) Minor typo in `release.yml/docker` (#576) + + Small typo blocking the job that pushes the images to ghcr.io. #### Motivation and context -[Broken -run.](https://github.com/metatypedev/metatype/actions/runs/7748712325/job/21132659221) +[Broken run.](https://github.com/metatypedev/metatype/actions/runs/7748712325/job/21132659221) #### Migration notes @@ -54,14 +513,14 @@ _No changes required._ - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
    -
    - -(ci) Missing ts modules from `typegate` image (#577) - - +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +(ci) Missing ts modules from `typegate` image (#577) + + Adds a check step to the `typegate`'s `Dockerfile` and converts the `.dockerignore` to be a whitelist. @@ -77,28 +536,26 @@ _No changes required_ - [x] The change come with new or modified tests - [x] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
    -
    - -(typegate) Fix `tmp` dir issue, bump to 0.3.4 (#583) - - +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +(typegate) Fix `tmp` dir issue, bump to 0.3.4 (#583) + + - Fixes an issue with the prisma migration code being unable to properly -`mktmpd` when running in the `typegate` images. -- Removes `cross` usage for all but the `aarch64-unknown-linux-gnu` -target in the `meta-cli` release jobs. Deno doesn't like being cross -compiled, doesn't like being built by the cross toolchain in general -(even for the native target). The consequence of all this is that the -`aarch64-unknown-linux-gnu` target will temporarily lack the `full` -version builds. + `mktmpd` when running in the `typegate` images. +- Removes `cross` usage for all but the `aarch64-unknown-linux-gnu` target in + the `meta-cli` release jobs. Deno doesn't like being cross compiled, doesn't + like being built by the cross toolchain in general (even for the native + target). The consequence of all this is that the `aarch64-unknown-linux-gnu` + target will temporarily lack the `full` version builds. - This also bumps the version of the 0.3.4 to get the fix out. #### Motivation and context -The main `TMP_DIR` was not created properly in the `typegate` -`Dockerfile`. +The main `TMP_DIR` was not created properly in the `typegate` `Dockerfile`. #### Migration notes @@ -108,42 +565,41 @@ _No changes required_ - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
    -
    - -Remove unallowed fields (#569) - - -Skip fields with policies in `findListQueries`. - -#### Motivation and context - -Console. - -#### Migration notes - -_N/A_ - -### Checklist - -- [x] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
    -
    - -Hotfix typo in `release.yml` (#580) - - -Yes, another one lol. This removes the `target` param from the release -builder which will default to the last stage of the Dockerfile, the -`epoint` stage. I elected to remove the parameter rather than replacing -the value in order to remove one more place future changes will have to -consider. (convention better than configuration the saying goes (i -think)). +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +Remove unallowed fields (#569) + + +Skip fields with policies in `findListQueries`. + +#### Motivation and context + +Console. + +#### Migration notes + +_N/A_ + +### Checklist + +- [x] The change come with new or modified tests +- [x] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +Hotfix typo in `release.yml` (#580) + + +Yes, another one lol. This removes the `target` param from the release builder +which will default to the last stage of the Dockerfile, the `epoint` stage. I +elected to remove the parameter rather than replacing the value in order to +remove one more place future changes will have to consider. (convention better +than configuration the saying goes (i think)). #### Motivation and context @@ -158,18 +614,17 @@ _No changes required_ - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
    - - -### Documentation - -
    - -(website) Cleanup (#521) - - +- [ ] End-user documentation is updated to reflect the change + +
    + +### Documentation + +
    + +(website) Cleanup (#521) + + -#### Migration notes +- Change the publisher name to **metatypedev** to match the account name on + Azure Devops. +- Add dev-tools projects to `dev/lock.yml` for automatic versioning. -_No changes required_ +#### Motivation and context -### Checklist +- -- [ ] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
    -
    - -(oauth2-profiler) Fix OAuth2 profiler params (#562) - - -Pass the appropriate request URL and headers to the profiler resolver. - -#### Motivation and context - -It used the provider url instead of the (typegate) request URL, causing -internal queries to fail. - -#### Migration notes - -_N/A_ - -### Checklist - -- [x] The change come with new or modified tests -- [x] Hard-to-understand functions have explanatory comments -- [x] End-user documentation is updated to reflect the change - -
    -
    - -(template/node) Update sdk version to 0.3.2 + add `deno.static` (#558) - - -#### Motivation and context +[Failure](https://github.com/metatypedev/metatype/actions/runs/7522189733/job/20473888302) +to publish the extension. -Sync template examples with latest 0.3.2. -Added missing `deno.static` and `func.rate(...)` on node. +- Non-matching version. #### Migration notes -N/A +_Blank_ ### Checklist -- [x] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
    -
    - -(vscode-extension) Fix publisher name and version (#553) - - - - -- Change the publisher name to **metatypedev** to match the account name -on Azure Devops. -- Add dev-tools projects to `dev/lock.yml` for automatic versioning. - -#### Motivation and context - -* -[Failure](https://github.com/metatypedev/metatype/actions/runs/7522189733/job/20473888302) -to publish the extension. -* Non-matching version. - -#### Migration notes - -_Blank_ - -### Checklist - -- [ ] ~The change come with new or modified tests~ _(N/A)_ -- [ ] ~Hard-to-understand functions have explanatory comments~ _(N/A)_ -- [ ] ~End-user documentation is updated to reflect the change~ _(N/A)_ - -
    - - -### Documentation - -
    - -(website) Move typegraphs in separate folder + add ts version (#552) - - +- [ ] ~~The change come with new or modified tests~~ _(N/A)_ +- [ ] ~~Hard-to-understand functions have explanatory comments~~ _(N/A)_ +- [ ] ~~End-user documentation is updated to reflect the change~~ _(N/A)_ + +
    + +### Documentation + +
    + +(website) Move typegraphs in separate folder + add ts version (#552) + + #### Motivation and context Better organization + typescript examples. @@ -503,18 +956,17 @@ N/A - [x] The change come with new or modified tests - [x] Hard-to-understand functions have explanatory comments -- [x] End-user documentation is updated to reflect the change - -
    - - -### Features - -
    - -(node) Node fontend missing features (#557) - - +- [x] End-user documentation is updated to reflect the change + +
    + +### Features + +
    + +(node) Node fontend missing features (#557) + + #### Motivation and context Easier translation from python to typescript typegraph. @@ -527,15 +979,16 @@ N/A - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
    -
    - -(prisma) Add support multi-field ids and id on struct (#556) - - +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +(prisma) Add support multi-field ids and id on struct (#556) + + Adds support for more advanced id fields and unique constraints: + - Multi-field id - Id on struct (foreign key) - Multi-field unique constraints @@ -565,7 +1018,6 @@ project = t.struct( ).rename("Project") ``` - #### Migration notes _No migration needed._ @@ -574,16 +1026,15 @@ _No migration needed._ - [x] The change come with new or modified tests - [x] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
    -
    - -(typegate) Oauth2 token validation endpoint (#567) - - -Create an oauth2 token validation endpoint: `/:tgName/auth/validate`. +- [ ] End-user documentation is updated to reflect the change +
    +
    + +(typegate) Oauth2 token validation endpoint (#567) + + +Create an oauth2 token validation endpoint: `/:tgName/auth/validate`. #### Motivation and context @@ -597,17 +1048,17 @@ Create an oauth2 token validation endpoint: `/:tgName/auth/validate`. - [x] The change come with new or modified tests - [x] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
    -
    - -(typegate-rt) Extend typegate runtime (#561) - - +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +(typegate-rt) Extend typegate runtime (#561) + + Extend the typegate runtime with the following queries: -- `findListQueries`: find all the queries that returns a list of -`t.struct`. + +- `findListQueries`: find all the queries that returns a list of `t.struct`. #### Motivation and context @@ -621,26 +1072,27 @@ _N/A_ - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
    -
    - -(vscode-ext) Logo, README, display name, description (#554) - - -- Added a better display name and description -- Added logo and README - -
    -
    - -Flattened context (#555) - - +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +(vscode-ext) Logo, README, display name, description (#554) + + +- Added a better display name and description +- Added logo and README + +
    +
    + +Flattened context (#555) + + Flatten profile fields in the context. So instead of + ```js { provider: 'github', @@ -654,6 +1106,7 @@ So instead of ``` we would have: + ```js { provider: 'github', @@ -668,8 +1121,8 @@ we would have: #### Motivation and context -It was impossible to get the nested id into a `from_context` injection. -Now we can inject `.from_context("profile.id")`. +It was impossible to get the nested id into a `from_context` injection. Now we +can inject `.from_context("profile.id")`. #### Migration notes @@ -679,18 +1132,17 @@ Now we can inject `.from_context("profile.id")`. - [ ] The change come with new or modified tests - [x] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
    - - -### Refactor - -
    - -(ci) `workflow_dispatch` for release wflow (#546) - - +- [ ] End-user documentation is updated to reflect the change + +
    + +### Refactor + +
    + +(ci) `workflow_dispatch` for release wflow (#546) + + - Manual trigger for release wflow - Adds missing ghjk step for `vscode-extension` release job @@ -706,20 +1158,19 @@ Doesn't affect end users. - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
    - - -## [v0.3.2](https://github.com/metatypedev/metatype/releases/tag/v0.3.2) - 2024-01-12 - -### Bug Fixes - -
    - -(ci) Release changelog generation (#542) - - +- [ ] End-user documentation is updated to reflect the change + +
    + +## [v0.3.2](https://github.com/metatypedev/metatype/releases/tag/v0.3.2) - 2024-01-12 + +### Bug Fixes + +
    + +(ci) Release changelog generation (#542) + + #### Describe your change Configures the `checkout` action step in the workflow that generates the @@ -727,9 +1178,9 @@ workflow to clone the full git history. #### Motivation and context -The updates to the release workflow that introduce [git -cliff](https://git-cliff.org/) based changelogs (back in #487) don't -appear to be in effect. +The updates to the release workflow that introduce +[git cliff](https://git-cliff.org/) based changelogs (back in #487) don't appear +to be in effect. #### Migration notes @@ -739,14 +1190,14 @@ No end user changes required. - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
    -
    - -(website) Fix docusaurus warnings (#526) - - +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +(website) Fix docusaurus warnings (#526) + + ### Describe your change Fix docusaurus warnings on the website @@ -764,14 +1215,14 @@ Solves - [ ] The change come with new or modified tests - [ ] Hard-to-understand functions have explanatory comments -- [x] End-user documentation is updated to reflect the change - -
    -
    - -Fix stage iteration (#540) - - +- [x] End-user documentation is updated to reflect the change + +
    +
    + +Fix stage iteration (#540) + + - -### Describe your change - -Enable custom profiler for the std (predefined) Oauth2 providers: -- Default profiler -- No profiler -- Extended default profiler -- Custom profiler - -### Motivation and context - -We may want for example to add the Github login in the profile in -addition to the id. - -### Migration notes - -_No migration needed._ - -### Checklist - -- [ ] The change come with new or modified tests -- [ ] Hard-to-understand functions have explanatory comments -- [ ] End-user documentation is updated to reflect the change - -
    -
    - -Limited parallel loads (#537) - - +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +Customizable oauth2 profiler (#538) + + + + +### Describe your change + +Enable custom profiler for the std (predefined) Oauth2 providers: + +- Default profiler +- No profiler +- Extended default profiler +- Custom profiler + +### Motivation and context + +We may want for example to add the Github login in the profile in addition to +the id. + +### Migration notes + +_No migration needed._ + +### Checklist + +- [ ] The change come with new or modified tests +- [ ] Hard-to-understand functions have explanatory comments +- [ ] End-user documentation is updated to reflect the change + +
    +
    + +Limited parallel loads (#537) + + ### Migration notes @@ -1250,28 +1695,25 @@ Bug. - [ ] Hard-to-understand functions have explanatory comments - [ ] End-user documentation is updated to reflect the change ---------- - -
    -
    - -Git cliff - - - - -
    - - -## [v0.3.0](https://github.com/metatypedev/metatype/releases/tag/v0.3.0) - 2023-12-08 - -### Bug Fixes - -
    - -(gate) Pushing a typegraph must not timeout (#511) - - +--- + +
    +
    + +Git cliff + + +
    + +## [v0.3.0](https://github.com/metatypedev/metatype/releases/tag/v0.3.0) - 2023-12-08 + +### Bug Fixes + +
    + +(gate) Pushing a typegraph must not timeout (#511) + + + + +The typegate run in either on of the following modes: +- _Single instance mode:_ a single typegate instance runs all the workloads; +- _Synchronized mode:_ the workloads can be shared accross multiple typegraph instances. + +## System setup + +To enable multiple typegate instance support, the system need the following services: + +|Service|Role| +|---------|----| +|Load balancer|Share the loads accross the different typegate instances| +|Redis database|Used for synchronization between typegate instances| +|S3 storage|Store all the shared files/artifacts for the typegate instances| +|Typegate instances|_Obvious_| + + + +System setup + + +### Load balancer + +The setup does not require a specific load balancer software/hardware. +Any load balancer can do the job. + +### Redis database + +A single redis instance can be shared by multiple systems, configured with +different database numbers. + + +### S3 storage + +Any S3-compatible object store is supported for the file/artifact storage. + +One S3 storage might be shared by multiple systems. +However, each system must be configured to use its own dedicated bucket. + +### Typegate instances + +The typegate instances are configured with environment variables. +All the instances of the system must share the same value +for the synchronization variables. + +See [configuration](#typegate-configuration) for details. + +## Typegate configuration + +The typegate instances that at the core of the system must share +the configuration variables. + +Synchronization variable names start with `SYNC_`. + +:::warning +- If no `SYNC_*` variable is present, the typegate will run in the default +single instance mode. +- The typegate will fail to start if any of the `SYNC_*` variables is present +and some required `SYNC_*` variable is missing. +::: + +|Variable|Description| +|--------|-----------| +|SYNC_REDIS_URL (_Required_)|URL to the Redis database. Must include the database number.| +|SYNC_REDIS_PASSWORD (_Optional_)|Redis database password, can be included in SYNC_REDIS_URL;| +|SYNC_S3_HOST (_Required_)|Hostname of the S3 store;| +|SYNC_S3_REGION (_Required_)|S3 region;| +|SYNC_S3_ACCESS_KEY (_Required_)|Access key for the S3 store credentials;| +|SYNC_S3_SECRET_KEY (_Required_)|Access key secret for the S3 store credentials;| +|SYNC_S3_PATH_STYLE (_Optional_)|`true` or `false`, force path style if `true`.| +|SYNC_S3_BUCKET (_Required_)|The bucket to be used for the system (dedicated).| + + + +## Synchronized mode features + +- Sharing typegraphs accross multiple typegate instances +- History (WIP) + diff --git a/website/docs/reference/types/index.mdx b/website/docs/reference/types/index.mdx index 7f48843e47..e65f97488d 100644 --- a/website/docs/reference/types/index.mdx +++ b/website/docs/reference/types/index.mdx @@ -366,6 +366,14 @@ created with the [runtime](./runtimes) instance. |output type|any type|The type of the output data.| |materializer|[`Materializer`](./runtimes)|The materializer to use to perform the operation/computation.| +#### Methods +|Method|Purpose|Reference page| +|---|---|---| +|`rate`|Rate limiting|[Rate limiting](/docs/reference/typegate/rate-limiting)| +|`reduce`|Parameter transformation|[`reduce`](/docs/reference/types/parameter-transformations#funcreducetree)| +|`apply`|Parameter transformation|[`apply`](/docs/reference/types/parameter-transformations#funcapplytree)| + + #### Examples ```python diff --git a/website/docs/reference/types/parameter-transformations.mdx b/website/docs/reference/types/parameter-transformations.mdx new file mode 100644 index 0000000000..46cfd32bac --- /dev/null +++ b/website/docs/reference/types/parameter-transformations.mdx @@ -0,0 +1,281 @@ +import SDKTabs from "@site/src/components/SDKTabs"; +import TabItem from "@theme/TabItem"; + + +# Parameter Transformations + + +:::info Use cases +You might consider using parameter transformations if: +- you want a simple interface for your function but you cannot change the input type; +- if you want to re-use your function with a different set of parameters. +::: + +Parameter transformations are a way to refine the input type of your function to adapt to your need. +They enable you to use injection to predefined input type +without manually rewriting the type to add injections. +It is most usefull for input types generated by runtimes, especially the `PrismaRuntime` which generates complex input types. + +**Related concept:** [Injection](./injections) +:::note +In the following sections a _plain object_ means: +- **in JavaScript/TypeScript**: an object (literal) +- **in Python**: a dictionary +::: + + +## `func::reduce(tree)` + +The reduce method allows you to only enable some paths +in the graph of the input type of the function. + +The only required parameter to `func::reduce` is the reduce tree. + +### Reduce tree + +A reduce tree (reduce sub-tree) is plain object +whose property values are either a reduce sub-tree or a `g.inherit()` expression. + +Each plain object represents a `t.struct()` in the input type subgraph. + +All the nodes that are missing from the reduce tree will set the argument to +its default value. Therefore they must be optional. + +Consider the following typegraph: + + + +```ts +const post = t.struct({ + id: t.uuid(), + title: t.string(), + content: t.string(), +}); + +const user = t.struct({ + id: t.uuid(), + email: t.email(), + posts: t.list(post), +}); + +const filter = t.struct({ + id: t.uuid().optional(), + email: t.email().optional(), + posts: t.struct({ + count: t.struct({ + gt: t.integer({ min: 1 }).optional(), + lt: t.integer({ min: 1 }).optional(), + }), + tag: t.list(t.string()), + }), +}); + +const deno = DenoRuntime(); +const findUsers = deno.func(filter, t.list(user), { code: "..." }); + +g.expose({ + findUserById: findUsers.reduce({ + id: g.inherit(), + }), + findUsersByPostCount: findUsers.reduce({ + posts: { + count: g.inherit(), + } + }), + currentUser: findUsers.reduce({ + id: g.inherit().fromContext("profile.userId"), + }), +}); +``` + + + +```python +post = t.struct({ + "id": t.uuid(), + "email": t.email(), + "posts": t.list(post), +}) + +user = t.struct({ + "id": t.uuid(), + "email": t.email(), + "posts": t.list(post), +}) + +filter = t.struct({ + "id": t.uuid().optional(), + "email": t.email().optional(), + "posts": t.struct({ + "count": t.struct({ + "gt": t.integer(min=1).optional(), + "lt": t.integer(min=1).optional(), + }), + "tag": t.list(t.string()), + }), +}) + +deno = DenoRuntime() +findUsers = deno.func(filter, t.list(user), code="...") + +g.expose( + findUserById=findUsers.reduce({ + "id": g.inherit(), + }), + findUsersByPostCount=findUsers.reduce({ + "posts": { + "count": g.inherit(), + } + }), + currentUser=findUsers.reduce({ + "id": g.inherit().from_context("profile.userId") + }), +) +``` + + + +The following queries are valid: +```graphql +query FindUsersById($id: String!) { + findUserById(id: $id) { + id + email + } +} + +query FindUsersByPostCount($min: Int!) { + findUsersByPostCount(posts: { count: { gt: $min } }) { + id + email + } +} +``` + +However the following query is invalid: +```graphql +query Q { + findUserById(email: "user@example.com") { + id email + } +} +``` + +The `currentUser` function will not accept any parameter. + +**Notes**: +- The only fully supported non-leaf node is `t.struct()`. +- Support for `t.either()` and `t.union()` is experimental. +- `t.list()` is not supported. +- Each non-leaf node may be optional or not. + + + +## `func::apply(tree)` + +The apply method allows you to rewrite the input type of the function, +enabling flat input type whatever is the level of nesting in the original input type. + +The only required parameter to `func::apply` is the apply tree. + +### Apply tree + +Lexicon | Definition +---|---| +Apply node | Object node, list node or leaf-node | +Apply tree | Object node | +Object node | A plain object whose property values are nodes. It represents a `t.struct()`. | +List node | An array or list whose items are nodes. It represents a `t.list()`. | +Leaf node | An apply expression. See [below](#apply-expressions). | + +From the code blocks in previouse section, let's make the following changes. + + + +```typescript +g.expose( + findUsersByPostCount: findUsers.apply({ + posts: { + count: { + lt: g.as_arg(), + gt: g.as_arg(), + } + } + }), + findTechWriters: findUsers.apply({ + posts: { + tags: [g.set("tech")] + } + }), +) +``` + + + +```python +g.expose( + findUserByPostCount=findUsers.apply({ + "posts": { + "count": { + "lt": g.as_arg(), + "gt": g.as_arg(), + } + } + }), + findTechWriters=findUsers.apply({ + "posts": { + "tags": [g.set("tech")] + } + }), +) +``` + + + +In this case, the matching queries are the following: +```graphql +query FindUsersByPostCount($lt: Int, $gt: Int) { + findUsersByPostCount(lt: $lt, gt: $gt) { + id + email + } +} + +query FindTechWriters { + findTechWriters { + id + email + } +} +``` + +Those queries will be translated to the following: +```graphql +query FindUsersByPostCount($lt: Int, $gt: Int) { + findUsers({ posts: { count: { lt: $lt, gt: $gt } } }) { + id + email + } +} + +query FindTechWriters { + findUsers({ posts: { tags: ["tech"] } }) { + id + email + } +} +``` + +### Apply expressions + +An apply expression indicates the source of the value for a specific leaf node +in the apply tree. + +Apply expression | Source +---|--- +`g.as_arg([name])` | The value will be provided as a parameter, under the name `name`. It is optional for object properties where the default is the property key. +`g.from_parent(type_name)` | The node will have the same value as the field of the parent `t.struct` (of the `t.func`) that has the type name `type_name`. +`g.from_context(path)` | The node will have the value of the context field accessible by the path `path`. +`g.from_secret(key)` | The node will have the value of the secret named `key` on the current typegraph. +`g.set(literal_value)` | The passed `literal_value` will be used. + diff --git a/website/docs/tutorials/metatype-basics/index.mdx b/website/docs/tutorials/metatype-basics/index.mdx index 6652d159d3..36a1646084 100644 --- a/website/docs/tutorials/metatype-basics/index.mdx +++ b/website/docs/tutorials/metatype-basics/index.mdx @@ -732,6 +732,8 @@ If you're using the GraphiQl interface from earlier, there should be a panel in ### `reduce` +**Reference**: [Parameter transformations](/docs/reference/types/parameter-transformations) + We can use the `reduce` method to modify the input types of functions. This comes especially handy when dealing with generated functions like those from the CRUD helpers from the Prisma runtime. By default, Prisma generates types that supports the whole suite of usecases one might have on a CRUD operation such as allowing creation of objects of related types in a single operation. diff --git a/website/package.json b/website/package.json index 2e2635d522..de95415974 100644 --- a/website/package.json +++ b/website/package.json @@ -16,25 +16,25 @@ "lint": "eslint --fix ." }, "dependencies": { - "@apollo/client": "^3.9.1", + "@apollo/client": "^3.9.5", "@docusaurus/core": "^3.1.1", "@docusaurus/preset-classic": "^3.1.1", "@docusaurus/theme-common": "^3.1.1", - "@giscus/react": "^2.4.0", - "@graphiql/react": "^0.20.2", + "@giscus/react": "^3.0.0", + "@graphiql/react": "^0.20.3", "@graphiql/toolkit": "^0.9.1", - "@mdx-js/react": "^3.0.0", + "@mdx-js/react": "^3.0.1", "@react-spring/konva": "^9.7.3", "@react-spring/shared": "^9.7.3", "@tailwindcss/container-queries": "^0.1.1", "autoprefixer": "^10.4.17", "clsx": "^2.1.0", "docusaurus-theme-frontmatter": "^1.3.0", - "graphiql": "3.1.0", + "graphiql": "3.1.1", "graphql": "^16.8.1", "graphql-tag": "^2.12.6", - "graphql-ws": "^5.14.3", - "konva": "^9.3.2", + "graphql-ws": "^5.15.0", + "konva": "^9.3.3", "posthog-docusaurus": "^2.0.0", "prism-react-renderer": "^2.3.1", "react": "^18.2.0", @@ -51,23 +51,23 @@ "@docusaurus/plugin-content-docs": "^3.1.1", "@docusaurus/tsconfig": "^3.1.1", "@docusaurus/types": "^3.1.1", - "@types/react": "^18.2.48", - "@typescript-eslint/eslint-plugin": "^6.20.0", - "@typescript-eslint/parser": "^6.20.0", + "@types/react": "^18.2.61", + "@typescript-eslint/eslint-plugin": "^7.1.0", + "@typescript-eslint/parser": "^7.1.0", "de-indent": "^1.0.2", "docusaurus-lunr-search": "^3.3.2", "docusaurus-plugin-drawio": "^0.4.0", "docusaurus-plugin-sass": "^0.2.5", "docusaurus-plugin-sentry": "^2.0.0", "docusaurus-tailwindcss": "^0.1.0", - "eslint": "^8.56.0", + "eslint": "^8.57.0", "lunr": "^2.3.9", "posthog-docusaurus": "^2.0.0", "raw-loader": "^4.0.2", - "sass": "^1.70.0", - "sass-loader": "^14.1.0", + "sass": "^1.71.1", + "sass-loader": "^14.1.1", "typescript": "^5.3.3", - "webpack": "^5.90.0" + "webpack": "^5.90.3" }, "browserslist": { "production": [ diff --git a/website/pnpm-lock.yaml b/website/pnpm-lock.yaml index 4e45c1f47b..2e20e1cb10 100644 --- a/website/pnpm-lock.yaml +++ b/website/pnpm-lock.yaml @@ -8,32 +8,32 @@ packageExtensionsChecksum: 0819fe8ffbf0746d2fb8cacd8eacad73 dependencies: '@apollo/client': - specifier: ^3.9.1 - version: 3.9.1(@types/react@18.2.48)(graphql-ws@5.14.3)(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0) + specifier: ^3.9.5 + version: 3.9.5(@types/react@18.2.61)(graphql-ws@5.15.0)(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/core': specifier: ^3.1.1 - version: 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + version: 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/preset-classic': specifier: ^3.1.1 - version: 3.1.1(@algolia/client-search@4.22.1)(@docusaurus/theme-common@3.1.1)(@types/react@18.2.48)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) + version: 3.1.1(@algolia/client-search@4.22.1)(@docusaurus/theme-common@3.1.1)(@types/react@18.2.61)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) '@docusaurus/theme-common': specifier: ^3.1.1 - version: 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + version: 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@giscus/react': - specifier: ^2.4.0 - version: 2.4.0(react-dom@18.2.0)(react@18.2.0) + specifier: ^3.0.0 + version: 3.0.0(react-dom@18.2.0)(react@18.2.0) '@graphiql/react': - specifier: ^0.20.2 - version: 0.20.2(@codemirror/language@6.0.0)(@types/react@18.2.48)(graphql-ws@5.14.3)(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0) + specifier: ^0.20.3 + version: 0.20.3(@codemirror/language@6.0.0)(@types/react@18.2.61)(graphql-ws@5.15.0)(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0) '@graphiql/toolkit': specifier: ^0.9.1 - version: 0.9.1(graphql-ws@5.14.3)(graphql@16.8.1) + version: 0.9.1(graphql-ws@5.15.0)(graphql@16.8.1) '@mdx-js/react': - specifier: ^3.0.0 - version: 3.0.0(@types/react@18.2.48)(react@18.2.0) + specifier: ^3.0.1 + version: 3.0.1(@types/react@18.2.61)(react@18.2.0) '@react-spring/konva': specifier: ^9.7.3 - version: 9.7.3(konva@9.3.2)(react-konva@18.2.10)(react@18.2.0) + version: 9.7.3(konva@9.3.3)(react-konva@18.2.10)(react@18.2.0) '@react-spring/shared': specifier: ^9.7.3 version: 9.7.3(react@18.2.0) @@ -42,7 +42,7 @@ dependencies: version: 0.1.1(tailwindcss@3.4.1) autoprefixer: specifier: ^10.4.17 - version: 10.4.17(postcss@8.4.33) + version: 10.4.17(postcss@8.4.35) clsx: specifier: ^2.1.0 version: 2.1.0 @@ -50,8 +50,8 @@ dependencies: specifier: ^1.3.0 version: 1.3.0(@docusaurus/plugin-content-docs@3.1.1) graphiql: - specifier: 3.1.0 - version: 3.1.0(@codemirror/language@6.0.0)(@types/react@18.2.48)(graphql-ws@5.14.3)(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0) + specifier: 3.1.1 + version: 3.1.1(@codemirror/language@6.0.0)(@types/react@18.2.61)(graphql-ws@5.15.0)(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0) graphql: specifier: ^16.8.1 version: 16.8.1 @@ -59,11 +59,11 @@ dependencies: specifier: ^2.12.6 version: 2.12.6(graphql@16.8.1) graphql-ws: - specifier: ^5.14.3 - version: 5.14.3(graphql@16.8.1) + specifier: ^5.15.0 + version: 5.15.0(graphql@16.8.1) konva: - specifier: ^9.3.2 - version: 9.3.2 + specifier: ^9.3.3 + version: 9.3.3 posthog-docusaurus: specifier: ^2.0.0 version: 2.0.0 @@ -78,7 +78,7 @@ dependencies: version: 18.2.0(react@18.2.0) react-konva: specifier: ^18.2.10 - version: 18.2.10(konva@9.3.2)(react-dom@18.2.0)(react@18.2.0) + version: 18.2.10(konva@9.3.3)(react-dom@18.2.0)(react@18.2.0) react-lite-youtube-embed: specifier: ^2.4.0 version: 2.4.0(react-dom@18.2.0)(react@18.2.0) @@ -95,13 +95,13 @@ dependencies: devDependencies: '@docusaurus/eslint-plugin': specifier: ^3.1.1 - version: 3.1.1(eslint@8.56.0)(typescript@5.3.3) + version: 3.1.1(eslint@8.57.0)(typescript@5.3.3) '@docusaurus/module-type-aliases': specifier: ^3.1.1 version: 3.1.1(react-dom@18.2.0)(react@18.2.0) '@docusaurus/plugin-content-docs': specifier: ^3.1.1 - version: 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + version: 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/tsconfig': specifier: ^3.1.1 version: 3.1.1 @@ -109,14 +109,14 @@ devDependencies: specifier: ^3.1.1 version: 3.1.1(react-dom@18.2.0)(react@18.2.0) '@types/react': - specifier: ^18.2.48 - version: 18.2.48 + specifier: ^18.2.61 + version: 18.2.61 '@typescript-eslint/eslint-plugin': - specifier: ^6.20.0 - version: 6.20.0(@typescript-eslint/parser@6.20.0)(eslint@8.56.0)(typescript@5.3.3) + specifier: ^7.1.0 + version: 7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3) '@typescript-eslint/parser': - specifier: ^6.20.0 - version: 6.20.0(eslint@8.56.0)(typescript@5.3.3) + specifier: ^7.1.0 + version: 7.1.0(eslint@8.57.0)(typescript@5.3.3) de-indent: specifier: ^1.0.2 version: 1.0.2 @@ -125,10 +125,10 @@ devDependencies: version: 3.3.2(@docusaurus/core@3.1.1)(react-dom@18.2.0)(react@18.2.0) docusaurus-plugin-drawio: specifier: ^0.4.0 - version: 0.4.0(webpack@5.90.0) + version: 0.4.0(webpack@5.90.3) docusaurus-plugin-sass: specifier: ^0.2.5 - version: 0.2.5(@docusaurus/core@3.1.1)(sass@1.70.0)(webpack@5.90.0) + version: 0.2.5(@docusaurus/core@3.1.1)(sass@1.71.1)(webpack@5.90.3) docusaurus-plugin-sentry: specifier: ^2.0.0 version: 2.0.0(@docusaurus/core@3.1.1)(react-dom@18.2.0)(react@18.2.0) @@ -136,26 +136,26 @@ devDependencies: specifier: ^0.1.0 version: 0.1.0(@docusaurus/core@3.1.1) eslint: - specifier: ^8.56.0 - version: 8.56.0 + specifier: ^8.57.0 + version: 8.57.0 lunr: specifier: ^2.3.9 version: 2.3.9 raw-loader: specifier: ^4.0.2 - version: 4.0.2(webpack@5.90.0) + version: 4.0.2(webpack@5.90.3) sass: - specifier: ^1.70.0 - version: 1.70.0 + specifier: ^1.71.1 + version: 1.71.1 sass-loader: - specifier: ^14.1.0 - version: 14.1.0(sass@1.70.0)(webpack@5.90.0) + specifier: ^14.1.1 + version: 14.1.1(sass@1.71.1)(webpack@5.90.3) typescript: specifier: ^5.3.3 version: 5.3.3 webpack: - specifier: ^5.90.0 - version: 5.90.0 + specifier: ^5.90.3 + version: 5.90.3 packages: @@ -310,11 +310,11 @@ packages: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/gen-mapping': 0.3.4 + '@jridgewell/trace-mapping': 0.3.23 - /@apollo/client@3.9.1(@types/react@18.2.48)(graphql-ws@5.14.3)(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-gpnIwMrEZ4n811gy2Ksz51Ax4zjAR5O5Tg1vlKs70Eig5Qj7kGGfnWfH5B37LSCIXanRyuMgVbQx+Aty5WruBA==} + /@apollo/client@3.9.5(@types/react@18.2.61)(graphql-ws@5.15.0)(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-7y+c8MTPU+hhTwvcGVtMMGIgWduzrvG1mz5yJMRyqYbheBkkky3Lki6ADWVSBXG1lZoOtPYvB2zDgVfKb2HSsw==} peerDependencies: graphql: ^15.0.0 || ^16.0.0 graphql-ws: ^5.5.5 @@ -337,13 +337,13 @@ packages: '@wry/trie': 0.5.0 graphql: 16.8.1 graphql-tag: 2.12.6(graphql@16.8.1) - graphql-ws: 5.14.3(graphql@16.8.1) + graphql-ws: 5.15.0(graphql@16.8.1) hoist-non-react-statics: 3.3.2 optimism: 0.18.0 prop-types: 15.8.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - rehackt: 0.0.3(@types/react@18.2.48)(react@18.2.0) + rehackt: 0.0.5(@types/react@18.2.61)(react@18.2.0) response-iterator: 0.2.6 symbol-observable: 4.0.0 ts-invariant: 0.10.3 @@ -391,8 +391,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.23.9 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/gen-mapping': 0.3.4 + '@jridgewell/trace-mapping': 0.3.23 jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.22.5: @@ -413,7 +413,7 @@ packages: dependencies: '@babel/compat-data': 7.23.5 '@babel/helper-validator-option': 7.23.5 - browserslist: 4.22.3 + browserslist: 4.23.0 lru-cache: 5.1.1 semver: 6.3.1 @@ -1508,6 +1508,13 @@ packages: dependencies: regenerator-runtime: 0.14.1 + /@babel/runtime@7.24.0: + resolution: {integrity: sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: false + /@babel/template@7.23.9: resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} engines: {node: '>=6.9.0'} @@ -1544,23 +1551,23 @@ packages: /@codemirror/language@6.0.0: resolution: {integrity: sha512-rtjk5ifyMzOna1c7PBu7J1VCt0PvA5wy3o8eMVnxMKb7z8KA7JFecvD04dSn14vj/bBaAbqRsGed5OjtofEnLA==} dependencies: - '@codemirror/state': 6.4.0 - '@codemirror/view': 6.23.1 + '@codemirror/state': 6.4.1 + '@codemirror/view': 6.24.1 '@lezer/common': 1.2.1 '@lezer/highlight': 1.2.0 '@lezer/lr': 1.4.0 - style-mod: 4.1.0 + style-mod: 4.1.2 dev: false - /@codemirror/state@6.4.0: - resolution: {integrity: sha512-hm8XshYj5Fo30Bb922QX9hXB/bxOAVH+qaqHBzw5TKa72vOeslyGwd4X8M0c1dJ9JqxlaMceOQ8RsL9tC7gU0A==} + /@codemirror/state@6.4.1: + resolution: {integrity: sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==} dev: false - /@codemirror/view@6.23.1: - resolution: {integrity: sha512-J2Xnn5lFYT1ZN/5ewEoMBCmLlL71lZ3mBdb7cUEuHhX2ESoSrNEucpsDXpX22EuTGm9LOgC9v4Z0wx+Ez8QmGA==} + /@codemirror/view@6.24.1: + resolution: {integrity: sha512-sBfP4rniPBRQzNakwuQEqjEuiJDWJyF2kqLLqij4WXRoVwPPJfjx966Eq3F7+OPQxDtMt/Q9MWLoZLWjeveBlg==} dependencies: - '@codemirror/state': 6.4.0 - style-mod: 4.1.0 + '@codemirror/state': 6.4.1 + style-mod: 4.1.2 w3c-keyname: 2.2.8 dev: false @@ -1578,7 +1585,7 @@ packages: resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} dev: false - /@docsearch/react@3.5.2(@algolia/client-search@4.22.1)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0): + /@docsearch/react@3.5.2(@algolia/client-search@4.22.1)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0): resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' @@ -1598,7 +1605,7 @@ packages: '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1)(search-insights@2.13.0) '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.22.1)(algoliasearch@4.22.1) '@docsearch/css': 3.5.2 - '@types/react': 18.2.48 + '@types/react': 18.2.61 algoliasearch: 4.22.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -1607,7 +1614,7 @@ packages: - '@algolia/client-search' dev: false - /@docusaurus/core@3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/core@3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-2nQfKFcf+MLEM7JXsXwQxPOmQAR6ytKMZVSx7tVi9HEm9WtfwBH1fp6bn8Gj4zLUhjWKCLoysQ9/Wm+EZCQ4yQ==} engines: {node: '>=18.0'} hasBin: true @@ -1635,7 +1642,7 @@ packages: '@slorber/static-site-generator-webpack-plugin': 4.0.7 '@svgr/webpack': 6.5.1 autoprefixer: 10.4.17(postcss@8.4.33) - babel-loader: 9.1.3(@babel/core@7.23.9)(webpack@5.90.0) + babel-loader: 9.1.3(@babel/core@7.23.9)(webpack@5.90.3) babel-plugin-dynamic-import-node: 2.3.3 boxen: 6.2.1 chalk: 4.1.2 @@ -1644,32 +1651,32 @@ packages: cli-table3: 0.6.3 combine-promises: 1.2.0 commander: 5.1.0 - copy-webpack-plugin: 11.0.0(webpack@5.90.0) + copy-webpack-plugin: 11.0.0(webpack@5.90.3) core-js: 3.35.1 - css-loader: 6.10.0(webpack@5.90.0) - css-minimizer-webpack-plugin: 4.2.2(clean-css@5.3.3)(webpack@5.90.0) + css-loader: 6.10.0(webpack@5.90.3) + css-minimizer-webpack-plugin: 4.2.2(clean-css@5.3.3)(webpack@5.90.3) cssnano: 5.1.15(postcss@8.4.33) del: 6.1.1 detect-port: 1.5.1 escape-html: 1.0.3 eta: 2.2.0 - file-loader: 6.2.0(webpack@5.90.0) + file-loader: 6.2.0(webpack@5.90.3) fs-extra: 11.2.0 html-minifier-terser: 7.2.0 html-tags: 3.3.1 - html-webpack-plugin: 5.6.0(webpack@5.90.0) + html-webpack-plugin: 5.6.0(webpack@5.90.3) leven: 3.1.0 lodash: 4.17.21 - mini-css-extract-plugin: 2.7.7(webpack@5.90.0) + mini-css-extract-plugin: 2.7.7(webpack@5.90.3) postcss: 8.4.33 - postcss-loader: 7.3.4(postcss@8.4.33)(typescript@5.3.3)(webpack@5.90.0) + postcss-loader: 7.3.4(postcss@8.4.33)(typescript@5.3.3)(webpack@5.90.3) prompts: 2.4.2 react: 18.2.0 - react-dev-utils: 12.0.1(eslint@8.56.0)(typescript@5.3.3)(webpack@5.90.0) + react-dev-utils: 12.0.1(eslint@8.57.0)(typescript@5.3.3)(webpack@5.90.3) react-dom: 18.2.0(react@18.2.0) react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) react-loadable: /@docusaurus/react-loadable@5.5.2(react@18.2.0) - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@5.5.2)(webpack@5.90.0) + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@5.5.2)(webpack@5.90.3) react-router: 5.3.4(react@18.2.0) react-router-config: 5.1.1(react-router@5.3.4)(react@18.2.0) react-router-dom: 5.3.4(react@18.2.0) @@ -1677,15 +1684,15 @@ packages: semver: 7.5.4 serve-handler: 6.1.5 shelljs: 0.8.5 - terser-webpack-plugin: 5.3.10(webpack@5.90.0) + terser-webpack-plugin: 5.3.10(webpack@5.90.3) tslib: 2.6.2 update-notifier: 6.0.2 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.90.0) - webpack: 5.90.0 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.90.3) + webpack: 5.90.3 webpack-bundle-analyzer: 4.10.1 - webpack-dev-server: 4.15.1(webpack@5.90.0) + webpack-dev-server: 4.15.1(webpack@5.90.3) webpack-merge: 5.10.0 - webpackbar: 5.0.2(webpack@5.90.0) + webpackbar: 5.0.2(webpack@5.90.3) transitivePeerDependencies: - '@docusaurus/types' - '@parcel/css' @@ -1714,14 +1721,14 @@ packages: postcss-sort-media-queries: 4.4.1(postcss@8.4.33) tslib: 2.6.2 - /@docusaurus/eslint-plugin@3.1.1(eslint@8.56.0)(typescript@5.3.3): + /@docusaurus/eslint-plugin@3.1.1(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-seOuNvqXVxM4hWs9NzUgLnlVvc0Rk9N+C5fZ5gVTk5hc5JlyJNZNWh85TU+XsLogbA5odjJSEDKOhv8SDGmWRg==} engines: {node: '>=18.0'} peerDependencies: eslint: '>=6' dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.3.3) - eslint: 8.56.0 + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.3.3) + eslint: 8.57.0 tslib: 2.6.2 transitivePeerDependencies: - supports-color @@ -1751,7 +1758,7 @@ packages: '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 estree-util-value-to-estree: 3.0.1 - file-loader: 6.2.0(webpack@5.90.0) + file-loader: 6.2.0(webpack@5.90.3) fs-extra: 11.2.0 image-size: 1.1.1 mdast-util-mdx: 3.0.0 @@ -1767,9 +1774,9 @@ packages: tslib: 2.6.2 unified: 11.0.4 unist-util-visit: 5.0.0 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.90.0) + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.90.3) vfile: 6.0.1 - webpack: 5.90.0 + webpack: 5.90.3 transitivePeerDependencies: - '@docusaurus/types' - '@swc/core' @@ -1787,7 +1794,7 @@ packages: '@docusaurus/react-loadable': 5.5.2(react@18.2.0) '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) '@types/history': 4.7.11 - '@types/react': 18.2.48 + '@types/react': 18.2.61 '@types/react-router-config': 5.0.11 '@types/react-router-dom': 5.3.3 react: 18.2.0 @@ -1801,14 +1808,14 @@ packages: - uglify-js - webpack-cli - /@docusaurus/plugin-content-blog@3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-content-blog@3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-ew/3VtVoG3emoAKmoZl7oKe1zdFOsI0NbcHS26kIxt2Z8vcXKCUgK9jJJrz0TbOipyETPhqwq4nbitrY3baibg==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.1.1 '@docusaurus/mdx-loader': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) @@ -1826,7 +1833,7 @@ packages: tslib: 2.6.2 unist-util-visit: 5.0.0 utility-types: 3.11.0 - webpack: 5.90.0 + webpack: 5.90.3 transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -1846,14 +1853,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-content-docs@3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-content-docs@3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-lhFq4E874zw0UOH7ujzxnCayOyAt0f9YPVYSb9ohxrdCM8B4szxitUw9rIX4V9JLLHVoqIJb6k+lJJ1jrcGJ0A==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.1.1 '@docusaurus/mdx-loader': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/module-type-aliases': 3.1.1(react-dom@18.2.0)(react@18.2.0) @@ -1869,7 +1876,7 @@ packages: react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 utility-types: 3.11.0 - webpack: 5.90.0 + webpack: 5.90.3 transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -1888,14 +1895,14 @@ packages: - vue-template-compiler - webpack-cli - /@docusaurus/plugin-content-pages@3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-content-pages@3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-NQHncNRAJbyLtgTim9GlEnNYsFhuCxaCNkMwikuxLTiGIPH7r/jpb7O3f3jUMYMebZZZrDq5S7om9a6rvB/YCA==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/mdx-loader': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) @@ -1904,7 +1911,7 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 - webpack: 5.90.0 + webpack: 5.90.3 transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -1924,14 +1931,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-debug@3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-debug@3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-xWeMkueM9wE/8LVvl4+Qf1WqwXmreMjI5Kgr7GYCDoJ8zu4kD+KaMhrh7py7MNM38IFvU1RfrGKacCEe2DRRfQ==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) fs-extra: 11.2.0 @@ -1958,14 +1965,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-analytics@3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-google-analytics@3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-+q2UpWTqVi8GdlLoSlD5bS/YpxW+QMoBwrPrUH/NpvpuOi0Of7MTotsQf9JWd3hymZxl2uu1o3PIrbpxfeDFDQ==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) react: 18.2.0 @@ -1990,14 +1997,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-gtag@3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-google-gtag@3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-0mMPiBBlQ5LFHTtjxuvt/6yzh8v7OxLi3CbeEsxXZpUzcKO/GC7UA1VOWUoBeQzQL508J12HTAlR3IBU9OofSw==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) '@types/gtag.js': 0.0.12 @@ -2023,14 +2030,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-google-tag-manager@3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-google-tag-manager@3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-d07bsrMLdDIryDtY17DgqYUbjkswZQr8cLWl4tzXrt5OR/T/zxC1SYKajzB3fd87zTu5W5klV5GmUwcNSMXQXA==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) react: 18.2.0 @@ -2055,14 +2062,14 @@ packages: - webpack-cli dev: false - /@docusaurus/plugin-sitemap@3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/plugin-sitemap@3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-iJ4hCaMmDaUqRv131XJdt/C/jJQx8UreDWTRqZKtNydvZVh/o4yXGRRFOplea1D9b/zpwL1Y+ZDwX7xMhIOTmg==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.1.1 '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) @@ -2092,7 +2099,7 @@ packages: - webpack-cli dev: false - /@docusaurus/preset-classic@3.1.1(@algolia/client-search@4.22.1)(@docusaurus/theme-common@3.1.1)(@types/react@18.2.48)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3): + /@docusaurus/preset-classic@3.1.1(@algolia/client-search@4.22.1)(@docusaurus/theme-common@3.1.1)(@types/react@18.2.61)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3): resolution: {integrity: sha512-jG4ys/hWYf69iaN/xOmF+3kjs4Nnz1Ay3CjFLDtYa8KdxbmUhArA9HmP26ru5N0wbVWhY+6kmpYhTJpez5wTyg==} engines: {node: '>=18.0'} peerDependencies: @@ -2100,18 +2107,18 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-blog': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-docs': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-pages': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-debug': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-google-analytics': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-google-gtag': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-google-tag-manager': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-sitemap': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-classic': 3.1.1(@docusaurus/theme-common@3.1.1)(@types/react@18.2.48)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-common': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-search-algolia': 3.1.1(@algolia/client-search@4.22.1)(@docusaurus/types@3.1.1)(@types/react@18.2.48)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-blog': 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-docs': 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-pages': 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-debug': 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-google-analytics': 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-google-gtag': 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-google-tag-manager': 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-sitemap': 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-classic': 3.1.1(@docusaurus/theme-common@3.1.1)(@types/react@18.2.61)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-common': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-search-algolia': 3.1.1(@algolia/client-search@4.22.1)(@docusaurus/types@3.1.1)(@types/react@18.2.61)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3) '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -2142,11 +2149,11 @@ packages: peerDependencies: react: '*' dependencies: - '@types/react': 18.2.48 + '@types/react': 18.2.61 prop-types: 15.8.1 react: 18.2.0 - /@docusaurus/theme-classic@3.1.1(@docusaurus/theme-common@3.1.1)(@types/react@18.2.48)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/theme-classic@3.1.1(@docusaurus/theme-common@3.1.1)(@types/react@18.2.61)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-GiPE/jbWM8Qv1A14lk6s9fhc0LhPEQ00eIczRO4QL2nAQJZXkjPG6zaVx+1cZxPFWbAsqSjKe2lqkwF3fGkQ7Q==} engines: {node: '>=18.0'} peerDependencies: @@ -2154,19 +2161,19 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/mdx-loader': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/module-type-aliases': 3.1.1(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/plugin-content-blog': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-docs': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-pages': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-common': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-blog': 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-docs': 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-pages': 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-common': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/theme-translations': 3.1.1 '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) '@docusaurus/utils-common': 3.1.1(@docusaurus/types@3.1.1) '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) - '@mdx-js/react': 3.0.0(@types/react@18.2.48)(react@18.2.0) + '@mdx-js/react': 3.0.1(@types/react@18.2.61)(react@18.2.0) clsx: 2.1.0 copy-text-to-clipboard: 3.2.0 infima: 0.2.0-alpha.43 @@ -2201,7 +2208,7 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-common@3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@docusaurus/theme-common@3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): resolution: {integrity: sha512-38urZfeMhN70YaXkwIGXmcUcv2CEYK/2l4b05GkJPrbEbgpsIZM3Xc+Js2ehBGGZmfZq8GjjQ5RNQYG+MYzCYg==} engines: {node: '>=18.0'} peerDependencies: @@ -2210,13 +2217,13 @@ packages: dependencies: '@docusaurus/mdx-loader': 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/module-type-aliases': 3.1.1(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/plugin-content-blog': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-docs': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/plugin-content-pages': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-blog': 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-docs': 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-pages': 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) '@docusaurus/utils-common': 3.1.1(@docusaurus/types@3.1.1) '@types/history': 4.7.11 - '@types/react': 18.2.48 + '@types/react': 18.2.61 '@types/react-router-config': 5.0.11 clsx: 2.1.0 parse-numeric-range: 1.3.0 @@ -2245,18 +2252,18 @@ packages: - webpack-cli dev: false - /@docusaurus/theme-search-algolia@3.1.1(@algolia/client-search@4.22.1)(@docusaurus/types@3.1.1)(@types/react@18.2.48)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3): + /@docusaurus/theme-search-algolia@3.1.1(@algolia/client-search@4.22.1)(@docusaurus/types@3.1.1)(@types/react@18.2.61)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0)(typescript@5.3.3): resolution: {integrity: sha512-tBH9VY5EpRctVdaAhT+b1BY8y5dyHVZGFXyCHgTrvcXQy5CV4q7serEX7U3SveNT9zksmchPyct6i1sFDC4Z5g==} engines: {node: '>=18.0'} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@docsearch/react': 3.5.2(@algolia/client-search@4.22.1)(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0) - '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docsearch/react': 3.5.2(@algolia/client-search@4.22.1)(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/logger': 3.1.1 - '@docusaurus/plugin-content-docs': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - '@docusaurus/theme-common': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-docs': 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/theme-common': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) '@docusaurus/theme-translations': 3.1.1 '@docusaurus/utils': 3.1.1(@docusaurus/types@3.1.1) '@docusaurus/utils-validation': 3.1.1(@docusaurus/types@3.1.1) @@ -2313,14 +2320,14 @@ packages: dependencies: '@mdx-js/mdx': 3.0.0 '@types/history': 4.7.11 - '@types/react': 18.2.48 + '@types/react': 18.2.61 commander: 5.1.0 joi: 17.12.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) utility-types: 3.11.0 - webpack: 5.90.0 + webpack: 5.90.3 webpack-merge: 5.10.0 transitivePeerDependencies: - '@swc/core' @@ -2371,7 +2378,7 @@ packages: '@docusaurus/types': 3.1.1(react-dom@18.2.0)(react@18.2.0) '@svgr/webpack': 6.5.1 escape-string-regexp: 4.0.0 - file-loader: 6.2.0(webpack@5.90.0) + file-loader: 6.2.0(webpack@5.90.3) fs-extra: 11.2.0 github-slugger: 1.5.0 globby: 11.1.0 @@ -2383,8 +2390,8 @@ packages: resolve-pathname: 3.0.0 shelljs: 0.8.5 tslib: 2.6.2 - url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.90.0) - webpack: 5.90.0 + url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.90.3) + webpack: 5.90.3 transitivePeerDependencies: - '@swc/core' - esbuild @@ -2406,13 +2413,13 @@ packages: dev: false optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.56.0 + eslint: 8.57.0 eslint-visitor-keys: 3.4.3 /@eslint-community/regexpp@4.10.0: @@ -2427,7 +2434,7 @@ packages: debug: 4.3.4 espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.0 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -2435,63 +2442,63 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/js@8.56.0: - resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /@floating-ui/core@1.5.0: - resolution: {integrity: sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==} + /@floating-ui/core@1.6.0: + resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==} dependencies: - '@floating-ui/utils': 0.1.6 + '@floating-ui/utils': 0.2.1 dev: false - /@floating-ui/dom@1.5.3: - resolution: {integrity: sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==} + /@floating-ui/dom@1.6.3: + resolution: {integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==} dependencies: - '@floating-ui/core': 1.5.0 - '@floating-ui/utils': 0.1.6 + '@floating-ui/core': 1.6.0 + '@floating-ui/utils': 0.2.1 dev: false - /@floating-ui/react-dom@2.0.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-CF8k2rgKeh/49UrnIBs4BdxPUV6vize/Db1d/YbCLyp9GiVZ0BEwf5AiDSxJRCr6yOkGqTFHtmrULxkEfYZ7dQ==} + /@floating-ui/react-dom@2.0.8(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.5.3 + '@floating-ui/dom': 1.6.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@floating-ui/utils@0.1.6: - resolution: {integrity: sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==} + /@floating-ui/utils@0.2.1: + resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} dev: false - /@giscus/react@2.4.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-y8d8qiZ2sBuaXRcgn/ZWfMlRs9bx26p62BU/HEKQQ+IfHo3B/kglgPjX/IqudwlX+DOlHUl1NvtFo9C8Eqo0eQ==} + /@giscus/react@3.0.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-hgCjLpg3Wgh8VbTF5p8ZLcIHI74wvDk1VIFv12+eKhenNVUDjgwNg2B1aq/3puyHOad47u/ZSyqiMtohjy/OOA==} peerDependencies: react: ^16 || ^17 || ^18 react-dom: ^16 || ^17 || ^18 dependencies: - giscus: 1.4.0 + giscus: 1.5.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@graphiql/react@0.20.2(@codemirror/language@6.0.0)(@types/react@18.2.48)(graphql-ws@5.14.3)(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-/crAUlM+4iVHyNHVdiZjsTEqfMXBHfjEvrMwCwTVig6YXmCAVuaxqkD7NlDtrrPQArLGkABmf1Nw7ObRpby5lg==} + /@graphiql/react@0.20.3(@codemirror/language@6.0.0)(@types/react@18.2.61)(graphql-ws@5.15.0)(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-LHEiWQPABflTyRJZBZB50WSlrWER4RtlWg9XV1+D4yZQ3+6GbLM7X1zYf4D/TQ6AJB/vLZQHEnbhS0LuKcNqfA==} peerDependencies: graphql: ^15.5.0 || ^16.0.0 react: ^16.8.0 || ^17 || ^18 react-dom: ^16.8.0 || ^17 || ^18 dependencies: - '@graphiql/toolkit': 0.9.1(graphql-ws@5.14.3)(graphql@16.8.1) - '@headlessui/react': 1.7.17(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-dialog': 1.0.5(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-dropdown-menu': 2.0.6(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-tooltip': 1.0.7(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@types/codemirror': 5.60.13 + '@graphiql/toolkit': 0.9.1(graphql-ws@5.15.0)(graphql@16.8.1) + '@headlessui/react': 1.7.18(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dialog': 1.0.5(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dropdown-menu': 2.0.6(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-tooltip': 1.0.7(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@types/codemirror': 5.60.15 clsx: 1.2.1 codemirror: 5.65.16 codemirror-graphql: 2.0.10(@codemirror/language@6.0.0)(codemirror@5.65.16)(graphql@16.8.1) @@ -2511,7 +2518,7 @@ packages: - graphql-ws dev: false - /@graphiql/toolkit@0.9.1(graphql-ws@5.14.3)(graphql@16.8.1): + /@graphiql/toolkit@0.9.1(graphql-ws@5.15.0)(graphql@16.8.1): resolution: {integrity: sha512-LVt9pdk0830so50ZnU2Znb2rclcoWznG8r8asqAENzV0U1FM1kuY0sdPpc/rBc9MmmNgnB6A+WZzDhq6dbhTHA==} peerDependencies: graphql: ^15.5.0 || ^16.0.0 @@ -2522,7 +2529,7 @@ packages: dependencies: '@n1ru4l/push-pull-async-iterable-iterator': 3.2.0 graphql: 16.8.1 - graphql-ws: 5.14.3(graphql@16.8.1) + graphql-ws: 5.15.0(graphql@16.8.1) meros: 1.3.0 transitivePeerDependencies: - '@types/node' @@ -2544,23 +2551,24 @@ packages: dependencies: '@hapi/hoek': 9.3.0 - /@headlessui/react@1.7.17(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-4am+tzvkqDSSgiwrsEpGWqgGo9dz8qU5M3znCkC4PgkpY4HcCZzEDEvozltGGGHIKl9jbXbZPSH5TWn4sWJdow==} + /@headlessui/react@1.7.18(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-4i5DOrzwN4qSgNsL4Si61VMkUcWbcSKueUV7sFhpHzQcSShdlHENE5+QBntMSRvHt8NyoFO2AGG8si9lq+w4zQ==} engines: {node: '>=10'} peerDependencies: react: ^16 || ^17 || ^18 react-dom: ^16 || ^17 || ^18 dependencies: + '@tanstack/react-virtual': 3.1.3(react-dom@18.2.0)(react@18.2.0) client-only: 0.0.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@humanwhocodes/config-array@0.11.13: - resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 2.0.1 + '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -2570,8 +2578,8 @@ packages: resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - /@humanwhocodes/object-schema@2.0.1: - resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -2598,39 +2606,39 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.11.14 + '@types/node': 20.11.24 '@types/yargs': 17.0.32 chalk: 4.1.2 - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + /@jridgewell/gen-mapping@0.3.4: + resolution: {integrity: sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/set-array': 1.1.2 + '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/trace-mapping': 0.3.23 - /@jridgewell/resolve-uri@3.1.1: - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} /@jridgewell/source-map@0.3.5: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/gen-mapping': 0.3.4 + '@jridgewell/trace-mapping': 0.3.23 /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.22: - resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} + /@jridgewell/trace-mapping@0.3.23: + resolution: {integrity: sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==} dependencies: - '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 /@leichtgewicht/ip-codec@2.0.4: @@ -2652,14 +2660,14 @@ packages: '@lezer/common': 1.2.1 dev: false - /@lit-labs/ssr-dom-shim@1.1.2: - resolution: {integrity: sha512-jnOD+/+dSrfTWYfSXBXlo5l5f0q1UuJo3tkbMDCYA2lKUYq79jaxqtGEvnRoh049nt1vdo1+45RinipU6FGY2g==} + /@lit-labs/ssr-dom-shim@1.2.0: + resolution: {integrity: sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==} dev: false - /@lit/reactive-element@2.0.2: - resolution: {integrity: sha512-SVOwLAWUQg3Ji1egtOt1UiFe4zdDpnWHyc5qctSceJ5XIu0Uc76YmGpIjZgx9YJ0XtdW0Jm507sDvjOu+HnB8w==} + /@lit/reactive-element@2.0.4: + resolution: {integrity: sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==} dependencies: - '@lit-labs/ssr-dom-shim': 1.1.2 + '@lit-labs/ssr-dom-shim': 1.2.0 dev: false /@mdx-js/mdx@3.0.0: @@ -2691,60 +2699,60 @@ packages: transitivePeerDependencies: - supports-color - /@mdx-js/react@3.0.0(@types/react@18.2.48)(react@18.2.0): - resolution: {integrity: sha512-nDctevR9KyYFyV+m+/+S4cpzCWHqj+iHDHq3QrsWezcC+B17uZdIWgCguESUkwFhM3n/56KxWVE3V6EokrmONQ==} + /@mdx-js/react@3.0.1(@types/react@18.2.61)(react@18.2.0): + resolution: {integrity: sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==} peerDependencies: '@types/react': '>=16' react: '>=16' dependencies: - '@types/mdx': 2.0.10 - '@types/react': 18.2.48 + '@types/mdx': 2.0.11 + '@types/react': 18.2.61 react: 18.2.0 dev: false - /@motionone/animation@10.16.3: - resolution: {integrity: sha512-QUGWpLbMFLhyqKlngjZhjtxM8IqiJQjLK0DF+XOF6od9nhSvlaeEpOY/UMCRVcZn/9Tr2rZO22EkuCIjYdI74g==} + /@motionone/animation@10.17.0: + resolution: {integrity: sha512-ANfIN9+iq1kGgsZxs+Nz96uiNcPLGTXwfNo2Xz/fcJXniPYpaz/Uyrfa+7I5BPLxCP82sh7quVDudf1GABqHbg==} dependencies: - '@motionone/easing': 10.16.3 - '@motionone/types': 10.16.3 - '@motionone/utils': 10.16.3 + '@motionone/easing': 10.17.0 + '@motionone/types': 10.17.0 + '@motionone/utils': 10.17.0 tslib: 2.6.2 dev: false /@motionone/dom@10.12.0: resolution: {integrity: sha512-UdPTtLMAktHiqV0atOczNYyDd/d8Cf5fFsd1tua03PqTwwCe/6lwhLSQ8a7TbnQ5SN0gm44N1slBfj+ORIhrqw==} dependencies: - '@motionone/animation': 10.16.3 - '@motionone/generators': 10.16.4 - '@motionone/types': 10.16.3 - '@motionone/utils': 10.16.3 + '@motionone/animation': 10.17.0 + '@motionone/generators': 10.17.0 + '@motionone/types': 10.17.0 + '@motionone/utils': 10.17.0 hey-listen: 1.0.8 tslib: 2.6.2 dev: false - /@motionone/easing@10.16.3: - resolution: {integrity: sha512-HWTMZbTmZojzwEuKT/xCdvoMPXjYSyQvuVM6jmM0yoGU6BWzsmYMeB4bn38UFf618fJCNtP9XeC/zxtKWfbr0w==} + /@motionone/easing@10.17.0: + resolution: {integrity: sha512-Bxe2wSuLu/qxqW4rBFS5m9tMLOw+QBh8v5A7Z5k4Ul4sTj5jAOfZG5R0bn5ywmk+Fs92Ij1feZ5pmC4TeXA8Tg==} dependencies: - '@motionone/utils': 10.16.3 + '@motionone/utils': 10.17.0 tslib: 2.6.2 dev: false - /@motionone/generators@10.16.4: - resolution: {integrity: sha512-geFZ3w0Rm0ZXXpctWsSf3REGywmLLujEjxPYpBR0j+ymYwof0xbV6S5kGqqsDKgyWKVWpUInqQYvQfL6fRbXeg==} + /@motionone/generators@10.17.0: + resolution: {integrity: sha512-T6Uo5bDHrZWhIfxG/2Aut7qyWQyJIWehk6OB4qNvr/jwA/SRmixwbd7SOrxZi1z5rH3LIeFFBKK1xHnSbGPZSQ==} dependencies: - '@motionone/types': 10.16.3 - '@motionone/utils': 10.16.3 + '@motionone/types': 10.17.0 + '@motionone/utils': 10.17.0 tslib: 2.6.2 dev: false - /@motionone/types@10.16.3: - resolution: {integrity: sha512-W4jkEGFifDq73DlaZs3HUfamV2t1wM35zN/zX7Q79LfZ2sc6C0R1baUHZmqc/K5F3vSw3PavgQ6HyHLd/MXcWg==} + /@motionone/types@10.17.0: + resolution: {integrity: sha512-EgeeqOZVdRUTEHq95Z3t8Rsirc7chN5xFAPMYFobx8TPubkEfRSm5xihmMUkbaR2ErKJTUw3347QDPTHIW12IA==} dev: false - /@motionone/utils@10.16.3: - resolution: {integrity: sha512-WNWDksJIxQkaI9p9Z9z0+K27xdqISGNFy1SsWVGaiedTHq0iaT6iZujby8fT/ZnZxj1EOaxJtSfUPCFNU5CRoA==} + /@motionone/utils@10.17.0: + resolution: {integrity: sha512-bGwrki4896apMWIj9yp5rAS2m0xyhxblg6gTB/leWDPt+pb410W8lYWsxyurX+DH+gO1zsQsfx2su/c1/LtTpg==} dependencies: - '@motionone/types': 10.16.3 + '@motionone/types': 10.17.0 hey-listen: 1.0.8 tslib: 2.6.2 dev: false @@ -2770,7 +2778,7 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.0 + fastq: 1.17.1 /@pkgjs/parseargs@0.11.0: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} @@ -2803,10 +2811,10 @@ packages: /@radix-ui/primitive@1.0.1: resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.0 dev: false - /@radix-ui/react-arrow@1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-arrow@1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} peerDependencies: '@types/react': '*' @@ -2819,14 +2827,14 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.61 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-collection@1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collection@1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: '@types/react': '*' @@ -2839,17 +2847,17 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0) - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.61)(react@18.2.0) + '@types/react': 18.2.61 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.48)(react@18.2.0): + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.61)(react@18.2.0): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: '@types/react': '*' @@ -2858,12 +2866,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@types/react': 18.2.61 react: 18.2.0 dev: false - /@radix-ui/react-context@1.0.1(@types/react@18.2.48)(react@18.2.0): + /@radix-ui/react-context@1.0.1(@types/react@18.2.61)(react@18.2.0): resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: '@types/react': '*' @@ -2872,12 +2880,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@types/react': 18.2.61 react: 18.2.0 dev: false - /@radix-ui/react-dialog@1.0.5(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dialog@1.0.5(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==} peerDependencies: '@types/react': '*' @@ -2890,27 +2898,27 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.0 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@types/react': 18.2.48 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@types/react': 18.2.61 aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.48)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.61)(react@18.2.0) dev: false - /@radix-ui/react-direction@1.0.1(@types/react@18.2.48)(react@18.2.0): + /@radix-ui/react-direction@1.0.1(@types/react@18.2.61)(react@18.2.0): resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} peerDependencies: '@types/react': '*' @@ -2919,12 +2927,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@types/react': 18.2.61 react: 18.2.0 dev: false - /@radix-ui/react-dismissable-layer@1.0.5(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dismissable-layer@1.0.5(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} peerDependencies: '@types/react': '*' @@ -2937,18 +2945,18 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.0 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.48)(react@18.2.0) - '@types/react': 18.2.48 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.61)(react@18.2.0) + '@types/react': 18.2.61 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-dropdown-menu@2.0.6(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dropdown-menu@2.0.6(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==} peerDependencies: '@types/react': '*' @@ -2961,20 +2969,20 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.0 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-menu': 2.0.6(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@types/react': 18.2.48 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-menu': 2.0.6(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@types/react': 18.2.61 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.48)(react@18.2.0): + /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.61)(react@18.2.0): resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} peerDependencies: '@types/react': '*' @@ -2983,12 +2991,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@types/react': 18.2.61 react: 18.2.0 dev: false - /@radix-ui/react-focus-scope@1.0.4(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-focus-scope@1.0.4(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} peerDependencies: '@types/react': '*' @@ -3001,16 +3009,16 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@types/react': 18.2.61 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-id@1.0.1(@types/react@18.2.48)(react@18.2.0): + /@radix-ui/react-id@1.0.1(@types/react@18.2.61)(react@18.2.0): resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} peerDependencies: '@types/react': '*' @@ -3019,13 +3027,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@types/react': 18.2.61 react: 18.2.0 dev: false - /@radix-ui/react-menu@2.0.6(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-menu@2.0.6(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==} peerDependencies: '@types/react': '*' @@ -3038,31 +3046,31 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.0 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@types/react': 18.2.48 + '@radix-ui/react-collection': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@types/react': 18.2.61 aria-hidden: 1.2.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.48)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.61)(react@18.2.0) dev: false - /@radix-ui/react-popper@1.1.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popper@1.1.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==} peerDependencies: '@types/react': '*' @@ -3075,23 +3083,23 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@floating-ui/react-dom': 2.0.4(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.48)(react@18.2.0) + '@babel/runtime': 7.24.0 + '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.61)(react@18.2.0) '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.48 + '@types/react': 18.2.61 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-portal@1.0.4(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-portal@1.0.4(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} peerDependencies: '@types/react': '*' @@ -3104,14 +3112,14 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.61 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-presence@1.0.1(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-presence@1.0.1(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} peerDependencies: '@types/react': '*' @@ -3124,15 +3132,15 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@types/react': 18.2.61 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-primitive@1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-primitive@1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} peerDependencies: '@types/react': '*' @@ -3145,14 +3153,14 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0) - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.61)(react@18.2.0) + '@types/react': 18.2.61 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-roving-focus@1.0.4(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-roving-focus@1.0.4(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} peerDependencies: '@types/react': '*' @@ -3165,22 +3173,22 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.0 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@types/react': 18.2.48 + '@radix-ui/react-collection': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@types/react': 18.2.61 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-slot@1.0.2(@types/react@18.2.48)(react@18.2.0): + /@radix-ui/react-slot@1.0.2(@types/react@18.2.61)(react@18.2.0): resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: '@types/react': '*' @@ -3189,13 +3197,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@types/react': 18.2.61 react: 18.2.0 dev: false - /@radix-ui/react-tooltip@1.0.7(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-tooltip@1.0.7(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==} peerDependencies: '@types/react': '*' @@ -3208,25 +3216,25 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.0 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.48 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.61 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.48)(react@18.2.0): + /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.61)(react@18.2.0): resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} peerDependencies: '@types/react': '*' @@ -3235,12 +3243,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@types/react': 18.2.61 react: 18.2.0 dev: false - /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.48)(react@18.2.0): + /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.61)(react@18.2.0): resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} peerDependencies: '@types/react': '*' @@ -3249,13 +3257,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@types/react': 18.2.61 react: 18.2.0 dev: false - /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.48)(react@18.2.0): + /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.61)(react@18.2.0): resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} peerDependencies: '@types/react': '*' @@ -3264,13 +3272,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@types/react': 18.2.61 react: 18.2.0 dev: false - /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.48)(react@18.2.0): + /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.61)(react@18.2.0): resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} peerDependencies: '@types/react': '*' @@ -3279,12 +3287,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@types/react': 18.2.61 react: 18.2.0 dev: false - /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.48)(react@18.2.0): + /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.61)(react@18.2.0): resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} peerDependencies: '@types/react': '*' @@ -3293,13 +3301,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.0 '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.48 + '@types/react': 18.2.61 react: 18.2.0 dev: false - /@radix-ui/react-use-size@1.0.1(@types/react@18.2.48)(react@18.2.0): + /@radix-ui/react-use-size@1.0.1(@types/react@18.2.61)(react@18.2.0): resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} peerDependencies: '@types/react': '*' @@ -3308,13 +3316,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.48)(react@18.2.0) - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.61)(react@18.2.0) + '@types/react': 18.2.61 react: 18.2.0 dev: false - /@radix-ui/react-visually-hidden@1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-visually-hidden@1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} peerDependencies: '@types/react': '*' @@ -3327,9 +3335,9 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.48 + '@babel/runtime': 7.24.0 + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.61)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.61 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -3337,7 +3345,7 @@ packages: /@radix-ui/rect@1.0.1: resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==} dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.0 dev: false /@react-spring/animated@9.7.3(react@18.2.0): @@ -3361,7 +3369,7 @@ packages: react: 18.2.0 dev: false - /@react-spring/konva@9.7.3(konva@9.3.2)(react-konva@18.2.10)(react@18.2.0): + /@react-spring/konva@9.7.3(konva@9.3.3)(react-konva@18.2.10)(react@18.2.0): resolution: {integrity: sha512-R9sY6SiPGYqz1383P5qppg5z57YfChVknOC1UxxaGxpw+WiZa8fZ4zmZobslrw+os3/+HAXZv8O+EvU/nQpf7g==} peerDependencies: konva: '>=2.6' @@ -3372,9 +3380,9 @@ packages: '@react-spring/core': 9.7.3(react@18.2.0) '@react-spring/shared': 9.7.3(react@18.2.0) '@react-spring/types': 9.7.3 - konva: 9.3.2 + konva: 9.3.3 react: 18.2.0 - react-konva: 18.2.10(konva@9.3.2)(react-dom@18.2.0)(react@18.2.0) + react-konva: 18.2.10(konva@9.3.3)(react-dom@18.2.0)(react@18.2.0) dev: false /@react-spring/shared@9.7.3(react@18.2.0): @@ -3580,6 +3588,21 @@ packages: tailwindcss: 3.4.1 dev: false + /@tanstack/react-virtual@3.1.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-YCzcbF/Ws/uZ0q3Z6fagH+JVhx4JLvbSflgldMgLsuvB8aXjZLLb3HvrEVxY480F9wFlBiXlvQxOyXb5ENPrNA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@tanstack/virtual-core': 3.1.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@tanstack/virtual-core@3.1.3: + resolution: {integrity: sha512-Y5B4EYyv1j9V8LzeAoOVeTg0LI7Fo5InYKgAjkY1Pu9GjtUwX/EKxNcU7ng3sKr99WEf+bPTcktAeybyMOYo+g==} + dev: false + /@trysound/sax@0.2.0: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} @@ -3593,35 +3616,35 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.11.14 + '@types/node': 20.11.24 /@types/bonjour@3.5.13: resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: - '@types/node': 20.11.14 + '@types/node': 20.11.24 /@types/codemirror@0.0.90: resolution: {integrity: sha512-8Z9+tSg27NPRGubbUPUCrt5DDG/OWzLph5BvcDykwR5D7RyZh5mhHG0uS1ePKV1YFCA+/cwc4Ey2AJAEFfV3IA==} dependencies: - '@types/tern': 0.23.7 + '@types/tern': 0.23.9 dev: false - /@types/codemirror@5.60.13: - resolution: {integrity: sha512-qLWcKUwYDYB7mZpE++0Jn3i1TJ2GW8nlhALRAfjaKgb1HRnk2qcNqWxZ+BpPY1h4n4IQT0foThaOxWHxEL8MnQ==} + /@types/codemirror@5.60.15: + resolution: {integrity: sha512-dTOvwEQ+ouKJ/rE9LT1Ue2hmP6H1mZv5+CCnNWu2qtiOe2LQa9lCprEY20HxiDmV/Bxh+dXjywmy5aKvoGjULA==} dependencies: - '@types/tern': 0.23.7 + '@types/tern': 0.23.9 dev: false /@types/connect-history-api-fallback@1.5.4: resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: '@types/express-serve-static-core': 4.17.42 - '@types/node': 20.11.14 + '@types/node': 20.11.24 /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.11.14 + '@types/node': 20.11.24 /@types/debug@4.1.12: resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -3631,11 +3654,11 @@ packages: /@types/eslint-scope@3.7.7: resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: - '@types/eslint': 8.56.2 + '@types/eslint': 8.56.5 '@types/estree': 1.0.5 - /@types/eslint@8.56.2: - resolution: {integrity: sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==} + /@types/eslint@8.56.5: + resolution: {integrity: sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==} dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 @@ -3651,7 +3674,7 @@ packages: /@types/express-serve-static-core@4.17.42: resolution: {integrity: sha512-ckM3jm2bf/MfB3+spLPWYPUH573plBFwpOhqQ2WottxYV85j1HQFlxmnTq57X1yHY9awZPig06hL/cLMgNWHIQ==} dependencies: - '@types/node': 20.11.14 + '@types/node': 20.11.24 '@types/qs': 6.9.11 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -3694,7 +3717,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.11.14 + '@types/node': 20.11.24 /@types/istanbul-lib-coverage@2.0.6: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -3717,10 +3740,6 @@ packages: dependencies: '@types/unist': 3.0.2 - /@types/mdx@2.0.10: - resolution: {integrity: sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==} - dev: false - /@types/mdx@2.0.11: resolution: {integrity: sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw==} @@ -3736,14 +3755,14 @@ packages: /@types/node-forge@1.3.11: resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} dependencies: - '@types/node': 20.11.14 + '@types/node': 20.11.24 /@types/node@17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: false - /@types/node@20.11.14: - resolution: {integrity: sha512-w3yWCcwULefjP9DmDDsgUskrMoOy5Z8MiwKHr1FvqGPtx7CvJzQvxD7eKpxNtklQxLruxSXWddyeRtyud0RcXQ==} + /@types/node@20.11.24: + resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} dependencies: undici-types: 5.26.5 @@ -3770,31 +3789,31 @@ packages: /@types/react-reconciler@0.28.8: resolution: {integrity: sha512-SN9c4kxXZonFhbX4hJrZy37yw9e7EIxcpHCxQv5JUS18wDE5ovkQKlqQEkufdJCCMfuI9BnjUJvhYeJ9x5Ra7g==} dependencies: - '@types/react': 18.2.48 + '@types/react': 18.2.61 dev: false /@types/react-router-config@5.0.11: resolution: {integrity: sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.48 + '@types/react': 18.2.61 '@types/react-router': 5.1.20 /@types/react-router-dom@5.3.3: resolution: {integrity: sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.48 + '@types/react': 18.2.61 '@types/react-router': 5.1.20 /@types/react-router@5.1.20: resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.48 + '@types/react': 18.2.61 - /@types/react@18.2.48: - resolution: {integrity: sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==} + /@types/react@18.2.61: + resolution: {integrity: sha512-NURTN0qNnJa7O/k4XUkEW2yfygA+NxS0V5h1+kp9jPwhzZy95q3ADoGMP0+JypMhrZBTTgjKAUlTctde1zzeQA==} dependencies: '@types/prop-types': 15.7.11 '@types/scheduler': 0.16.8 @@ -3816,11 +3835,15 @@ packages: resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: true + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + dev: true + /@types/send@0.17.4: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.11.14 + '@types/node': 20.11.24 /@types/serve-index@1.9.4: resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} @@ -3832,15 +3855,15 @@ packages: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.11.14 + '@types/node': 20.11.24 /@types/sockjs@0.3.36: resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: - '@types/node': 20.11.14 + '@types/node': 20.11.24 - /@types/tern@0.23.7: - resolution: {integrity: sha512-0YS9XCZ0LAhlP11HV9SqncUYyz9Ggsgc7Om/AmchKvoeFyj0qPaJmX6rJ93mJVExizWDzUMb49gAtVpI1uHd8Q==} + /@types/tern@0.23.9: + resolution: {integrity: sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==} dependencies: '@types/estree': 1.0.5 dev: false @@ -3858,7 +3881,7 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.11.14 + '@types/node': 20.11.24 /@types/yargs-parser@21.0.3: resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -3868,51 +3891,51 @@ packages: dependencies: '@types/yargs-parser': 21.0.3 - /@typescript-eslint/eslint-plugin@6.20.0(@typescript-eslint/parser@6.20.0)(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==} + /@typescript-eslint/eslint-plugin@7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.20.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/type-utils': 6.20.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.20.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/parser': 7.1.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 7.1.0 + '@typescript-eslint/type-utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 7.1.0 debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.20.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==} + /@typescript-eslint/parser@7.1.0(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/scope-manager': 7.1.0 + '@typescript-eslint/types': 7.1.0 + '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 7.1.0 debug: 4.3.4 - eslint: 8.56.0 + eslint: 8.57.0 typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -3926,29 +3949,29 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@6.20.0: - resolution: {integrity: sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==} + /@typescript-eslint/scope-manager@7.1.0: + resolution: {integrity: sha512-6TmN4OJiohHfoOdGZ3huuLhpiUgOGTpgXNUPJgeZOZR3DnIpdSgtt83RS35OYNNXxM4TScVlpVKC9jyQSETR1A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/types': 7.1.0 + '@typescript-eslint/visitor-keys': 7.1.0 dev: true - /@typescript-eslint/type-utils@6.20.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==} + /@typescript-eslint/type-utils@7.1.0(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.20.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3) + '@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3) debug: 4.3.4 - eslint: 8.56.0 - ts-api-utils: 1.0.3(typescript@5.3.3) + eslint: 8.57.0 + ts-api-utils: 1.2.1(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -3959,8 +3982,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.20.0: - resolution: {integrity: sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==} + /@typescript-eslint/types@7.1.0: + resolution: {integrity: sha512-qTWjWieJ1tRJkxgZYXx6WUYtWlBc48YRxgY2JN1aGeVpkhmnopq+SUC8UEVGNXIvWH7XyuTjwALfG6bFEgCkQA==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -3985,8 +4008,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.20.0(typescript@5.3.3): - resolution: {integrity: sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==} + /@typescript-eslint/typescript-estree@7.1.0(typescript@5.3.3): + resolution: {integrity: sha512-k7MyrbD6E463CBbSpcOnwa8oXRdHzH1WiVzOipK3L5KSML92ZKgUBrTlehdi7PEIMT8k0bQixHUGXggPAlKnOQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -3994,32 +4017,32 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/types': 7.1.0 + '@typescript-eslint/visitor-keys': 7.1.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.56.0)(typescript@5.3.3): + /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.3.3): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3) - eslint: 8.56.0 + eslint: 8.57.0 eslint-scope: 5.1.1 semver: 7.5.4 transitivePeerDependencies: @@ -4027,20 +4050,20 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.20.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==} + /@typescript-eslint/utils@7.1.0(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 - '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.3.3) - eslint: 8.56.0 - semver: 7.5.4 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.1.0 + '@typescript-eslint/types': 7.1.0 + '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3) + eslint: 8.57.0 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript @@ -4054,11 +4077,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.20.0: - resolution: {integrity: sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==} + /@typescript-eslint/visitor-keys@7.1.0: + resolution: {integrity: sha512-FhUqNWluiGNzlvnDZiXad4mZRhtghdoKW6e98GoEOYSu5cND+E39rG5KwJMUzeENwm1ztYBRqof8wMLP+wNPIA==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.20.0 + '@typescript-eslint/types': 7.1.0 eslint-visitor-keys: 3.4.3 dev: true @@ -4425,8 +4448,8 @@ packages: peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.22.3 - caniuse-lite: 1.0.30001581 + browserslist: 4.23.0 + caniuse-lite: 1.0.30001591 colorette: 1.4.0 fraction.js: 4.3.7 normalize-range: 0.1.2 @@ -4449,7 +4472,23 @@ packages: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /babel-loader@9.1.3(@babel/core@7.23.9)(webpack@5.90.0): + /autoprefixer@10.4.17(postcss@8.4.35): + resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.22.3 + caniuse-lite: 1.0.30001581 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.35 + postcss-value-parser: 4.2.0 + dev: false + + /babel-loader@9.1.3(@babel/core@7.23.9)(webpack@5.90.3): resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -4459,7 +4498,7 @@ packages: '@babel/core': 7.23.9 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.90.0 + webpack: 5.90.3 /babel-plugin-dynamic-import-node@2.3.3: resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} @@ -4523,8 +4562,8 @@ packages: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - /body-parser@1.20.1: - resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + /body-parser@1.20.2: + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: bytes: 3.1.2 @@ -4536,7 +4575,7 @@ packages: iconv-lite: 0.4.24 on-finished: 2.4.1 qs: 6.11.0 - raw-body: 2.5.1 + raw-body: 2.5.2 type-is: 1.6.18 unpipe: 1.0.0 transitivePeerDependencies: @@ -4600,10 +4639,20 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001581 - electron-to-chromium: 1.4.653 + electron-to-chromium: 1.4.689 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.3) + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001591 + electron-to-chromium: 1.4.689 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -4663,14 +4712,17 @@ packages: /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: - browserslist: 4.22.3 - caniuse-lite: 1.0.30001581 + browserslist: 4.23.0 + caniuse-lite: 1.0.30001591 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 /caniuse-lite@1.0.30001581: resolution: {integrity: sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==} + /caniuse-lite@1.0.30001591: + resolution: {integrity: sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==} + /ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -4747,6 +4799,21 @@ packages: optionalDependencies: fsevents: 2.3.3 + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + /chrome-trace-event@1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} @@ -4974,8 +5041,8 @@ packages: /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - /cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} /copy-text-to-clipboard@3.2.0: @@ -4989,7 +5056,7 @@ packages: toggle-selection: 1.0.6 dev: false - /copy-webpack-plugin@11.0.0(webpack@5.90.0): + /copy-webpack-plugin@11.0.0(webpack@5.90.3): resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -5001,12 +5068,12 @@ packages: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.90.0 + webpack: 5.90.3 /core-js-compat@3.35.1: resolution: {integrity: sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==} dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 /core-js-pure@3.35.1: resolution: {integrity: sha512-zcIdi/CL3MWbBJYo5YCeVAAx+Sy9yJE9I3/u9LkFABwbeaPhTMRWraM8mYFp9jW5Z50hOy7FVzCc8dCrpZqtIQ==} @@ -5080,7 +5147,7 @@ packages: dependencies: postcss: 8.4.33 - /css-loader@6.10.0(webpack@5.90.0): + /css-loader@6.10.0(webpack@5.90.3): resolution: {integrity: sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -5100,9 +5167,9 @@ packages: postcss-modules-values: 4.0.0(postcss@8.4.33) postcss-value-parser: 4.2.0 semver: 7.5.4 - webpack: 5.90.0 + webpack: 5.90.3 - /css-minimizer-webpack-plugin@4.2.2(clean-css@5.3.3)(webpack@5.90.0): + /css-minimizer-webpack-plugin@4.2.2(clean-css@5.3.3)(webpack@5.90.3): resolution: {integrity: sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -5134,7 +5201,7 @@ packages: schema-utils: 4.2.0 serialize-javascript: 6.0.2 source-map: 0.6.1 - webpack: 5.90.0 + webpack: 5.90.3 /css-select@4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} @@ -5449,7 +5516,7 @@ packages: react: ^16.8.4 || ^17 || ^18 react-dom: ^16.8.4 || ^17 || ^18 dependencies: - '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) autocomplete.js: 0.37.1 clsx: 1.2.1 gauge: 3.0.2 @@ -5468,23 +5535,23 @@ packages: unist-util-is: 4.1.0 dev: true - /docusaurus-plugin-drawio@0.4.0(webpack@5.90.0): + /docusaurus-plugin-drawio@0.4.0(webpack@5.90.3): resolution: {integrity: sha512-7y3cgtwdQ3evWY/phq/iGJectDlRzpRrKzbcBeT79o+w+OStU0noTcTOmVd/oTiylu2OJXhQWF9z+4CoxTgAtA==} dependencies: - raw-loader: 4.0.2(webpack@5.90.0) + raw-loader: 4.0.2(webpack@5.90.3) transitivePeerDependencies: - webpack dev: true - /docusaurus-plugin-sass@0.2.5(@docusaurus/core@3.1.1)(sass@1.70.0)(webpack@5.90.0): + /docusaurus-plugin-sass@0.2.5(@docusaurus/core@3.1.1)(sass@1.71.1)(webpack@5.90.3): resolution: {integrity: sha512-Z+D0fLFUKcFpM+bqSUmqKIU+vO+YF1xoEQh5hoFreg2eMf722+siwXDD+sqtwU8E4MvVpuvsQfaHwODNlxJAEg==} peerDependencies: '@docusaurus/core': ^2.0.0-beta || ^3.0.0-alpha sass: ^1.30.0 dependencies: - '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) - sass: 1.70.0 - sass-loader: 10.5.2(sass@1.70.0)(webpack@5.90.0) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + sass: 1.71.1 + sass-loader: 10.5.2(sass@1.71.1)(webpack@5.90.3) transitivePeerDependencies: - fibers - node-sass @@ -5499,7 +5566,7 @@ packages: react: '>=18' react-dom: '>=18' dependencies: - '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true @@ -5510,7 +5577,7 @@ packages: peerDependencies: '@docusaurus/core': ^2.0.0-alpha.0 dependencies: - '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/core': 3.1.1(@docusaurus/types@3.1.1)(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) autoprefixer: 10.3.4(postcss@8.3.6) postcss: 8.3.6 tailwindcss: 2.2.15(autoprefixer@10.3.4)(postcss@8.3.6) @@ -5533,7 +5600,7 @@ packages: '@docusaurus/theme-classic': optional: true dependencies: - '@docusaurus/plugin-content-docs': 3.1.1(eslint@8.56.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + '@docusaurus/plugin-content-docs': 3.1.1(eslint@8.57.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) dev: false /dom-converter@0.2.0: @@ -5608,8 +5675,8 @@ packages: /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - /electron-to-chromium@1.4.653: - resolution: {integrity: sha512-wA2A2LQCqnEwQAvwADQq3KpMpNwgAUBnRmrFgRzHnPhbQUFArTR32Ab46f4p0MovDLcg4uqd4nCsN2hTltslpA==} + /electron-to-chromium@1.4.689: + resolution: {integrity: sha512-GatzRKnGPS1go29ep25reM94xxd1Wj8ritU0yRhCJ/tr1Bg8gKnm6R9O/yPOhGQBoLMZ9ezfrpghNaTw97C/PQ==} /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -5631,8 +5698,8 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} - /enhanced-resolve@5.15.0: - resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + /enhanced-resolve@5.15.1: + resolution: {integrity: sha512-3d3JRbwsCLJsYgvb6NuWEG44jjPSOMuS73L/6+7BZuoKm3W+qXnSoIYVHi8dG7Qcg4inAY4jbzkZ7MnskePeDg==} engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 @@ -5657,8 +5724,8 @@ packages: /es-module-lexer@1.4.1: resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} /escape-goat@4.0.0: @@ -5698,16 +5765,16 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /eslint@8.56.0: - resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.56.0 - '@humanwhocodes/config-array': 0.11.13 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 @@ -5728,7 +5795,7 @@ packages: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -5834,7 +5901,7 @@ packages: resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} engines: {node: '>= 0.8'} dependencies: - '@types/node': 20.11.14 + '@types/node': 20.11.24 require-like: 0.1.2 /eventemitter3@4.0.7: @@ -5858,16 +5925,16 @@ packages: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - /express@4.18.2: - resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + /express@4.19.2: + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.1 + body-parser: 1.20.2 content-disposition: 0.5.4 content-type: 1.0.5 - cookie: 0.5.0 + cookie: 0.6.0 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 @@ -5929,8 +5996,8 @@ packages: dependencies: punycode: 1.4.1 - /fastq@1.17.0: - resolution: {integrity: sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 @@ -5958,7 +6025,7 @@ packages: dependencies: flat-cache: 3.2.0 - /file-loader@6.2.0(webpack@5.90.0): + /file-loader@6.2.0(webpack@5.90.3): resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -5966,7 +6033,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.90.0 + webpack: 5.90.3 /filesize@8.0.7: resolution: {integrity: sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==} @@ -6023,7 +6090,7 @@ packages: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.9 + flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 @@ -6031,11 +6098,11 @@ packages: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - /flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - /follow-redirects@1.15.5: - resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} + /follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -6055,7 +6122,7 @@ packages: signal-exit: 4.1.0 dev: false - /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.56.0)(typescript@5.3.3)(webpack@5.90.0): + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.0)(typescript@5.3.3)(webpack@5.90.3): resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -6075,7 +6142,7 @@ packages: chokidar: 3.5.3 cosmiconfig: 6.0.0 deepmerge: 4.3.1 - eslint: 8.56.0 + eslint: 8.57.0 fs-extra: 9.1.0 glob: 7.2.3 memfs: 3.5.3 @@ -6084,7 +6151,7 @@ packages: semver: 7.5.4 tapable: 1.1.3 typescript: 5.3.3 - webpack: 5.90.0 + webpack: 5.90.3 /form-data-encoder@2.1.4: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} @@ -6210,10 +6277,10 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} - /giscus@1.4.0: - resolution: {integrity: sha512-Pll+pcclTx47NcFDw8nuka2Ja85Gc4XWpzSgL0rszOQaMQRQIV8UMR+zP4a+/N3tV2TXc1SZ537kWlsN6EsAaw==} + /giscus@1.5.0: + resolution: {integrity: sha512-t3LL0qbSO3JXq3uyQeKpF5CegstGfKX/0gI6eDe1cmnI7D56R7j52yLdzw4pdKrg3VnufwCgCM3FDz7G1Qr6lg==} dependencies: - lit: 3.1.0 + lit: 3.1.2 dev: false /github-slugger@1.5.0: @@ -6293,7 +6360,7 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 @@ -6303,7 +6370,7 @@ packages: dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.3.1 merge2: 1.4.1 slash: 4.0.0 @@ -6337,15 +6404,15 @@ packages: /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - /graphiql@3.1.0(@codemirror/language@6.0.0)(@types/react@18.2.48)(graphql-ws@5.14.3)(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-1l2PecYNvFYYNSYq+4vIJOACXkP60Kod0E0SnKu+2f0Ux/npFNr3TfwJLZs7eKqqSh0KODmorvHi/XBP46Ua7A==} + /graphiql@3.1.1(@codemirror/language@6.0.0)(@types/react@18.2.61)(graphql-ws@5.15.0)(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-FMNa981Wj8JBJJRTdryNyrVteigS8B7q+Q1fh1rW4IsFPaXNIs1VMs8kwqIZ8zERj4Fc64Ea750g3n6r2w9Zcg==} peerDependencies: graphql: ^15.5.0 || ^16.0.0 react: ^16.8.0 || ^17 || ^18 react-dom: ^16.8.0 || ^17 || ^18 dependencies: - '@graphiql/react': 0.20.2(@codemirror/language@6.0.0)(@types/react@18.2.48)(graphql-ws@5.14.3)(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0) - '@graphiql/toolkit': 0.9.1(graphql-ws@5.14.3)(graphql@16.8.1) + '@graphiql/react': 0.20.3(@codemirror/language@6.0.0)(@types/react@18.2.61)(graphql-ws@5.15.0)(graphql@16.8.1)(react-dom@18.2.0)(react@18.2.0) + '@graphiql/toolkit': 0.9.1(graphql-ws@5.15.0)(graphql@16.8.1) graphql: 16.8.1 graphql-language-service: 5.2.0(graphql@16.8.1) markdown-it: 12.3.2 @@ -6380,8 +6447,8 @@ packages: tslib: 2.6.2 dev: false - /graphql-ws@5.14.3(graphql@16.8.1): - resolution: {integrity: sha512-F/i2xNIVbaEF2xWggID0X/UZQa2V8kqKDPO8hwmu53bVOcTL7uNkxnexeEgSCVxYBQUTUNEI8+e4LO1FOhKPKQ==} + /graphql-ws@5.15.0(graphql@16.8.1): + resolution: {integrity: sha512-xWGAtm3fig9TIhSaNsg0FaDZ8Pyn/3re3RFlP4rhQcmjRDIPpk1EhRuNB+YSJtLzttyuToaDiNhwT1OMoGnJnw==} engines: {node: '>=10'} peerDependencies: graphql: '>=0.11 <=16' @@ -6685,7 +6752,7 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.27.0 + terser: 5.28.1 /html-minifier-terser@7.2.0: resolution: {integrity: sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==} @@ -6698,7 +6765,7 @@ packages: entities: 4.5.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.27.0 + terser: 5.28.1 /html-tags@3.3.1: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} @@ -6707,7 +6774,7 @@ packages: /html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - /html-webpack-plugin@5.6.0(webpack@5.90.0): + /html-webpack-plugin@5.6.0(webpack@5.90.3): resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==} engines: {node: '>=10.13.0'} peerDependencies: @@ -6724,7 +6791,7 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.90.0 + webpack: 5.90.3 /htmlparser2@6.1.0: resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} @@ -6794,7 +6861,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.5 + follow-redirects: 1.15.6 requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -6824,8 +6891,8 @@ packages: dependencies: postcss: 8.4.33 - /ignore@5.3.0: - resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} /image-size@1.1.1: @@ -7115,7 +7182,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.14 + '@types/node': 20.11.24 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -7125,7 +7192,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.11.14 + '@types/node': 20.11.24 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7133,7 +7200,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.11.14 + '@types/node': 20.11.24 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7221,8 +7288,8 @@ packages: engines: {node: '>= 8'} dev: true - /konva@9.3.2: - resolution: {integrity: sha512-I4CFGVbWKpzgYi1I0pmoHz8iYfmGc/A61yfltzcuBHMFuBwDsR2VnQo4+eFQ1dGyEAmHcdvTumJ871KqkhuGng==} + /konva@9.3.3: + resolution: {integrity: sha512-cg/AHxnfawZ1rKxygCnzx0TZY7hQiQiAKgAHPinEwMn49MVrBkeKLj2d0EaleoFG/0y0XhEKTD0dFZiPPdWlCQ==} dev: false /latest-version@7.0.0: @@ -7266,26 +7333,26 @@ packages: uc.micro: 1.0.6 dev: false - /lit-element@4.0.2: - resolution: {integrity: sha512-/W6WQZUa5VEXwC7H9tbtDMdSs9aWil3Ou8hU6z2cOKWbsm/tXPAcsoaHVEtrDo0zcOIE5GF6QgU55tlGL2Nihg==} + /lit-element@4.0.4: + resolution: {integrity: sha512-98CvgulX6eCPs6TyAIQoJZBCQPo80rgXR+dVBs61cstJXqtI+USQZAbA4gFHh6L/mxBx9MrgPLHLsUgDUHAcCQ==} dependencies: - '@lit-labs/ssr-dom-shim': 1.1.2 - '@lit/reactive-element': 2.0.2 - lit-html: 3.1.0 + '@lit-labs/ssr-dom-shim': 1.2.0 + '@lit/reactive-element': 2.0.4 + lit-html: 3.1.2 dev: false - /lit-html@3.1.0: - resolution: {integrity: sha512-FwAjq3iNsaO6SOZXEIpeROlJLUlrbyMkn4iuv4f4u1H40Jw8wkeR/OUXZUHUoiYabGk8Y4Y0F/rgq+R4MrOLmA==} + /lit-html@3.1.2: + resolution: {integrity: sha512-3OBZSUrPnAHoKJ9AMjRL/m01YJxQMf+TMHanNtTHG68ubjnZxK0RFl102DPzsw4mWnHibfZIBJm3LWCZ/LmMvg==} dependencies: '@types/trusted-types': 2.0.7 dev: false - /lit@3.1.0: - resolution: {integrity: sha512-rzo/hmUqX8zmOdamDAeydfjsGXbbdtAFqMhmocnh2j9aDYqbu0fjXygjCa0T99Od9VQ/2itwaGrjZz/ZELVl7w==} + /lit@3.1.2: + resolution: {integrity: sha512-VZx5iAyMtX7CV4K8iTLdCkMaYZ7ipjJZ0JcSdJ0zIdGxxyurjIn7yuuSxNBD7QmjvcNJwr0JS4cAdAtsy7gZ6w==} dependencies: - '@lit/reactive-element': 2.0.2 - lit-element: 4.0.2 - lit-html: 3.1.0 + '@lit/reactive-element': 2.0.4 + lit-element: 4.0.4 + lit-html: 3.1.2 dev: false /loader-runner@4.3.0: @@ -8032,14 +8099,14 @@ packages: resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - /mini-css-extract-plugin@2.7.7(webpack@5.90.0): + /mini-css-extract-plugin@2.7.7(webpack@5.90.3): resolution: {integrity: sha512-+0n11YGyRavUR3IlaOzJ0/4Il1avMvJ1VJfhWfCn24ITQXhRr1gghbhhrda6tgtNcpZaWKdSuwKq20Jb7fnlyw==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: schema-utils: 4.2.0 - webpack: 5.90.0 + webpack: 5.90.3 /minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} @@ -8514,7 +8581,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.4.33 @@ -8526,7 +8593,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 postcss: 8.4.33 postcss-value-parser: 4.2.0 @@ -8635,7 +8702,7 @@ packages: yaml: 2.3.4 dev: false - /postcss-loader@7.3.4(postcss@8.4.33)(typescript@5.3.3)(webpack@5.90.0): + /postcss-loader@7.3.4(postcss@8.4.33)(typescript@5.3.3)(webpack@5.90.3): resolution: {integrity: sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -8646,7 +8713,7 @@ packages: jiti: 1.21.0 postcss: 8.4.33 semver: 7.5.4 - webpack: 5.90.0 + webpack: 5.90.3 transitivePeerDependencies: - typescript @@ -8676,7 +8743,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 caniuse-api: 3.0.0 cssnano-utils: 3.1.0(postcss@8.4.33) postcss: 8.4.33 @@ -8708,7 +8775,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 cssnano-utils: 3.1.0(postcss@8.4.33) postcss: 8.4.33 postcss-value-parser: 4.2.0 @@ -8838,7 +8905,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 postcss: 8.4.33 postcss-value-parser: 4.2.0 @@ -8886,7 +8953,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 caniuse-api: 3.0.0 postcss: 8.4.33 @@ -8966,6 +9033,15 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: false + /posthog-docusaurus@2.0.0: resolution: {integrity: sha512-nDSTIhmH/Fexv347Gx6wBCE97Z+fZTj0p/gqVYAaolMwSdVuzwyFWcFA+aW9uzA5Y5hjzRwwKJJOrIv8smkYkA==} engines: {node: '>=10.15.1'} @@ -9095,8 +9171,8 @@ packages: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - /raw-body@2.5.1: - resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + /raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} dependencies: bytes: 3.1.2 @@ -9104,7 +9180,7 @@ packages: iconv-lite: 0.4.24 unpipe: 1.0.0 - /raw-loader@4.0.2(webpack@5.90.0): + /raw-loader@4.0.2(webpack@5.90.3): resolution: {integrity: sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -9112,7 +9188,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.90.0 + webpack: 5.90.3 dev: true /rc@1.2.8: @@ -9124,7 +9200,7 @@ packages: minimist: 1.2.8 strip-json-comments: 2.0.1 - /react-dev-utils@12.0.1(eslint@8.56.0)(typescript@5.3.3)(webpack@5.90.0): + /react-dev-utils@12.0.1(eslint@8.57.0)(typescript@5.3.3)(webpack@5.90.3): resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} engines: {node: '>=14'} peerDependencies: @@ -9136,14 +9212,14 @@ packages: dependencies: '@babel/code-frame': 7.23.5 address: 1.2.2 - browserslist: 4.22.3 + browserslist: 4.23.0 chalk: 4.1.2 cross-spawn: 7.0.3 detect-port-alt: 1.1.6 escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.56.0)(typescript@5.3.3)(webpack@5.90.0) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.0)(typescript@5.3.3)(webpack@5.90.3) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -9159,7 +9235,7 @@ packages: strip-ansi: 6.0.1 text-table: 0.2.0 typescript: 5.3.3 - webpack: 5.90.0 + webpack: 5.90.3 transitivePeerDependencies: - eslint - supports-color @@ -9218,7 +9294,7 @@ packages: react: 18.2.0 dev: false - /react-konva@18.2.10(konva@9.3.2)(react-dom@18.2.0)(react@18.2.0): + /react-konva@18.2.10(konva@9.3.3)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-ohcX1BJINL43m4ynjZ24MxFI1syjBdrXhqVxYVDw2rKgr3yuS0x/6m1Y2Z4sl4T/gKhfreBx8KHisd0XC6OT1g==} peerDependencies: konva: ^8.0.1 || ^7.2.5 || ^9.0.0 @@ -9227,7 +9303,7 @@ packages: dependencies: '@types/react-reconciler': 0.28.8 its-fine: 1.1.1(react@18.2.0) - konva: 9.3.2 + konva: 9.3.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-reconciler: 0.29.0(react@18.2.0) @@ -9244,7 +9320,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@5.5.2)(webpack@5.90.0): + /react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@5.5.2)(webpack@5.90.3): resolution: {integrity: sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==} engines: {node: '>=10.13.0'} peerDependencies: @@ -9253,7 +9329,7 @@ packages: dependencies: '@babel/runtime': 7.23.9 react-loadable: /@docusaurus/react-loadable@5.5.2(react@18.2.0) - webpack: 5.90.0 + webpack: 5.90.3 /react-reconciler@0.29.0(react@18.2.0): resolution: {integrity: sha512-wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==} @@ -9266,8 +9342,8 @@ packages: scheduler: 0.23.0 dev: false - /react-remove-scroll-bar@2.3.4(@types/react@18.2.48)(react@18.2.0): - resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} + /react-remove-scroll-bar@2.3.5(@types/react@18.2.61)(react@18.2.0): + resolution: {integrity: sha512-3cqjOqg6s0XbOjWvmasmqHch+RLxIEk2r/70rzGXuz3iIGQsQheEQyqYCBb5EECoD01Vo2SIbDqW4paLeLTASw==} engines: {node: '>=10'} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -9276,13 +9352,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.48 + '@types/react': 18.2.61 react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.48)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.61)(react@18.2.0) tslib: 2.6.2 dev: false - /react-remove-scroll@2.5.5(@types/react@18.2.48)(react@18.2.0): + /react-remove-scroll@2.5.5(@types/react@18.2.61)(react@18.2.0): resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} engines: {node: '>=10'} peerDependencies: @@ -9292,13 +9368,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.48 + '@types/react': 18.2.61 react: 18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.2.48)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.48)(react@18.2.0) + react-remove-scroll-bar: 2.3.5(@types/react@18.2.61)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.61)(react@18.2.0) tslib: 2.6.2 - use-callback-ref: 1.3.0(@types/react@18.2.48)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.48)(react@18.2.0) + use-callback-ref: 1.3.1(@types/react@18.2.61)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.61)(react@18.2.0) dev: false /react-router-config@5.1.1(react-router@5.3.4)(react@18.2.0): @@ -9341,7 +9417,7 @@ packages: tiny-invariant: 1.3.1 tiny-warning: 1.0.3 - /react-style-singleton@2.2.1(@types/react@18.2.48)(react@18.2.0): + /react-style-singleton@2.2.1(@types/react@18.2.61)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} peerDependencies: @@ -9351,7 +9427,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.48 + '@types/react': 18.2.61 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 @@ -9464,8 +9540,8 @@ packages: dependencies: jsesc: 0.5.0 - /rehackt@0.0.3(@types/react@18.2.48)(react@18.2.0): - resolution: {integrity: sha512-aBRHudKhOWwsTvCbSoinzq+Lej/7R8e8UoPvLZo5HirZIIBLGAgdG7SL9QpdcBoQ7+3QYPi3lRLknAzXBlhZ7g==} + /rehackt@0.0.5(@types/react@18.2.61)(react@18.2.0): + resolution: {integrity: sha512-BI1rV+miEkaHj8zd2n+gaMgzu/fKz7BGlb4zZ6HAiY9adDmJMkaDcmuXlJFv0eyKUob+oszs3/2gdnXUrzx2Tg==} peerDependencies: '@types/react': '*' react: '*' @@ -9475,7 +9551,7 @@ packages: react: optional: true dependencies: - '@types/react': 18.2.48 + '@types/react': 18.2.61 react: 18.2.0 dev: false @@ -9656,7 +9732,7 @@ packages: engines: {node: '>=12.0.0'} hasBin: true dependencies: - escalade: 3.1.1 + escalade: 3.1.2 picocolors: 1.0.0 postcss: 8.4.33 strip-json-comments: 3.1.1 @@ -9676,7 +9752,7 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /sass-loader@10.5.2(sass@1.70.0)(webpack@5.90.0): + /sass-loader@10.5.2(sass@1.71.1)(webpack@5.90.3): resolution: {integrity: sha512-vMUoSNOUKJILHpcNCCyD23X34gve1TS7Rjd9uXHeKqhvBG39x6XbswFDtpbTElj6XdMFezoWhkh5vtKudf2cgQ==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -9695,14 +9771,14 @@ packages: klona: 2.0.6 loader-utils: 2.0.4 neo-async: 2.6.2 - sass: 1.70.0 + sass: 1.71.1 schema-utils: 3.3.0 - semver: 7.5.4 - webpack: 5.90.0 + semver: 7.6.0 + webpack: 5.90.3 dev: true - /sass-loader@14.1.0(sass@1.70.0)(webpack@5.90.0): - resolution: {integrity: sha512-LS2mLeFWA+orYxHNu+O18Xe4jR0kyamNOOUsE3NyBP4DvIL+8stHpNX0arYTItdPe80kluIiJ7Wfe/9iHSRO0Q==} + /sass-loader@14.1.1(sass@1.71.1)(webpack@5.90.3): + resolution: {integrity: sha512-QX8AasDg75monlybel38BZ49JP5Z+uSKfKwF2rO7S74BywaRmGQMUBw9dtkS+ekyM/QnP+NOrRYq8ABMZ9G8jw==} engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || 1.x @@ -9723,16 +9799,16 @@ packages: optional: true dependencies: neo-async: 2.6.2 - sass: 1.70.0 - webpack: 5.90.0 + sass: 1.71.1 + webpack: 5.90.3 dev: true - /sass@1.70.0: - resolution: {integrity: sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==} + /sass@1.71.1: + resolution: {integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==} engines: {node: '>=14.0.0'} hasBin: true dependencies: - chokidar: 3.5.3 + chokidar: 3.6.0 immutable: 4.3.5 source-map-js: 1.0.2 dev: true @@ -9809,6 +9885,14 @@ packages: dependencies: lru-cache: 6.0.0 + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -10139,8 +10223,8 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - /style-mod@4.1.0: - resolution: {integrity: sha512-Ca5ib8HrFn+f+0n4N4ScTIA9iTOQ7MaGS1ylHcoVqW9J7w2w8PzN6g9gKmTYgGEBH8e120+RCmhpje6jC5uGWA==} + /style-mod@4.1.2: + resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==} dev: false /style-to-object@0.4.4: @@ -10166,7 +10250,7 @@ packages: peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 postcss: 8.4.33 postcss-selector-parser: 6.0.15 @@ -10175,7 +10259,7 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: - '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/gen-mapping': 0.3.4 commander: 4.1.1 glob: 10.3.10 lines-and-columns: 1.2.4 @@ -10239,7 +10323,7 @@ packages: autoprefixer: 10.3.4(postcss@8.3.6) bytes: 3.1.2 chalk: 4.1.2 - chokidar: 3.5.3 + chokidar: 3.6.0 color: 4.2.3 cosmiconfig: 7.1.0 detective: 5.2.1 @@ -10312,7 +10396,7 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} - /terser-webpack-plugin@5.3.10(webpack@5.90.0): + /terser-webpack-plugin@5.3.10(webpack@5.90.3): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -10328,15 +10412,15 @@ packages: uglify-js: optional: true dependencies: - '@jridgewell/trace-mapping': 0.3.22 + '@jridgewell/trace-mapping': 0.3.23 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.27.0 - webpack: 5.90.0 + terser: 5.28.1 + webpack: 5.90.3 - /terser@5.27.0: - resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} + /terser@5.28.1: + resolution: {integrity: sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==} engines: {node: '>=10'} hasBin: true dependencies: @@ -10416,9 +10500,9 @@ packages: /trough@2.1.0: resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} - /ts-api-utils@1.0.3(typescript@5.3.3): - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} + /ts-api-utils@1.2.1(typescript@5.3.3): + resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} + engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: @@ -10632,7 +10716,17 @@ packages: browserslist: '>= 4.21.0' dependencies: browserslist: 4.22.3 - escalade: 3.1.1 + escalade: 3.1.2 + picocolors: 1.0.0 + + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.2 picocolors: 1.0.0 /update-notifier@6.0.2: @@ -10659,7 +10753,7 @@ packages: dependencies: punycode: 2.3.1 - /url-loader@4.1.1(file-loader@6.2.0)(webpack@5.90.0): + /url-loader@4.1.1(file-loader@6.2.0)(webpack@5.90.3): resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -10669,14 +10763,14 @@ packages: file-loader: optional: true dependencies: - file-loader: 6.2.0(webpack@5.90.0) + file-loader: 6.2.0(webpack@5.90.3) loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.90.0 + webpack: 5.90.3 - /use-callback-ref@1.3.0(@types/react@18.2.48)(react@18.2.0): - resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} + /use-callback-ref@1.3.1(@types/react@18.2.61)(react@18.2.0): + resolution: {integrity: sha512-Lg4Vx1XZQauB42Hw3kK7JM6yjVjgFmFC5/Ab797s79aARomD2nEErc4mCgM8EZrARLmmbWpi5DGCadmK50DcAQ==} engines: {node: '>=10'} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -10685,7 +10779,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.48 + '@types/react': 18.2.61 react: 18.2.0 tslib: 2.6.2 dev: false @@ -10709,7 +10803,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /use-sidecar@1.1.2(@types/react@18.2.48)(react@18.2.0): + /use-sidecar@1.1.2(@types/react@18.2.61)(react@18.2.0): resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} engines: {node: '>=10'} peerDependencies: @@ -10719,7 +10813,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.48 + '@types/react': 18.2.61 detect-node-es: 1.1.0 react: 18.2.0 tslib: 2.6.2 @@ -10838,8 +10932,8 @@ packages: - bufferutil - utf-8-validate - /webpack-dev-middleware@5.3.3(webpack@5.90.0): - resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} + /webpack-dev-middleware@5.3.4(webpack@5.90.3): + resolution: {integrity: sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^4.0.0 || ^5.0.0 @@ -10849,9 +10943,9 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.90.0 + webpack: 5.90.3 - /webpack-dev-server@4.15.1(webpack@5.90.0): + /webpack-dev-server@4.15.1(webpack@5.90.3): resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} engines: {node: '>= 12.13.0'} hasBin: true @@ -10878,7 +10972,7 @@ packages: compression: 1.7.4 connect-history-api-fallback: 2.0.0 default-gateway: 6.0.3 - express: 4.18.2 + express: 4.19.2 graceful-fs: 4.2.11 html-entities: 2.4.0 http-proxy-middleware: 2.0.6(@types/express@4.17.21) @@ -10892,8 +10986,8 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.90.0 - webpack-dev-middleware: 5.3.3(webpack@5.90.0) + webpack: 5.90.3 + webpack-dev-middleware: 5.3.4(webpack@5.90.3) ws: 8.16.0 transitivePeerDependencies: - bufferutil @@ -10913,8 +11007,8 @@ packages: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - /webpack@5.90.0: - resolution: {integrity: sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==} + /webpack@5.90.3: + resolution: {integrity: sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -10930,9 +11024,9 @@ packages: '@webassemblyjs/wasm-parser': 1.11.6 acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) - browserslist: 4.22.3 + browserslist: 4.23.0 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.15.0 + enhanced-resolve: 5.15.1 es-module-lexer: 1.4.1 eslint-scope: 5.1.1 events: 3.3.0 @@ -10944,7 +11038,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.90.0) + terser-webpack-plugin: 5.3.10(webpack@5.90.3) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -10952,7 +11046,7 @@ packages: - esbuild - uglify-js - /webpackbar@5.0.2(webpack@5.90.0): + /webpackbar@5.0.2(webpack@5.90.3): resolution: {integrity: sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==} engines: {node: '>=12'} peerDependencies: @@ -10962,7 +11056,7 @@ packages: consola: 2.15.3 pretty-time: 1.1.0 std-env: 3.7.0 - webpack: 5.90.0 + webpack: 5.90.3 /websocket-driver@0.7.4: resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} diff --git a/website/shared/install/meta-cli.mdx b/website/shared/install/meta-cli.mdx index 80b913c1a9..54857ac81f 100644 --- a/website/shared/install/meta-cli.mdx +++ b/website/shared/install/meta-cli.mdx @@ -12,6 +12,18 @@ executable and add it to your `PATH` or use the automated method below. # the installer may ask for your password curl -fsSL https://raw.githubusercontent.com/metatypedev/metatype/main/installer.sh | bash +# (optional, read below) install libwasmedge and... +curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install.sh | bash -s -- -v $WASMEDGE_VERSION +# (linux) ...add it to dynamic libraries path +export LD_LIBRARY_PATH=~/.wasmedge/lib +# (macos) ...add it to dynamic libraries path +export DYLD_LIBRARY_PATH=~/.wasmedge/lib +# consider permanently adding this to your shell rc + # (for later) upgrade to a newer version meta upgrade ``` + +A `thin` version of the cli that doesn't rely on libwasmedge is also provided. +This version of the cli doesn't offer the `typegate` command that lets you spin up a typegate for development purposes. +To install it, you can pass `META_THIN=1` environment variable to the installer script or download it from the github relases. diff --git a/website/static/images/system_setup.drawio.svg b/website/static/images/system_setup.drawio.svg new file mode 100644 index 0000000000..a4004b1cb1 --- /dev/null +++ b/website/static/images/system_setup.drawio.svg @@ -0,0 +1,152 @@ + + + + + + + + + + + + + +
    +
    +
    + Load balancer +
    +
    +
    +
    + + Load balancer + +
    +
    + + + + + + +
    +
    +
    + Typegate 2 +
    +
    +
    +
    + + Typegate 2 + +
    +
    + + + + + + +
    +
    +
    + Typegate 1 +
    +
    +
    +
    + + Typegate 1 + +
    +
    + + + + + + +
    +
    +
    + Typegate n... +
    +
    +
    +
    + + Typegate n... + +
    +
    + + + + + + + +
    +
    +
    + Client +
    +
    +
    +
    + + Client + +
    +
    + + + + +
    +
    +
    + Redis +
    +
    +
    +
    + + Redis + +
    +
    + + + + +
    +
    +
    + S3 store +
    +
    +
    +
    + + S3 store + +
    +
    + + + + + +
    + + + + + Text is not SVG - cannot display + + + +
    diff --git a/website/static/specs/0.0.3.json b/website/static/specs/0.0.3.json index 6f23e6b01d..26c2c3fb76 100644 --- a/website/static/specs/0.0.3.json +++ b/website/static/specs/0.0.3.json @@ -842,6 +842,16 @@ "format": "uint32", "minimum": 0.0 }, + "parameterTransform": { + "anyOf": [ + { + "$ref": "#/definitions/FunctionParameterTransform" + }, + { + "type": "null" + } + ] + }, "output": { "type": "integer", "format": "uint32", @@ -1231,6 +1241,24 @@ "$ref": "#/definitions/InjectionData_for_String" } } + }, + { + "type": "object", + "required": [ + "data", + "source" + ], + "properties": { + "source": { + "type": "string", + "enum": [ + "random" + ] + }, + "data": { + "$ref": "#/definitions/InjectionData_for_String" + } + } } ] }, @@ -1300,6 +1328,192 @@ "phone" ] }, + "FunctionParameterTransform": { + "type": "object", + "required": [ + "resolver_input", + "transform_root" + ], + "properties": { + "resolver_input": { + "type": "integer", + "format": "uint32", + "minimum": 0.0 + }, + "transform_root": { + "$ref": "#/definitions/ParameterTransformNode" + } + } + }, + "ParameterTransformNode": { + "type": "object", + "required": [ + "data", + "typeIdx" + ], + "properties": { + "typeIdx": { + "type": "integer", + "format": "uint32", + "minimum": 0.0 + }, + "data": { + "$ref": "#/definitions/ParameterTransformNodeData" + } + } + }, + "ParameterTransformNodeData": { + "anyOf": [ + { + "$ref": "#/definitions/ParameterTransformLeafNode" + }, + { + "$ref": "#/definitions/ParameterTransformParentNode" + } + ] + }, + "ParameterTransformLeafNode": { + "oneOf": [ + { + "type": "object", + "required": [ + "name", + "source" + ], + "properties": { + "source": { + "type": "string", + "enum": [ + "arg" + ] + }, + "name": { + "type": "string" + } + } + }, + { + "type": "object", + "required": [ + "source", + "valueJson" + ], + "properties": { + "source": { + "type": "string", + "enum": [ + "static" + ] + }, + "valueJson": { + "type": "string" + } + } + }, + { + "type": "object", + "required": [ + "key", + "source" + ], + "properties": { + "source": { + "type": "string", + "enum": [ + "secret" + ] + }, + "key": { + "type": "string" + } + } + }, + { + "type": "object", + "required": [ + "key", + "source" + ], + "properties": { + "source": { + "type": "string", + "enum": [ + "context" + ] + }, + "key": { + "type": "string" + } + } + }, + { + "type": "object", + "required": [ + "parentIdx", + "source" + ], + "properties": { + "source": { + "type": "string", + "enum": [ + "parent" + ] + }, + "parentIdx": { + "type": "integer", + "format": "uint32", + "minimum": 0.0 + } + } + } + ] + }, + "ParameterTransformParentNode": { + "oneOf": [ + { + "type": "object", + "required": [ + "fields", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "object" + ] + }, + "fields": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ParameterTransformNode" + } + } + } + }, + { + "type": "object", + "required": [ + "items", + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "array" + ] + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/ParameterTransformNode" + } + } + } + } + ] + }, "Materializer": { "type": "object", "required": [ @@ -2167,6 +2381,14 @@ }, "version": { "type": "string" + }, + "random_seed": { + "type": [ + "integer", + "null" + ], + "format": "uint32", + "minimum": 0.0 } } }, diff --git a/whiz.yaml b/whiz.yaml index 8e6e87446f..07740752da 100644 --- a/whiz.yaml +++ b/whiz.yaml @@ -17,6 +17,7 @@ gate1: &tp REDIS_URL: "redis://:password@localhost:6379/0" TG_SECRET: "a4lNi0PbEItlFZbus1oeH/+wyIxi9uH6TpL8AIqIaMBNvp7SESmuUBbfUwC0prxhGhZqHw8vMDYZAGMhSZ4fLw==" TG_ADMIN_PASSWORD: "password" + LD_LIBRARY_PATH: /data/home/metatype/.ghjk/envs/default/shims/lib command: "cargo run -p typegate" pipe: "^.+DEBUG http .*$": whiz://http @@ -57,6 +58,7 @@ typegraph: jco transpile $WASM_FILE -o typegraph/node/sdk/src/gen --map metatype:typegraph/host=../host/host.js cd typegraph/node + pnpm install pnpm run sdk-build cp ./sdk/{package.json,package-lock.json,LICENSE.md} ./sdk/dist cd ../..