Compare commits

..

13 Commits

Author SHA1 Message Date
Guido D'Orsi
11f7277675 Merge pull request #1566 from garden-co/changeset-release/main
Version Packages
2025-03-04 13:19:34 +01:00
github-actions[bot]
d992f5c552 Version Packages 2025-03-04 12:18:11 +00:00
Guido D'Orsi
a5ec31f079 Merge pull request #1573 from garden-co/fix-race-conditions-ctx-creation
fix(ContextManager): avoid race conditions on context creation
2025-03-04 13:15:59 +01:00
Guido D'Orsi
2f99de0976 fix(ContextManager): avoid race conditions on context creation 2025-03-04 13:10:29 +01:00
Anselm Eickhoff
d5503b4581 Merge pull request #1555 from garden-co/1554-start-a-faq-document
Adds an FAQ
2025-03-04 11:32:13 +00:00
Guido D'Orsi
f86e278b00 fix: change the log level of permission errors to debug 2025-03-03 23:43:49 +01:00
Benjamin S. Leveritt
09e2090939 Tweaks heading 2025-03-03 14:07:45 +00:00
Benjamin S. Leveritt
2ffe10cc79 Rework order, update from suggestions 2025-03-03 12:08:13 +00:00
Benjamin S. Leveritt
9a4cef30cf Update homepage/homepage/app/(docs)/docs/[framework]/[...slug]/faq.mdx
Co-authored-by: Anselm Eickhoff <anselm.eickhoff@gmail.com>
2025-03-03 12:03:19 +00:00
Anselm Eickhoff
3c0b2cb689 Merge pull request #1557 from garden-co/1556-update-homepage-typedoc-to-027
1556-update-homepage-typedoc-to-027
2025-03-03 11:49:54 +00:00
Benjamin S. Leveritt
6a2a176361 Fix typing 2025-03-03 11:35:37 +00:00
Benjamin S. Leveritt
824bbc8bab Bumps typedoc and typescript versions 2025-03-03 11:35:15 +00:00
Benjamin S. Leveritt
71b9517eda Adds an FAQ
Fixes #1554
2025-03-03 10:34:09 +00:00
98 changed files with 866 additions and 220 deletions

View File

