Compare commits
27 Commits
cursor-doc
...
jazz-svelt
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eda1588907 | ||
|
|
b14e0bfe24 | ||
|
|
87aa43b46b | ||
|
|
b93ce9fb7e | ||
|
|
a7d83e1c10 | ||
|
|
76a693da15 | ||
|
|
df2f021cfd | ||
|
|
50b15d2d1d | ||
|
|
48bf7cb188 | ||
|
|
e2e0af34b5 | ||
|
|
6a5bcd3063 | ||
|
|
bf7e62ec76 | ||
|
|
71dda6b10b | ||
|
|
4612e0545e | ||
|
|
07feedd641 | ||
|
|
edbd567f11 | ||
|
|
4d8bb9cdb8 | ||
|
|
1971448f5d | ||
|
|
0e861e7df8 | ||
|
|
6e3f1efcd0 | ||
|
|
eb87d10783 | ||
|
|
5a54e4aa50 | ||
|
|
16b0a22ded | ||
|
|
d469d68771 | ||
|
|
c068d7a369 | ||
|
|
25088ed5db | ||
|
|
221ca30790 |
@@ -36,7 +36,7 @@ We welcome all ideas! If you have suggestions, feel free to open an issue marked
|
||||
|
||||
### 5. Local Setup
|
||||
|
||||
You'll need Node.js 20.x or 22.x installed (we're working on support for 23.x), and pnpm 9.x installed. If you're using nix, run `nix develop` to get a shell with the correct versions of everything installed.
|
||||
You'll need Node.js 22.x installed (we're working on support for 23.x), and pnpm 9.x installed. If you're using nix, run `nix develop` to get a shell with the correct versions of everything installed.
|
||||
|
||||
1. **Clone the repository**:
|
||||
```bash
|
||||
@@ -54,6 +54,12 @@ You'll need Node.js 20.x or 22.x installed (we're working on support for 23.x),
|
||||
cd homepage && pnpm install
|
||||
```
|
||||
|
||||
4. **Go back to the project root**:
|
||||
|
||||
```bash
|
||||
cd ..
|
||||
```
|
||||
|
||||
4. **Build the packages**:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -1,5 +1,33 @@
|
||||
# chat-rn-clerk
|
||||
|
||||
## 1.0.78
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-react-native@0.10.13
|
||||
- jazz-react-native-auth-clerk@0.10.13
|
||||
- jazz-react-native-media-images@0.10.13
|
||||
|
||||
## 1.0.77
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-react-native@0.10.12
|
||||
- jazz-react-native-auth-clerk@0.10.12
|
||||
- jazz-react-native-media-images@0.10.12
|
||||
|
||||
## 1.0.76
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [5a54e4a]
|
||||
- jazz-react-native@0.10.11
|
||||
- jazz-react-native-auth-clerk@0.10.11
|
||||
|
||||
## 1.0.75
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "chat-rn-clerk",
|
||||
"main": "index.js",
|
||||
"version": "1.0.75",
|
||||
"version": "1.0.78",
|
||||
"scripts": {
|
||||
"build": "expo export -p ios",
|
||||
"start": "expo start",
|
||||
|
||||
@@ -1,5 +1,28 @@
|
||||
# chat-rn
|
||||
|
||||
## 1.0.74
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-react-native@0.10.13
|
||||
|
||||
## 1.0.73
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-react-native@0.10.12
|
||||
|
||||
## 1.0.72
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [5a54e4a]
|
||||
- jazz-react-native@0.10.11
|
||||
|
||||
## 1.0.71
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "chat-rn",
|
||||
"version": "1.0.71",
|
||||
"version": "1.0.74",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"build": "expo export -p ios",
|
||||
@@ -35,8 +35,6 @@
|
||||
"react": "^18.3.1",
|
||||
"react-native": "~0.76.3",
|
||||
"react-native-get-random-values": "^1.11.0",
|
||||
"react-native-nitro-modules": "0.21.0",
|
||||
"react-native-quick-crypto": "1.0.0-beta.12",
|
||||
"react-native-safe-area-context": "4.12.0",
|
||||
"react-native-screens": "4.1.0",
|
||||
"react-native-url-polyfill": "^2.0.0",
|
||||
|
||||
@@ -9,7 +9,7 @@ import * as Linking from "expo-linking";
|
||||
import React, { StrictMode, useEffect, useState } from "react";
|
||||
import HandleInviteScreen from "./invite";
|
||||
|
||||
import { JazzProvider, RNQuickCrypto } from "jazz-react-native";
|
||||
import { JazzProvider } from "jazz-react-native";
|
||||
import { apiKey } from "./apiKey";
|
||||
import ChatScreen from "./chat";
|
||||
|
||||
@@ -50,7 +50,6 @@ function App() {
|
||||
sync={{
|
||||
peer: `wss://cloud.jazz.tools/?key=${apiKey}`,
|
||||
}}
|
||||
CryptoProvider={RNQuickCrypto}
|
||||
>
|
||||
<NavigationContainer linking={linking} ref={navigationRef}>
|
||||
<Stack.Navigator initialRouteName={initialRoute}>
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
# chat-vue
|
||||
|
||||
## 0.0.60
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-browser@0.10.13
|
||||
- jazz-vue@0.10.13
|
||||
|
||||
## 0.0.59
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-vue@0.10.12
|
||||
- jazz-browser@0.10.12
|
||||
|
||||
## 0.0.58
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "chat-vue",
|
||||
"version": "0.0.58",
|
||||
"version": "0.0.60",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
# jazz-example-chat
|
||||
|
||||
## 0.0.156
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-browser-media-images@0.10.13
|
||||
- jazz-react@0.10.13
|
||||
|
||||
## 0.0.155
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-react@0.10.12
|
||||
- jazz-browser-media-images@0.10.12
|
||||
|
||||
## 0.0.154
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-example-chat",
|
||||
"private": true,
|
||||
"version": "0.0.154",
|
||||
"version": "0.0.156",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
# minimal-auth-clerk
|
||||
|
||||
## 0.0.55
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-react@0.10.13
|
||||
- jazz-react-auth-clerk@0.10.13
|
||||
|
||||
## 0.0.54
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-react@0.10.12
|
||||
- jazz-react-auth-clerk@0.10.12
|
||||
|
||||
## 0.0.53
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "clerk",
|
||||
"private": true,
|
||||
"version": "0.0.53",
|
||||
"version": "0.0.55",
|
||||
"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.9",
|
||||
"jazz-react-auth-clerk": "workspace:0.10.13",
|
||||
"jazz-tools": "workspace:*",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1"
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
# file-share-svelte
|
||||
|
||||
## 0.0.40
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-svelte@0.10.13
|
||||
|
||||
## 0.0.39
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-svelte@0.10.12
|
||||
- jazz-tools@0.10.12
|
||||
|
||||
## 0.0.38
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "file-share-svelte",
|
||||
"version": "0.0.38",
|
||||
"version": "0.0.40",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
# form
|
||||
|
||||
## 0.0.51
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-browser-media-images@0.10.13
|
||||
- jazz-react@0.10.13
|
||||
|
||||
## 0.0.50
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-react@0.10.12
|
||||
- jazz-browser-media-images@0.10.12
|
||||
|
||||
## 0.0.49
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "form",
|
||||
"private": true,
|
||||
"version": "0.0.49",
|
||||
"version": "0.0.51",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
# image-upload
|
||||
|
||||
## 0.0.53
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-browser-media-images@0.10.13
|
||||
- jazz-react@0.10.13
|
||||
|
||||
## 0.0.52
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-react@0.10.12
|
||||
- jazz-browser-media-images@0.10.12
|
||||
|
||||
## 0.0.51
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "image-upload",
|
||||
"private": true,
|
||||
"version": "0.0.51",
|
||||
"version": "0.0.53",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
# jazz-example-musicplayer
|
||||
|
||||
## 0.0.77
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-inspector@0.10.10
|
||||
- jazz-react@0.10.13
|
||||
|
||||
## 0.0.76
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-inspector@0.10.9
|
||||
- jazz-react@0.10.12
|
||||
|
||||
## 0.0.75
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-example-music-player",
|
||||
"private": true,
|
||||
"version": "0.0.75",
|
||||
"version": "0.0.77",
|
||||
"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.9",
|
||||
"jazz-tools": "workspace:0.10.8",
|
||||
"jazz-react": "workspace:0.10.13",
|
||||
"jazz-tools": "workspace:0.10.13",
|
||||
"lucide-react": "^0.274.0",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
# organization
|
||||
|
||||
## 0.0.49
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-react@0.10.13
|
||||
|
||||
## 0.0.48
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-react@0.10.12
|
||||
|
||||
## 0.0.47
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "organization",
|
||||
"private": true,
|
||||
"version": "0.0.47",
|
||||
"version": "0.0.49",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
# passkey-svelte
|
||||
|
||||
## 0.0.44
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- jazz-svelte@0.10.13
|
||||
|
||||
## 0.0.43
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-svelte@0.10.12
|
||||
|
||||
## 0.0.42
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "passkey-svelte",
|
||||
"version": "0.0.42",
|
||||
"version": "0.0.44",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
# minimal-auth-passkey
|
||||
|
||||
## 0.0.54
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-react@0.10.13
|
||||
|
||||
## 0.0.53
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-react@0.10.12
|
||||
|
||||
## 0.0.52
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "passkey",
|
||||
"private": true,
|
||||
"version": "0.0.52",
|
||||
"version": "0.0.54",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
# passphrase
|
||||
|
||||
## 0.0.51
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-react@0.10.13
|
||||
|
||||
## 0.0.50
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-react@0.10.12
|
||||
|
||||
## 0.0.49
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "passphrase",
|
||||
"private": true,
|
||||
"version": "0.0.49",
|
||||
"version": "0.0.51",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -66,3 +66,72 @@ main {
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.auth-container {
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background-color: #f3f4f6;
|
||||
}
|
||||
|
||||
.auth-card {
|
||||
background-color: white;
|
||||
padding: 2rem;
|
||||
border-radius: 0.5rem;
|
||||
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px
|
||||
rgba(0, 0, 0, 0.06);
|
||||
width: 28rem;
|
||||
}
|
||||
|
||||
.auth-button-primary,
|
||||
.auth-button-secondary {
|
||||
width: 100%;
|
||||
padding: 0.5rem 1rem;
|
||||
border-radius: 0.25rem;
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.auth-button-primary {
|
||||
background-color: black;
|
||||
color: white;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.auth-button-secondary {
|
||||
background-color: white;
|
||||
color: black;
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
.auth-heading {
|
||||
color: black;
|
||||
font-size: 1.5rem;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.auth-textarea {
|
||||
width: 100%;
|
||||
padding: 0.5rem;
|
||||
border: 1px solid #d1d5db;
|
||||
border-radius: 0.25rem;
|
||||
margin-bottom: 1rem;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.auth-description {
|
||||
font-size: 0.875rem;
|
||||
color: #4b5563;
|
||||
text-align: center;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.auth-button-group {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
gap: 1rem;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,142 @@
|
||||
import { JazzProvider, PassphraseAuthBasicUI } from "jazz-react";
|
||||
import { StrictMode } from "react";
|
||||
import { JazzProvider, usePassphraseAuth } from "jazz-react";
|
||||
import { StrictMode, useState } from "react";
|
||||
import { createRoot } from "react-dom/client";
|
||||
import App from "./App.tsx";
|
||||
import "./index.css";
|
||||
import { wordlist } from "./wordlist.ts";
|
||||
|
||||
function PassphraseAuthBasicUI(props: {
|
||||
appName: string;
|
||||
wordlist: string[];
|
||||
children?: React.ReactNode;
|
||||
}) {
|
||||
const auth = usePassphraseAuth({
|
||||
wordlist: props.wordlist,
|
||||
});
|
||||
|
||||
const [step, setStep] = useState<"initial" | "create" | "login">("initial");
|
||||
const [loginPassphrase, setLoginPassphrase] = useState("");
|
||||
const [isCopied, setIsCopied] = useState(false);
|
||||
const [currentPassphrase, setCurrentPassphrase] = useState(() =>
|
||||
auth.generateRandomPassphrase(),
|
||||
);
|
||||
|
||||
if (auth.state === "signedIn") {
|
||||
return props.children ?? null;
|
||||
}
|
||||
|
||||
const handleCreateAccount = async () => {
|
||||
setStep("create");
|
||||
};
|
||||
|
||||
const handleLogin = () => {
|
||||
setStep("login");
|
||||
};
|
||||
|
||||
const handleReroll = () => {
|
||||
const newPassphrase = auth.generateRandomPassphrase();
|
||||
setCurrentPassphrase(newPassphrase);
|
||||
setIsCopied(false);
|
||||
};
|
||||
|
||||
const handleBack = () => {
|
||||
setStep("initial");
|
||||
setLoginPassphrase("");
|
||||
};
|
||||
|
||||
const handleCopy = async () => {
|
||||
await navigator.clipboard.writeText(auth.passphrase);
|
||||
setIsCopied(true);
|
||||
};
|
||||
|
||||
const handleLoginSubmit = async () => {
|
||||
await auth.logIn(loginPassphrase);
|
||||
setStep("initial");
|
||||
setLoginPassphrase("");
|
||||
};
|
||||
|
||||
const handleNext = async () => {
|
||||
await auth.registerNewAccount(currentPassphrase, "My Account");
|
||||
setStep("initial");
|
||||
setLoginPassphrase("");
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="auth-container">
|
||||
<div className="auth-card">
|
||||
{step === "initial" && (
|
||||
<div>
|
||||
<h1 className="auth-heading">{props.appName}</h1>
|
||||
<button
|
||||
onClick={handleCreateAccount}
|
||||
className="auth-button-primary"
|
||||
>
|
||||
Create new account
|
||||
</button>
|
||||
<button onClick={handleLogin} className="auth-button-secondary">
|
||||
Log in
|
||||
</button>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{step === "create" && (
|
||||
<>
|
||||
<h1 className="auth-heading">Your Passphrase</h1>
|
||||
<p className="auth-description">
|
||||
Please copy and store this passphrase somewhere safe. You'll need
|
||||
it to log in.
|
||||
</p>
|
||||
<textarea
|
||||
readOnly
|
||||
value={currentPassphrase}
|
||||
className="auth-textarea"
|
||||
rows={5}
|
||||
/>
|
||||
<button onClick={handleCopy} className="auth-button-primary">
|
||||
{isCopied ? "Copied!" : "Copy"}
|
||||
</button>
|
||||
<div className="auth-button-group">
|
||||
<button onClick={handleBack} className="auth-button-secondary">
|
||||
Back
|
||||
</button>
|
||||
<button onClick={handleReroll} className="auth-button-secondary">
|
||||
Generate New Passphrase
|
||||
</button>
|
||||
<button onClick={handleNext} className="auth-button-primary">
|
||||
Register
|
||||
</button>
|
||||
</div>
|
||||
</>
|
||||
)}
|
||||
|
||||
{step === "login" && (
|
||||
<div>
|
||||
<h1 className="auth-heading">Log In</h1>
|
||||
<textarea
|
||||
value={loginPassphrase}
|
||||
onChange={(e) => setLoginPassphrase(e.target.value)}
|
||||
placeholder="Enter your passphrase"
|
||||
className="auth-textarea"
|
||||
rows={5}
|
||||
/>
|
||||
<div className="auth-button-group">
|
||||
<button onClick={handleBack} className="auth-button-secondary">
|
||||
Back
|
||||
</button>
|
||||
<button
|
||||
onClick={handleLoginSubmit}
|
||||
className="auth-button-primary"
|
||||
>
|
||||
Log In
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
function JazzAndAuth({ children }: { children: React.ReactNode }) {
|
||||
return (
|
||||
<JazzProvider
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
# jazz-password-manager
|
||||
|
||||
## 0.0.75
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-react@0.10.13
|
||||
|
||||
## 0.0.74
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-react@0.10.12
|
||||
|
||||
## 0.0.73
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-password-manager",
|
||||
"private": true,
|
||||
"version": "0.0.73",
|
||||
"version": "0.0.75",
|
||||
"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.9",
|
||||
"jazz-tools": "workspace:0.10.8",
|
||||
"jazz-react": "workspace:0.10.13",
|
||||
"jazz-tools": "workspace:0.10.13",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"react-hook-form": "^7.41.5",
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
# jazz-example-pets
|
||||
|
||||
## 0.0.173
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-browser-media-images@0.10.13
|
||||
- jazz-react@0.10.13
|
||||
|
||||
## 0.0.172
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-react@0.10.12
|
||||
- jazz-browser-media-images@0.10.12
|
||||
|
||||
## 0.0.171
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-example-pets",
|
||||
"private": true,
|
||||
"version": "0.0.171",
|
||||
"version": "0.0.173",
|
||||
"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.9",
|
||||
"jazz-react": "workspace:0.10.9",
|
||||
"jazz-tools": "workspace:0.10.8",
|
||||
"jazz-browser-media-images": "workspace:0.10.13",
|
||||
"jazz-react": "workspace:0.10.13",
|
||||
"jazz-tools": "workspace:0.10.13",
|
||||
"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.8",
|
||||
"jazz-run": "workspace:0.10.13",
|
||||
"postcss": "^8.4.27",
|
||||
"tailwindcss": "^3.4.17",
|
||||
"typescript": "~5.6.2",
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
# reactions
|
||||
|
||||
## 0.0.53
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-browser-media-images@0.10.13
|
||||
- jazz-react@0.10.13
|
||||
|
||||
## 0.0.52
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-react@0.10.12
|
||||
- jazz-browser-media-images@0.10.12
|
||||
|
||||
## 0.0.51
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "reactions",
|
||||
"private": true,
|
||||
"version": "0.0.51",
|
||||
"version": "0.0.53",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
# todo-vue
|
||||
|
||||
## 0.0.58
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-browser@0.10.13
|
||||
- jazz-vue@0.10.13
|
||||
|
||||
## 0.0.57
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-vue@0.10.12
|
||||
- jazz-browser@0.10.12
|
||||
|
||||
## 0.0.56
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "todo-vue",
|
||||
"version": "0.0.56",
|
||||
"version": "0.0.58",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
# jazz-example-todo
|
||||
|
||||
## 0.0.172
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-react@0.10.13
|
||||
|
||||
## 0.0.171
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-react@0.10.12
|
||||
|
||||
## 0.0.170
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "jazz-example-todo",
|
||||
"private": true,
|
||||
"version": "0.0.170",
|
||||
"version": "0.0.172",
|
||||
"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.9",
|
||||
"jazz-tools": "workspace:0.10.8",
|
||||
"jazz-react": "workspace:0.10.13",
|
||||
"jazz-tools": "workspace:0.10.13",
|
||||
"lucide-react": "^0.274.0",
|
||||
"qrcode": "^1.5.3",
|
||||
"react": "^18.3.1",
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
# version-history
|
||||
|
||||
## 0.0.50
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-react@0.10.13
|
||||
|
||||
## 0.0.49
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-react@0.10.12
|
||||
|
||||
## 0.0.48
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "version-history",
|
||||
"private": true,
|
||||
"version": "0.0.48",
|
||||
"version": "0.0.50",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
import { packages } from "@/lib/packages";
|
||||
import { clsx } from "clsx";
|
||||
import { Icon } from "gcmp-design-system/src/app/components/atoms/Icon";
|
||||
import type { Metadata } from "next";
|
||||
import Link from "next/link";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "API reference",
|
||||
openGraph: {
|
||||
title: "API reference",
|
||||
},
|
||||
};
|
||||
|
||||
const CardHeading = ({
|
||||
children,
|
||||
className,
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
import { CodeGroup, ContentByFramework, JazzLogo } from '@/components/forMdx'
|
||||
|
||||
export const metadata = {
|
||||
title: "Learn some Jazz",
|
||||
openGraph: {
|
||||
title: "Learn some Jazz",
|
||||
},
|
||||
};
|
||||
|
||||
# Learn some <span className="sr-only">Jazz</span> <JazzLogo className="h-[41px] -ml-0.5 -mt-[3px] inline" />
|
||||
|
||||
Welcome to the Jazz documentation!
|
||||
|
||||
@@ -6,6 +6,38 @@ import { Framework, frameworks } from "@/lib/framework";
|
||||
import type { Toc } from "@stefanprobst/rehype-extract-toc";
|
||||
import { Prose } from "gcmp-design-system/src/app/components/molecules/Prose";
|
||||
|
||||
async function getMdxSource(slugPath: string, framework: string) {
|
||||
try {
|
||||
return await import(`./${slugPath}.mdx`);
|
||||
} catch (error) {
|
||||
return await import(`./${slugPath}/${framework}.mdx`);
|
||||
}
|
||||
}
|
||||
|
||||
export async function generateMetadata({
|
||||
params: { slug, framework },
|
||||
}: { params: { slug: string[]; framework: string } }) {
|
||||
const slugPath = slug.join("/");
|
||||
try {
|
||||
const mdxSource = await getMdxSource(slugPath, framework);
|
||||
const title = mdxSource.tableOfContents?.[0].value || "Documentation";
|
||||
|
||||
return {
|
||||
title,
|
||||
openGraph: {
|
||||
title,
|
||||
},
|
||||
};
|
||||
} catch (error) {
|
||||
return {
|
||||
title: "Documentation",
|
||||
openGraph: {
|
||||
title: "Documentation",
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export default async function Page({
|
||||
params: { slug, framework },
|
||||
}: { params: { slug: string[]; framework: string } }) {
|
||||
@@ -13,13 +45,7 @@ export default async function Page({
|
||||
const bodyClassName = "overflow-x-hidden lg:flex-1 py-10 max-w-3xl mx-auto";
|
||||
|
||||
try {
|
||||
let mdxSource;
|
||||
try {
|
||||
mdxSource = await import(`./${slugPath}.mdx`);
|
||||
} catch (error) {
|
||||
mdxSource = await import(`./${slugPath}/${framework}.mdx`);
|
||||
}
|
||||
|
||||
const mdxSource = await getMdxSource(slugPath, framework);
|
||||
const { default: Content, tableOfContents } = mdxSource;
|
||||
|
||||
// Exclude h1 from table of contents
|
||||
|
||||
@@ -1,25 +1,27 @@
|
||||
import { Pricing } from "@/components/Pricing";
|
||||
import { LatencyMap } from "@/components/cloud/latencyMap";
|
||||
import { GridCard } from "gcmp-design-system/src/app/components/atoms/GridCard";
|
||||
import {
|
||||
H2,
|
||||
H3,
|
||||
H4,
|
||||
} from "gcmp-design-system/src/app/components/atoms/Headings";
|
||||
import { LI } from "gcmp-design-system/src/app/components/atoms/ListItem";
|
||||
import { H2, H3 } from "gcmp-design-system/src/app/components/atoms/Headings";
|
||||
import { P } from "gcmp-design-system/src/app/components/atoms/Paragraph";
|
||||
import { GappedGrid } from "gcmp-design-system/src/app/components/molecules/GappedGrid";
|
||||
import { HeroHeader } from "gcmp-design-system/src/app/components/molecules/HeroHeader";
|
||||
import { UL } from "gcmp-design-system/src/app/components/molecules/List";
|
||||
import { Prose } from "gcmp-design-system/src/app/components/molecules/Prose";
|
||||
import { SectionHeader } from "gcmp-design-system/src/app/components/molecules/SectionHeader";
|
||||
import type { Metadata } from "next";
|
||||
import CloudPlusBackup from "./cloudPlusBackup.mdx";
|
||||
import CloudPlusDIY from "./cloudPlusDIY.mdx";
|
||||
import CompletelyDIY from "./completelyDIY.mdx";
|
||||
|
||||
export const metadata = {
|
||||
title: "Jazz Cloud",
|
||||
description: "Serverless sync & storage for Jazz apps.",
|
||||
const title = "Jazz Cloud";
|
||||
const description = "Serverless sync & storage for Jazz apps.";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title,
|
||||
description,
|
||||
openGraph: {
|
||||
title,
|
||||
description,
|
||||
},
|
||||
};
|
||||
|
||||
export default function Cloud() {
|
||||
|
||||
@@ -11,6 +11,20 @@ import { H2 } from "gcmp-design-system/src/app/components/atoms/Headings";
|
||||
import { Icon } from "gcmp-design-system/src/app/components/atoms/Icon";
|
||||
import { GappedGrid } from "gcmp-design-system/src/app/components/molecules/GappedGrid";
|
||||
import { HeroHeader } from "gcmp-design-system/src/app/components/molecules/HeroHeader";
|
||||
import type { Metadata } from "next";
|
||||
|
||||
const title = "Examples";
|
||||
const description =
|
||||
"Find an example app with code most similar to what you want to build.";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title,
|
||||
description,
|
||||
openGraph: {
|
||||
title,
|
||||
description,
|
||||
},
|
||||
};
|
||||
|
||||
const MockButton = ({ children }: { children: React.ReactNode }) => (
|
||||
<p className="bg-blue-100 text-blue-800 py-1 px-3 rounded-full font-medium text-xs inline-flex items-center justify-center">
|
||||
|
||||
@@ -1,11 +1,19 @@
|
||||
import { products } from "@/lib/showcase";
|
||||
import { HeroHeader } from "gcmp-design-system/src/app/components/molecules/HeroHeader";
|
||||
import type { Metadata } from "next";
|
||||
import Image from "next/image";
|
||||
import Link from "next/link";
|
||||
|
||||
export const metadata = {
|
||||
title: "Built with Jazz",
|
||||
description: "Great apps by smart people.",
|
||||
const title = "Built with Jazz";
|
||||
const description = "Great apps by smart people.";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title,
|
||||
description,
|
||||
openGraph: {
|
||||
title,
|
||||
description,
|
||||
},
|
||||
};
|
||||
|
||||
export default function Page() {
|
||||
|
||||
@@ -1,8 +1,18 @@
|
||||
import { clsx } from "clsx";
|
||||
import { HeroHeader } from "gcmp-design-system/src/app/components/molecules/HeroHeader";
|
||||
import type { Metadata } from "next";
|
||||
import dynamic from "next/dynamic";
|
||||
import { Fragment } from "react";
|
||||
|
||||
const title = "Status";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title,
|
||||
openGraph: {
|
||||
title,
|
||||
},
|
||||
};
|
||||
|
||||
const LatencyChart = dynamic(() => import("@/components/LatencyChart"), {
|
||||
ssr: false,
|
||||
});
|
||||
@@ -133,11 +143,6 @@ const query = async () => {
|
||||
return byRegion;
|
||||
};
|
||||
|
||||
export const metadata = {
|
||||
title: "Status",
|
||||
description: "Great apps by smart people.",
|
||||
};
|
||||
|
||||
export default async function Page() {
|
||||
const byRegion = await query();
|
||||
|
||||
|
||||
@@ -184,9 +184,7 @@ export class CoValueCore {
|
||||
this.header.meta?.type === "account"
|
||||
? (this.node.currentSessionID.replace(
|
||||
this.node.account.id,
|
||||
this.node.account
|
||||
.currentAgentID()
|
||||
._unsafeUnwrap({ withStackTrace: true }),
|
||||
this.node.account.currentAgentID(),
|
||||
) as SessionID)
|
||||
: this.node.currentSessionID;
|
||||
|
||||
@@ -455,9 +453,7 @@ export class CoValueCore {
|
||||
this.header.meta?.type === "account"
|
||||
? (this.node.currentSessionID.replace(
|
||||
this.node.account.id,
|
||||
this.node.account
|
||||
.currentAgentID()
|
||||
._unsafeUnwrap({ withStackTrace: true }),
|
||||
this.node.account.currentAgentID(),
|
||||
) as SessionID)
|
||||
: this.node.currentSessionID;
|
||||
|
||||
@@ -639,9 +635,7 @@ export class CoValueCore {
|
||||
// Try to find key revelation for us
|
||||
const lookupAccountOrAgentID =
|
||||
this.header.meta?.type === "account"
|
||||
? this.node.account
|
||||
.currentAgentID()
|
||||
._unsafeUnwrap({ withStackTrace: true })
|
||||
? this.node.account.currentAgentID()
|
||||
: this.node.account.id;
|
||||
|
||||
const lastReadyKeyEdit = content.lastEditAt(
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { Result, ok } from "neverthrow";
|
||||
import { CoID, RawCoValue } from "../coValue.js";
|
||||
import {
|
||||
CoValueCore,
|
||||
@@ -47,10 +46,11 @@ export class RawAccount<
|
||||
> extends RawGroup<Meta> {
|
||||
_cachedCurrentAgentID: AgentID | undefined;
|
||||
|
||||
currentAgentID(): Result<AgentID, InvalidAccountAgentIDError> {
|
||||
currentAgentID(): AgentID {
|
||||
if (this._cachedCurrentAgentID) {
|
||||
return ok(this._cachedCurrentAgentID);
|
||||
return this._cachedCurrentAgentID;
|
||||
}
|
||||
|
||||
const agents = this.keys()
|
||||
.filter((k): k is AgentID => k.startsWith("sealer_"))
|
||||
.sort(
|
||||
@@ -65,7 +65,7 @@ export class RawAccount<
|
||||
|
||||
this._cachedCurrentAgentID = agents[0];
|
||||
|
||||
return ok(agents[0]!);
|
||||
return agents[0]!;
|
||||
}
|
||||
|
||||
createInvite(_: AccountRole): InviteSecret {
|
||||
@@ -77,10 +77,10 @@ export interface ControlledAccountOrAgent {
|
||||
id: RawAccountID | AgentID;
|
||||
agentSecret: AgentSecret;
|
||||
|
||||
currentAgentID: () => Result<AgentID, InvalidAccountAgentIDError>;
|
||||
currentSignerID: () => Result<SignerID, InvalidAccountAgentIDError>;
|
||||
currentAgentID: () => AgentID;
|
||||
currentSignerID: () => SignerID;
|
||||
currentSignerSecret: () => SignerSecret;
|
||||
currentSealerID: () => Result<SealerID, InvalidAccountAgentIDError>;
|
||||
currentSealerID: () => SealerID;
|
||||
currentSealerSecret: () => SealerSecret;
|
||||
}
|
||||
|
||||
@@ -116,17 +116,17 @@ export class RawControlledAccount<Meta extends AccountMeta = AccountMeta>
|
||||
return this.core.node.acceptInvite(groupOrOwnedValueID, inviteSecret);
|
||||
}
|
||||
|
||||
currentAgentID(): Result<AgentID, InvalidAccountAgentIDError> {
|
||||
currentAgentID(): AgentID {
|
||||
if (this._cachedCurrentAgentID) {
|
||||
return ok(this._cachedCurrentAgentID);
|
||||
return this._cachedCurrentAgentID;
|
||||
}
|
||||
const agentID = this.crypto.getAgentID(this.agentSecret);
|
||||
this._cachedCurrentAgentID = agentID;
|
||||
return ok(agentID);
|
||||
return agentID;
|
||||
}
|
||||
|
||||
currentSignerID() {
|
||||
return this.currentAgentID().map((id) => this.crypto.getAgentSignerID(id));
|
||||
return this.crypto.getAgentSignerID(this.currentAgentID());
|
||||
}
|
||||
|
||||
currentSignerSecret(): SignerSecret {
|
||||
@@ -134,7 +134,7 @@ export class RawControlledAccount<Meta extends AccountMeta = AccountMeta>
|
||||
}
|
||||
|
||||
currentSealerID() {
|
||||
return this.currentAgentID().map((id) => this.crypto.getAgentSealerID(id));
|
||||
return this.crypto.getAgentSealerID(this.currentAgentID());
|
||||
}
|
||||
|
||||
currentSealerSecret(): SealerSecret {
|
||||
@@ -153,11 +153,11 @@ export class ControlledAgent implements ControlledAccountOrAgent {
|
||||
}
|
||||
|
||||
currentAgentID() {
|
||||
return ok(this.crypto.getAgentID(this.agentSecret));
|
||||
return this.crypto.getAgentID(this.agentSecret);
|
||||
}
|
||||
|
||||
currentSignerID() {
|
||||
return this.currentAgentID().map((id) => this.crypto.getAgentSignerID(id));
|
||||
return this.crypto.getAgentSignerID(this.currentAgentID());
|
||||
}
|
||||
|
||||
currentSignerSecret(): SignerSecret {
|
||||
@@ -165,7 +165,7 @@ export class ControlledAgent implements ControlledAccountOrAgent {
|
||||
}
|
||||
|
||||
currentSealerID() {
|
||||
return this.currentAgentID().map((id) => this.crypto.getAgentSealerID(id));
|
||||
return this.crypto.getAgentSealerID(this.currentAgentID());
|
||||
}
|
||||
|
||||
currentSealerSecret(): SealerSecret {
|
||||
|
||||
@@ -251,9 +251,7 @@ export class RawGroup<
|
||||
|
||||
const memberKey = typeof account === "string" ? account : account.id;
|
||||
const agent =
|
||||
typeof account === "string"
|
||||
? account
|
||||
: account.currentAgentID()._unsafeUnwrap({ withStackTrace: true });
|
||||
typeof account === "string" ? account : account.currentAgentID();
|
||||
|
||||
/**
|
||||
* WriteOnly members can only see their own changes.
|
||||
|
||||
@@ -530,7 +530,7 @@ export class LocalNode {
|
||||
} satisfies UnexpectedlyNotAccountError);
|
||||
}
|
||||
|
||||
return (coValue.getCurrentContent() as RawAccount).currentAgentID();
|
||||
return ok((coValue.getCurrentContent() as RawAccount).currentAgentID());
|
||||
}
|
||||
|
||||
resolveAccountAgentAsync(
|
||||
@@ -573,7 +573,7 @@ export class LocalNode {
|
||||
} satisfies UnexpectedlyNotAccountError);
|
||||
}
|
||||
|
||||
return (coValue.getCurrentContent() as RawAccount).currentAgentID();
|
||||
return ok((coValue.getCurrentContent() as RawAccount).currentAgentID());
|
||||
});
|
||||
}
|
||||
|
||||
@@ -601,9 +601,7 @@ export class LocalNode {
|
||||
this.crypto.seal({
|
||||
message: readKey.secret,
|
||||
from: this.account.currentSealerSecret(),
|
||||
to: this.account
|
||||
.currentSealerID()
|
||||
._unsafeUnwrap({ withStackTrace: true }),
|
||||
to: this.account.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCoValue.id,
|
||||
tx: groupCoValue.nextTransactionID(),
|
||||
|
||||
@@ -476,16 +476,7 @@ function agentInAccountOrMemberInGroup(
|
||||
groupAtTime: RawGroup,
|
||||
): RawAccountID | AgentID | undefined {
|
||||
if (transactor === groupAtTime.id && groupAtTime instanceof RawAccount) {
|
||||
return groupAtTime.currentAgentID().match(
|
||||
(agentID) => agentID,
|
||||
(e) => {
|
||||
logger.error(
|
||||
"Error while determining current agent ID in valid transactions",
|
||||
e,
|
||||
);
|
||||
return undefined;
|
||||
},
|
||||
);
|
||||
return groupAtTime.currentAgentID();
|
||||
}
|
||||
return transactor;
|
||||
}
|
||||
|
||||
@@ -358,7 +358,7 @@ test("Admins can set group read key and then use it to create and read private t
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -412,7 +412,7 @@ test("Admins can set group read key and then writers can use it to create and re
|
||||
const revelation1 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -424,7 +424,7 @@ test("Admins can set group read key and then writers can use it to create and re
|
||||
const revelation2 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: writer.currentSealerID()._unsafeUnwrap(),
|
||||
to: writer.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -491,7 +491,7 @@ test("Admins can set group read key and then use it to create private transactio
|
||||
const revelation1 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -503,7 +503,7 @@ test("Admins can set group read key and then use it to create private transactio
|
||||
const revelation2 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: reader.currentSealerID()._unsafeUnwrap(),
|
||||
to: reader.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -578,7 +578,7 @@ test("Admins can set group read key and then use it to create private transactio
|
||||
const revelation1 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -590,7 +590,7 @@ test("Admins can set group read key and then use it to create private transactio
|
||||
const revelation2 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: reader1.currentSealerID()._unsafeUnwrap(),
|
||||
to: reader1.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -629,7 +629,7 @@ test("Admins can set group read key and then use it to create private transactio
|
||||
const revelation3 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: reader2.currentSealerID()._unsafeUnwrap(),
|
||||
to: reader2.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -694,7 +694,7 @@ test("Admins can set group read key, make a private transaction in an owned obje
|
||||
const revelation1 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -724,7 +724,7 @@ test("Admins can set group read key, make a private transaction in an owned obje
|
||||
const revelation2 = Crypto.seal({
|
||||
message: readKey2,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -777,7 +777,7 @@ test("Admins can set group read key, make a private transaction in an owned obje
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -804,7 +804,7 @@ test("Admins can set group read key, make a private transaction in an owned obje
|
||||
const revelation2 = Crypto.seal({
|
||||
message: readKey2,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -816,7 +816,7 @@ test("Admins can set group read key, make a private transaction in an owned obje
|
||||
const revelation3 = Crypto.seal({
|
||||
message: readKey2,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: reader.currentSealerID()._unsafeUnwrap(),
|
||||
to: reader.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -912,7 +912,7 @@ test("Admins can set group read rey, make a private transaction in an owned obje
|
||||
const revelation1 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -924,7 +924,7 @@ test("Admins can set group read rey, make a private transaction in an owned obje
|
||||
const revelation2 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: reader.currentSealerID()._unsafeUnwrap(),
|
||||
to: reader.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -936,7 +936,7 @@ test("Admins can set group read rey, make a private transaction in an owned obje
|
||||
const revelation3 = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: reader2.currentSealerID()._unsafeUnwrap(),
|
||||
to: reader2.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -982,7 +982,7 @@ test("Admins can set group read rey, make a private transaction in an owned obje
|
||||
const newRevelation1 = Crypto.seal({
|
||||
message: readKey2,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -994,7 +994,7 @@ test("Admins can set group read rey, make a private transaction in an owned obje
|
||||
const newRevelation2 = Crypto.seal({
|
||||
message: readKey2,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: reader2.currentSealerID()._unsafeUnwrap(),
|
||||
to: reader2.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1119,7 +1119,7 @@ test("Admins can create an adminInvite, which can add an admin", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1229,7 +1229,7 @@ test("Admins can create a writerInvite, which can add a writer", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1332,7 +1332,7 @@ test("Admins can create a readerInvite, which can add a reader", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1425,7 +1425,7 @@ test("WriterInvites can not invite admins", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1479,7 +1479,7 @@ test("ReaderInvites can not invite admins", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1533,7 +1533,7 @@ test("ReaderInvites can not invite writers", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1587,7 +1587,7 @@ test("WriteOnlyInvites can not invite writers", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1641,7 +1641,7 @@ test("WriteOnlyInvites can not invite admins", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1695,7 +1695,7 @@ test("WriteOnlyInvites can invite writeOnly", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1749,7 +1749,7 @@ test("WriteOnlyInvites can set writeKeys", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1800,7 +1800,7 @@ test("Invites can't override key revelations", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1855,7 +1855,7 @@ test("WriteOnlyInvites can't override writeKeys", () => {
|
||||
const revelation = Crypto.seal({
|
||||
message: readKey,
|
||||
from: admin.currentSealerSecret(),
|
||||
to: admin.currentSealerID()._unsafeUnwrap(),
|
||||
to: admin.currentSealerID(),
|
||||
nOnceMaterial: {
|
||||
in: groupCore.id,
|
||||
tx: groupCore.nextTransactionID(),
|
||||
@@ -1929,7 +1929,7 @@ test("Can give read permission to 'everyone'", () => {
|
||||
childObject
|
||||
.testWithDifferentAccount(
|
||||
newAccount,
|
||||
Crypto.newRandomSessionID(newAccount.currentAgentID()._unsafeUnwrap()),
|
||||
Crypto.newRandomSessionID(newAccount.currentAgentID()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -1955,7 +1955,7 @@ test("Can give read permissions to 'everyone' (high-level)", async () => {
|
||||
childObject.core
|
||||
.testWithDifferentAccount(
|
||||
new ControlledAgent(Crypto.newRandomAgentSecret(), Crypto),
|
||||
Crypto.newRandomSessionID(newAccount.currentAgentID()._unsafeUnwrap()),
|
||||
Crypto.newRandomSessionID(newAccount.currentAgentID()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -1993,7 +1993,7 @@ test("Can give write permission to 'everyone'", async () => {
|
||||
childObject
|
||||
.testWithDifferentAccount(
|
||||
newAccount,
|
||||
Crypto.newRandomSessionID(newAccount.currentAgentID()._unsafeUnwrap()),
|
||||
Crypto.newRandomSessionID(newAccount.currentAgentID()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -2025,7 +2025,7 @@ test("Can give write permissions to 'everyone' (high-level)", async () => {
|
||||
childObject.core
|
||||
.testWithDifferentAccount(
|
||||
newAccount,
|
||||
Crypto.newRandomSessionID(newAccount.currentAgentID()._unsafeUnwrap()),
|
||||
Crypto.newRandomSessionID(newAccount.currentAgentID()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -2087,7 +2087,7 @@ test("Writers, readers and invitees can not set parent extensions", () => {
|
||||
group.core
|
||||
.testWithDifferentAccount(
|
||||
adminInvite,
|
||||
Crypto.newRandomSessionID(adminInvite.currentAgentID()._unsafeUnwrap()),
|
||||
Crypto.newRandomSessionID(adminInvite.currentAgentID()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -2099,9 +2099,7 @@ test("Writers, readers and invitees can not set parent extensions", () => {
|
||||
group.core
|
||||
.testWithDifferentAccount(
|
||||
writerInvite,
|
||||
Crypto.newRandomSessionID(
|
||||
writerInvite.currentAgentID()._unsafeUnwrap(),
|
||||
),
|
||||
Crypto.newRandomSessionID(writerInvite.currentAgentID()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -2113,9 +2111,7 @@ test("Writers, readers and invitees can not set parent extensions", () => {
|
||||
group.core
|
||||
.testWithDifferentAccount(
|
||||
readerInvite,
|
||||
Crypto.newRandomSessionID(
|
||||
readerInvite.currentAgentID()._unsafeUnwrap(),
|
||||
),
|
||||
Crypto.newRandomSessionID(readerInvite.currentAgentID()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -2209,7 +2205,7 @@ test("Invitees can not set child extensions", () => {
|
||||
group.core
|
||||
.testWithDifferentAccount(
|
||||
adminInvite,
|
||||
Crypto.newRandomSessionID(adminInvite.currentAgentID()._unsafeUnwrap()),
|
||||
Crypto.newRandomSessionID(adminInvite.currentAgentID()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -2221,9 +2217,7 @@ test("Invitees can not set child extensions", () => {
|
||||
group.core
|
||||
.testWithDifferentAccount(
|
||||
writerInvite,
|
||||
Crypto.newRandomSessionID(
|
||||
writerInvite.currentAgentID()._unsafeUnwrap(),
|
||||
),
|
||||
Crypto.newRandomSessionID(writerInvite.currentAgentID()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -2235,9 +2229,7 @@ test("Invitees can not set child extensions", () => {
|
||||
group.core
|
||||
.testWithDifferentAccount(
|
||||
readerInvite,
|
||||
Crypto.newRandomSessionID(
|
||||
readerInvite.currentAgentID()._unsafeUnwrap(),
|
||||
),
|
||||
Crypto.newRandomSessionID(readerInvite.currentAgentID()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -2422,7 +2414,7 @@ test("Writers, readers and invites can't reveal parent read keys to child groups
|
||||
group.core
|
||||
.testWithDifferentAccount(
|
||||
adminInvite,
|
||||
Crypto.newRandomSessionID(adminInvite.currentAgentID()._unsafeUnwrap()),
|
||||
Crypto.newRandomSessionID(adminInvite.currentAgentID()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -2440,9 +2432,7 @@ test("Writers, readers and invites can't reveal parent read keys to child groups
|
||||
group.core
|
||||
.testWithDifferentAccount(
|
||||
writerInvite,
|
||||
Crypto.newRandomSessionID(
|
||||
writerInvite.currentAgentID()._unsafeUnwrap(),
|
||||
),
|
||||
Crypto.newRandomSessionID(writerInvite.currentAgentID()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -2460,9 +2450,7 @@ test("Writers, readers and invites can't reveal parent read keys to child groups
|
||||
group.core
|
||||
.testWithDifferentAccount(
|
||||
readerInvite,
|
||||
Crypto.newRandomSessionID(
|
||||
readerInvite.currentAgentID()._unsafeUnwrap(),
|
||||
),
|
||||
Crypto.newRandomSessionID(readerInvite.currentAgentID()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -2941,7 +2929,7 @@ test("Can revoke read permission from 'everyone'", async () => {
|
||||
childObject.core
|
||||
.testWithDifferentAccount(
|
||||
newAccount,
|
||||
Crypto.newRandomSessionID(newAccount.currentAgentID()._unsafeUnwrap()),
|
||||
Crypto.newRandomSessionID(newAccount.currentAgentID()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
@@ -2963,7 +2951,7 @@ test("Can revoke read permission from 'everyone'", async () => {
|
||||
childObject.core
|
||||
.testWithDifferentAccount(
|
||||
newAccount2,
|
||||
Crypto.newRandomSessionID(newAccount2.currentAgentID()._unsafeUnwrap()),
|
||||
Crypto.newRandomSessionID(newAccount2.currentAgentID()),
|
||||
)
|
||||
.getCurrentContent(),
|
||||
);
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# create-jazz-app
|
||||
|
||||
## 0.1.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- e2e0af3: Handle workspace devDependencies of cloned apps when using create-jazz-app
|
||||
|
||||
## 0.1.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"types": "src/index.ts",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"version": "0.1.11",
|
||||
"version": "0.1.12",
|
||||
"bin": {
|
||||
"create-jazz-app": "./dist/index.js"
|
||||
},
|
||||
|
||||
@@ -136,19 +136,30 @@ async function scaffoldProject({
|
||||
const packageJsonPath = `${projectName}/package.json`;
|
||||
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
|
||||
|
||||
// Replace workspace: dependencies with latest
|
||||
if (packageJson.dependencies) {
|
||||
const latestVersions = await getLatestPackageVersions(
|
||||
packageJson.dependencies,
|
||||
);
|
||||
// Helper function to update workspace dependencies
|
||||
async function updateWorkspaceDependencies(
|
||||
dependencyType: "dependencies" | "devDependencies",
|
||||
) {
|
||||
if (packageJson[dependencyType]) {
|
||||
const latestVersions = await getLatestPackageVersions(
|
||||
packageJson[dependencyType],
|
||||
);
|
||||
|
||||
Object.entries(packageJson.dependencies).forEach(([pkg, version]) => {
|
||||
if (typeof version === "string" && version.includes("workspace:")) {
|
||||
packageJson.dependencies[pkg] = latestVersions[pkg];
|
||||
}
|
||||
});
|
||||
Object.entries(packageJson[dependencyType]).forEach(
|
||||
([pkg, version]) => {
|
||||
if (typeof version === "string" && version.includes("workspace:")) {
|
||||
packageJson[dependencyType][pkg] = latestVersions[pkg];
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
await Promise.all([
|
||||
updateWorkspaceDependencies("dependencies"),
|
||||
updateWorkspaceDependencies("devDependencies"),
|
||||
]);
|
||||
|
||||
packageJson.name = projectName;
|
||||
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
|
||||
depsSpinner.succeed(chalk.green("Dependencies updated"));
|
||||
|
||||
@@ -942,3 +942,5 @@ useAcceptInvite({ invitedObjectSchema:Project, onAccept:(id)=>navigate(`/project
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Continue: 2_jazz_schema_template.md
|
||||
@@ -211,4 +211,6 @@ export class JazzAccount extends Account {
|
||||
// }
|
||||
}
|
||||
|
||||
---
|
||||
---
|
||||
|
||||
Continue: 3_jazz_rules.md
|
||||
@@ -51,3 +51,5 @@
|
||||
6.3. Avoid redundant or conflicting rules from the template; these revised rules take priority.
|
||||
|
||||
---
|
||||
|
||||
Continue: 4_1_jazz_example.md
|
||||
@@ -223,3 +223,7 @@ export class PasswordManagerAccount extends Account {
|
||||
// }
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Continue: 4_2_jazz_example.md
|
||||
@@ -171,3 +171,7 @@ export class MusicAccount extends Account {
|
||||
// }
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Continue: 4_3_jazz_example.md
|
||||
@@ -176,3 +176,7 @@ export class PetAccount extends Account {
|
||||
// }
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Continue: 4_4_jazz_example.md
|
||||
@@ -234,3 +234,7 @@ export class BubbleTeaAccount extends Account {
|
||||
// }
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Continue: 4_5_jazz_example.md
|
||||
@@ -209,3 +209,7 @@ export class HRAccount extends Account {
|
||||
// }
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Continue: 4_6_jazz_example.md
|
||||
@@ -0,0 +1,67 @@
|
||||
---
|
||||
description: Creating Jazz Schema Rule
|
||||
globs: schema.ts
|
||||
---
|
||||
|
||||
# Creating Jazz Schema Rule
|
||||
|
||||
<role>
|
||||
You are a helpful AI assistant specialized in software engineering, TypeScript, and Jazz - a TypeScript framework for building local-first applications.
|
||||
</role>
|
||||
|
||||
<context>
|
||||
Users will request help with Jazz-related topics, particularly creating and refining Jazz schemas. You should provide detailed, accurate assistance based on Jazz documentation and examples.
|
||||
</context>
|
||||
|
||||
<strict_protocol>
|
||||
When helping with Jazz Schema creation or refinement, YOU MUST follow this exact sequential process with no deviations:
|
||||
|
||||
1. YOU MUST read and process each file IN ORDER. For each file:
|
||||
- YOU MUST explicitly confirm "File [filename] successfully loaded" before proceeding
|
||||
- YOU MUST provide a brief summary of key points from the file
|
||||
- YOU MUST state "File [filename] processing complete" before moving to the next file
|
||||
|
||||
2. File processing sequence (MANDATORY - NO SKIPPING):
|
||||
a. Jazz Docs: [1_jazz_docs.md](mdc:.cursor/docs/1_jazz_docs.md)
|
||||
- YOU MUST confirm reading before proceeding
|
||||
|
||||
b. Example Applications (process ONE BY ONE in sequence):
|
||||
- [4_1_jazz_example.md](mdc:.cursor/docs/4_1_jazz_example.md) - Password manager app
|
||||
- [4_2_jazz_example.md](mdc:.cursor/docs/4_2_jazz_example.md) - Music player app
|
||||
- [4_3_jazz_example.md](mdc:.cursor/docs/4_3_jazz_example.md) - Social pet app
|
||||
- [4_4_jazz_example.md](mdc:.cursor/docs/4_4_jazz_example.md) - Bubble tea ordering app
|
||||
- [4_5_jazz_example.md](mdc:.cursor/docs/4_5_jazz_example.md) - Employee onboarding app
|
||||
- [4_6_jazz_example.md](mdc:.cursor/docs/4_6_jazz_example.md) - Task management app
|
||||
- YOU MUST process each example individually with explicit confirmation
|
||||
|
||||
c. Jazz Schema Template: [2_jazz_schema_template.md](mdc:.cursor/docs/2_jazz_schema_template.md)
|
||||
- YOU MUST confirm reading before proceeding
|
||||
|
||||
d. Jazz Schema Rules: [3_jazz_rules.md](mdc:.cursor/docs/3_jazz_rules.md)
|
||||
- YOU MUST confirm reading before proceeding
|
||||
|
||||
3. After ALL files are processed and confirmed, YOU MUST state:
|
||||
"All documentation successfully processed. Now creating Jazz schema based on requirements."
|
||||
</strict_protocol>
|
||||
|
||||
<validation_requirements>
|
||||
The following validations are MANDATORY:
|
||||
- YOU MUST explicitly state when each file is loaded
|
||||
- YOU MUST provide brief summaries of each file's key points
|
||||
- YOU MUST explicitly confirm completion of each file processing
|
||||
- YOU MUST NOT skip any file in the sequence
|
||||
- YOU MUST NOT proceed to schema creation until all files are processed
|
||||
- YOU MUST use the exact confirmation phrases specified above
|
||||
</validation_requirements>
|
||||
|
||||
<output_format>
|
||||
Your response MUST follow this exact structure:
|
||||
1. File processing confirmations and summaries (for each file)
|
||||
2. Final confirmation that all files were processed
|
||||
3. Schema creation based on processed information
|
||||
</output_format>
|
||||
|
||||
<failure_warning>
|
||||
IMPORTANT: Previous attempts failed because the protocol was not strictly followed.
|
||||
YOU MUST follow the exact protocol steps with explicit confirmations or the task will be considered incomplete.
|
||||
</failure_warning>
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
description: Creating Jazz Schema Rule
|
||||
globs: *.ts, *.tsx
|
||||
---
|
||||
|
||||
# Creating Jazz Schema Rule
|
||||
You are a helpful AI assistant specialized in software engineering, TypeScript, Jazz.
|
||||
Jazz is a TypeScript framework for building local-first apps.
|
||||
Users can ask your help with anything related to Jazz, including creating Jazz schemas.
|
||||
|
||||
If the user needs help with creating or refining a Jazz Schema, follow this agentic protocol:
|
||||
1) read the Jazz Docs [1_jazz_docs.md](mdc:packages/cursor-docs/docs/1_jazz_docs.md)
|
||||
2) read each example one by one:
|
||||
- [4_1_example_without_specs.md](mdc:docs/4_1_example_without_specs.md) for example app 1: A secure and organized password manager app that allows users to store, manage, and categorize their credentials in folders
|
||||
- [4_2_example_without_specs.md](mdc:docs/4_2_example_without_specs.md) for example app 2: A feature-rich music player app that allows users to manage playlists, store tracks, and visualize audio waveforms
|
||||
- @4_3_example_without_specs.md for example app 3: A social pet app where users can share pet photos, react with fun emojis, and organize posts in a collaborative feed
|
||||
- [4_4_example_without_specs.md](mdc:docs/4_4_example_without_specs.md) for example app 4: A bubble tea ordering app that lets users customize drinks with different tea bases, add-ons, and delivery preferences
|
||||
- [4_5_example_without_specs.md](mdc:docs/4_5_example_without_specs.md) for example app 5: An employee onboarding app that streamlines the hiring process through structured steps, including initial data collection, document uploads, and final approvals
|
||||
- [4_6_example_without_specs.md](mdc:docs/4_6_example_without_specs.md) for example app 6: A task management app that helps users organize their to-dos with categories, tags, due dates, and priority levels
|
||||
3) read the Jazz Schema template you have to follow [2_jazz_schema_template.md](mdc:docs/2_jazz_schema_template.md)
|
||||
4) read the rules for creating Jazz Schema [3_jazz_rules.md](mdc:docs/3_jazz_rules.md)
|
||||
|
||||
When processing files:
|
||||
1. MUST validate each file was read
|
||||
2. MUST process files in sequence
|
||||
3. MUST confirm completion before continuing
|
||||
|
||||
After you followed all four steps, continue with correctly creating the schema based on what you learned.
|
||||
@@ -1,5 +1,21 @@
|
||||
# jazz-browser-media-images
|
||||
|
||||
## 0.10.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-browser@0.10.13
|
||||
|
||||
## 0.10.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-browser@0.10.12
|
||||
|
||||
## 0.10.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"name": "jazz-auth-clerk",
|
||||
"version": "0.10.9",
|
||||
"version": "0.10.13",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cojson": "workspace:0.10.8",
|
||||
"jazz-browser": "workspace:0.10.9",
|
||||
"jazz-tools": "workspace:0.10.8"
|
||||
"jazz-browser": "workspace:0.10.13",
|
||||
"jazz-tools": "workspace:0.10.13"
|
||||
},
|
||||
"scripts": {
|
||||
"format-and-lint": "biome check .",
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
# jazz-browser-media-images
|
||||
|
||||
## 0.10.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-browser@0.10.13
|
||||
|
||||
## 0.10.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-browser@0.10.12
|
||||
|
||||
## 0.10.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-browser-media-images",
|
||||
"version": "0.10.9",
|
||||
"version": "0.10.13",
|
||||
"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.9",
|
||||
"jazz-tools": "workspace:0.10.8",
|
||||
"jazz-browser": "workspace:0.10.13",
|
||||
"jazz-tools": "workspace:0.10.13",
|
||||
"pica": "^9.0.1",
|
||||
"typescript": "~5.6.2"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,19 @@
|
||||
# jazz-browser
|
||||
|
||||
## 0.10.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
|
||||
## 0.10.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
|
||||
## 0.10.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-browser",
|
||||
"version": "0.10.9",
|
||||
"version": "0.10.13",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
# jazz-inspector
|
||||
|
||||
## 0.10.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-react-core@0.10.10
|
||||
|
||||
## 0.10.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-react-core@0.10.9
|
||||
- jazz-tools@0.10.12
|
||||
|
||||
## 0.10.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-inspector",
|
||||
"version": "0.10.8",
|
||||
"version": "0.10.10",
|
||||
"type": "module",
|
||||
"main": "./dist/app.js",
|
||||
"types": "./dist/app.d.ts",
|
||||
|
||||
@@ -1,5 +1,19 @@
|
||||
# jazz-autosub
|
||||
|
||||
## 0.10.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
|
||||
## 0.10.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
|
||||
## 0.10.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"types": "src/index.ts",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"version": "0.10.8",
|
||||
"version": "0.10.13",
|
||||
"dependencies": {
|
||||
"cojson": "workspace:*",
|
||||
"cojson-transport-ws": "workspace:*",
|
||||
|
||||
@@ -1,5 +1,25 @@
|
||||
# jazz-browser-media-images
|
||||
|
||||
## 0.10.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-auth-clerk@0.10.13
|
||||
- jazz-browser@0.10.13
|
||||
- jazz-react@0.10.13
|
||||
|
||||
## 0.10.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-react@0.10.12
|
||||
- jazz-auth-clerk@0.10.12
|
||||
- jazz-browser@0.10.12
|
||||
|
||||
## 0.10.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-react-auth-clerk",
|
||||
"version": "0.10.9",
|
||||
"version": "0.10.13",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.tsx",
|
||||
|
||||
@@ -1,5 +1,20 @@
|
||||
# jazz-react-core
|
||||
|
||||
## 0.10.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
|
||||
## 0.10.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 4612e05: Fix type inference on `useCoState`
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
|
||||
## 0.10.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-react-core",
|
||||
"version": "0.10.8",
|
||||
"version": "0.10.10",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
|
||||
@@ -29,6 +29,7 @@ export function usePassphraseAuth({
|
||||
return new PassphraseAuth(
|
||||
context.node.crypto,
|
||||
context.authenticate,
|
||||
context.register,
|
||||
authSecretStorage,
|
||||
wordlist,
|
||||
);
|
||||
@@ -50,6 +51,8 @@ export function usePassphraseAuth({
|
||||
state: isAuthenticated ? "signedIn" : "anonymous",
|
||||
logIn: authMethod.logIn,
|
||||
signUp: authMethod.signUp,
|
||||
registerNewAccount: authMethod.registerNewAccount,
|
||||
generateRandomPassphrase: authMethod.generateRandomPassphrase,
|
||||
passphrase,
|
||||
} as const;
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ function useCoValueObservable<V extends CoValue, D>() {
|
||||
export function useCoState<V extends CoValue, D>(
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
Schema: CoValueClass<V>,
|
||||
id: ID<V> | undefined,
|
||||
id: ID<CoValue> | undefined,
|
||||
depth: D & DepthsIn<V> = [] as D & DepthsIn<V>,
|
||||
): DeeplyLoaded<V, D> | undefined | null {
|
||||
const contextManager = useJazzContextManager();
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// @vitest-environment happy-dom
|
||||
|
||||
import { cojsonInternals } from "cojson";
|
||||
import { CoMap, co } from "jazz-tools";
|
||||
import { beforeEach, describe, expect, it } from "vitest";
|
||||
import { CoMap, CoValue, ID, co } from "jazz-tools";
|
||||
import { beforeEach, describe, expect, expectTypeOf, it } from "vitest";
|
||||
import { useCoState } from "../index.js";
|
||||
import { createJazzTestAccount, setupJazzTestSync } from "../testing.js";
|
||||
import { act, renderHook, waitFor } from "./testUtils.js";
|
||||
@@ -157,4 +157,21 @@ describe("useCoState", () => {
|
||||
expect(result.current).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
it("should return the same type as Schema", () => {
|
||||
class TestMap extends CoMap {
|
||||
value = co.string;
|
||||
}
|
||||
|
||||
const map = TestMap.create({
|
||||
value: "123",
|
||||
});
|
||||
|
||||
const { result } = renderHook(() =>
|
||||
useCoState(TestMap, map.id as ID<CoValue>, []),
|
||||
);
|
||||
expectTypeOf(result).toEqualTypeOf<{
|
||||
current: TestMap | null | undefined;
|
||||
}>();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,5 +1,30 @@
|
||||
# jazz-react-native-auth-clerk
|
||||
|
||||
## 0.10.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-auth-clerk@0.10.13
|
||||
- jazz-react-native@0.10.13
|
||||
|
||||
## 0.10.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-react-native@0.10.12
|
||||
- jazz-auth-clerk@0.10.12
|
||||
|
||||
## 0.10.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [5a54e4a]
|
||||
- jazz-react-native@0.10.11
|
||||
|
||||
## 0.10.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-react-native-auth-clerk",
|
||||
"version": "0.10.10",
|
||||
"version": "0.10.13",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.tsx",
|
||||
|
||||
@@ -1,5 +1,19 @@
|
||||
# jazz-browser-media-images
|
||||
|
||||
## 0.10.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
|
||||
## 0.10.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
|
||||
## 0.10.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-react-native-media-images",
|
||||
"version": "0.10.8",
|
||||
"version": "0.10.13",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
|
||||
@@ -1,5 +1,27 @@
|
||||
# jazz-browser
|
||||
|
||||
## 0.10.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-react-core@0.10.10
|
||||
|
||||
## 0.10.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-react-core@0.10.9
|
||||
- jazz-tools@0.10.12
|
||||
|
||||
## 0.10.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 5a54e4a: Don't export RNQuickCrypto to avoid install errors
|
||||
|
||||
## 0.10.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-react-native",
|
||||
"version": "0.10.10",
|
||||
"version": "0.10.13",
|
||||
"type": "module",
|
||||
"main": "./dist/index.js",
|
||||
"module": "./dist/index.js",
|
||||
|
||||
@@ -3,7 +3,6 @@ export * from "./auth/auth.js";
|
||||
export * from "./storage/kv-store-context.js";
|
||||
export * from "./hooks.js";
|
||||
export * from "./media.js";
|
||||
export * from "./crypto/index.js";
|
||||
|
||||
export { parseInviteLink } from "jazz-tools";
|
||||
export { createInviteLink, setupKvStore } from "./platform.js";
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
# jazz-react
|
||||
|
||||
## 0.10.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-browser@0.10.13
|
||||
- jazz-react-core@0.10.10
|
||||
|
||||
## 0.10.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-react-core@0.10.9
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-browser@0.10.12
|
||||
|
||||
## 0.10.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-react",
|
||||
"version": "0.10.9",
|
||||
"version": "0.10.13",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "src/index.ts",
|
||||
@@ -18,9 +18,9 @@
|
||||
"dependencies": {
|
||||
"@scure/bip39": "^1.3.0",
|
||||
"cojson": "workspace:0.10.8",
|
||||
"jazz-browser": "workspace:0.10.9",
|
||||
"jazz-browser": "workspace:0.10.13",
|
||||
"jazz-react-core": "workspace:*",
|
||||
"jazz-tools": "workspace:0.10.8"
|
||||
"jazz-tools": "workspace:0.10.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@testing-library/dom": "^10.4.0",
|
||||
|
||||
@@ -1,5 +1,19 @@
|
||||
# jazz-run
|
||||
|
||||
## 0.10.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
|
||||
## 0.10.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
|
||||
## 0.10.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"bin": "./dist/index.js",
|
||||
"type": "module",
|
||||
"license": "MIT",
|
||||
"version": "0.10.8",
|
||||
"version": "0.10.13",
|
||||
"exports": {
|
||||
"./startSyncServer": {
|
||||
"import": "./dist/startSyncServer.js",
|
||||
@@ -32,7 +32,7 @@
|
||||
"cojson-storage-sqlite": "workspace:0.10.8",
|
||||
"cojson-transport-ws": "workspace:0.10.8",
|
||||
"effect": "^3.6.5",
|
||||
"jazz-tools": "workspace:0.10.8",
|
||||
"jazz-tools": "workspace:0.10.13",
|
||||
"ws": "^8.14.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -1,5 +1,22 @@
|
||||
# jazz-svelte
|
||||
|
||||
## 0.10.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [07feedd]
|
||||
- jazz-tools@0.10.13
|
||||
- jazz-browser@0.10.13
|
||||
|
||||
## 0.10.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 4612e05: Fix type inference on `useCoState`
|
||||
- Updated dependencies [4612e05]
|
||||
- jazz-tools@0.10.12
|
||||
- jazz-browser@0.10.12
|
||||
|
||||
## 0.10.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jazz-svelte",
|
||||
"version": "0.10.9",
|
||||
"version": "0.10.13",
|
||||
"scripts": {
|
||||
"dev": "vite dev",
|
||||
"build": "vite build && npm run package",
|
||||
|
||||
@@ -14,6 +14,7 @@ export function usePassphraseAuth({
|
||||
const auth = new PassphraseAuth(
|
||||
context.current.node.crypto,
|
||||
context.current.authenticate,
|
||||
context.current.register,
|
||||
authSecretStorage,
|
||||
wordlist
|
||||
);
|
||||
@@ -35,6 +36,8 @@ export function usePassphraseAuth({
|
||||
return {
|
||||
logIn: auth.logIn,
|
||||
signUp: auth.signUp,
|
||||
registerNewAccount: auth.registerNewAccount,
|
||||
generateRandomPassphrase: auth.generateRandomPassphrase,
|
||||
get passphrase() {
|
||||
return passphrase;
|
||||
},
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user