Compare commits
49 Commits
jazz-react
...
jazz-run@0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40e1ca7cb1 | ||
|
|
80cf21e453 | ||
|
|
48c8a3d219 | ||
|
|
31bb1201fc | ||
|
|
08d1b05607 | ||
|
|
d64a14210d | ||
|
|
7e53d33e9b | ||
|
|
ea2b39cc30 | ||
|
|
6b835f95cf | ||
|
|
a229ae5f70 | ||
|
|
84fdc1d8fd | ||
|
|
14a8b32522 | ||
|
|
ddc09a0d6b | ||
|
|
3b45a3f2fd | ||
|
|
9034a45da0 | ||
|
|
a5ceaffb0c | ||
|
|
dcee2f9b4e | ||
|
|
83fdc504ff | ||
|
|
a34c0675cd | ||
|
|
5a8a62b4a3 | ||
|
|
325a554bd1 | ||
|
|
7422943e83 | ||
|
|
23bfea5861 | ||
|
|
605a54eb11 | ||
|
|
a7aaee51e6 | ||
|
|
4b8983858a | ||
|
|
8a8c4d11e1 | ||
|
|
b774bb345d | ||
|
|
7fd891d7b9 | ||
|
|
27cac4a6d7 | ||
|
|
2b71ef1181 | ||
|
|
ae169c7b3a | ||
|
|
d888c99d9a | ||
|
|
0b54917f19 | ||
|
|
c87b215b75 | ||
|
|
e4ba23cbef | ||
|
|
98c005a6e0 | ||
|
|
8528db4de4 | ||
|
|
e0fe5a20b7 | ||
|
|
e16e4d53d1 | ||
|
|
d904fae506 | ||
|
|
f67c0b3db3 | ||
|
|
283d7c6bf0 | ||
|
|
0e7a7dbbc0 | ||
|
|
63c69b6b95 | ||
|
|
fd02627069 | ||
|
|
827adc991d | ||
|
|
651b69e5af | ||
|
|
277e4d49e8 |
35
.github/pull_request_template.md
vendored
35
.github/pull_request_template.md
vendored
@@ -1,24 +1,23 @@
|
|||||||
### What this Does
|
# Description
|
||||||
Brief summary of the change, ideally framed in user or product terms.
|
<!-- Please include a summary of the change and which issue is fixed -->
|
||||||
|
<!-- Please also include relevant motivation and context -->
|
||||||
|
<!-- Include any links to documentation like RFC’s if necessary -->
|
||||||
|
<!-- Add a link to to relevant preview environments or anything that would simplify visual review process -->
|
||||||
|
<!-- Supplemental screenshots and video are encouraged, but the primary description should be in text -->
|
||||||
|
|
||||||
### Why Are We Doing This?
|
## Manual testing instructions
|
||||||
Link to the shaped pitch or explain what problem it solves.
|
|
||||||
|
|
||||||
### Scope / Boundaries
|
<!-- Add any actions required to manually test the changes -->
|
||||||
Includes:
|
|
||||||
- [x] Core feature functionality
|
|
||||||
- [x] Tests or validation steps
|
|
||||||
|
|
||||||
Do NOT include:
|
## Tests
|
||||||
- [ ] Related stretch features or follow-ups
|
|
||||||
|
|
||||||
### Testing Instructions
|
- [ ] Tests have been added and/or updated
|
||||||
How a reviewer or QA can verify behavior, offer step-by-step instructions if possible. Screenshots or recordings are welcome.
|
- [ ] Tests have not been updated, because: <!-- Insert reason for not updating tests here -->
|
||||||
|
- [ ] I need help with writing tests
|
||||||
|
|
||||||
### Known Issues / Open Questions (if any)
|
|
||||||
- [ ] Note anything you’d like review on or decided async
|
|
||||||
|
|
||||||
### Related Links
|
## Checklist
|
||||||
- GitHub issue
|
|
||||||
- Linear pitch
|
- [ ] I've updated the part of the docs that are affected the PR changes
|
||||||
- Design links or references
|
- [ ] I've generated a changeset, if a version bump is required
|
||||||
|
- [ ] I've updated the jsDoc comments to the public APIs I've modified, or added them when missing
|
||||||
6
.github/workflows/code-quality.yml
vendored
6
.github/workflows/code-quality.yml
vendored
@@ -1,5 +1,11 @@
|
|||||||
name: Code quality
|
name: Code quality
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
# For pushes, this lets concurrent runs happen, so each push gets a result.
|
||||||
|
# But for other events (e.g. PRs), we can cancel the previous runs.
|
||||||
|
group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.sha || github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
|
|||||||
8
.github/workflows/e2e-rn-test.yml
vendored
8
.github/workflows/e2e-rn-test.yml
vendored
@@ -1,5 +1,11 @@
|
|||||||
name: End-to-End Tests for React Native
|
name: End-to-End Tests for React Native
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
# For pushes, this lets concurrent runs happen, so each push gets a result.
|
||||||
|
# But for other events (e.g. PRs), we can cancel the previous runs.
|
||||||
|
group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.sha || github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
types: [opened, synchronize, reopened]
|
types: [opened, synchronize, reopened]
|
||||||
@@ -61,7 +67,7 @@ jobs:
|
|||||||
disable-animations: true
|
disable-animations: true
|
||||||
working-directory: ./examples/chat-rn-expo/
|
working-directory: ./examples/chat-rn-expo/
|
||||||
# killall due to this issue: https://github.com/ReactiveCircus/android-emulator-runner/issues/385
|
# killall due to this issue: https://github.com/ReactiveCircus/android-emulator-runner/issues/385
|
||||||
script: ./test/e2e/run.sh && killall -INT crashpad_handler || true
|
script: ./test/e2e/run.sh && ( killall -INT crashpad_handler || true )
|
||||||
|
|
||||||
- name: Copy Maestro Output
|
- name: Copy Maestro Output
|
||||||
if: steps.e2e_test.outcome != 'success'
|
if: steps.e2e_test.outcome != 'success'
|
||||||
|
|||||||
6
.github/workflows/jazz-run.yml
vendored
6
.github/workflows/jazz-run.yml
vendored
@@ -1,5 +1,11 @@
|
|||||||
name: Jazz Run Tests
|
name: Jazz Run Tests
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
# For pushes, this lets concurrent runs happen, so each push gets a result.
|
||||||
|
# But for other events (e.g. PRs), we can cancel the previous runs.
|
||||||
|
group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.sha || github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: ["main"]
|
branches: ["main"]
|
||||||
|
|||||||
8
.github/workflows/playwright-homepage.yml
vendored
8
.github/workflows/playwright-homepage.yml
vendored
@@ -1,4 +1,10 @@
|
|||||||
name: Playwright Tests
|
name: Playwright Tests - Homepage
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
# For pushes, this lets concurrent runs happen, so each push gets a result.
|
||||||
|
# But for other events (e.g. PRs), we can cancel the previous runs.
|
||||||
|
group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.sha || github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
|||||||
6
.github/workflows/playwright.yml
vendored
6
.github/workflows/playwright.yml
vendored
@@ -1,5 +1,11 @@
|
|||||||
name: Playwright Tests
|
name: Playwright Tests
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
# For pushes, this lets concurrent runs happen, so each push gets a result.
|
||||||
|
# But for other events (e.g. PRs), we can cancel the previous runs.
|
||||||
|
group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.sha || github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: ["main"]
|
branches: ["main"]
|
||||||
|
|||||||
7
.github/workflows/pre-release.yml
vendored
7
.github/workflows/pre-release.yml
vendored
@@ -1,4 +1,11 @@
|
|||||||
name: Pre-Publish tagged Pull Requests
|
name: Pre-Publish tagged Pull Requests
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
# For pushes, this lets concurrent runs happen, so each push gets a result.
|
||||||
|
# But for other events (e.g. PRs), we can cancel the previous runs.
|
||||||
|
group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.sha || github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
types: [opened, synchronize, reopened, labeled]
|
types: [opened, synchronize, reopened, labeled]
|
||||||
|
|||||||
6
.github/workflows/unit-test.yml
vendored
6
.github/workflows/unit-test.yml
vendored
@@ -1,5 +1,11 @@
|
|||||||
name: Unit Tests
|
name: Unit Tests
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
# For pushes, this lets concurrent runs happen, so each push gets a result.
|
||||||
|
# But for other events (e.g. PRs), we can cancel the previous runs.
|
||||||
|
group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.sha || github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
types: [opened, synchronize, reopened]
|
types: [opened, synchronize, reopened]
|
||||||
|
|||||||
@@ -1,5 +1,27 @@
|
|||||||
# passkey-svelte
|
# passkey-svelte
|
||||||
|
|
||||||
|
## 0.0.95
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a5ceaff]
|
||||||
|
- jazz-tools@0.15.6
|
||||||
|
|
||||||
|
## 0.0.94
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [23bfea5]
|
||||||
|
- Updated dependencies [e4ba23c]
|
||||||
|
- Updated dependencies [4b89838]
|
||||||
|
- jazz-tools@0.15.5
|
||||||
|
|
||||||
|
## 0.0.93
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- jazz-tools@0.15.4
|
||||||
|
|
||||||
## 0.0.92
|
## 0.0.92
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "chat-svelte",
|
"name": "chat-svelte",
|
||||||
"version": "0.0.92",
|
"version": "0.0.95",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ To use it, install the following Packages:
|
|||||||
|
|
||||||
<CodeGroup>
|
<CodeGroup>
|
||||||
```bash
|
```bash
|
||||||
pnpm add react-native-quick-crypto@1.0.0-beta.18 react-native-nitro-modules
|
pnpm add react-native-quick-crypto@1.0.0-beta.18 react-native-nitro-modules react-native-fast-encoder
|
||||||
```
|
```
|
||||||
</CodeGroup>
|
</CodeGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ To use it, install the following Packages:
|
|||||||
|
|
||||||
<CodeGroup>
|
<CodeGroup>
|
||||||
```bash
|
```bash
|
||||||
pnpm add react-native-quick-crypto@1.0.0-beta.18 react-native-nitro-modules
|
pnpm add react-native-quick-crypto@1.0.0-beta.18 react-native-nitro-modules react-native-fast-encoder
|
||||||
```
|
```
|
||||||
</CodeGroup>
|
</CodeGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ npx expo prebuild
|
|||||||
<CodeGroup>
|
<CodeGroup>
|
||||||
```bash
|
```bash
|
||||||
# Expo dependencies
|
# Expo dependencies
|
||||||
npx expo install expo-linking expo-secure-store expo-file-system @react-native-community/netinfo @bam.tech/react-native-image-resizer
|
npx expo install expo-linking expo-secure-store expo-sqlite expo-file-system @react-native-community/netinfo @bam.tech/react-native-image-resizer
|
||||||
|
|
||||||
# React Native polyfills
|
# React Native polyfills
|
||||||
npm i -S @azure/core-asynciterator-polyfill react-native-url-polyfill readable-stream react-native-get-random-values
|
npm i -S @azure/core-asynciterator-polyfill react-native-url-polyfill readable-stream react-native-get-random-values
|
||||||
|
|||||||
@@ -23,8 +23,7 @@
|
|||||||
"playwright": "^1.50.1",
|
"playwright": "^1.50.1",
|
||||||
"turbo": "^2.3.1",
|
"turbo": "^2.3.1",
|
||||||
"typedoc": "^0.25.13",
|
"typedoc": "^0.25.13",
|
||||||
"vitest": "catalog:",
|
"vitest": "catalog:"
|
||||||
"yalc": "^1.0.0-pre.53"
|
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "turbo dev",
|
"dev": "turbo dev",
|
||||||
@@ -40,8 +39,7 @@
|
|||||||
"changeset-version": "changeset version && pnpm i --no-frozen-lockfile",
|
"changeset-version": "changeset version && pnpm i --no-frozen-lockfile",
|
||||||
"release": "turbo run build --filter='./packages/*' && pnpm changeset publish && git push --follow-tags",
|
"release": "turbo run build --filter='./packages/*' && pnpm changeset publish && git push --follow-tags",
|
||||||
"clean": "rm -rf ./packages/*/dist && rm -rf ./packages/*/node_modules && rm -rf ./examples/*/node_modules && rm -rf ./examples/*/dist",
|
"clean": "rm -rf ./packages/*/dist && rm -rf ./packages/*/node_modules && rm -rf ./examples/*/node_modules && rm -rf ./examples/*/dist",
|
||||||
"check-catalog-deps": "node scripts/check-catalog-deps.js",
|
"check-catalog-deps": "node scripts/check-catalog-deps.js"
|
||||||
"yalc:all": "for d in packages/*/; do echo $d; cd $d; pnpm yalc push --replace --sig; cd '../../'; done"
|
|
||||||
},
|
},
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"pnpm": {
|
"pnpm": {
|
||||||
|
|||||||
@@ -1,5 +1,27 @@
|
|||||||
# cojson-storage-indexeddb
|
# cojson-storage-indexeddb
|
||||||
|
|
||||||
|
## 0.15.6
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- cojson@0.15.6
|
||||||
|
- cojson-storage@0.15.6
|
||||||
|
|
||||||
|
## 0.15.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- cojson@0.15.5
|
||||||
|
- cojson-storage@0.15.5
|
||||||
|
|
||||||
|
## 0.15.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [277e4d4]
|
||||||
|
- cojson@0.15.4
|
||||||
|
- cojson-storage@0.15.4
|
||||||
|
|
||||||
## 0.15.3
|
## 0.15.3
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "cojson-storage-indexeddb",
|
"name": "cojson-storage-indexeddb",
|
||||||
"version": "0.15.3",
|
"version": "0.15.6",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
|
|||||||
@@ -1,5 +1,27 @@
|
|||||||
# cojson-storage-sqlite
|
# cojson-storage-sqlite
|
||||||
|
|
||||||
|
## 0.15.6
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- cojson@0.15.6
|
||||||
|
- cojson-storage@0.15.6
|
||||||
|
|
||||||
|
## 0.15.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- cojson@0.15.5
|
||||||
|
- cojson-storage@0.15.5
|
||||||
|
|
||||||
|
## 0.15.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [277e4d4]
|
||||||
|
- cojson@0.15.4
|
||||||
|
- cojson-storage@0.15.4
|
||||||
|
|
||||||
## 0.15.3
|
## 0.15.3
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
{
|
{
|
||||||
"name": "cojson-storage-sqlite",
|
"name": "cojson-storage-sqlite",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "0.15.3",
|
"version": "0.15.6",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"better-sqlite3": "^11.7.0",
|
"better-sqlite3": "^11.7.0",
|
||||||
"cojson": "workspace:0.15.3",
|
"cojson": "workspace:0.15.6",
|
||||||
"cojson-storage": "workspace:*"
|
"cojson-storage": "workspace:*"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
@@ -1,5 +1,24 @@
|
|||||||
# cojson-storage
|
# cojson-storage
|
||||||
|
|
||||||
|
## 0.15.6
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- cojson@0.15.6
|
||||||
|
|
||||||
|
## 0.15.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- cojson@0.15.5
|
||||||
|
|
||||||
|
## 0.15.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [277e4d4]
|
||||||
|
- cojson@0.15.4
|
||||||
|
|
||||||
## 0.15.3
|
## 0.15.3
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "cojson-storage",
|
"name": "cojson-storage",
|
||||||
"version": "0.15.3",
|
"version": "0.15.6",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
|
|||||||
@@ -1,5 +1,24 @@
|
|||||||
# cojson-transport-nodejs-ws
|
# cojson-transport-nodejs-ws
|
||||||
|
|
||||||
|
## 0.15.6
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- cojson@0.15.6
|
||||||
|
|
||||||
|
## 0.15.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- cojson@0.15.5
|
||||||
|
|
||||||
|
## 0.15.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [277e4d4]
|
||||||
|
- cojson@0.15.4
|
||||||
|
|
||||||
## 0.15.3
|
## 0.15.3
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "cojson-transport-ws",
|
"name": "cojson-transport-ws",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "0.15.3",
|
"version": "0.15.6",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|||||||
@@ -1,5 +1,15 @@
|
|||||||
# cojson
|
# cojson
|
||||||
|
|
||||||
|
## 0.15.6
|
||||||
|
|
||||||
|
## 0.15.5
|
||||||
|
|
||||||
|
## 0.15.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 277e4d4: Fix sync with circular deps
|
||||||
|
|
||||||
## 0.15.3
|
## 0.15.3
|
||||||
|
|
||||||
## 0.15.2
|
## 0.15.2
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
},
|
},
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"version": "0.15.3",
|
"version": "0.15.6",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@opentelemetry/sdk-metrics": "^2.0.0",
|
"@opentelemetry/sdk-metrics": "^2.0.0",
|
||||||
"typescript": "catalog:"
|
"typescript": "catalog:"
|
||||||
|
|||||||
@@ -207,7 +207,17 @@ export class SyncManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sendNewContentIncludingDependencies(id: RawCoID, peer: PeerState) {
|
sendNewContentIncludingDependencies(
|
||||||
|
id: RawCoID,
|
||||||
|
peer: PeerState,
|
||||||
|
seen: Set<RawCoID> = new Set(),
|
||||||
|
) {
|
||||||
|
if (seen.has(id)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
seen.add(id);
|
||||||
|
|
||||||
const coValue = this.local.getCoValue(id);
|
const coValue = this.local.getCoValue(id);
|
||||||
|
|
||||||
if (!coValue.isAvailable()) {
|
if (!coValue.isAvailable()) {
|
||||||
@@ -215,7 +225,7 @@ export class SyncManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (const dependency of coValue.getDependedOnCoValues()) {
|
for (const dependency of coValue.getDependedOnCoValues()) {
|
||||||
this.sendNewContentIncludingDependencies(dependency, peer);
|
this.sendNewContentIncludingDependencies(dependency, peer, seen);
|
||||||
}
|
}
|
||||||
|
|
||||||
const newContentPieces = coValue.verified.newContentSince(
|
const newContentPieces = coValue.verified.newContentSince(
|
||||||
@@ -494,7 +504,7 @@ export class SyncManager {
|
|||||||
)) {
|
)) {
|
||||||
const dependencyCoValue = this.local.getCoValue(dependency);
|
const dependencyCoValue = this.local.getCoValue(dependency);
|
||||||
|
|
||||||
if (!dependencyCoValue.isAvailable()) {
|
if (!dependencyCoValue.verified) {
|
||||||
coValue.markMissingDependency(dependency);
|
coValue.markMissingDependency(dependency);
|
||||||
|
|
||||||
if (!dependencyCoValue.verified) {
|
if (!dependencyCoValue.verified) {
|
||||||
|
|||||||
@@ -826,4 +826,46 @@ describe("loading coValues from server", () => {
|
|||||||
]
|
]
|
||||||
`);
|
`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("coValue with circular deps loading", async () => {
|
||||||
|
const client = setupTestNode({
|
||||||
|
connected: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
const group = client.node.createGroup();
|
||||||
|
const parentGroup = client.node.createGroup();
|
||||||
|
parentGroup.addMember("everyone", "reader");
|
||||||
|
|
||||||
|
group.extend(parentGroup);
|
||||||
|
|
||||||
|
// Disable the circular dependency check in the extend function
|
||||||
|
vi.spyOn(parentGroup, "isSelfExtension").mockImplementation(() => false);
|
||||||
|
|
||||||
|
parentGroup.extend(group);
|
||||||
|
|
||||||
|
const map = group.createMap();
|
||||||
|
map.set("hello", "world");
|
||||||
|
|
||||||
|
await map.core.waitForSync();
|
||||||
|
|
||||||
|
expect(
|
||||||
|
SyncMessagesLog.getMessages({
|
||||||
|
ParentGroup: parentGroup.core,
|
||||||
|
Group: group.core,
|
||||||
|
Map: map.core,
|
||||||
|
}),
|
||||||
|
).toMatchInlineSnapshot(`
|
||||||
|
[
|
||||||
|
"client -> server | CONTENT ParentGroup header: true new: After: 0 New: 8",
|
||||||
|
"server -> client | LOAD Group sessions: empty",
|
||||||
|
"client -> server | CONTENT Group header: true new: After: 0 New: 6",
|
||||||
|
"server -> client | KNOWN ParentGroup sessions: empty",
|
||||||
|
"client -> server | CONTENT Group header: true new: After: 0 New: 6",
|
||||||
|
"server -> client | KNOWN Group sessions: header/6",
|
||||||
|
"client -> server | CONTENT Map header: true new: After: 0 New: 1",
|
||||||
|
"server -> client | KNOWN Group sessions: header/6",
|
||||||
|
"server -> client | KNOWN Map sessions: header/1",
|
||||||
|
]
|
||||||
|
`);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
# create-jazz-app
|
# create-jazz-app
|
||||||
|
|
||||||
|
## 0.1.25
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- b774bb3: Add default project name
|
||||||
|
|
||||||
## 0.1.24
|
## 0.1.24
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
"types": "src/index.ts",
|
"types": "src/index.ts",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"version": "0.1.24",
|
"version": "0.1.25",
|
||||||
"bin": {
|
"bin": {
|
||||||
"create-jazz-app": "./dist/index.js"
|
"create-jazz-app": "./dist/index.js"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -493,10 +493,24 @@ async function promptUser(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!partialOptions.projectName) {
|
if (!partialOptions.projectName) {
|
||||||
|
// Determine a default project name if possible
|
||||||
|
let defaultProjectName = undefined;
|
||||||
|
if (partialOptions.example) {
|
||||||
|
// Use the example name, affixed with -app if not already
|
||||||
|
defaultProjectName = partialOptions.example.endsWith("-app")
|
||||||
|
? partialOptions.example
|
||||||
|
: `${partialOptions.example}-app`;
|
||||||
|
} else if (partialOptions.starter) {
|
||||||
|
// Use the starter name, affixed with -app if not already
|
||||||
|
defaultProjectName = partialOptions.starter.endsWith("-app")
|
||||||
|
? partialOptions.starter
|
||||||
|
: `${partialOptions.starter}-app`;
|
||||||
|
}
|
||||||
questions.push({
|
questions.push({
|
||||||
type: "input",
|
type: "input",
|
||||||
name: "projectName",
|
name: "projectName",
|
||||||
message: chalk.cyan("Enter your project name:"),
|
message: chalk.cyan("Enter your project name:"),
|
||||||
|
default: defaultProjectName,
|
||||||
validate: (input: string) =>
|
validate: (input: string) =>
|
||||||
input ? true : chalk.red("Project name cannot be empty"),
|
input ? true : chalk.red("Project name cannot be empty"),
|
||||||
});
|
});
|
||||||
@@ -590,6 +604,17 @@ program
|
|||||||
} else if (directory && !options.projectName) {
|
} else if (directory && !options.projectName) {
|
||||||
// If directory is provided but not project name, use directory as project name
|
// If directory is provided but not project name, use directory as project name
|
||||||
partialOptions.projectName = directory;
|
partialOptions.projectName = directory;
|
||||||
|
} else if (!directory && !options.projectName) {
|
||||||
|
// If no directory or projectName, and example is provided, use example as default
|
||||||
|
if (options.example) {
|
||||||
|
partialOptions.projectName = options.example.endsWith("-app")
|
||||||
|
? options.example
|
||||||
|
: `${options.example}-app`;
|
||||||
|
} else if (options.starter) {
|
||||||
|
partialOptions.projectName = options.starter.endsWith("-app")
|
||||||
|
? options.starter
|
||||||
|
: `${options.starter}-app`;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (options.starter)
|
if (options.starter)
|
||||||
|
|||||||
@@ -1,5 +1,35 @@
|
|||||||
# jazz-auth-betterauth
|
# jazz-auth-betterauth
|
||||||
|
|
||||||
|
## 0.15.6
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a5ceaff]
|
||||||
|
- jazz-tools@0.15.6
|
||||||
|
- jazz-betterauth-client-plugin@0.15.6
|
||||||
|
- cojson@0.15.6
|
||||||
|
|
||||||
|
## 0.15.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 4b89838: Changes that verify the BetterAuth package for React also works with React Native and Expo apps
|
||||||
|
- Updated dependencies [23bfea5]
|
||||||
|
- Updated dependencies [e4ba23c]
|
||||||
|
- Updated dependencies [4b89838]
|
||||||
|
- jazz-tools@0.15.5
|
||||||
|
- jazz-betterauth-client-plugin@0.15.5
|
||||||
|
- cojson@0.15.5
|
||||||
|
|
||||||
|
## 0.15.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [277e4d4]
|
||||||
|
- cojson@0.15.4
|
||||||
|
- jazz-tools@0.15.4
|
||||||
|
- jazz-betterauth-client-plugin@0.15.4
|
||||||
|
|
||||||
## 0.15.3
|
## 0.15.3
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jazz-auth-betterauth",
|
"name": "jazz-auth-betterauth",
|
||||||
"version": "0.15.3",
|
"version": "0.15.6",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"types": "src/index.ts",
|
"types": "src/index.ts",
|
||||||
|
|||||||
@@ -9,29 +9,33 @@ import {
|
|||||||
} from "jazz-tools";
|
} from "jazz-tools";
|
||||||
import type { AuthSetPayload } from "jazz-tools";
|
import type { AuthSetPayload } from "jazz-tools";
|
||||||
|
|
||||||
export const newAuthClient = <T extends ClientOptions>(options?: T) => {
|
type Plugins<T extends ClientOptions> = Array<
|
||||||
type Plugins = Array<
|
| NonNullable<NonNullable<T>["plugins"]>[number]
|
||||||
| NonNullable<NonNullable<T>["plugins"]>[number]
|
| ReturnType<typeof jazzClientPlugin>
|
||||||
| ReturnType<typeof jazzClientPlugin>
|
>;
|
||||||
|
|
||||||
|
type Options<T extends ClientOptions> = {
|
||||||
|
plugins: Plugins<T>;
|
||||||
|
} & T;
|
||||||
|
|
||||||
|
export type AuthClient<T extends ClientOptions> = ReturnType<
|
||||||
|
typeof createAuthClient<Options<T>>
|
||||||
|
> &
|
||||||
|
ReturnType<
|
||||||
|
typeof createAuthClient<{
|
||||||
|
plugins: [ReturnType<typeof jazzClientPlugin>];
|
||||||
|
}>
|
||||||
>;
|
>;
|
||||||
type Options<T> = {
|
|
||||||
plugins: Plugins;
|
export const newAuthClient = <T extends ClientOptions>(
|
||||||
} & T;
|
options?: T,
|
||||||
type AuthClient<T> = ReturnType<typeof createAuthClient<Options<T>>> &
|
): AuthClient<T> => {
|
||||||
ReturnType<
|
|
||||||
typeof createAuthClient<{
|
|
||||||
plugins: [ReturnType<typeof jazzClientPlugin>];
|
|
||||||
}>
|
|
||||||
>;
|
|
||||||
return createAuthClient<Options<T>>({
|
return createAuthClient<Options<T>>({
|
||||||
...options,
|
...options,
|
||||||
plugins: [...(options?.plugins ?? []), ...[jazzClientPlugin()]],
|
plugins: [...(options?.plugins ?? []), ...[jazzClientPlugin()]],
|
||||||
} as Options<T>) as AuthClient<T>;
|
} as Options<T>) as AuthClient<T>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type AuthClient<T extends ClientOptions> = ReturnType<
|
|
||||||
typeof newAuthClient<T>
|
|
||||||
>;
|
|
||||||
export type InferredSession<T extends ClientOptions> =
|
export type InferredSession<T extends ClientOptions> =
|
||||||
AuthClient<T>["$Infer"]["Session"];
|
AuthClient<T>["$Infer"]["Session"];
|
||||||
export type Session<T extends ClientOptions> =
|
export type Session<T extends ClientOptions> =
|
||||||
|
|||||||
@@ -1,5 +1,23 @@
|
|||||||
# jazz-betterauth-client-plugin
|
# jazz-betterauth-client-plugin
|
||||||
|
|
||||||
|
## 0.15.6
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- jazz-betterauth-server-plugin@0.15.6
|
||||||
|
|
||||||
|
## 0.15.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- jazz-betterauth-server-plugin@0.15.5
|
||||||
|
|
||||||
|
## 0.15.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- jazz-betterauth-server-plugin@0.15.4
|
||||||
|
|
||||||
## 0.15.3
|
## 0.15.3
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jazz-betterauth-client-plugin",
|
"name": "jazz-betterauth-client-plugin",
|
||||||
"version": "0.15.3",
|
"version": "0.15.6",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"types": "src/index.ts",
|
"types": "src/index.ts",
|
||||||
|
|||||||
@@ -1,5 +1,31 @@
|
|||||||
# jazz-betterauth-server-plugin
|
# jazz-betterauth-server-plugin
|
||||||
|
|
||||||
|
## 0.15.6
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a5ceaff]
|
||||||
|
- jazz-tools@0.15.6
|
||||||
|
- cojson@0.15.6
|
||||||
|
|
||||||
|
## 0.15.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [23bfea5]
|
||||||
|
- Updated dependencies [e4ba23c]
|
||||||
|
- Updated dependencies [4b89838]
|
||||||
|
- jazz-tools@0.15.5
|
||||||
|
- cojson@0.15.5
|
||||||
|
|
||||||
|
## 0.15.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [277e4d4]
|
||||||
|
- cojson@0.15.4
|
||||||
|
- jazz-tools@0.15.4
|
||||||
|
|
||||||
## 0.15.3
|
## 0.15.3
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jazz-betterauth-server-plugin",
|
"name": "jazz-betterauth-server-plugin",
|
||||||
"version": "0.15.3",
|
"version": "0.15.6",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"types": "src/index.ts",
|
"types": "src/index.ts",
|
||||||
|
|||||||
@@ -1,5 +1,38 @@
|
|||||||
# jazz-react-auth-betterauth
|
# jazz-react-auth-betterauth
|
||||||
|
|
||||||
|
## 0.15.6
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a5ceaff]
|
||||||
|
- jazz-tools@0.15.6
|
||||||
|
- jazz-auth-betterauth@0.15.6
|
||||||
|
- jazz-betterauth-client-plugin@0.15.6
|
||||||
|
- cojson@0.15.6
|
||||||
|
|
||||||
|
## 0.15.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 4b89838: Changes that verify the BetterAuth package for React also works with React Native and Expo apps
|
||||||
|
- Updated dependencies [23bfea5]
|
||||||
|
- Updated dependencies [e4ba23c]
|
||||||
|
- Updated dependencies [4b89838]
|
||||||
|
- jazz-tools@0.15.5
|
||||||
|
- jazz-auth-betterauth@0.15.5
|
||||||
|
- jazz-betterauth-client-plugin@0.15.5
|
||||||
|
- cojson@0.15.5
|
||||||
|
|
||||||
|
## 0.15.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [277e4d4]
|
||||||
|
- cojson@0.15.4
|
||||||
|
- jazz-auth-betterauth@0.15.4
|
||||||
|
- jazz-tools@0.15.4
|
||||||
|
- jazz-betterauth-client-plugin@0.15.4
|
||||||
|
|
||||||
## 0.15.3
|
## 0.15.3
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "jazz-react-auth-betterauth",
|
"name": "jazz-react-auth-betterauth",
|
||||||
"version": "0.15.3",
|
"version": "0.15.6",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"types": "src/index.tsx",
|
"types": "src/index.tsx",
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import type { ClientOptions } from "better-auth/client";
|
|
||||||
import { createContext, useContext } from "react";
|
import { createContext, useContext } from "react";
|
||||||
import { useBetterAuth } from "../index.js";
|
import { useBetterAuth } from "../index.js";
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import {
|
|||||||
useAuthSecretStorage,
|
useAuthSecretStorage,
|
||||||
useIsAuthenticated,
|
useIsAuthenticated,
|
||||||
useJazzContext,
|
useJazzContext,
|
||||||
} from "jazz-tools/react";
|
} from "jazz-tools/react-core";
|
||||||
import { useEffect, useMemo, useState } from "react";
|
import { useEffect, useMemo, useState } from "react";
|
||||||
|
|
||||||
export * from "./contexts/Auth.js";
|
export * from "./contexts/Auth.js";
|
||||||
|
|||||||
@@ -1,5 +1,37 @@
|
|||||||
# jazz-run
|
# jazz-run
|
||||||
|
|
||||||
|
## 0.15.6
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a5ceaff]
|
||||||
|
- jazz-tools@0.15.6
|
||||||
|
- cojson@0.15.6
|
||||||
|
- cojson-storage-sqlite@0.15.6
|
||||||
|
- cojson-transport-ws@0.15.6
|
||||||
|
|
||||||
|
## 0.15.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [23bfea5]
|
||||||
|
- Updated dependencies [e4ba23c]
|
||||||
|
- Updated dependencies [4b89838]
|
||||||
|
- jazz-tools@0.15.5
|
||||||
|
- cojson@0.15.5
|
||||||
|
- cojson-storage-sqlite@0.15.5
|
||||||
|
- cojson-transport-ws@0.15.5
|
||||||
|
|
||||||
|
## 0.15.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [277e4d4]
|
||||||
|
- cojson@0.15.4
|
||||||
|
- cojson-storage-sqlite@0.15.4
|
||||||
|
- cojson-transport-ws@0.15.4
|
||||||
|
- jazz-tools@0.15.4
|
||||||
|
|
||||||
## 0.15.3
|
## 0.15.3
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"bin": "./dist/index.js",
|
"bin": "./dist/index.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"version": "0.15.3",
|
"version": "0.15.6",
|
||||||
"exports": {
|
"exports": {
|
||||||
"./startSyncServer": {
|
"./startSyncServer": {
|
||||||
"import": "./dist/startSyncServer.js",
|
"import": "./dist/startSyncServer.js",
|
||||||
@@ -28,11 +28,11 @@
|
|||||||
"@effect/printer-ansi": "^0.34.5",
|
"@effect/printer-ansi": "^0.34.5",
|
||||||
"@effect/schema": "^0.71.1",
|
"@effect/schema": "^0.71.1",
|
||||||
"@effect/typeclass": "^0.25.5",
|
"@effect/typeclass": "^0.25.5",
|
||||||
"cojson": "workspace:0.15.3",
|
"cojson": "workspace:0.15.6",
|
||||||
"cojson-storage-sqlite": "workspace:0.15.3",
|
"cojson-storage-sqlite": "workspace:0.15.6",
|
||||||
"cojson-transport-ws": "workspace:0.15.3",
|
"cojson-transport-ws": "workspace:0.15.6",
|
||||||
"effect": "^3.6.5",
|
"effect": "^3.6.5",
|
||||||
"jazz-tools": "workspace:0.15.3",
|
"jazz-tools": "workspace:0.15.6",
|
||||||
"ws": "^8.14.2"
|
"ws": "^8.14.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
@@ -1,5 +1,37 @@
|
|||||||
# jazz-tools
|
# jazz-tools
|
||||||
|
|
||||||
|
## 0.15.6
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- a5ceaff: add Group.getDirectMembers to get only direct members of a group
|
||||||
|
- cojson@0.15.6
|
||||||
|
- cojson-storage@0.15.6
|
||||||
|
- cojson-storage-indexeddb@0.15.6
|
||||||
|
- cojson-transport-ws@0.15.6
|
||||||
|
|
||||||
|
## 0.15.5
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- 23bfea5: Make all React Native dependencies in `jazz-tools` optional peer dependencies
|
||||||
|
- e4ba23c: Fix type error with `RNQuickCrypto` that prevented using it as a `CryptoProvider`
|
||||||
|
- 4b89838: Changes that verify the BetterAuth package for React also works with React Native and Expo apps
|
||||||
|
- cojson@0.15.5
|
||||||
|
- cojson-storage@0.15.5
|
||||||
|
- cojson-storage-indexeddb@0.15.5
|
||||||
|
- cojson-transport-ws@0.15.5
|
||||||
|
|
||||||
|
## 0.15.4
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [277e4d4]
|
||||||
|
- cojson@0.15.4
|
||||||
|
- cojson-storage@0.15.4
|
||||||
|
- cojson-storage-indexeddb@0.15.4
|
||||||
|
- cojson-transport-ws@0.15.4
|
||||||
|
|
||||||
## 0.15.3
|
## 0.15.3
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -139,10 +139,9 @@
|
|||||||
},
|
},
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"version": "0.15.3",
|
"version": "0.15.6",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@manuscripts/prosemirror-recreate-steps": "^0.1.4",
|
"@manuscripts/prosemirror-recreate-steps": "^0.1.4",
|
||||||
"@op-engineering/op-sqlite": "^11.4.8",
|
|
||||||
"@scure/base": "1.2.1",
|
"@scure/base": "1.2.1",
|
||||||
"@scure/bip39": "^1.3.0",
|
"@scure/bip39": "^1.3.0",
|
||||||
"@tiptap/core": "^2.12.0",
|
"@tiptap/core": "^2.12.0",
|
||||||
@@ -152,7 +151,6 @@
|
|||||||
"cojson-storage": "workspace:*",
|
"cojson-storage": "workspace:*",
|
||||||
"cojson-storage-indexeddb": "workspace:*",
|
"cojson-storage-indexeddb": "workspace:*",
|
||||||
"cojson-transport-ws": "workspace:*",
|
"cojson-transport-ws": "workspace:*",
|
||||||
"expo-sqlite": "15.2.9",
|
|
||||||
"fast-myers-diff": "^3.2.0",
|
"fast-myers-diff": "^3.2.0",
|
||||||
"goober": "^2.1.16",
|
"goober": "^2.1.16",
|
||||||
"image-blob-reduce": "^4.1.0",
|
"image-blob-reduce": "^4.1.0",
|
||||||
@@ -163,10 +161,6 @@
|
|||||||
"prosemirror-schema-basic": "^1.2.2",
|
"prosemirror-schema-basic": "^1.2.2",
|
||||||
"prosemirror-state": "^1.4.3",
|
"prosemirror-state": "^1.4.3",
|
||||||
"prosemirror-transform": "^1.9.0",
|
"prosemirror-transform": "^1.9.0",
|
||||||
"react-native-fast-encoder": "^0.2.0",
|
|
||||||
"react-native-mmkv": "^3.2.0",
|
|
||||||
"react-native-nitro-modules": "0.25.2",
|
|
||||||
"react-native-quick-crypto": "1.0.0-beta.16",
|
|
||||||
"zod": "3.25.28"
|
"zod": "3.25.28"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -196,27 +190,39 @@
|
|||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@bam.tech/react-native-image-resizer": "*",
|
"@bam.tech/react-native-image-resizer": "*",
|
||||||
|
"@op-engineering/op-sqlite": "^11.4.8",
|
||||||
"@react-native-community/netinfo": "*",
|
"@react-native-community/netinfo": "*",
|
||||||
"expo-file-system": "*",
|
"expo-file-system": "*",
|
||||||
"expo-secure-store": "*",
|
"expo-secure-store": "*",
|
||||||
|
"expo-sqlite": "15.2.9",
|
||||||
"react": "*",
|
"react": "*",
|
||||||
"react-dom": "*",
|
"react-dom": "*",
|
||||||
"react-native": "*",
|
"react-native": "*",
|
||||||
|
"react-native-fast-encoder": "^0.2.0",
|
||||||
|
"react-native-mmkv": "^3.2.0",
|
||||||
|
"react-native-nitro-modules": "0.25.2",
|
||||||
|
"react-native-quick-crypto": "1.0.0-beta.16",
|
||||||
"svelte": "^5.0.0"
|
"svelte": "^5.0.0"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
"@bam.tech/react-native-image-resizer": {
|
"@bam.tech/react-native-image-resizer": {
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"expo-file-system": {
|
"@op-engineering/op-sqlite": {
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"@react-native-community/netinfo": {
|
"@react-native-community/netinfo": {
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
|
"expo-file-system": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"expo-secure-store": {
|
"expo-secure-store": {
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
|
"expo-sqlite": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"react": {
|
"react": {
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
@@ -226,8 +232,20 @@
|
|||||||
"react-native": {
|
"react-native": {
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
|
"react-native-fast-encoder": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"react-native-mmkv": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"react-native-nitro-modules": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"react-native-quick-crypto": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"svelte": {
|
"svelte": {
|
||||||
"optional": true
|
"optional": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
export * from "./provider.js";
|
|
||||||
export * from "./auth/auth.js";
|
export * from "./auth/auth.js";
|
||||||
export * from "./hooks.js";
|
export * from "./hooks.js";
|
||||||
export * from "./media.js";
|
export * from "./media.js";
|
||||||
|
export * from "./provider.js";
|
||||||
export * from "./storage/kv-store-context.js";
|
export * from "./storage/kv-store-context.js";
|
||||||
|
|
||||||
export { SQLiteDatabaseDriverAsync } from "cojson-storage";
|
export { SQLiteDatabaseDriverAsync } from "cojson-storage";
|
||||||
|
|||||||
@@ -4,17 +4,14 @@ import { PureJSCrypto } from "cojson/dist/crypto/PureJSCrypto"; // Importing fro
|
|||||||
import {
|
import {
|
||||||
Account,
|
Account,
|
||||||
AccountClass,
|
AccountClass,
|
||||||
AccountSchema,
|
|
||||||
AgentID,
|
AgentID,
|
||||||
AnyAccountSchema,
|
AnyAccountSchema,
|
||||||
AuthCredentials,
|
AuthCredentials,
|
||||||
AuthSecretStorage,
|
AuthSecretStorage,
|
||||||
CoValue,
|
CoValue,
|
||||||
CoValueClass,
|
|
||||||
CoValueFromRaw,
|
CoValueFromRaw,
|
||||||
CryptoProvider,
|
CryptoProvider,
|
||||||
ID,
|
ID,
|
||||||
InstanceOfSchema,
|
|
||||||
NewAccountProps,
|
NewAccountProps,
|
||||||
SessionID,
|
SessionID,
|
||||||
SyncConfig,
|
SyncConfig,
|
||||||
@@ -27,7 +24,7 @@ import { SQLiteReactNative } from "./storage/sqlite-react-native.js";
|
|||||||
|
|
||||||
import { SQLiteDatabaseDriverAsync } from "cojson-storage";
|
import { SQLiteDatabaseDriverAsync } from "cojson-storage";
|
||||||
import { WebSocketPeerWithReconnection } from "cojson-transport-ws";
|
import { WebSocketPeerWithReconnection } from "cojson-transport-ws";
|
||||||
import type { RNQuickCrypto } from "./crypto/RNQuickCrypto.js";
|
import type { RNQuickCrypto } from "jazz-tools/react-native-core/crypto";
|
||||||
|
|
||||||
export type BaseReactNativeContextOptions = {
|
export type BaseReactNativeContextOptions = {
|
||||||
sync: SyncConfig;
|
sync: SyncConfig;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import {
|
|||||||
} from "jazz-tools";
|
} from "jazz-tools";
|
||||||
import { JazzContext, JazzContextManagerContext } from "jazz-tools/react-core";
|
import { JazzContext, JazzContextManagerContext } from "jazz-tools/react-core";
|
||||||
import React, { useEffect, useRef } from "react";
|
import React, { useEffect, useRef } from "react";
|
||||||
import { JazzContextManagerProps } from "./ReactNativeContextManager.js";
|
import type { JazzContextManagerProps } from "./ReactNativeContextManager.js";
|
||||||
import { ReactNativeContextManager } from "./ReactNativeContextManager.js";
|
import { ReactNativeContextManager } from "./ReactNativeContextManager.js";
|
||||||
import { setupKvStore } from "./platform.js";
|
import { setupKvStore } from "./platform.js";
|
||||||
|
|
||||||
@@ -35,10 +35,10 @@ export function JazzProviderCore<
|
|||||||
AccountSchema,
|
AccountSchema,
|
||||||
defaultProfileName,
|
defaultProfileName,
|
||||||
onLogOut,
|
onLogOut,
|
||||||
kvStore,
|
|
||||||
onAnonymousAccountDiscarded,
|
|
||||||
CryptoProvider,
|
|
||||||
logOutReplacement,
|
logOutReplacement,
|
||||||
|
onAnonymousAccountDiscarded,
|
||||||
|
kvStore,
|
||||||
|
CryptoProvider,
|
||||||
}: JazzProviderProps<S>) {
|
}: JazzProviderProps<S>) {
|
||||||
setupKvStore(kvStore);
|
setupKvStore(kvStore);
|
||||||
|
|
||||||
@@ -46,11 +46,11 @@ export function JazzProviderCore<
|
|||||||
() => new ReactNativeContextManager<S>(),
|
() => new ReactNativeContextManager<S>(),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const onLogOutRefCallback = useRefCallback(onLogOut);
|
||||||
|
const logOutReplacementRefCallback = useRefCallback(logOutReplacement);
|
||||||
const onAnonymousAccountDiscardedRefCallback = useRefCallback(
|
const onAnonymousAccountDiscardedRefCallback = useRefCallback(
|
||||||
onAnonymousAccountDiscarded,
|
onAnonymousAccountDiscarded,
|
||||||
);
|
);
|
||||||
const onLogOutRefCallback = useRefCallback(onLogOut);
|
|
||||||
const logOutReplacementRefCallback = useRefCallback(logOutReplacement);
|
|
||||||
const logoutReplacementActiveRef = useRef(false);
|
const logoutReplacementActiveRef = useRef(false);
|
||||||
logoutReplacementActiveRef.current = Boolean(logOutReplacement);
|
logoutReplacementActiveRef.current = Boolean(logOutReplacement);
|
||||||
|
|
||||||
@@ -71,11 +71,12 @@ export function JazzProviderCore<
|
|||||||
: undefined,
|
: undefined,
|
||||||
onAnonymousAccountDiscarded: onAnonymousAccountDiscardedRefCallback,
|
onAnonymousAccountDiscarded: onAnonymousAccountDiscardedRefCallback,
|
||||||
CryptoProvider,
|
CryptoProvider,
|
||||||
};
|
} satisfies JazzContextManagerProps<S>;
|
||||||
|
|
||||||
if (contextManager.propsChanged(props)) {
|
if (contextManager.propsChanged(props)) {
|
||||||
contextManager.createContext(props).catch((error) => {
|
contextManager.createContext(props).catch((error) => {
|
||||||
console.log(error.stack);
|
console.log(error.stack);
|
||||||
console.error("Error creating Jazz context:", error);
|
console.error("Error creating Jazz React Native context:", error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ export function JazzReactProvider<
|
|||||||
|
|
||||||
if (contextManager.propsChanged(props)) {
|
if (contextManager.propsChanged(props)) {
|
||||||
contextManager.createContext(props).catch((error) => {
|
contextManager.createContext(props).catch((error) => {
|
||||||
|
console.log(error.stack);
|
||||||
console.error("Error creating Jazz browser context:", error);
|
console.error("Error creating Jazz browser context:", error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -182,7 +182,9 @@ export class Group extends CoValueBase implements CoValue {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
get members(): Array<{
|
private getMembersFromKeys(
|
||||||
|
accountIDs: Iterable<RawAccountID | AgentID>,
|
||||||
|
): Array<{
|
||||||
id: string;
|
id: string;
|
||||||
role: AccountRole;
|
role: AccountRole;
|
||||||
ref: Ref<Account>;
|
ref: Ref<Account>;
|
||||||
@@ -195,7 +197,7 @@ export class Group extends CoValueBase implements CoValue {
|
|||||||
optional: false,
|
optional: false,
|
||||||
} satisfies RefEncoded<Account>;
|
} satisfies RefEncoded<Account>;
|
||||||
|
|
||||||
for (const accountID of this._raw.getAllMemberKeysSet()) {
|
for (const accountID of accountIDs) {
|
||||||
if (!isAccountID(accountID)) continue;
|
if (!isAccountID(accountID)) continue;
|
||||||
|
|
||||||
const role = this._raw.roleOf(accountID);
|
const role = this._raw.roleOf(accountID);
|
||||||
@@ -230,6 +232,30 @@ export class Group extends CoValueBase implements CoValue {
|
|||||||
return members;
|
return members;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns all members of the group, including inherited members from parent
|
||||||
|
* groups.
|
||||||
|
*
|
||||||
|
* If you need only the direct members of the group, use
|
||||||
|
* {@link getDirectMembers} instead.
|
||||||
|
*
|
||||||
|
* @returns The members of the group.
|
||||||
|
*/
|
||||||
|
get members() {
|
||||||
|
return this.getMembersFromKeys(this._raw.getAllMemberKeysSet());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the direct members of the group.
|
||||||
|
*
|
||||||
|
* If you need all members of the group, including inherited members from
|
||||||
|
* parent groups, use {@link Group.members|members} instead.
|
||||||
|
* @returns The direct members of the group.
|
||||||
|
*/
|
||||||
|
getDirectMembers() {
|
||||||
|
return this.getMembersFromKeys(this._raw.getMemberKeys());
|
||||||
|
}
|
||||||
|
|
||||||
getRoleOf(member: Everyone | ID<Account> | "me") {
|
getRoleOf(member: Everyone | ID<Account> | "me") {
|
||||||
if (member === "me") {
|
if (member === "me") {
|
||||||
return this._raw.roleOf(
|
return this._raw.roleOf(
|
||||||
|
|||||||
@@ -650,3 +650,65 @@ describe("Group.members", () => {
|
|||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("Group.getDirectMembers", () => {
|
||||||
|
test("should return only the direct members of the group", async () => {
|
||||||
|
const parentGroup = Group.create();
|
||||||
|
const childGroup = Group.create();
|
||||||
|
|
||||||
|
const bob = await createJazzTestAccount({});
|
||||||
|
await bob.waitForAllCoValuesSync();
|
||||||
|
|
||||||
|
// Add bob to parent group
|
||||||
|
parentGroup.addMember(bob, "reader");
|
||||||
|
|
||||||
|
// Add parent group to child group
|
||||||
|
childGroup.addMember(parentGroup);
|
||||||
|
|
||||||
|
// Child group should inherit bob through parent, but bob is not a direct member
|
||||||
|
expect(childGroup.members).toEqual([
|
||||||
|
expect.objectContaining({
|
||||||
|
account: expect.objectContaining({
|
||||||
|
id: co.account().getMe().id,
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
expect.objectContaining({
|
||||||
|
account: expect.objectContaining({
|
||||||
|
id: bob.id,
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
]);
|
||||||
|
|
||||||
|
// directMembers should only show the admin, not the inherited bob
|
||||||
|
expect(childGroup.getDirectMembers()).toEqual([
|
||||||
|
expect.objectContaining({
|
||||||
|
account: expect.objectContaining({
|
||||||
|
id: co.account().getMe().id,
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
]);
|
||||||
|
|
||||||
|
// Explicitly verify bob is not in directMembers
|
||||||
|
expect(childGroup.getDirectMembers()).not.toContainEqual(
|
||||||
|
expect.objectContaining({
|
||||||
|
account: expect.objectContaining({
|
||||||
|
id: bob.id,
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
|
// Parent group's direct members should include both admin and bob
|
||||||
|
expect(parentGroup.getDirectMembers()).toEqual([
|
||||||
|
expect.objectContaining({
|
||||||
|
account: expect.objectContaining({
|
||||||
|
id: co.account().getMe().id,
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
expect.objectContaining({
|
||||||
|
account: expect.objectContaining({
|
||||||
|
id: bob.id,
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|||||||
270
pnpm-lock.yaml
generated
270
pnpm-lock.yaml
generated
@@ -88,9 +88,6 @@ importers:
|
|||||||
vitest:
|
vitest:
|
||||||
specifier: 'catalog:'
|
specifier: 'catalog:'
|
||||||
version: 3.1.3(@types/node@22.15.18)(@vitest/browser@3.1.3)(@vitest/ui@3.1.3)(happy-dom@17.4.4)(jiti@2.4.2)(jsdom@25.0.1)(lightningcss@1.30.1)(msw@2.7.0(@types/node@22.15.18)(typescript@5.8.3))(terser@5.37.0)(tsx@4.19.3)(yaml@2.6.1)
|
version: 3.1.3(@types/node@22.15.18)(@vitest/browser@3.1.3)(@vitest/ui@3.1.3)(happy-dom@17.4.4)(jiti@2.4.2)(jsdom@25.0.1)(lightningcss@1.30.1)(msw@2.7.0(@types/node@22.15.18)(typescript@5.8.3))(terser@5.37.0)(tsx@4.19.3)(yaml@2.6.1)
|
||||||
yalc:
|
|
||||||
specifier: ^1.0.0-pre.53
|
|
||||||
version: 1.0.0-pre.53
|
|
||||||
|
|
||||||
examples/betterauth:
|
examples/betterauth:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -1623,7 +1620,7 @@ importers:
|
|||||||
specifier: ^11.7.0
|
specifier: ^11.7.0
|
||||||
version: 11.10.0
|
version: 11.10.0
|
||||||
cojson:
|
cojson:
|
||||||
specifier: workspace:0.15.3
|
specifier: workspace:0.15.6
|
||||||
version: link:../cojson
|
version: link:../cojson
|
||||||
cojson-storage:
|
cojson-storage:
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
@@ -1800,19 +1797,19 @@ importers:
|
|||||||
specifier: ^0.25.5
|
specifier: ^0.25.5
|
||||||
version: 0.25.8(effect@3.11.9)
|
version: 0.25.8(effect@3.11.9)
|
||||||
cojson:
|
cojson:
|
||||||
specifier: workspace:0.15.3
|
specifier: workspace:0.15.6
|
||||||
version: link:../cojson
|
version: link:../cojson
|
||||||
cojson-storage-sqlite:
|
cojson-storage-sqlite:
|
||||||
specifier: workspace:0.15.3
|
specifier: workspace:0.15.6
|
||||||
version: link:../cojson-storage-sqlite
|
version: link:../cojson-storage-sqlite
|
||||||
cojson-transport-ws:
|
cojson-transport-ws:
|
||||||
specifier: workspace:0.15.3
|
specifier: workspace:0.15.6
|
||||||
version: link:../cojson-transport-ws
|
version: link:../cojson-transport-ws
|
||||||
effect:
|
effect:
|
||||||
specifier: ^3.6.5
|
specifier: ^3.6.5
|
||||||
version: 3.11.9
|
version: 3.11.9
|
||||||
jazz-tools:
|
jazz-tools:
|
||||||
specifier: workspace:0.15.3
|
specifier: workspace:0.15.6
|
||||||
version: link:../jazz-tools
|
version: link:../jazz-tools
|
||||||
ws:
|
ws:
|
||||||
specifier: ^8.14.2
|
specifier: ^8.14.2
|
||||||
@@ -2037,6 +2034,9 @@ importers:
|
|||||||
'@sveltejs/vite-plugin-svelte':
|
'@sveltejs/vite-plugin-svelte':
|
||||||
specifier: ^5.1.0
|
specifier: ^5.1.0
|
||||||
version: 5.1.0(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.37.0)(tsx@4.19.3)(yaml@2.6.1))
|
version: 5.1.0(svelte@5.34.1)(vite@6.3.5(@types/node@22.15.18)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.37.0)(tsx@4.19.3)(yaml@2.6.1))
|
||||||
|
'@tailwindcss/postcss':
|
||||||
|
specifier: ^4.1.11
|
||||||
|
version: 4.1.11
|
||||||
'@types/eslint':
|
'@types/eslint':
|
||||||
specifier: ^9.6.0
|
specifier: ^9.6.0
|
||||||
version: 9.6.1
|
version: 9.6.1
|
||||||
@@ -5684,60 +5684,117 @@ packages:
|
|||||||
'@tailwindcss/node@4.1.10':
|
'@tailwindcss/node@4.1.10':
|
||||||
resolution: {integrity: sha512-2ACf1znY5fpRBwRhMgj9ZXvb2XZW8qs+oTfotJ2C5xR0/WNL7UHZ7zXl6s+rUqedL1mNi+0O+WQr5awGowS3PQ==}
|
resolution: {integrity: sha512-2ACf1znY5fpRBwRhMgj9ZXvb2XZW8qs+oTfotJ2C5xR0/WNL7UHZ7zXl6s+rUqedL1mNi+0O+WQr5awGowS3PQ==}
|
||||||
|
|
||||||
|
'@tailwindcss/node@4.1.11':
|
||||||
|
resolution: {integrity: sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q==}
|
||||||
|
|
||||||
'@tailwindcss/oxide-android-arm64@4.1.10':
|
'@tailwindcss/oxide-android-arm64@4.1.10':
|
||||||
resolution: {integrity: sha512-VGLazCoRQ7rtsCzThaI1UyDu/XRYVyH4/EWiaSX6tFglE+xZB5cvtC5Omt0OQ+FfiIVP98su16jDVHDEIuH4iQ==}
|
resolution: {integrity: sha512-VGLazCoRQ7rtsCzThaI1UyDu/XRYVyH4/EWiaSX6tFglE+xZB5cvtC5Omt0OQ+FfiIVP98su16jDVHDEIuH4iQ==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [android]
|
os: [android]
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-android-arm64@4.1.11':
|
||||||
|
resolution: {integrity: sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [android]
|
||||||
|
|
||||||
'@tailwindcss/oxide-darwin-arm64@4.1.10':
|
'@tailwindcss/oxide-darwin-arm64@4.1.10':
|
||||||
resolution: {integrity: sha512-ZIFqvR1irX2yNjWJzKCqTCcHZbgkSkSkZKbRM3BPzhDL/18idA8uWCoopYA2CSDdSGFlDAxYdU2yBHwAwx8euQ==}
|
resolution: {integrity: sha512-ZIFqvR1irX2yNjWJzKCqTCcHZbgkSkSkZKbRM3BPzhDL/18idA8uWCoopYA2CSDdSGFlDAxYdU2yBHwAwx8euQ==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-darwin-arm64@4.1.11':
|
||||||
|
resolution: {integrity: sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [darwin]
|
||||||
|
|
||||||
'@tailwindcss/oxide-darwin-x64@4.1.10':
|
'@tailwindcss/oxide-darwin-x64@4.1.10':
|
||||||
resolution: {integrity: sha512-eCA4zbIhWUFDXoamNztmS0MjXHSEJYlvATzWnRiTqJkcUteSjO94PoRHJy1Xbwp9bptjeIxxBHh+zBWFhttbrQ==}
|
resolution: {integrity: sha512-eCA4zbIhWUFDXoamNztmS0MjXHSEJYlvATzWnRiTqJkcUteSjO94PoRHJy1Xbwp9bptjeIxxBHh+zBWFhttbrQ==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-darwin-x64@4.1.11':
|
||||||
|
resolution: {integrity: sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [darwin]
|
||||||
|
|
||||||
'@tailwindcss/oxide-freebsd-x64@4.1.10':
|
'@tailwindcss/oxide-freebsd-x64@4.1.10':
|
||||||
resolution: {integrity: sha512-8/392Xu12R0cc93DpiJvNpJ4wYVSiciUlkiOHOSOQNH3adq9Gi/dtySK7dVQjXIOzlpSHjeCL89RUUI8/GTI6g==}
|
resolution: {integrity: sha512-8/392Xu12R0cc93DpiJvNpJ4wYVSiciUlkiOHOSOQNH3adq9Gi/dtySK7dVQjXIOzlpSHjeCL89RUUI8/GTI6g==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [freebsd]
|
os: [freebsd]
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-freebsd-x64@4.1.11':
|
||||||
|
resolution: {integrity: sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [freebsd]
|
||||||
|
|
||||||
'@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10':
|
'@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10':
|
||||||
resolution: {integrity: sha512-t9rhmLT6EqeuPT+MXhWhlRYIMSfh5LZ6kBrC4FS6/+M1yXwfCtp24UumgCWOAJVyjQwG+lYva6wWZxrfvB+NhQ==}
|
resolution: {integrity: sha512-t9rhmLT6EqeuPT+MXhWhlRYIMSfh5LZ6kBrC4FS6/+M1yXwfCtp24UumgCWOAJVyjQwG+lYva6wWZxrfvB+NhQ==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11':
|
||||||
|
resolution: {integrity: sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
'@tailwindcss/oxide-linux-arm64-gnu@4.1.10':
|
'@tailwindcss/oxide-linux-arm64-gnu@4.1.10':
|
||||||
resolution: {integrity: sha512-3oWrlNlxLRxXejQ8zImzrVLuZ/9Z2SeKoLhtCu0hpo38hTO2iL86eFOu4sVR8cZc6n3z7eRXXqtHJECa6mFOvA==}
|
resolution: {integrity: sha512-3oWrlNlxLRxXejQ8zImzrVLuZ/9Z2SeKoLhtCu0hpo38hTO2iL86eFOu4sVR8cZc6n3z7eRXXqtHJECa6mFOvA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-linux-arm64-gnu@4.1.11':
|
||||||
|
resolution: {integrity: sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
'@tailwindcss/oxide-linux-arm64-musl@4.1.10':
|
'@tailwindcss/oxide-linux-arm64-musl@4.1.10':
|
||||||
resolution: {integrity: sha512-saScU0cmWvg/Ez4gUmQWr9pvY9Kssxt+Xenfx1LG7LmqjcrvBnw4r9VjkFcqmbBb7GCBwYNcZi9X3/oMda9sqQ==}
|
resolution: {integrity: sha512-saScU0cmWvg/Ez4gUmQWr9pvY9Kssxt+Xenfx1LG7LmqjcrvBnw4r9VjkFcqmbBb7GCBwYNcZi9X3/oMda9sqQ==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-linux-arm64-musl@4.1.11':
|
||||||
|
resolution: {integrity: sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
'@tailwindcss/oxide-linux-x64-gnu@4.1.10':
|
'@tailwindcss/oxide-linux-x64-gnu@4.1.10':
|
||||||
resolution: {integrity: sha512-/G3ao/ybV9YEEgAXeEg28dyH6gs1QG8tvdN9c2MNZdUXYBaIY/Gx0N6RlJzfLy/7Nkdok4kaxKPHKJUlAaoTdA==}
|
resolution: {integrity: sha512-/G3ao/ybV9YEEgAXeEg28dyH6gs1QG8tvdN9c2MNZdUXYBaIY/Gx0N6RlJzfLy/7Nkdok4kaxKPHKJUlAaoTdA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-linux-x64-gnu@4.1.11':
|
||||||
|
resolution: {integrity: sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
'@tailwindcss/oxide-linux-x64-musl@4.1.10':
|
'@tailwindcss/oxide-linux-x64-musl@4.1.10':
|
||||||
resolution: {integrity: sha512-LNr7X8fTiKGRtQGOerSayc2pWJp/9ptRYAa4G+U+cjw9kJZvkopav1AQc5HHD+U364f71tZv6XamaHKgrIoVzA==}
|
resolution: {integrity: sha512-LNr7X8fTiKGRtQGOerSayc2pWJp/9ptRYAa4G+U+cjw9kJZvkopav1AQc5HHD+U364f71tZv6XamaHKgrIoVzA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-linux-x64-musl@4.1.11':
|
||||||
|
resolution: {integrity: sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [linux]
|
||||||
|
|
||||||
'@tailwindcss/oxide-wasm32-wasi@4.1.10':
|
'@tailwindcss/oxide-wasm32-wasi@4.1.10':
|
||||||
resolution: {integrity: sha512-d6ekQpopFQJAcIK2i7ZzWOYGZ+A6NzzvQ3ozBvWFdeyqfOZdYHU66g5yr+/HC4ipP1ZgWsqa80+ISNILk+ae/Q==}
|
resolution: {integrity: sha512-d6ekQpopFQJAcIK2i7ZzWOYGZ+A6NzzvQ3ozBvWFdeyqfOZdYHU66g5yr+/HC4ipP1ZgWsqa80+ISNILk+ae/Q==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -5750,25 +5807,56 @@ packages:
|
|||||||
- '@emnapi/wasi-threads'
|
- '@emnapi/wasi-threads'
|
||||||
- tslib
|
- tslib
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-wasm32-wasi@4.1.11':
|
||||||
|
resolution: {integrity: sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
cpu: [wasm32]
|
||||||
|
bundledDependencies:
|
||||||
|
- '@napi-rs/wasm-runtime'
|
||||||
|
- '@emnapi/core'
|
||||||
|
- '@emnapi/runtime'
|
||||||
|
- '@tybys/wasm-util'
|
||||||
|
- '@emnapi/wasi-threads'
|
||||||
|
- tslib
|
||||||
|
|
||||||
'@tailwindcss/oxide-win32-arm64-msvc@4.1.10':
|
'@tailwindcss/oxide-win32-arm64-msvc@4.1.10':
|
||||||
resolution: {integrity: sha512-i1Iwg9gRbwNVOCYmnigWCCgow8nDWSFmeTUU5nbNx3rqbe4p0kRbEqLwLJbYZKmSSp23g4N6rCDmm7OuPBXhDA==}
|
resolution: {integrity: sha512-i1Iwg9gRbwNVOCYmnigWCCgow8nDWSFmeTUU5nbNx3rqbe4p0kRbEqLwLJbYZKmSSp23g4N6rCDmm7OuPBXhDA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-win32-arm64-msvc@4.1.11':
|
||||||
|
resolution: {integrity: sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [win32]
|
||||||
|
|
||||||
'@tailwindcss/oxide-win32-x64-msvc@4.1.10':
|
'@tailwindcss/oxide-win32-x64-msvc@4.1.10':
|
||||||
resolution: {integrity: sha512-sGiJTjcBSfGq2DVRtaSljq5ZgZS2SDHSIfhOylkBvHVjwOsodBhnb3HdmiKkVuUGKD0I7G63abMOVaskj1KpOA==}
|
resolution: {integrity: sha512-sGiJTjcBSfGq2DVRtaSljq5ZgZS2SDHSIfhOylkBvHVjwOsodBhnb3HdmiKkVuUGKD0I7G63abMOVaskj1KpOA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-win32-x64-msvc@4.1.11':
|
||||||
|
resolution: {integrity: sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [win32]
|
||||||
|
|
||||||
'@tailwindcss/oxide@4.1.10':
|
'@tailwindcss/oxide@4.1.10':
|
||||||
resolution: {integrity: sha512-v0C43s7Pjw+B9w21htrQwuFObSkio2aV/qPx/mhrRldbqxbWJK6KizM+q7BF1/1CmuLqZqX3CeYF7s7P9fbA8Q==}
|
resolution: {integrity: sha512-v0C43s7Pjw+B9w21htrQwuFObSkio2aV/qPx/mhrRldbqxbWJK6KizM+q7BF1/1CmuLqZqX3CeYF7s7P9fbA8Q==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
|
|
||||||
|
'@tailwindcss/oxide@4.1.11':
|
||||||
|
resolution: {integrity: sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg==}
|
||||||
|
engines: {node: '>= 10'}
|
||||||
|
|
||||||
'@tailwindcss/postcss@4.1.10':
|
'@tailwindcss/postcss@4.1.10':
|
||||||
resolution: {integrity: sha512-B+7r7ABZbkXJwpvt2VMnS6ujcDoR2OOcFaqrLIo1xbcdxje4Vf+VgJdBzNNbrAjBj/rLZ66/tlQ1knIGNLKOBQ==}
|
resolution: {integrity: sha512-B+7r7ABZbkXJwpvt2VMnS6ujcDoR2OOcFaqrLIo1xbcdxje4Vf+VgJdBzNNbrAjBj/rLZ66/tlQ1knIGNLKOBQ==}
|
||||||
|
|
||||||
|
'@tailwindcss/postcss@4.1.11':
|
||||||
|
resolution: {integrity: sha512-q/EAIIpF6WpLhKEuQSEVMZNMIY8KhWoAemZ9eylNAih9jxMGAYPPWBn3I9QL/2jZ+e7OEz/tZkX5HwbBR4HohA==}
|
||||||
|
|
||||||
'@tailwindcss/typography@0.5.15':
|
'@tailwindcss/typography@0.5.15':
|
||||||
resolution: {integrity: sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==}
|
resolution: {integrity: sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -7275,9 +7363,6 @@ packages:
|
|||||||
cliui@6.0.0:
|
cliui@6.0.0:
|
||||||
resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
|
resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
|
||||||
|
|
||||||
cliui@7.0.4:
|
|
||||||
resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
|
|
||||||
|
|
||||||
cliui@8.0.1:
|
cliui@8.0.1:
|
||||||
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
|
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
@@ -7386,10 +7471,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
|
resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
|
||||||
engines: {node: '>= 0.10.0'}
|
engines: {node: '>= 0.10.0'}
|
||||||
|
|
||||||
consola@3.3.0:
|
|
||||||
resolution: {integrity: sha512-kxltocVQCwQNFvw40dlVRYeAkAvtYjMFZYNlOcsF5wExPpGwPxMwgx4IfDJvBRPtBpnQwItd5WkTaR0ZwT/TmQ==}
|
|
||||||
engines: {node: ^14.18.0 || >=16.10.0}
|
|
||||||
|
|
||||||
consola@3.4.2:
|
consola@3.4.2:
|
||||||
resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
|
resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
|
||||||
engines: {node: ^14.18.0 || >=16.10.0}
|
engines: {node: ^14.18.0 || >=16.10.0}
|
||||||
@@ -8774,9 +8855,6 @@ packages:
|
|||||||
ieee754@1.2.1:
|
ieee754@1.2.1:
|
||||||
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
|
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
|
||||||
|
|
||||||
ignore-walk@3.0.4:
|
|
||||||
resolution: {integrity: sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==}
|
|
||||||
|
|
||||||
ignore@5.3.2:
|
ignore@5.3.2:
|
||||||
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
|
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
|
||||||
engines: {node: '>= 4'}
|
engines: {node: '>= 4'}
|
||||||
@@ -8837,10 +8915,6 @@ packages:
|
|||||||
ini@1.3.8:
|
ini@1.3.8:
|
||||||
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
|
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
|
||||||
|
|
||||||
ini@2.0.0:
|
|
||||||
resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
|
|
||||||
ini@4.1.3:
|
ini@4.1.3:
|
||||||
resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==}
|
resolution: {integrity: sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==}
|
||||||
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
|
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
|
||||||
@@ -10208,21 +10282,10 @@ packages:
|
|||||||
resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==}
|
resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==}
|
||||||
engines: {node: '>=14.16'}
|
engines: {node: '>=14.16'}
|
||||||
|
|
||||||
npm-bundled@1.1.2:
|
|
||||||
resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==}
|
|
||||||
|
|
||||||
npm-normalize-package-bin@1.0.1:
|
|
||||||
resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==}
|
|
||||||
|
|
||||||
npm-package-arg@11.0.3:
|
npm-package-arg@11.0.3:
|
||||||
resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==}
|
resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==}
|
||||||
engines: {node: ^16.14.0 || >=18.0.0}
|
engines: {node: ^16.14.0 || >=18.0.0}
|
||||||
|
|
||||||
npm-packlist@2.2.2:
|
|
||||||
resolution: {integrity: sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
hasBin: true
|
|
||||||
|
|
||||||
npm-run-all@4.1.5:
|
npm-run-all@4.1.5:
|
||||||
resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==}
|
resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==}
|
||||||
engines: {node: '>= 4'}
|
engines: {node: '>= 4'}
|
||||||
@@ -12113,6 +12176,9 @@ packages:
|
|||||||
tailwindcss@4.1.10:
|
tailwindcss@4.1.10:
|
||||||
resolution: {integrity: sha512-P3nr6WkvKV/ONsTzj6Gb57sWPMX29EPNPopo7+FcpkQaNsrNpZ1pv8QmrYI2RqEKD7mlGqLnGovlcYnBK0IqUA==}
|
resolution: {integrity: sha512-P3nr6WkvKV/ONsTzj6Gb57sWPMX29EPNPopo7+FcpkQaNsrNpZ1pv8QmrYI2RqEKD7mlGqLnGovlcYnBK0IqUA==}
|
||||||
|
|
||||||
|
tailwindcss@4.1.11:
|
||||||
|
resolution: {integrity: sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==}
|
||||||
|
|
||||||
tapable@2.2.1:
|
tapable@2.2.1:
|
||||||
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
|
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
@@ -13107,10 +13173,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
|
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
yalc@1.0.0-pre.53:
|
|
||||||
resolution: {integrity: sha512-tpNqBCpTXplnduzw5XC+FF8zNJ9L/UXmvQyyQj7NKrDNavbJtHvzmZplL5ES/RCnjX7JR7W9wz5GVDXVP3dHUQ==}
|
|
||||||
hasBin: true
|
|
||||||
|
|
||||||
yallist@3.1.1:
|
yallist@3.1.1:
|
||||||
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
|
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
|
||||||
|
|
||||||
@@ -13134,10 +13196,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
|
resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
yargs-parser@20.2.9:
|
|
||||||
resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
|
|
||||||
yargs-parser@21.1.1:
|
yargs-parser@21.1.1:
|
||||||
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
|
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
@@ -13146,10 +13204,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
|
resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
yargs@16.2.0:
|
|
||||||
resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
|
|
||||||
engines: {node: '>=10'}
|
|
||||||
|
|
||||||
yargs@17.7.2:
|
yargs@17.7.2:
|
||||||
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
|
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
@@ -15754,7 +15808,7 @@ snapshots:
|
|||||||
|
|
||||||
'@mapbox/node-pre-gyp@2.0.0-rc.0':
|
'@mapbox/node-pre-gyp@2.0.0-rc.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
consola: 3.3.0
|
consola: 3.4.2
|
||||||
detect-libc: 2.0.4
|
detect-libc: 2.0.4
|
||||||
https-proxy-agent: 7.0.6
|
https-proxy-agent: 7.0.6
|
||||||
node-fetch: 2.7.0
|
node-fetch: 2.7.0
|
||||||
@@ -17782,42 +17836,88 @@ snapshots:
|
|||||||
source-map-js: 1.2.1
|
source-map-js: 1.2.1
|
||||||
tailwindcss: 4.1.10
|
tailwindcss: 4.1.10
|
||||||
|
|
||||||
|
'@tailwindcss/node@4.1.11':
|
||||||
|
dependencies:
|
||||||
|
'@ampproject/remapping': 2.3.0
|
||||||
|
enhanced-resolve: 5.18.1
|
||||||
|
jiti: 2.4.2
|
||||||
|
lightningcss: 1.30.1
|
||||||
|
magic-string: 0.30.17
|
||||||
|
source-map-js: 1.2.1
|
||||||
|
tailwindcss: 4.1.11
|
||||||
|
|
||||||
'@tailwindcss/oxide-android-arm64@4.1.10':
|
'@tailwindcss/oxide-android-arm64@4.1.10':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-android-arm64@4.1.11':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@tailwindcss/oxide-darwin-arm64@4.1.10':
|
'@tailwindcss/oxide-darwin-arm64@4.1.10':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-darwin-arm64@4.1.11':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@tailwindcss/oxide-darwin-x64@4.1.10':
|
'@tailwindcss/oxide-darwin-x64@4.1.10':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-darwin-x64@4.1.11':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@tailwindcss/oxide-freebsd-x64@4.1.10':
|
'@tailwindcss/oxide-freebsd-x64@4.1.10':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-freebsd-x64@4.1.11':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10':
|
'@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@tailwindcss/oxide-linux-arm64-gnu@4.1.10':
|
'@tailwindcss/oxide-linux-arm64-gnu@4.1.10':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-linux-arm64-gnu@4.1.11':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@tailwindcss/oxide-linux-arm64-musl@4.1.10':
|
'@tailwindcss/oxide-linux-arm64-musl@4.1.10':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-linux-arm64-musl@4.1.11':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@tailwindcss/oxide-linux-x64-gnu@4.1.10':
|
'@tailwindcss/oxide-linux-x64-gnu@4.1.10':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-linux-x64-gnu@4.1.11':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@tailwindcss/oxide-linux-x64-musl@4.1.10':
|
'@tailwindcss/oxide-linux-x64-musl@4.1.10':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-linux-x64-musl@4.1.11':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@tailwindcss/oxide-wasm32-wasi@4.1.10':
|
'@tailwindcss/oxide-wasm32-wasi@4.1.10':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-wasm32-wasi@4.1.11':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@tailwindcss/oxide-win32-arm64-msvc@4.1.10':
|
'@tailwindcss/oxide-win32-arm64-msvc@4.1.10':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-win32-arm64-msvc@4.1.11':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@tailwindcss/oxide-win32-x64-msvc@4.1.10':
|
'@tailwindcss/oxide-win32-x64-msvc@4.1.10':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
'@tailwindcss/oxide-win32-x64-msvc@4.1.11':
|
||||||
|
optional: true
|
||||||
|
|
||||||
'@tailwindcss/oxide@4.1.10':
|
'@tailwindcss/oxide@4.1.10':
|
||||||
dependencies:
|
dependencies:
|
||||||
detect-libc: 2.0.4
|
detect-libc: 2.0.4
|
||||||
@@ -17836,6 +17936,24 @@ snapshots:
|
|||||||
'@tailwindcss/oxide-win32-arm64-msvc': 4.1.10
|
'@tailwindcss/oxide-win32-arm64-msvc': 4.1.10
|
||||||
'@tailwindcss/oxide-win32-x64-msvc': 4.1.10
|
'@tailwindcss/oxide-win32-x64-msvc': 4.1.10
|
||||||
|
|
||||||
|
'@tailwindcss/oxide@4.1.11':
|
||||||
|
dependencies:
|
||||||
|
detect-libc: 2.0.4
|
||||||
|
tar: 7.4.3
|
||||||
|
optionalDependencies:
|
||||||
|
'@tailwindcss/oxide-android-arm64': 4.1.11
|
||||||
|
'@tailwindcss/oxide-darwin-arm64': 4.1.11
|
||||||
|
'@tailwindcss/oxide-darwin-x64': 4.1.11
|
||||||
|
'@tailwindcss/oxide-freebsd-x64': 4.1.11
|
||||||
|
'@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.11
|
||||||
|
'@tailwindcss/oxide-linux-arm64-gnu': 4.1.11
|
||||||
|
'@tailwindcss/oxide-linux-arm64-musl': 4.1.11
|
||||||
|
'@tailwindcss/oxide-linux-x64-gnu': 4.1.11
|
||||||
|
'@tailwindcss/oxide-linux-x64-musl': 4.1.11
|
||||||
|
'@tailwindcss/oxide-wasm32-wasi': 4.1.11
|
||||||
|
'@tailwindcss/oxide-win32-arm64-msvc': 4.1.11
|
||||||
|
'@tailwindcss/oxide-win32-x64-msvc': 4.1.11
|
||||||
|
|
||||||
'@tailwindcss/postcss@4.1.10':
|
'@tailwindcss/postcss@4.1.10':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@alloc/quick-lru': 5.2.0
|
'@alloc/quick-lru': 5.2.0
|
||||||
@@ -17844,6 +17962,14 @@ snapshots:
|
|||||||
postcss: 8.5.4
|
postcss: 8.5.4
|
||||||
tailwindcss: 4.1.10
|
tailwindcss: 4.1.10
|
||||||
|
|
||||||
|
'@tailwindcss/postcss@4.1.11':
|
||||||
|
dependencies:
|
||||||
|
'@alloc/quick-lru': 5.2.0
|
||||||
|
'@tailwindcss/node': 4.1.11
|
||||||
|
'@tailwindcss/oxide': 4.1.11
|
||||||
|
postcss: 8.5.4
|
||||||
|
tailwindcss: 4.1.11
|
||||||
|
|
||||||
'@tailwindcss/typography@0.5.15(tailwindcss@4.1.10)':
|
'@tailwindcss/typography@0.5.15(tailwindcss@4.1.10)':
|
||||||
dependencies:
|
dependencies:
|
||||||
lodash.castarray: 4.4.0
|
lodash.castarray: 4.4.0
|
||||||
@@ -19782,12 +19908,6 @@ snapshots:
|
|||||||
strip-ansi: 6.0.1
|
strip-ansi: 6.0.1
|
||||||
wrap-ansi: 6.2.0
|
wrap-ansi: 6.2.0
|
||||||
|
|
||||||
cliui@7.0.4:
|
|
||||||
dependencies:
|
|
||||||
string-width: 4.2.3
|
|
||||||
strip-ansi: 6.0.1
|
|
||||||
wrap-ansi: 7.0.0
|
|
||||||
|
|
||||||
cliui@8.0.1:
|
cliui@8.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
string-width: 4.2.3
|
string-width: 4.2.3
|
||||||
@@ -19891,8 +20011,6 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
consola@3.3.0: {}
|
|
||||||
|
|
||||||
consola@3.4.2: {}
|
consola@3.4.2: {}
|
||||||
|
|
||||||
content-type@1.0.5: {}
|
content-type@1.0.5: {}
|
||||||
@@ -21523,10 +21641,6 @@ snapshots:
|
|||||||
|
|
||||||
ieee754@1.2.1: {}
|
ieee754@1.2.1: {}
|
||||||
|
|
||||||
ignore-walk@3.0.4:
|
|
||||||
dependencies:
|
|
||||||
minimatch: 3.1.2
|
|
||||||
|
|
||||||
ignore@5.3.2: {}
|
ignore@5.3.2: {}
|
||||||
|
|
||||||
ignore@7.0.5: {}
|
ignore@7.0.5: {}
|
||||||
@@ -21577,8 +21691,6 @@ snapshots:
|
|||||||
|
|
||||||
ini@1.3.8: {}
|
ini@1.3.8: {}
|
||||||
|
|
||||||
ini@2.0.0: {}
|
|
||||||
|
|
||||||
ini@4.1.3: {}
|
ini@4.1.3: {}
|
||||||
|
|
||||||
inline-style-prefixer@7.0.1:
|
inline-style-prefixer@7.0.1:
|
||||||
@@ -23204,12 +23316,6 @@ snapshots:
|
|||||||
|
|
||||||
normalize-url@8.0.1: {}
|
normalize-url@8.0.1: {}
|
||||||
|
|
||||||
npm-bundled@1.1.2:
|
|
||||||
dependencies:
|
|
||||||
npm-normalize-package-bin: 1.0.1
|
|
||||||
|
|
||||||
npm-normalize-package-bin@1.0.1: {}
|
|
||||||
|
|
||||||
npm-package-arg@11.0.3:
|
npm-package-arg@11.0.3:
|
||||||
dependencies:
|
dependencies:
|
||||||
hosted-git-info: 7.0.2
|
hosted-git-info: 7.0.2
|
||||||
@@ -23217,13 +23323,6 @@ snapshots:
|
|||||||
semver: 7.7.2
|
semver: 7.7.2
|
||||||
validate-npm-package-name: 5.0.1
|
validate-npm-package-name: 5.0.1
|
||||||
|
|
||||||
npm-packlist@2.2.2:
|
|
||||||
dependencies:
|
|
||||||
glob: 7.2.3
|
|
||||||
ignore-walk: 3.0.4
|
|
||||||
npm-bundled: 1.1.2
|
|
||||||
npm-normalize-package-bin: 1.0.1
|
|
||||||
|
|
||||||
npm-run-all@4.1.5:
|
npm-run-all@4.1.5:
|
||||||
dependencies:
|
dependencies:
|
||||||
ansi-styles: 3.2.1
|
ansi-styles: 3.2.1
|
||||||
@@ -25511,6 +25610,8 @@ snapshots:
|
|||||||
|
|
||||||
tailwindcss@4.1.10: {}
|
tailwindcss@4.1.10: {}
|
||||||
|
|
||||||
|
tailwindcss@4.1.11: {}
|
||||||
|
|
||||||
tapable@2.2.1: {}
|
tapable@2.2.1: {}
|
||||||
|
|
||||||
tar-fs@2.1.1:
|
tar-fs@2.1.1:
|
||||||
@@ -26618,17 +26719,6 @@ snapshots:
|
|||||||
|
|
||||||
y18n@5.0.8: {}
|
y18n@5.0.8: {}
|
||||||
|
|
||||||
yalc@1.0.0-pre.53:
|
|
||||||
dependencies:
|
|
||||||
chalk: 4.1.2
|
|
||||||
detect-indent: 6.1.0
|
|
||||||
fs-extra: 8.1.0
|
|
||||||
glob: 7.2.3
|
|
||||||
ignore: 5.3.2
|
|
||||||
ini: 2.0.0
|
|
||||||
npm-packlist: 2.2.2
|
|
||||||
yargs: 16.2.0
|
|
||||||
|
|
||||||
yallist@3.1.1: {}
|
yallist@3.1.1: {}
|
||||||
|
|
||||||
yallist@4.0.0:
|
yallist@4.0.0:
|
||||||
@@ -26645,8 +26735,6 @@ snapshots:
|
|||||||
camelcase: 5.3.1
|
camelcase: 5.3.1
|
||||||
decamelize: 1.2.0
|
decamelize: 1.2.0
|
||||||
|
|
||||||
yargs-parser@20.2.9: {}
|
|
||||||
|
|
||||||
yargs-parser@21.1.1: {}
|
yargs-parser@21.1.1: {}
|
||||||
|
|
||||||
yargs@15.4.1:
|
yargs@15.4.1:
|
||||||
@@ -26663,16 +26751,6 @@ snapshots:
|
|||||||
y18n: 4.0.3
|
y18n: 4.0.3
|
||||||
yargs-parser: 18.1.3
|
yargs-parser: 18.1.3
|
||||||
|
|
||||||
yargs@16.2.0:
|
|
||||||
dependencies:
|
|
||||||
cliui: 7.0.4
|
|
||||||
escalade: 3.2.0
|
|
||||||
get-caller-file: 2.0.5
|
|
||||||
require-directory: 2.1.1
|
|
||||||
string-width: 4.2.3
|
|
||||||
y18n: 5.0.8
|
|
||||||
yargs-parser: 20.2.9
|
|
||||||
|
|
||||||
yargs@17.7.2:
|
yargs@17.7.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
cliui: 8.0.1
|
cliui: 8.0.1
|
||||||
|
|||||||
@@ -1,5 +1,27 @@
|
|||||||
# jazz-react-tailwind-starter
|
# jazz-react-tailwind-starter
|
||||||
|
|
||||||
|
## 0.0.126
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a5ceaff]
|
||||||
|
- jazz-tools@0.15.6
|
||||||
|
|
||||||
|
## 0.0.125
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [23bfea5]
|
||||||
|
- Updated dependencies [e4ba23c]
|
||||||
|
- Updated dependencies [4b89838]
|
||||||
|
- jazz-tools@0.15.5
|
||||||
|
|
||||||
|
## 0.0.124
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- jazz-tools@0.15.4
|
||||||
|
|
||||||
## 0.0.123
|
## 0.0.123
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "jazz-react-passkey-auth-starter",
|
"name": "jazz-react-passkey-auth-starter",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.0.123",
|
"version": "0.0.126",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
@@ -1,5 +1,27 @@
|
|||||||
# svelte-passkey-auth
|
# svelte-passkey-auth
|
||||||
|
|
||||||
|
## 0.0.100
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [a5ceaff]
|
||||||
|
- jazz-tools@0.15.6
|
||||||
|
|
||||||
|
## 0.0.99
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- Updated dependencies [23bfea5]
|
||||||
|
- Updated dependencies [e4ba23c]
|
||||||
|
- Updated dependencies [4b89838]
|
||||||
|
- jazz-tools@0.15.5
|
||||||
|
|
||||||
|
## 0.0.98
|
||||||
|
|
||||||
|
### Patch Changes
|
||||||
|
|
||||||
|
- jazz-tools@0.15.4
|
||||||
|
|
||||||
## 0.0.97
|
## 0.0.97
|
||||||
|
|
||||||
### Patch Changes
|
### Patch Changes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "svelte-passkey-auth",
|
"name": "svelte-passkey-auth",
|
||||||
"version": "0.0.97",
|
"version": "0.0.100",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -33,6 +33,7 @@
|
|||||||
"svelte": "^5.33.19",
|
"svelte": "^5.33.19",
|
||||||
"svelte-check": "^4.0.0",
|
"svelte-check": "^4.0.0",
|
||||||
"tailwindcss": "^4.1.10",
|
"tailwindcss": "^4.1.10",
|
||||||
|
"@tailwindcss/postcss": "^4.1.11",
|
||||||
"typescript": "5.6.2",
|
"typescript": "5.6.2",
|
||||||
"typescript-eslint": "^8.0.0",
|
"typescript-eslint": "^8.0.0",
|
||||||
"vite": "^6.3.5"
|
"vite": "^6.3.5"
|
||||||
|
|||||||
@@ -25,7 +25,22 @@ export const AccountRoot = co.map({
|
|||||||
|
|
||||||
export function getUserAge(root: co.loaded<typeof AccountRoot> | undefined) {
|
export function getUserAge(root: co.loaded<typeof AccountRoot> | undefined) {
|
||||||
if (!root) return null;
|
if (!root) return null;
|
||||||
return new Date().getFullYear() - root.dateOfBirth.getFullYear();
|
|
||||||
|
const today = new Date();
|
||||||
|
const birthDate = root.dateOfBirth;
|
||||||
|
|
||||||
|
let age = today.getFullYear() - birthDate.getFullYear();
|
||||||
|
|
||||||
|
// Check if the birthday hasn't occurred yet this year
|
||||||
|
const hasBirthdayPassed =
|
||||||
|
today.getMonth() > birthDate.getMonth() ||
|
||||||
|
(today.getMonth() === birthDate.getMonth() && today.getDate() > birthDate.getDate());
|
||||||
|
|
||||||
|
if (!hasBirthdayPassed) {
|
||||||
|
age--;
|
||||||
|
}
|
||||||
|
|
||||||
|
return age;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const JazzAccount = co
|
export const JazzAccount = co
|
||||||
|
|||||||
Reference in New Issue
Block a user