@@ -1,5 +1,15 @@
# chat-rn-clerk
## 1.0.80
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-react-native@0.10.15
- jazz-react-native-auth-clerk@0.10.15
- jazz-react-native-media-images@0.10.15
## 1.0.79
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "chat-rn-clerk",
"main": "index.js",
"version": "1.0.79",
"version": "1.0.80",
"scripts": {
"build": "expo export -p ios",
"start": "expo start",

View File

@@ -1,5 +1,13 @@
# chat-rn
## 1.0.76
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-react-native@0.10.15
## 1.0.75
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "chat-rn",
"version": "1.0.75",
"version": "1.0.76",
"main": "index.js",
"scripts": {
"build": "expo export -p ios",

View File

@@ -1,5 +1,14 @@
# chat-vue
## 0.0.62
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-browser@0.10.15
- jazz-vue@0.10.15
## 0.0.61
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "chat-vue",
"version": "0.0.61",
"version": "0.0.62",
"private": true,
"type": "module",
"scripts": {

View File

@@ -1,5 +1,14 @@
# jazz-example-chat
## 0.0.158
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-browser-media-images@0.10.15
- jazz-react@0.10.15
## 0.0.157
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-chat",
"private": true,
"version": "0.0.157",
"version": "0.0.158",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,14 @@
# minimal-auth-clerk
## 0.0.57
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-react@0.10.15
- jazz-react-auth-clerk@0.10.15
## 0.0.56
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "clerk",
"private": true,
"version": "0.0.56",
"version": "0.0.57",
"type": "module",
"scripts": {
"dev": "vite",
@@ -13,7 +13,7 @@
"dependencies": {
"@clerk/clerk-react": "^5.4.1",
"jazz-react": "workspace:*",
"jazz-react-auth-clerk": "workspace:0.10.14",
"jazz-react-auth-clerk": "workspace:0.10.15",
"jazz-tools": "workspace:*",
"react": "^18.3.1",
"react-dom": "^18.3.1"

View File

@@ -1,5 +1,13 @@
# file-share-svelte
## 0.0.42
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-svelte@0.10.15
## 0.0.41
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "file-share-svelte",
"version": "0.0.41",
"version": "0.0.42",
"private": true,
"type": "module",
"scripts": {

View File

@@ -1,5 +1,14 @@
# form
## 0.0.53
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-browser-media-images@0.10.15
- jazz-react@0.10.15
## 0.0.52
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "form",
"private": true,
"version": "0.0.52",
"version": "0.0.53",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,14 @@
# image-upload
## 0.0.55
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-browser-media-images@0.10.15
- jazz-react@0.10.15
## 0.0.54
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "image-upload",
"private": true,
"version": "0.0.54",
"version": "0.0.55",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,13 @@
# jazz-example-inspector
## 0.0.110
### Patch Changes
- Updated dependencies [f86e278]
- cojson@0.10.15
- cojson-transport-ws@0.10.15
## 0.0.109
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-inspector-app",
"private": true,
"version": "0.0.109",
"version": "0.0.110",
"type": "module",
"scripts": {
"dev": "vite",
@@ -16,8 +16,8 @@
"@radix-ui/react-toast": "^1.1.4",
"class-variance-authority": "^0.7.0",
"clsx": "^2.0.0",
"cojson": "workspace:0.10.8",
"cojson-transport-ws": "workspace:0.10.8",
"cojson": "workspace:0.10.15",
"cojson-transport-ws": "workspace:0.10.15",
"hash-slash": "workspace:0.2.2",
"lucide-react": "^0.274.0",
"qrcode": "^1.5.3",

View File

@@ -1,5 +1,14 @@
# jazz-example-musicplayer
## 0.0.79
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-inspector@0.10.12
- jazz-react@0.10.15
## 0.0.78
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-music-player",
"private": true,
"version": "0.0.78",
"version": "0.0.79",
"type": "module",
"scripts": {
"dev": "vite",
@@ -22,8 +22,8 @@
"class-variance-authority": "^0.7.0",
"clsx": "^2.0.0",
"jazz-inspector": "workspace:*",
"jazz-react": "workspace:0.10.14",
"jazz-tools": "workspace:0.10.14",
"jazz-react": "workspace:0.10.15",
"jazz-tools": "workspace:0.10.15",
"lucide-react": "^0.274.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",

View File

@@ -1,5 +1,13 @@
# organization
## 0.0.51
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-react@0.10.15
## 0.0.50
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "organization",
"private": true,
"version": "0.0.50",
"version": "0.0.51",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,11 @@
# passkey-svelte
## 0.0.46
### Patch Changes
- jazz-svelte@0.10.15
## 0.0.45
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "passkey-svelte",
"version": "0.0.45",
"version": "0.0.46",
"type": "module",
"private": true,
"scripts": {

View File

@@ -1,5 +1,13 @@
# minimal-auth-passkey
## 0.0.56
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-react@0.10.15
## 0.0.55
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "passkey",
"private": true,
"version": "0.0.55",
"version": "0.0.56",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,13 @@
# passphrase
## 0.0.53
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-react@0.10.15
## 0.0.52
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "passphrase",
"private": true,
"version": "0.0.52",
"version": "0.0.53",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,13 @@
# jazz-password-manager
## 0.0.77
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-react@0.10.15
## 0.0.76
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-password-manager",
"private": true,
"version": "0.0.76",
"version": "0.0.77",
"type": "module",
"scripts": {
"dev": "vite",
@@ -12,8 +12,8 @@
"clean-install": "rm -rf node_modules pnpm-lock.yaml && pnpm install"
},
"dependencies": {
"jazz-react": "workspace:0.10.14",
"jazz-tools": "workspace:0.10.14",
"jazz-react": "workspace:0.10.15",
"jazz-tools": "workspace:0.10.15",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-hook-form": "^7.41.5",

View File

@@ -1,5 +1,14 @@
# jazz-example-pets
## 0.0.175
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-browser-media-images@0.10.15
- jazz-react@0.10.15
## 0.0.174
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-pets",
"private": true,
"version": "0.0.174",
"version": "0.0.175",
"type": "module",
"scripts": {
"dev": "vite",
@@ -19,9 +19,9 @@
"@radix-ui/react-toast": "^1.1.4",
"class-variance-authority": "^0.7.0",
"clsx": "^2.0.0",
"jazz-browser-media-images": "workspace:0.10.14",
"jazz-react": "workspace:0.10.14",
"jazz-tools": "workspace:0.10.14",
"jazz-browser-media-images": "workspace:0.10.15",
"jazz-react": "workspace:0.10.15",
"jazz-tools": "workspace:0.10.15",
"lucide-react": "^0.274.0",
"qrcode": "^1.5.3",
"react": "^18.3.1",
@@ -41,7 +41,7 @@
"@vitejs/plugin-react-swc": "^3.3.2",
"autoprefixer": "^10.4.20",
"is-ci": "^3.0.1",
"jazz-run": "workspace:0.10.14",
"jazz-run": "workspace:0.10.15",
"postcss": "^8.4.27",
"tailwindcss": "^3.4.17",
"typescript": "~5.6.2",

View File

@@ -1,5 +1,14 @@
# reactions
## 0.0.55
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-browser-media-images@0.10.15
- jazz-react@0.10.15
## 0.0.54
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "reactions",
"private": true,
"version": "0.0.54",
"version": "0.0.55",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -1,5 +1,14 @@
# todo-vue
## 0.0.60
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-browser@0.10.15
- jazz-vue@0.10.15
## 0.0.59
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "todo-vue",
"version": "0.0.59",
"version": "0.0.60",
"private": true,
"type": "module",
"scripts": {

View File

@@ -1,5 +1,13 @@
# jazz-example-todo
## 0.0.174
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-react@0.10.15
## 0.0.173
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-example-todo",
"private": true,
"version": "0.0.173",
"version": "0.0.174",
"type": "module",
"scripts": {
"dev": "vite",
@@ -16,8 +16,8 @@
"@radix-ui/react-toast": "^1.1.4",
"class-variance-authority": "^0.7.0",
"clsx": "^2.0.0",
"jazz-react": "workspace:0.10.14",
"jazz-tools": "workspace:0.10.14",
"jazz-react": "workspace:0.10.15",
"jazz-tools": "workspace:0.10.15",
"lucide-react": "^0.274.0",
"qrcode": "^1.5.3",
"react": "^18.3.1",

View File

@@ -1,5 +1,13 @@
# version-history
## 0.0.52
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-react@0.10.15
## 0.0.51
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "version-history",
"private": true,
"version": "0.0.51",
"version": "0.0.52",
"type": "module",
"scripts": {
"dev": "vite",

View File

@@ -0,0 +1,17 @@
# Frequently Asked Questions
## How established is Jazz?
Jazz is backed by fantastic angel and institutional investors with experience and know-how in devtools and has been in development since 2020.
## Will Jazz be around long-term?
We're committed to Jazz being around for a long time! We understand that when you choose Jazz for your projects, you're investing time and making a significant architectural choice, and we take that responsibility seriously.
That's why we've designed Jazz with longevity in mind from the start:
- The open source nature of our sync server means you'll always be able to run your own infrastructure
- Your data remains accessible even if our cloud services change
- We're designing the protocol as an open specification
This approach creates a foundation that can continue regardless of any single company's involvement. The local-first architecture means your apps will always work, even offline, and your data remains yours.

View File

@@ -18,6 +18,20 @@ import {
PropDecl,
} from "./tags";
function isDeclarationReflection(child: any): child is DeclarationReflection {
return (
'kind' in child &&
'name' in child &&
'flags' in child &&
(child.kind === ReflectionKind.Class ||
child.kind === ReflectionKind.Interface ||
child.kind === ReflectionKind.TypeAlias ||
child.kind === ReflectionKind.Function ||
child.kind === ReflectionKind.Property ||
child.kind === ReflectionKind.Method)
);
}
export async function PackageDocs({
package: packageName,
}: {
@@ -36,7 +50,7 @@ export async function PackageDocs({
return (
<section key={category.title}>
<h2>{category.title}</h2>
{category.children.map((child) => (
{category.children.filter(isDeclarationReflection).map((child) => (
<RenderPackageChild
child={child}
key={child.id}
@@ -189,7 +203,7 @@ function RenderClassOrInterface({
),
)}
/>
{category.children.map((prop) => (
{category.children.filter(isDeclarationReflection).map((prop) => (
<RenderProp prop={prop} klass={classOrInterface} key={prop.id} />
))}
</div>

View File

@@ -1,4 +1,4 @@
import { Deserializer, JSONOutput, ProjectReflection } from "typedoc";
import { Deserializer, FileRegistry, JSONOutput, ProjectReflection } from "typedoc";
import JazzBrowserMediaImagesDocs from "../../typedoc/jazz-browser-media-images.json";
import JazzBrowserDocs from "../../typedoc/jazz-browser.json";
@@ -7,17 +7,19 @@ import JazzReactDocs from "../../typedoc/jazz-react.json";
import JazzToolsDocs from "../../typedoc/jazz-tools.json";
const docs = {
"jazz-tools": JazzToolsDocs as JSONOutput.ProjectReflection,
"jazz-react": JazzReactDocs as JSONOutput.ProjectReflection,
"jazz-browser": JazzBrowserDocs as JSONOutput.ProjectReflection,
"jazz-browser-media-images":
JazzBrowserMediaImagesDocs as JSONOutput.ProjectReflection,
"jazz-nodejs": JazzNodejsDocs as JSONOutput.ProjectReflection,
};
"jazz-tools": JazzToolsDocs,
"jazz-react": JazzReactDocs,
"jazz-browser": JazzBrowserDocs,
"jazz-browser-media-images": JazzBrowserMediaImagesDocs,
"jazz-nodejs": JazzNodejsDocs,
} as const;
export async function requestProject(
packageName: keyof typeof docs,
): Promise<ProjectReflection> {
const deserializer = new Deserializer({} as any);
return deserializer.reviveProject(docs[packageName], packageName);
return deserializer.reviveProject(packageName, docs[packageName] as unknown as JSONOutput.ProjectReflection, {
projectRoot: ".",
registry: new FileRegistry(),
});
}

View File

@@ -34,6 +34,7 @@ export const docNavigationItems = [
href: "/docs/inspector",
done: 100,
},
{ name: "FAQ", href: "/docs/faq", done: 100 },
],
},
{

View File

@@ -61,7 +61,7 @@
"autoprefixer": "^10",
"postcss": "^8",
"tailwindcss": "^3",
"typedoc": "^0.25.13",
"typescript": "^5.3.3"
"typedoc": "^0.27.9",
"typescript": "~5.6.2"
}
}

288
homepage/pnpm-lock.yaml generated
View File

@@ -267,7 +267,7 @@ importers:
version: 0.14.7
shiki-twoslash:
specifier: ^3.1.2
version: 3.1.2(typescript@5.4.5)
version: 3.1.2(typescript@5.6.3)
tailwind-merge:
specifier: ^1.14.0
version: 1.14.0
@@ -303,11 +303,11 @@ importers:
specifier: ^3
version: 3.4.3
typedoc:
specifier: ^0.25.13
version: 0.25.13(typescript@5.4.5)
specifier: ^0.27.9
version: 0.27.9(typescript@5.6.3)
typescript:
specifier: ^5.3.3
version: 5.4.5
specifier: ~5.6.2
version: 5.6.3
packages:
@@ -438,6 +438,9 @@ packages:
'@floating-ui/utils@0.2.8':
resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==}
'@gerrit0/mini-shiki@1.27.2':
resolution: {integrity: sha512-GeWyHz8ao2gBiUW4OJnQDxXQnFgZQwwQk05t/CVVgNBN7/rK8XZ7xY6YhLVv9tH3VppWWmr9DCl3MwemB/i+Og==}
'@headlessui/react@2.2.0':
resolution: {integrity: sha512-RzCEg+LXsuI7mHiSomsu/gBJSjpupm6A1qIZ5sWjd7JhARNlMiSA4kKfJpCKwU9tE+zMRterhhrP74PvfJrpXQ==}
engines: {node: '>=10'}
@@ -458,6 +461,10 @@ packages:
resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
engines: {node: '>=6.0.0'}
'@jridgewell/gen-mapping@0.3.8':
resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
engines: {node: '>=6.0.0'}
'@jridgewell/resolve-uri@3.1.2':
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
engines: {node: '>=6.0.0'}
@@ -472,6 +479,9 @@ packages:
'@jridgewell/sourcemap-codec@1.4.15':
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
'@jridgewell/sourcemap-codec@1.5.0':
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
@@ -873,6 +883,15 @@ packages:
'@selderee/plugin-htmlparser2@0.11.0':
resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==}
'@shikijs/engine-oniguruma@1.29.2':
resolution: {integrity: sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==}
'@shikijs/types@1.29.2':
resolution: {integrity: sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==}
'@shikijs/vscode-textmate@10.0.2':
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
'@stefanprobst/rehype-extract-toc@2.2.0':
resolution: {integrity: sha512-/4UjstX8ploZklY8MmlOQoXB1jWIo3Go4MP0R39sbkoWuN6rJ7Zt6l4bjkDPM4hKsjoODh9SSKn2otlp3XL3/A==}
engines: {node: '>=14.17'}
@@ -1290,8 +1309,8 @@ packages:
'@types/node@20.12.11':
resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==}
'@types/node@20.17.6':
resolution: {integrity: sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==}
'@types/node@20.17.22':
resolution: {integrity: sha512-9RV2zST+0s3EhfrMZIhrz2bhuhBwxgkbHEwP2gtGWPjBzVQjifMzJ9exw7aDZhR1wbpj8zBrfp3bo8oJcGiUUw==}
'@types/prop-types@15.7.12':
resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
@@ -1433,14 +1452,30 @@ packages:
engines: {node: '>=0.4.0'}
hasBin: true
ajv-formats@2.1.1:
resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
peerDependencies:
ajv: ^8.0.0
peerDependenciesMeta:
ajv:
optional: true
ajv-keywords@3.5.2:
resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
peerDependencies:
ajv: ^6.9.1
ajv-keywords@5.1.0:
resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
peerDependencies:
ajv: ^8.8.2
ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
ajv@8.17.1:
resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
@@ -1470,6 +1505,9 @@ packages:
arg@5.0.2:
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
astring@1.8.6:
resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==}
hasBin: true
@@ -1503,8 +1541,8 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
browserslist@4.24.2:
resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==}
browserslist@4.24.4:
resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
@@ -1529,6 +1567,9 @@ packages:
caniuse-lite@1.0.30001683:
resolution: {integrity: sha512-iqmNnThZ0n70mNwvxpEC2nBJ037ZHZUoBI5Gorh1Mw6IlEAZujEoU1tXA628iZfzm7R9FvFzxbfdgml82a3k8Q==}
caniuse-lite@1.0.30001701:
resolution: {integrity: sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw==}
ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
@@ -1684,8 +1725,8 @@ packages:
electron-to-chromium@1.4.761:
resolution: {integrity: sha512-PIbxpiJGx6Bb8dQaonNc6CGTRlVntdLg/2nMa1YhnrwYOORY9a3ZgGN0UQYE6lAcj/lkyduJN7BPt/JiY+jAQQ==}
electron-to-chromium@1.5.64:
resolution: {integrity: sha512-IXEuxU+5ClW2IGEYFC2T7szbyVgehupCWQe5GNh+H065CD6U6IFN0s4KeAMFGNmQolRU4IV7zGBWSYMmZ8uuqQ==}
electron-to-chromium@1.5.109:
resolution: {integrity: sha512-AidaH9JETVRr9DIPGfp1kAarm/W6hRJTPuCnkF+2MqhF4KaAgRIcBc8nvjk+YMXZhwfISof/7WG29eS4iGxQLQ==}
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -1693,16 +1734,16 @@ packages:
emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
enhanced-resolve@5.17.1:
resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==}
enhanced-resolve@5.18.1:
resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
engines: {node: '>=10.13.0'}
entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
es-module-lexer@1.5.4:
resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
es-module-lexer@1.6.0:
resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==}
escalade@3.1.2:
resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
@@ -1776,6 +1817,9 @@ packages:
fast-json-stable-stringify@2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
fast-uri@3.0.6:
resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==}
fastq@1.17.1:
resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
@@ -1960,6 +2004,9 @@ packages:
json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
json-schema-traverse@1.0.0:
resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
jsonc-parser@3.2.1:
resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==}
@@ -1985,6 +2032,9 @@ packages:
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
linkify-it@5.0.0:
resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
loader-runner@4.3.0:
resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
engines: {node: '>=6.11.5'}
@@ -2032,6 +2082,10 @@ packages:
resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==}
engines: {node: '>=0.10.0'}
markdown-it@14.1.0:
resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
hasBin: true
marked@4.3.0:
resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==}
engines: {node: '>= 12'}
@@ -2091,6 +2145,9 @@ packages:
mdast-util-to-string@4.0.0:
resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
mdurl@2.0.0:
resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
@@ -2286,6 +2343,10 @@ packages:
resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
engines: {node: '>=16 || 14 >=14.17'}
minimatch@9.0.5:
resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
engines: {node: '>=16 || 14 >=14.17'}
minipass@7.1.0:
resolution: {integrity: sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -2354,8 +2415,8 @@ packages:
node-releases@2.0.14:
resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
node-releases@2.0.18:
resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
node-releases@2.0.19:
resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
nopt@7.2.1:
resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==}
@@ -2503,6 +2564,10 @@ packages:
proto-list@1.2.4:
resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
punycode.js@2.3.1:
resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
engines: {node: '>=6'}
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
@@ -2565,6 +2630,10 @@ packages:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
require-from-string@2.0.2:
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
engines: {node: '>=0.10.0'}
require-main-filename@2.0.0:
resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
@@ -2603,6 +2672,10 @@ packages:
resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
engines: {node: '>= 10.13.0'}
schema-utils@4.3.0:
resolution: {integrity: sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==}
engines: {node: '>= 10.13.0'}
selderee@0.11.0:
resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==}
@@ -2746,8 +2819,8 @@ packages:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
terser-webpack-plugin@5.3.10:
resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
terser-webpack-plugin@5.3.12:
resolution: {integrity: sha512-jDLYqo7oF8tJIttjXO6jBY5Hk8p3A8W4ttih7cCEq64fQFWmgJ4VqAQjKr7WwIDlmXKEc6QeoRb5ecjZ+2afcg==}
engines: {node: '>= 10.13.0'}
peerDependencies:
'@swc/core': '*'
@@ -2762,8 +2835,8 @@ packages:
uglify-js:
optional: true
terser@5.36.0:
resolution: {integrity: sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w==}
terser@5.39.0:
resolution: {integrity: sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==}
engines: {node: '>=10'}
hasBin: true
@@ -2808,11 +2881,26 @@ packages:
peerDependencies:
typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x
typedoc@0.27.9:
resolution: {integrity: sha512-/z585740YHURLl9DN2jCWe6OW7zKYm6VoQ93H0sxZ1cwHQEQrUn5BJrEnkWhfzUdyO+BLGjnKUZ9iz9hKloFDw==}
engines: {node: '>= 18'}
hasBin: true
peerDependencies:
typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x
typescript@5.4.5:
resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
engines: {node: '>=14.17'}
hasBin: true
typescript@5.6.3:
resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
engines: {node: '>=14.17'}
hasBin: true
uc.micro@2.1.0:
resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
undici-types@5.26.5:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
@@ -2870,8 +2958,8 @@ packages:
peerDependencies:
browserslist: '>= 4.21.0'
update-browserslist-db@1.1.1:
resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
update-browserslist-db@1.1.3:
resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
@@ -2951,6 +3039,11 @@ packages:
engines: {node: '>= 14'}
hasBin: true
yaml@2.7.0:
resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==}
engines: {node: '>= 14'}
hasBin: true
yargs-parser@18.1.3:
resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
engines: {node: '>=6'}
@@ -3066,6 +3159,12 @@ snapshots:
'@floating-ui/utils@0.2.8': {}
'@gerrit0/mini-shiki@1.27.2':
dependencies:
'@shikijs/engine-oniguruma': 1.29.2
'@shikijs/types': 1.29.2
'@shikijs/vscode-textmate': 10.0.2
'@headlessui/react@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@floating-ui/react': 0.26.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -3094,17 +3193,25 @@ snapshots:
'@jridgewell/sourcemap-codec': 1.4.15
'@jridgewell/trace-mapping': 0.3.25
'@jridgewell/gen-mapping@0.3.8':
dependencies:
'@jridgewell/set-array': 1.2.1
'@jridgewell/sourcemap-codec': 1.5.0
'@jridgewell/trace-mapping': 0.3.25
'@jridgewell/resolve-uri@3.1.2': {}
'@jridgewell/set-array@1.2.1': {}
'@jridgewell/source-map@0.3.6':
dependencies:
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/gen-mapping': 0.3.8
'@jridgewell/trace-mapping': 0.3.25
'@jridgewell/sourcemap-codec@1.4.15': {}
'@jridgewell/sourcemap-codec@1.5.0': {}
'@jridgewell/trace-mapping@0.3.25':
dependencies:
'@jridgewell/resolve-uri': 3.1.2
@@ -3449,6 +3556,18 @@ snapshots:
domhandler: 5.0.3
selderee: 0.11.0
'@shikijs/engine-oniguruma@1.29.2':
dependencies:
'@shikijs/types': 1.29.2
'@shikijs/vscode-textmate': 10.0.2
'@shikijs/types@1.29.2':
dependencies:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
'@shikijs/vscode-textmate@10.0.2': {}
'@stefanprobst/rehype-extract-toc@2.2.0':
dependencies:
estree-util-is-identifier-name: 2.1.0
@@ -4636,7 +4755,7 @@ snapshots:
dependencies:
undici-types: 5.26.5
'@types/node@20.17.6':
'@types/node@20.17.22':
dependencies:
undici-types: 6.19.8
@@ -4790,10 +4909,19 @@ snapshots:
acorn@8.14.0: {}
ajv-formats@2.1.1(ajv@8.17.1):
optionalDependencies:
ajv: 8.17.1
ajv-keywords@3.5.2(ajv@6.12.6):
dependencies:
ajv: 6.12.6
ajv-keywords@5.1.0(ajv@8.17.1):
dependencies:
ajv: 8.17.1
fast-deep-equal: 3.1.3
ajv@6.12.6:
dependencies:
fast-deep-equal: 3.1.3
@@ -4801,6 +4929,13 @@ snapshots:
json-schema-traverse: 0.4.1
uri-js: 4.4.1
ajv@8.17.1:
dependencies:
fast-deep-equal: 3.1.3
fast-uri: 3.0.6
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
ansi-regex@5.0.1: {}
ansi-regex@6.0.1: {}
@@ -4822,6 +4957,8 @@ snapshots:
arg@5.0.2: {}
argparse@2.0.1: {}
astring@1.8.6: {}
autoprefixer@10.4.19(postcss@8.4.38):
@@ -4855,12 +4992,12 @@ snapshots:
node-releases: 2.0.14
update-browserslist-db: 1.0.15(browserslist@4.23.0)
browserslist@4.24.2:
browserslist@4.24.4:
dependencies:
caniuse-lite: 1.0.30001683
electron-to-chromium: 1.5.64
node-releases: 2.0.18
update-browserslist-db: 1.1.1(browserslist@4.24.2)
caniuse-lite: 1.0.30001701
electron-to-chromium: 1.5.109
node-releases: 2.0.19
update-browserslist-db: 1.1.3(browserslist@4.24.4)
buffer-from@1.1.2: {}
@@ -4876,6 +5013,8 @@ snapshots:
caniuse-lite@1.0.30001683: {}
caniuse-lite@1.0.30001701: {}
ccount@2.0.1: {}
character-entities-html4@2.1.0: {}
@@ -5017,20 +5156,20 @@ snapshots:
electron-to-chromium@1.4.761: {}
electron-to-chromium@1.5.64: {}
electron-to-chromium@1.5.109: {}
emoji-regex@8.0.0: {}
emoji-regex@9.2.2: {}
enhanced-resolve@5.17.1:
enhanced-resolve@5.18.1:
dependencies:
graceful-fs: 4.2.11
tapable: 2.2.1
entities@4.5.0: {}
es-module-lexer@1.5.4: {}
es-module-lexer@1.6.0: {}
escalade@3.1.2: {}
@@ -5105,6 +5244,8 @@ snapshots:
fast-json-stable-stringify@2.1.0: {}
fast-uri@3.0.6: {}
fastq@1.17.1:
dependencies:
reusify: 1.0.4
@@ -5276,7 +5417,7 @@ snapshots:
jest-worker@27.5.1:
dependencies:
'@types/node': 20.17.6
'@types/node': 20.17.22
merge-stream: 2.0.0
supports-color: 8.1.1
@@ -5298,6 +5439,8 @@ snapshots:
json-schema-traverse@0.4.1: {}
json-schema-traverse@1.0.0: {}
jsonc-parser@3.2.1: {}
jsts@2.7.1: {}
@@ -5312,6 +5455,10 @@ snapshots:
lines-and-columns@1.2.4: {}
linkify-it@5.0.0:
dependencies:
uc.micro: 2.1.0
loader-runner@4.3.0: {}
locate-path@5.0.0:
@@ -5344,6 +5491,15 @@ snapshots:
markdown-extensions@1.1.1: {}
markdown-it@14.1.0:
dependencies:
argparse: 2.0.1
entities: 4.5.0
linkify-it: 5.0.0
mdurl: 2.0.0
punycode.js: 2.3.1
uc.micro: 2.1.0
marked@4.3.0: {}
mdast-util-definitions@5.1.2:
@@ -5534,6 +5690,8 @@ snapshots:
dependencies:
'@types/mdast': 4.0.3
mdurl@2.0.0: {}
merge-stream@2.0.0: {}
merge2@1.4.1: {}
@@ -5969,6 +6127,10 @@ snapshots:
dependencies:
brace-expansion: 2.0.1
minimatch@9.0.5:
dependencies:
brace-expansion: 2.0.1
minipass@7.1.0: {}
mri@1.2.0: {}
@@ -6049,7 +6211,7 @@ snapshots:
node-releases@2.0.14: {}
node-releases@2.0.18: {}
node-releases@2.0.19: {}
nopt@7.2.1:
dependencies:
@@ -6183,6 +6345,8 @@ snapshots:
proto-list@1.2.4: {}
punycode.js@2.3.1: {}
punycode@2.3.1: {}
qrcode@1.5.4:
@@ -6263,6 +6427,8 @@ snapshots:
require-directory@2.1.1: {}
require-from-string@2.0.2: {}
require-main-filename@2.0.0: {}
resend@4.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
@@ -6304,6 +6470,13 @@ snapshots:
ajv: 6.12.6
ajv-keywords: 3.5.2(ajv@6.12.6)
schema-utils@4.3.0:
dependencies:
'@types/json-schema': 7.0.15
ajv: 8.17.1
ajv-formats: 2.1.1(ajv@8.17.1)
ajv-keywords: 5.1.0(ajv@8.17.1)
selderee@0.11.0:
dependencies:
parseley: 0.12.1
@@ -6334,6 +6507,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
shiki-twoslash@3.1.2(typescript@5.6.3):
dependencies:
'@typescript/twoslash': 3.1.0
'@typescript/vfs': 1.3.4
fenceparser: 1.1.1
shiki: 0.10.1
typescript: 5.6.3
transitivePeerDependencies:
- supports-color
shiki@0.10.1:
dependencies:
jsonc-parser: 3.2.1
@@ -6461,16 +6644,16 @@ snapshots:
tapable@2.2.1: {}
terser-webpack-plugin@5.3.10(webpack@5.91.0):
terser-webpack-plugin@5.3.12(webpack@5.91.0):
dependencies:
'@jridgewell/trace-mapping': 0.3.25
jest-worker: 27.5.1
schema-utils: 3.3.0
schema-utils: 4.3.0
serialize-javascript: 6.0.2
terser: 5.36.0
terser: 5.39.0
webpack: 5.91.0
terser@5.36.0:
terser@5.39.0:
dependencies:
'@jridgewell/source-map': 0.3.6
acorn: 8.14.0
@@ -6515,8 +6698,21 @@ snapshots:
shiki: 0.14.7
typescript: 5.4.5
typedoc@0.27.9(typescript@5.6.3):
dependencies:
'@gerrit0/mini-shiki': 1.27.2
lunr: 2.3.9
markdown-it: 14.1.0
minimatch: 9.0.5
typescript: 5.6.3
yaml: 2.7.0
typescript@5.4.5: {}
typescript@5.6.3: {}
uc.micro@2.1.0: {}
undici-types@5.26.5: {}
undici-types@6.19.8: {}
@@ -6599,9 +6795,9 @@ snapshots:
escalade: 3.1.2
picocolors: 1.0.0
update-browserslist-db@1.1.1(browserslist@4.24.2):
update-browserslist-db@1.1.3(browserslist@4.24.4):
dependencies:
browserslist: 4.24.2
browserslist: 4.24.4
escalade: 3.2.0
picocolors: 1.1.1
@@ -6657,10 +6853,10 @@ snapshots:
'@webassemblyjs/wasm-parser': 1.14.1
acorn: 8.14.0
acorn-import-assertions: 1.9.0(acorn@8.14.0)
browserslist: 4.24.2
browserslist: 4.24.4
chrome-trace-event: 1.0.4
enhanced-resolve: 5.17.1
es-module-lexer: 1.5.4
enhanced-resolve: 5.18.1
es-module-lexer: 1.6.0
eslint-scope: 5.1.1
events: 3.3.0
glob-to-regexp: 0.4.1
@@ -6671,7 +6867,7 @@ snapshots:
neo-async: 2.6.2
schema-utils: 3.3.0
tapable: 2.2.1
terser-webpack-plugin: 5.3.10(webpack@5.91.0)
terser-webpack-plugin: 5.3.12(webpack@5.91.0)
watchpack: 2.4.2
webpack-sources: 3.2.3
transitivePeerDependencies:
@@ -6707,6 +6903,8 @@ snapshots:
yaml@2.4.2: {}
yaml@2.7.0: {}
yargs-parser@18.1.3:
dependencies:
camelcase: 5.3.1

View File

@@ -1,5 +1,13 @@
# cojson-storage-indexeddb
## 0.10.15
### Patch Changes
- Updated dependencies [f86e278]
- cojson@0.10.15
- cojson-storage@0.10.15
## 0.10.8
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "cojson-storage-indexeddb",
"version": "0.10.8",
"version": "0.10.15",
"main": "dist/index.js",
"type": "module",
"types": "src/index.ts",

View File

@@ -1,5 +1,13 @@
# cojson-storage-sqlite
## 0.8.67
### Patch Changes
- Updated dependencies [f86e278]
- cojson@0.10.15
- cojson-storage@0.10.15
## 0.8.66
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "cojson-storage-rn-sqlite",
"type": "module",
"version": "0.8.66",
"version": "0.8.67",
"main": "dist/index.js",
"types": "src/index.ts",
"license": "MIT",

View File

@@ -1,5 +1,13 @@
# cojson-storage-sqlite
## 0.10.15
### Patch Changes
- Updated dependencies [f86e278]
- cojson@0.10.15
- cojson-storage@0.10.15
## 0.10.8
### Patch Changes

View File

@@ -1,13 +1,13 @@
{
"name": "cojson-storage-sqlite",
"type": "module",
"version": "0.10.8",
"version": "0.10.15",
"main": "dist/index.js",
"types": "src/index.ts",
"license": "MIT",
"dependencies": {
"better-sqlite3": "^11.7.0",
"cojson": "workspace:0.10.8",
"cojson": "workspace:0.10.15",
"cojson-storage": "workspace:*"
},
"devDependencies": {

View File

@@ -1,5 +1,12 @@
# cojson-storage
## 0.10.15
### Patch Changes
- Updated dependencies [f86e278]
- cojson@0.10.15
## 0.10.8
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "cojson-storage",
"version": "0.10.8",
"version": "0.10.15",
"main": "dist/index.js",
"type": "module",
"types": "src/index.ts",

View File

@@ -1,5 +1,12 @@
# cojson-transport-nodejs-ws
## 0.10.15
### Patch Changes
- Updated dependencies [f86e278]
- cojson@0.10.15
## 0.10.8
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "cojson-transport-ws",
"type": "module",
"version": "0.10.8",
"version": "0.10.15",
"main": "dist/index.js",
"types": "src/index.ts",
"license": "MIT",

View File

@@ -1,5 +1,11 @@
# cojson
## 0.10.15
### Patch Changes
- f86e278: Downgrade the permissions error logs to debug
## 0.10.8
### Patch Changes

View File

@@ -25,7 +25,7 @@
},
"type": "module",
"license": "MIT",
"version": "0.10.8",
"version": "0.10.15",
"devDependencies": {
"@opentelemetry/sdk-metrics": "^1.29.0",
"typescript": "~5.6.2",

View File

@@ -56,7 +56,7 @@ function logPermissionError(
return;
}
logger.warn("Permission error: " + message, attributes);
logger.debug("Permission error: " + message, attributes);
}
export function determineValidTransactions(

View File

@@ -1,5 +1,15 @@
# jazz-browser-media-images
## 0.10.15
### Patch Changes
- Updated dependencies [2f99de0]
- Updated dependencies [f86e278]
- jazz-tools@0.10.15
- cojson@0.10.15
- jazz-browser@0.10.15
## 0.10.14
### Patch Changes

View File

@@ -1,14 +1,14 @@
{
"name": "jazz-auth-clerk",
"version": "0.10.14",
"version": "0.10.15",
"type": "module",
"main": "dist/index.js",
"types": "src/index.ts",
"license": "MIT",
"dependencies": {
"cojson": "workspace:0.10.8",
"jazz-browser": "workspace:0.10.14",
"jazz-tools": "workspace:0.10.14"
"cojson": "workspace:0.10.15",
"jazz-browser": "workspace:0.10.15",
"jazz-tools": "workspace:0.10.15"
},
"scripts": {
"format-and-lint": "biome check .",

View File

@@ -1,5 +1,13 @@
# jazz-browser-media-images
## 0.10.15
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-browser@0.10.15
## 0.10.14
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-browser-media-images",
"version": "0.10.14",
"version": "0.10.15",
"type": "module",
"main": "dist/index.js",
"types": "src/index.ts",
@@ -8,8 +8,8 @@
"dependencies": {
"@types/image-blob-reduce": "^4.1.1",
"image-blob-reduce": "^4.1.0",
"jazz-browser": "workspace:0.10.14",
"jazz-tools": "workspace:0.10.14",
"jazz-browser": "workspace:0.10.15",
"jazz-tools": "workspace:0.10.15",
"pica": "^9.0.1",
"typescript": "~5.6.2"
},

View File

@@ -1,5 +1,16 @@
# jazz-browser
## 0.10.15
### Patch Changes
- Updated dependencies [2f99de0]
- Updated dependencies [f86e278]
- jazz-tools@0.10.15
- cojson@0.10.15
- cojson-storage-indexeddb@0.10.15
- cojson-transport-ws@0.10.15
## 0.10.14
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-browser",
"version": "0.10.14",
"version": "0.10.15",
"type": "module",
"main": "dist/index.js",
"types": "src/index.ts",

View File

@@ -36,24 +36,18 @@ export class JazzBrowserContextManager<
}
}
async createContext(
async getNewContext(
props: JazzContextManagerProps<Acc>,
authProps?: JazzContextManagerAuthProps,
) {
let currentContext;
// We need to store the props here to block the double effect execution
// on React. Otherwise when calling propsChanged this.props is undefined.
this.props = props;
if (props.guestMode) {
currentContext = await createJazzBrowserGuestContext({
return createJazzBrowserGuestContext({
sync: props.sync,
storage: props.storage,
authSecretStorage: this.authSecretStorage,
});
} else {
currentContext = await createJazzBrowserContext<Acc>({
return createJazzBrowserContext<Acc>({
sync: props.sync,
storage: props.storage,
AccountSchema: props.AccountSchema,
@@ -63,8 +57,6 @@ export class JazzBrowserContextManager<
authSecretStorage: this.authSecretStorage,
});
}
await this.updateContext(props, currentContext, authProps);
}
propsChanged(props: JazzContextManagerProps<Acc>) {

View File

@@ -1,5 +1,15 @@
# jazz-inspector
## 0.10.12
### Patch Changes
- Updated dependencies [2f99de0]
- Updated dependencies [f86e278]
- jazz-tools@0.10.15
- cojson@0.10.15
- jazz-react-core@0.10.12
## 0.10.11
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-inspector",
"version": "0.10.11",
"version": "0.10.12",
"type": "module",
"main": "./dist/app.js",
"types": "./dist/app.d.ts",

View File

@@ -1,5 +1,15 @@
# jazz-autosub
## 0.10.15
### Patch Changes
- Updated dependencies [2f99de0]
- Updated dependencies [f86e278]
- jazz-tools@0.10.15
- cojson@0.10.15
- cojson-transport-ws@0.10.15
## 0.10.14
### Patch Changes

View File

@@ -5,7 +5,7 @@
"types": "src/index.ts",
"type": "module",
"license": "MIT",
"version": "0.10.14",
"version": "0.10.15",
"dependencies": {
"cojson": "workspace:*",
"cojson-transport-ws": "workspace:*",

View File

@@ -1,5 +1,17 @@
# jazz-browser-media-images
## 0.10.15
### Patch Changes
- Updated dependencies [2f99de0]
- Updated dependencies [f86e278]
- jazz-tools@0.10.15
- cojson@0.10.15
- jazz-auth-clerk@0.10.15
- jazz-browser@0.10.15
- jazz-react@0.10.15
## 0.10.14
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-react-auth-clerk",
"version": "0.10.14",
"version": "0.10.15",
"type": "module",
"main": "dist/index.js",
"types": "src/index.tsx",

View File

@@ -1,5 +1,14 @@
# jazz-react-core
## 0.10.12
### Patch Changes
- Updated dependencies [2f99de0]
- Updated dependencies [f86e278]
- jazz-tools@0.10.15
- cojson@0.10.15
## 0.10.11
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-react-core",
"version": "0.10.11",
"version": "0.10.12",
"type": "module",
"main": "dist/index.js",
"types": "src/index.ts",

View File

@@ -1,5 +1,16 @@
# jazz-react-native-auth-clerk
## 0.10.15
### Patch Changes
- Updated dependencies [2f99de0]
- Updated dependencies [f86e278]
- jazz-tools@0.10.15
- cojson@0.10.15
- jazz-auth-clerk@0.10.15
- jazz-react-native@0.10.15
## 0.10.14
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-react-native-auth-clerk",
"version": "0.10.14",
"version": "0.10.15",
"type": "module",
"main": "dist/index.js",
"types": "src/index.tsx",

View File

@@ -1,5 +1,12 @@
# jazz-browser-media-images
## 0.10.15
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
## 0.10.14
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-react-native-media-images",
"version": "0.10.14",
"version": "0.10.15",
"type": "module",
"main": "dist/index.js",
"types": "src/index.ts",

View File

@@ -1,5 +1,17 @@
# jazz-browser
## 0.10.15
### Patch Changes
- Updated dependencies [2f99de0]
- Updated dependencies [f86e278]
- jazz-tools@0.10.15
- cojson@0.10.15
- jazz-react-core@0.10.12
- cojson-storage-rn-sqlite@0.8.67
- cojson-transport-ws@0.10.15
## 0.10.14
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-react-native",
"version": "0.10.14",
"version": "0.10.15",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",

View File

@@ -27,25 +27,19 @@ export type JazzContextManagerProps<Acc extends Account> = {
export class ReactNativeContextManager<
Acc extends Account,
> extends JazzContextManager<Acc, JazzContextManagerProps<Acc>> {
async createContext(
async getNewContext(
props: JazzContextManagerProps<Acc>,
authProps?: JazzContextManagerAuthProps,
) {
let currentContext;
// We need to store the props here to block the double effect execution
// on React. Otherwise when calling propsChanged this.props is undefined.
this.props = props;
if (props.guestMode) {
currentContext = await createJazzReactNativeGuestContext({
return createJazzReactNativeGuestContext({
sync: props.sync,
storage: props.storage,
authSecretStorage: this.authSecretStorage,
CryptoProvider: props.CryptoProvider,
});
} else {
currentContext = await createJazzReactNativeContext<Acc>({
return createJazzReactNativeContext<Acc>({
sync: props.sync,
storage: props.storage,
AccountSchema: props.AccountSchema,
@@ -56,8 +50,6 @@ export class ReactNativeContextManager<
CryptoProvider: props.CryptoProvider,
});
}
await this.updateContext(props, currentContext, authProps);
}
getKvStore(): KvStore {

View File

@@ -1,5 +1,16 @@
# jazz-react
## 0.10.15
### Patch Changes
- Updated dependencies [2f99de0]
- Updated dependencies [f86e278]
- jazz-tools@0.10.15
- cojson@0.10.15
- jazz-browser@0.10.15
- jazz-react-core@0.10.12
## 0.10.14
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-react",
"version": "0.10.14",
"version": "0.10.15",
"type": "module",
"main": "dist/index.js",
"types": "src/index.ts",
@@ -17,10 +17,10 @@
},
"dependencies": {
"@scure/bip39": "^1.3.0",
"cojson": "workspace:0.10.8",
"jazz-browser": "workspace:0.10.14",
"cojson": "workspace:0.10.15",
"jazz-browser": "workspace:0.10.15",
"jazz-react-core": "workspace:*",
"jazz-tools": "workspace:0.10.14"
"jazz-tools": "workspace:0.10.15"
},
"devDependencies": {
"@testing-library/dom": "^10.4.0",

View File

@@ -1,5 +1,16 @@
# jazz-run
## 0.10.15
### Patch Changes
- Updated dependencies [2f99de0]
- Updated dependencies [f86e278]
- jazz-tools@0.10.15
- cojson@0.10.15
- cojson-storage-sqlite@0.10.15
- cojson-transport-ws@0.10.15
## 0.10.14
### Patch Changes

View File

@@ -3,7 +3,7 @@
"bin": "./dist/index.js",
"type": "module",
"license": "MIT",
"version": "0.10.14",
"version": "0.10.15",
"exports": {
"./startSyncServer": {
"import": "./dist/startSyncServer.js",
@@ -28,11 +28,11 @@
"@effect/printer-ansi": "^0.34.5",
"@effect/schema": "^0.71.1",
"@effect/typeclass": "^0.25.5",
"cojson": "workspace:0.10.8",
"cojson-storage-sqlite": "workspace:0.10.8",
"cojson-transport-ws": "workspace:0.10.8",
"cojson": "workspace:0.10.15",
"cojson-storage-sqlite": "workspace:0.10.15",
"cojson-transport-ws": "workspace:0.10.15",
"effect": "^3.6.5",
"jazz-tools": "workspace:0.10.14",
"jazz-tools": "workspace:0.10.15",
"ws": "^8.14.2"
},
"devDependencies": {

View File

@@ -1,5 +1,15 @@
# jazz-svelte
## 0.10.15
### Patch Changes
- Updated dependencies [2f99de0]
- Updated dependencies [f86e278]
- jazz-tools@0.10.15
- cojson@0.10.15
- jazz-browser@0.10.15
## 0.10.14
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-svelte",
"version": "0.10.14",
"version": "0.10.15",
"scripts": {
"dev": "vite dev",
"build": "vite build && npm run package",

View File

@@ -1,5 +1,13 @@
# jazz-tools
## 0.10.15
### Patch Changes
- 2f99de0: Avoid race conditions on context creation and run the anonymous migration only when the hook is provided
- Updated dependencies [f86e278]
- cojson@0.10.15
## 0.10.14
### Patch Changes

View File

@@ -17,7 +17,7 @@
},
"type": "module",
"license": "MIT",
"version": "0.10.14",
"version": "0.10.15",
"dependencies": {
"@scure/bip39": "^1.3.0",
"cojson": "workspace:*"

View File

@@ -43,7 +43,8 @@ export class JazzContextManager<
protected context: PlatformSpecificContext<Acc> | undefined;
protected props: P | undefined;
protected authSecretStorage = new AuthSecretStorage();
protected authenticating = false;
protected keepContextOpen = false;
protected contextPromise: Promise<void> | undefined;
constructor() {
KvStoreContext.getInstance().initialize(this.getKvStore());
@@ -54,6 +55,33 @@ export class JazzContextManager<
}
async createContext(props: P, authProps?: JazzContextManagerAuthProps) {
// We need to store the props here to block the double effect execution
// on React. Otherwise when calling propsChanged this.props is undefined.
this.props = props;
// Avoid race condition between the previous context and the new one
const { promise, resolve } = createResolvablePromise<void>();
const prevPromise = this.contextPromise;
this.contextPromise = promise;
await prevPromise;
try {
const result = await this.getNewContext(props, authProps);
await this.updateContext(props, result, authProps);
resolve();
} catch (error) {
resolve();
throw error;
}
}
async getNewContext(
props: P,
authProps?: JazzContextManagerAuthProps,
): Promise<PlatformSpecificContext<Acc>> {
props;
authProps;
throw new Error("Not implemented");
@@ -64,9 +92,9 @@ export class JazzContextManager<
context: PlatformSpecificContext<Acc>,
authProps?: JazzContextManagerAuthProps,
) {
// When authenticating we don't want to close the previous context
// When keepContextOpen we don't want to close the previous context
// because we might need to handle the onAnonymousAccountDiscarded callback
if (!this.authenticating) {
if (!this.keepContextOpen) {
this.context?.done();
}
@@ -120,6 +148,18 @@ export class JazzContextManager<
this.context.done();
};
shouldMigrateAnonymousAccount = async () => {
if (!this.props?.onAnonymousAccountDiscarded) {
return false;
}
const prevCredentials = await this.authSecretStorage.get();
const wasAnonymous =
this.authSecretStorage.getIsAuthenticated(prevCredentials) === false;
return wasAnonymous;
};
/**
* Authenticates the user with the given credentials
*/
@@ -129,16 +169,15 @@ export class JazzContextManager<
}
const prevContext = this.context;
const prevCredentials = await this.authSecretStorage.get();
const wasAnonymous =
this.authSecretStorage.getIsAuthenticated(prevCredentials) === false;
const migratingAnonymousAccount =
await this.shouldMigrateAnonymousAccount();
this.authenticating = true;
this.keepContextOpen = migratingAnonymousAccount;
await this.createContext(this.props, { credentials }).finally(() => {
this.authenticating = false;
this.keepContextOpen = false;
});
if (wasAnonymous) {
if (migratingAnonymousAccount) {
await this.handleAnonymousAccountMigration(prevContext);
}
};
@@ -152,21 +191,20 @@ export class JazzContextManager<
}
const prevContext = this.context;
const prevCredentials = await this.authSecretStorage.get();
const wasAnonymous =
this.authSecretStorage.getIsAuthenticated(prevCredentials) === false;
const migratingAnonymousAccount =
await this.shouldMigrateAnonymousAccount();
this.authenticating = true;
this.keepContextOpen = migratingAnonymousAccount;
await this.createContext(this.props, {
newAccountProps: {
secret: accountSecret,
creationProps,
},
}).finally(() => {
this.authenticating = false;
this.keepContextOpen = false;
});
if (wasAnonymous) {
if (migratingAnonymousAccount) {
await this.handleAnonymousAccountMigration(prevContext);
}
@@ -235,3 +273,13 @@ export class JazzContextManager<
}
}
}
function createResolvablePromise<T>() {
let resolve!: (value: T) => void;
const promise = new Promise<T>((res) => {
resolve = res;
});
return { promise, resolve };
}

View File

@@ -237,12 +237,10 @@ export class TestJazzContextManager<
return context;
}
async createContext(
async getNewContext(
props: TestJazzContextManagerProps<Acc>,
authProps?: JazzContextManagerAuthProps,
) {
this.props = props;
if (!syncServer.current) {
throw new Error(
"You need to setup a test sync server with setupJazzTestSync to use the Auth functions",
@@ -260,20 +258,16 @@ export class TestJazzContextManager<
AccountSchema: props.AccountSchema,
});
await this.updateContext(
props,
{
me: context.account,
node: context.node,
done: () => {
context.done();
},
logOut: () => {
return context.logOut();
},
return {
me: context.account,
node: context.node,
done: () => {
context.done();
},
authProps,
);
logOut: () => {
return context.logOut();
},
};
}
}

View File

@@ -35,7 +35,7 @@ class TestJazzContextManager<Acc extends Account> extends JazzContextManager<
AccountSchema?: AccountClass<Acc>;
}
> {
async createContext(
async getNewContext(
props: JazzContextManagerBaseProps<Acc> & {
defaultProfileName?: string;
AccountSchema?: AccountClass<Acc>;
@@ -53,20 +53,16 @@ class TestJazzContextManager<Acc extends Account> extends JazzContextManager<
AccountSchema: props.AccountSchema,
});
await this.updateContext(
props,
{
me: context.account,
node: context.node,
done: () => {
context.done();
},
logOut: async () => {
await context.logOut();
},
return {
me: context.account,
node: context.node,
done: () => {
context.done();
},
authProps,
);
logOut: async () => {
await context.logOut();
},
};
}
}
@@ -127,6 +123,23 @@ describe("ContextManager", () => {
expect(getCurrentValue().me.id).toBe(credentials.accountID);
});
test("handles race conditions on the context creation", async () => {
const account = await createJazzTestAccount();
manager.createContext({});
const credentials = {
accountID: account.id,
accountSecret: account._raw.core.node.account.agentSecret,
provider: "test",
};
// Authenticate without waiting for the previous context to be created
await manager.authenticate(credentials);
expect(getCurrentValue().me.id).toBe(credentials.accountID);
});
test("calls onLogOut callback when logging out", async () => {
const onLogOut = vi.fn();
await manager.createContext({ onLogOut });

View File

@@ -302,6 +302,10 @@ describe("PassphraseAuth with TestJazzContextManager", () => {
// Verify account was created
expect(accountId).toBeDefined();
await contextManager
.getCurrentValue()
?.node.syncManager.waitForAllCoValuesSync();
// Verify we can log in with the passphrase
await contextManager.logOut();
await passphraseAuth.logIn(passphrase);

View File

@@ -1,5 +1,15 @@
# jazz-react
## 0.10.15
### Patch Changes
- Updated dependencies [2f99de0]
- Updated dependencies [f86e278]
- jazz-tools@0.10.15
- cojson@0.10.15
- jazz-browser@0.10.15
## 0.10.14
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "jazz-vue",
"version": "0.10.14",
"version": "0.10.15",
"type": "module",
"main": "dist/index.js",
"types": "src/index.ts",

52
pnpm-lock.yaml generated
View File

@@ -444,7 +444,7 @@ importers:
specifier: workspace:*
version: link:../../packages/jazz-react
jazz-react-auth-clerk:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../../packages/jazz-react-auth-clerk
jazz-tools:
specifier: workspace:*
@@ -673,10 +673,10 @@ importers:
specifier: ^2.0.0
version: 2.1.1
cojson:
specifier: workspace:0.10.8
specifier: workspace:0.10.15
version: link:../../packages/cojson
cojson-transport-ws:
specifier: workspace:0.10.8
specifier: workspace:0.10.15
version: link:../../packages/cojson-transport-ws
hash-slash:
specifier: workspace:0.2.2
@@ -770,10 +770,10 @@ importers:
specifier: workspace:*
version: link:../../packages/jazz-inspector
jazz-react:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../../packages/jazz-tools
lucide-react:
specifier: ^0.274.0
@@ -1012,10 +1012,10 @@ importers:
examples/password-manager:
dependencies:
jazz-react:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../../packages/jazz-tools
react:
specifier: 18.3.1
@@ -1076,13 +1076,13 @@ importers:
specifier: ^2.0.0
version: 2.1.1
jazz-browser-media-images:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../../packages/jazz-browser-media-images
jazz-react:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../../packages/jazz-tools
lucide-react:
specifier: ^0.274.0
@@ -1137,7 +1137,7 @@ importers:
specifier: ^3.0.1
version: 3.0.1
jazz-run:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../../packages/jazz-run
postcss:
specifier: ^8.4.27
@@ -1216,10 +1216,10 @@ importers:
specifier: ^2.0.0
version: 2.1.1
jazz-react:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../../packages/jazz-react
jazz-tools:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../../packages/jazz-tools
lucide-react:
specifier: ^0.274.0
@@ -1478,7 +1478,7 @@ importers:
specifier: ^11.7.0
version: 11.7.0
cojson:
specifier: workspace:0.10.8
specifier: workspace:0.10.15
version: link:../cojson
cojson-storage:
specifier: workspace:*
@@ -1555,13 +1555,13 @@ importers:
packages/jazz-auth-clerk:
dependencies:
cojson:
specifier: workspace:0.10.8
specifier: workspace:0.10.15
version: link:../cojson
jazz-browser:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../jazz-browser
jazz-tools:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../jazz-tools
devDependencies:
typescript:
@@ -1599,10 +1599,10 @@ importers:
specifier: ^4.1.0
version: 4.1.0
jazz-browser:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../jazz-browser
jazz-tools:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../jazz-tools
pica:
specifier: ^9.0.1
@@ -1674,16 +1674,16 @@ importers:
specifier: ^1.3.0
version: 1.5.0
cojson:
specifier: workspace:0.10.8
specifier: workspace:0.10.15
version: link:../cojson
jazz-browser:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../jazz-browser
jazz-react-core:
specifier: workspace:*
version: link:../jazz-react-core
jazz-tools:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../jazz-tools
devDependencies:
'@testing-library/dom':
@@ -1872,19 +1872,19 @@ importers:
specifier: ^0.25.5
version: 0.25.8(effect@3.11.9)
cojson:
specifier: workspace:0.10.8
specifier: workspace:0.10.15
version: link:../cojson
cojson-storage-sqlite:
specifier: workspace:0.10.8
specifier: workspace:0.10.15
version: link:../cojson-storage-sqlite
cojson-transport-ws:
specifier: workspace:0.10.8
specifier: workspace:0.10.15
version: link:../cojson-transport-ws
effect:
specifier: ^3.6.5
version: 3.11.9
jazz-tools:
specifier: workspace:0.10.14
specifier: workspace:0.10.15
version: link:../jazz-tools
ws:
specifier: ^8.14.2

View File

@@ -1,5 +1,13 @@
# jazz-tailwind-demo-auth-starter
## 0.0.52
### Patch Changes
- Updated dependencies [2f99de0]
- jazz-tools@0.10.15
- jazz-react@0.10.15
## 0.0.51
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "jazz-tailwind-demo-auth-starter",
"private": true,
"version": "0.0.51",
"version": "0.0.52",
"type": "module",
"scripts": {
"dev": "vite",