Skip to content

Commit bfd5670

Browse files
committed
v.0.18.1
1 parent c077960 commit bfd5670

19 files changed

+430
-325
lines changed

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# @gun-vue/repo
22

3+
## 0.18.1
4+
5+
### Patch Changes
6+
7+
- tauri desktop app is now in a separate package for more clear code
8+
39
## 0.18.0
410

511
### Minor Changes

app/CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# @gun-vue/app
22

3+
## 0.18.1
4+
5+
### Patch Changes
6+
7+
- tauri desktop app is now in a separate package for more clear code
8+
39
## 0.18.0
410

511
### Minor Changes

app/package.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@gun-vue/app",
3-
"version": "0.18.0",
3+
"version": "0.18.1",
44
"type": "module",
55
"homepage": "https://gun-vue.js.org",
66
"funding": {
@@ -35,13 +35,13 @@
3535
"@unocss/reset": "0.51.12",
3636
"@vueuse/core": "10.1.2",
3737
"ola": "1.2.1",
38-
"vue": "3.2.47",
39-
"vue-router": "4.1.6"
38+
"vue": "3.3.2",
39+
"vue-router": "4.2.0"
4040
},
4141
"devDependencies": {
42-
"@iconify/json": "2.2.63",
42+
"@iconify/json": "2.2.64",
4343
"@unocss/extractor-pug": "0.51.12",
44-
"@vitejs/plugin-vue": "4.2.1",
44+
"@vitejs/plugin-vue": "4.2.3",
4545
"pug": "3.0.2",
4646
"unocss": "0.51.12",
4747
"vite": "4.3.5",
@@ -50,4 +50,4 @@
5050
"vite-plugin-pwa": "0.14.7",
5151
"vite-plugin-singlefile": "0.13.5"
5252
}
53-
}
53+
}

components/CHANGELOG.md

+8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# @gun-vue/components
22

3+
## 0.18.1
4+
5+
### Patch Changes
6+
7+
- tauri desktop app is now in a separate package for more clear code
8+
- Updated dependencies
9+
- @gun-vue/composables@0.18.1
10+
311
## 0.18.0
412

513
### Minor Changes

components/package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@gun-vue/components",
3-
"version": "0.18.0",
3+
"version": "0.18.1",
44
"homepage": "https://gun-vue.js.org",
55
"bugs": {
66
"url": "https://github.com/defucc/gun-vue/issues"
@@ -46,18 +46,18 @@
4646
"fuse.js": "6.6.2",
4747
"jsqr": "^1.4.0",
4848
"url-regex": "^5.0.0",
49-
"vue": "^3.2.47",
49+
"vue": "^3.3.2",
5050
"vue-select": "4.0.0-beta.6",
5151
"vue3-virtual-scroll-list": "^0.2.1"
5252
},
5353
"devDependencies": {
5454
"@unocss/extractor-pug": "0.51.12",
55-
"@vitejs/plugin-vue": "4.2.1",
55+
"@vitejs/plugin-vue": "4.2.3",
5656
"pug": "^3.0.2",
5757
"typescript": "5.0.4",
5858
"unocss": "^0.51.12",
5959
"vite": "4.3.5",
60-
"vue-tsc": "^1.6.4"
60+
"vue-tsc": "^1.6.5"
6161
},
6262
"peerDependencies": {
6363
"vue": "^3.2.37"

composables/CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# @gun-vue/composables
22

3+
## 0.18.1
4+
5+
### Patch Changes
6+
7+
- tauri desktop app is now in a separate package for more clear code
8+
39
## 0.18.0
410

511
### Minor Changes

composables/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@gun-vue/composables",
3-
"version": "0.18.0",
3+
"version": "0.18.1",
44
"homepage": "https://gun-vue.js.org",
55
"bugs": {
66
"url": "https://github.com/DeFUCC/gun-vue/issues"
@@ -53,7 +53,7 @@
5353
"slugify": "1.6.6",
5454
"ultramatter": "0.0.4",
5555
"url-regex": "5.0.0",
56-
"vue": "3.2.47",
56+
"vue": "3.3.2",
5757
"webtorrent": "2.0.18",
5858
"yamlify-object": "1.0.0"
5959
},
@@ -65,4 +65,4 @@
6565
"vite": "4.3.5",
6666
"vite-plugin-checker": "0.6.0"
6767
}
68-
}
68+
}

desktop/CHANGELOG.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# @gun-vue/desktop
2+
3+
## 0.18.1
4+
5+
### Patch Changes
6+
7+
- tauri desktop app is now in a separate package for more clear code

desktop/package.json

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"name": "@gun-vue/desktop",
3-
"version": "0.18.0",
3+
"private": true,
4+
"version": "0.18.1",
45
"type": "module",
56
"homepage": "https://gun-vue.js.org",
67
"funding": {
@@ -20,12 +21,12 @@
2021
"build": "tauri build"
2122
},
2223
"dependencies": {
23-
"@capacitor/android": "5.0.2",
24-
"@capacitor/core": "5.0.2",
25-
"@capacitor/ios": "5.0.2"
24+
"@capacitor/android": "5.0.3",
25+
"@capacitor/core": "5.0.3",
26+
"@capacitor/ios": "5.0.3"
2627
},
2728
"devDependencies": {
28-
"@capacitor/cli": "5.0.2",
29+
"@capacitor/cli": "5.0.3",
2930
"@tauri-apps/cli": "1.3.1"
3031
}
31-
}
32+
}

desktop/src-tauri/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "gun_vue"
3-
version = "0.18.0"
3+
version = "0.18.1"
44
description = "Gun-Vue makes reactive p2p graphs a thing"
55
authors = ["davay42"]
66
license = "MIT"

desktop/src-tauri/tauri.conf.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
},
99
"package": {
1010
"productName": "Gun-Vue",
11-
"version": "0.18.0"
11+
"version": "0.18.1"
1212
},
1313
"tauri": {
1414
"allowlist": {

docs/CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# @gun-vue/docs
22

3+
## 0.18.1
4+
5+
### Patch Changes
6+
7+
- tauri desktop app is now in a separate package for more clear code
8+
39
## 0.18.0
410

511
### Minor Changes

docs/index.md

+32-12
Original file line numberDiff line numberDiff line change
@@ -17,25 +17,45 @@ hero:
1717
link: /reference/typedoc/modules
1818
features:
1919
- icon:
20-
title: Build trustful reactive p2p apps for casual use with family, friends and wider communities.
21-
details: Gun-Vue enables very robust low code P2P UI design, that's making us build huge crypto graph
22-
linkText: Get started
23-
link: /
20+
title: Low-code trustful web-apps
21+
details: Build trustful reactive p2p crypto graph applications for casual use with family, friends and wider communities.
22+
linkText: Start building
23+
link: /tutorials/first-app
2424

2525
- icon: <span class="i-carbon:ibm-toolchain"></span>
2626
title: Reactive composables
2727
details: Gun-Vue provides a set of reactive composables that make it easy to integrate Gun with Vue.js applications, allowing you to build powerful p2p apps with minimal boilerplate code.
28-
link: reference/modules
29-
linkText: Browse docs
30-
- icon: 💡
31-
title: Pluggable components
32-
details: The building blocks for trustful P2P digital interactions. From one-off single purpose apps to complex flows of reactive data
28+
link: /packages/composables
29+
linkText: Explore composables
30+
3331
- icon: ⚡️
34-
title: Reactive database
32+
title: Reactive P2P database
3533
details: Every object exported is reactive to changes in Gun p2p database
34+
3635
- icon:
37-
title: Use examples
38-
details: These composables are used to build Gun-Vue components that are combined in the Gun-Vue app for everyone to play with.
36+
title: Local-first single HTML apps
37+
details: Gun-Vue enables the creation of local-first applications, meaning data is stored locally and synced with the global network only when necessary. All the components and logic required for your Gun-Vue application can be packed into a single HTML file, simplifying deployment and making it easy to share your app with others.
38+
39+
- title: Pluggable Components
40+
details: With Gun-Vue, you can create and use custom pluggable components, making it simple to extend the functionality of your app and reuse components across different projects.
41+
link: https://github.com/DeFUCC/gun-vue/tree/master/src/components
42+
linkText: Explore Pluggable Components
43+
44+
- title: Easy Integration
45+
details: Gun-Vue is designed to work seamlessly with existing Vue.js projects, making it simple to add real-time data synchronization and other Gun features to your app without major refactoring.
46+
47+
- title: Decentralized Data Storage
48+
details: Leverage the power of Gun's decentralized data storage system to build apps that are resistant to censorship and data loss, providing a secure and resilient foundation for your projects.
49+
link: https://gun.eco/docs/
50+
linkText: Read Gun docs
51+
52+
53+
54+
- title: Open Source
55+
details: Gun-Vue is an open-source project, meaning you can contribute to its development, report issues, and collaborate with the community to help improve the toolkit and build better apps.
56+
link: https://github.com/DeFUCC/gun-vue
57+
linkText: View on GitHub
58+
3959
---
4060

4161

docs/navigation.json

+10
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,16 @@
2929
}
3030
]
3131
},
32+
{
33+
"text": "Packages",
34+
"link": "/packages/index",
35+
"items": [
36+
{
37+
"text": "Composables",
38+
"link": "/packages/composables"
39+
}
40+
]
41+
},
3242
{
3343
"text": "How to",
3444
"items": [

docs/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@gun-vue/docs",
3-
"version": "0.18.0",
3+
"version": "0.18.1",
44
"private": "true",
55
"homepage": "https://gun-vue.js.org",
66
"bugs": {

docs/packages/composables.md

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# Gun DB + Vue UI composables collection
2+
3+
A Composition API `use` functions set for Gun.js and Vue 3 reactivity system
4+
5+
![@gun-vue composables logo](https://gun-vue.js.org/media/svg/composables.svg)
6+
7+
[gun-vue.js.org](https://gun-vue.js.org)
8+
9+
It's just the beginning and not all the functions are reliably implemented yet. So you're welcome to collaborate on existing and new features of the library.
10+
11+
- **User** - the `gun.user()` system management
12+
- **Account** - user profile interface
13+
- **Color** - the `color-hash` interface to generate colors for hashes and pubs
14+
- **Crypto** - the main cryptographic primitives like e2e encrypted messaging and more
15+
- **Date Tree** - the very performant concept of Date Tree graphs from [gun-util](https://github.com/diatche/gun-util#DateTree) made reactive and easy to use
16+
- **File** - some bindings to manage file uploads and downloads
17+
- **Hash** - everything you need to hash data and work with the hashes in a reliable way (i.e. URL-safe conversion)
18+
- **Mouse** - some basic bindings to reliably locate mouse pointer in an SVG - may be useful for many online games
19+
- **Password** - some elaborations on reimagining password system in a p2p graph environment
20+
- **Relay** - Gun relay peer connection monitoring
21+
- **Room** - private signed collaborative spaces with a certificate system for access management. (TBD)
22+
- **Space** - a simple demo of showing working with private user data in a shared space
23+
- **Posts** - hashed immutable data in the root of the db as a fun experiment, but with deep observations about freedom of speach and ways to explore the vastness of the public graph space available with Gun
24+
- **Chat** - basic public chat
25+
- **Rooms** - cryptographic data collections
26+
- **Dictionary** - we find ourselves in great power if we have verified concepts to collaborate with
27+
28+
... and more!
29+
30+
**And there's more!**
31+
32+
[READ FULL DOCUMENTATION ONLINE](https://gun-vue.js.org/docs)
33+
34+
## How to use
35+
36+
1. Install the library:
37+
38+
```shell
39+
npm i @gun-vue/composables
40+
```
41+
42+
2. Import any of the functions you need:
43+
44+
```js
45+
import { useAccount } from "@gun-vue/composables";
46+
```
47+
48+
3. Instantiate the function inside your Vue SFC
49+
50+
```js
51+
const { account, auth, leave } = useAccount();
52+
```
53+
54+
4. Use the reactive state in your template to drive the component:
55+
56+
```html
57+
<div v-for="(data,field) in account.profile" :key="field">
58+
{{ field }} - {{ data }}
59+
</div>
60+
```
61+
62+
#### SSG environment notice (Nuxt, Vitepress etc.)
63+
64+
Gun-Vue is client-side only and it may throw errors being executed during the SSG/SSR build process. One way to deal with it is to make the your GUN-enabled components asynchronous.
65+
66+
### 1. Make your component async
67+
68+
```vue
69+
<script setup async>
70+
const { useAccount } = await import("@gun-vue/composables");
71+
72+
const { account } = useAccount();
73+
</script>
74+
75+
<template>
76+
<div>{{ account.profile?.name }}</div>
77+
</template>
78+
```
79+
80+
### 2. Put it to load only on client side.
81+
82+
```html
83+
<ClientOnly>
84+
<Suspense>
85+
<YourComponent />
86+
</Suspense>
87+
</ClientOnly>
88+
```
89+
90+
This should prevent any Gun-Vue related code from running during build stage.
91+
92+
- [ ] Refactor the code to be more useable and tree-shakeable in SSG environment. Help needed!
93+
94+
![](https://gun-vue.js.org/composables/arkit.svg)

docs/packages/index.md

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
title: '@gun-vue packages'
3+
---
4+
5+
6+
- "composables"
7+
- "components"
8+
- "docs"
9+
- "app"
10+
- "relay"
11+
- "desktop"
12+
- "examples"
13+
- "."

0 commit comments

Comments
 (0)