Skip to content

Commit

Permalink
v.0.18.1
Browse files Browse the repository at this point in the history
  • Loading branch information
davay42 committed May 14, 2023
1 parent c077960 commit bfd5670
Show file tree
Hide file tree
Showing 19 changed files with 430 additions and 325 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# @gun-vue/repo

## 0.18.1

### Patch Changes

- tauri desktop app is now in a separate package for more clear code

## 0.18.0

### Minor Changes
Expand Down
6 changes: 6 additions & 0 deletions app/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# @gun-vue/app

## 0.18.1

### Patch Changes

- tauri desktop app is now in a separate package for more clear code

## 0.18.0

### Minor Changes
Expand Down
12 changes: 6 additions & 6 deletions app/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@gun-vue/app",
"version": "0.18.0",
"version": "0.18.1",
"type": "module",
"homepage": "https://gun-vue.js.org",
"funding": {
Expand Down Expand Up @@ -35,13 +35,13 @@
"@unocss/reset": "0.51.12",
"@vueuse/core": "10.1.2",
"ola": "1.2.1",
"vue": "3.2.47",
"vue-router": "4.1.6"
"vue": "3.3.2",
"vue-router": "4.2.0"
},
"devDependencies": {
"@iconify/json": "2.2.63",
"@iconify/json": "2.2.64",
"@unocss/extractor-pug": "0.51.12",
"@vitejs/plugin-vue": "4.2.1",
"@vitejs/plugin-vue": "4.2.3",
"pug": "3.0.2",
"unocss": "0.51.12",
"vite": "4.3.5",
Expand All @@ -50,4 +50,4 @@
"vite-plugin-pwa": "0.14.7",
"vite-plugin-singlefile": "0.13.5"
}
}
}
8 changes: 8 additions & 0 deletions components/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @gun-vue/components

## 0.18.1

### Patch Changes

- tauri desktop app is now in a separate package for more clear code
- Updated dependencies
- @gun-vue/composables@0.18.1

## 0.18.0

### Minor Changes
Expand Down
8 changes: 4 additions & 4 deletions components/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@gun-vue/components",
"version": "0.18.0",
"version": "0.18.1",
"homepage": "https://gun-vue.js.org",
"bugs": {
"url": "https://github.com/defucc/gun-vue/issues"
Expand Down Expand Up @@ -46,18 +46,18 @@
"fuse.js": "6.6.2",
"jsqr": "^1.4.0",
"url-regex": "^5.0.0",
"vue": "^3.2.47",
"vue": "^3.3.2",
"vue-select": "4.0.0-beta.6",
"vue3-virtual-scroll-list": "^0.2.1"
},
"devDependencies": {
"@unocss/extractor-pug": "0.51.12",
"@vitejs/plugin-vue": "4.2.1",
"@vitejs/plugin-vue": "4.2.3",
"pug": "^3.0.2",
"typescript": "5.0.4",
"unocss": "^0.51.12",
"vite": "4.3.5",
"vue-tsc": "^1.6.4"
"vue-tsc": "^1.6.5"
},
"peerDependencies": {
"vue": "^3.2.37"
Expand Down
6 changes: 6 additions & 0 deletions composables/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# @gun-vue/composables

## 0.18.1

### Patch Changes

- tauri desktop app is now in a separate package for more clear code

## 0.18.0

### Minor Changes
Expand Down
6 changes: 3 additions & 3 deletions composables/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@gun-vue/composables",
"version": "0.18.0",
"version": "0.18.1",
"homepage": "https://gun-vue.js.org",
"bugs": {
"url": "https://github.com/DeFUCC/gun-vue/issues"
Expand Down Expand Up @@ -53,7 +53,7 @@
"slugify": "1.6.6",
"ultramatter": "0.0.4",
"url-regex": "5.0.0",
"vue": "3.2.47",
"vue": "3.3.2",
"webtorrent": "2.0.18",
"yamlify-object": "1.0.0"
},
Expand All @@ -65,4 +65,4 @@
"vite": "4.3.5",
"vite-plugin-checker": "0.6.0"
}
}
}
7 changes: 7 additions & 0 deletions desktop/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# @gun-vue/desktop

## 0.18.1

### Patch Changes

- tauri desktop app is now in a separate package for more clear code
13 changes: 7 additions & 6 deletions desktop/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "@gun-vue/desktop",
"version": "0.18.0",
"private": true,
"version": "0.18.1",
"type": "module",
"homepage": "https://gun-vue.js.org",
"funding": {
Expand All @@ -20,12 +21,12 @@
"build": "tauri build"
},
"dependencies": {
"@capacitor/android": "5.0.2",
"@capacitor/core": "5.0.2",
"@capacitor/ios": "5.0.2"
"@capacitor/android": "5.0.3",
"@capacitor/core": "5.0.3",
"@capacitor/ios": "5.0.3"
},
"devDependencies": {
"@capacitor/cli": "5.0.2",
"@capacitor/cli": "5.0.3",
"@tauri-apps/cli": "1.3.1"
}
}
}
2 changes: 1 addition & 1 deletion desktop/src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "gun_vue"
version = "0.18.0"
version = "0.18.1"
description = "Gun-Vue makes reactive p2p graphs a thing"
authors = ["davay42"]
license = "MIT"
Expand Down
2 changes: 1 addition & 1 deletion desktop/src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
},
"package": {
"productName": "Gun-Vue",
"version": "0.18.0"
"version": "0.18.1"
},
"tauri": {
"allowlist": {
Expand Down
6 changes: 6 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# @gun-vue/docs

## 0.18.1

### Patch Changes

- tauri desktop app is now in a separate package for more clear code

## 0.18.0

### Minor Changes
Expand Down
44 changes: 32 additions & 12 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,25 +17,45 @@ hero:
link: /reference/typedoc/modules
features:
- icon:
title: Build trustful reactive p2p apps for casual use with family, friends and wider communities.
details: Gun-Vue enables very robust low code P2P UI design, that's making us build huge crypto graph
linkText: Get started
link: /
title: Low-code trustful web-apps
details: Build trustful reactive p2p crypto graph applications for casual use with family, friends and wider communities.
linkText: Start building
link: /tutorials/first-app

- icon: <span class="i-carbon:ibm-toolchain"></span>
title: Reactive composables
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.
link: reference/modules
linkText: Browse docs
- icon: 💡
title: Pluggable components
details: The building blocks for trustful P2P digital interactions. From one-off single purpose apps to complex flows of reactive data
link: /packages/composables
linkText: Explore composables

- icon: ⚡️
title: Reactive database
title: Reactive P2P database
details: Every object exported is reactive to changes in Gun p2p database

- icon:
title: Use examples
details: These composables are used to build Gun-Vue components that are combined in the Gun-Vue app for everyone to play with.
title: Local-first single HTML apps
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.

- title: Pluggable Components
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.
link: https://github.com/DeFUCC/gun-vue/tree/master/src/components
linkText: Explore Pluggable Components

- title: Easy Integration
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.

- title: Decentralized Data Storage
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.
link: https://gun.eco/docs/
linkText: Read Gun docs



- title: Open Source
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.
link: https://github.com/DeFUCC/gun-vue
linkText: View on GitHub

---


Expand Down
10 changes: 10 additions & 0 deletions docs/navigation.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,16 @@
}
]
},
{
"text": "Packages",
"link": "/packages/index",
"items": [
{
"text": "Composables",
"link": "/packages/composables"
}
]
},
{
"text": "How to",
"items": [
Expand Down
2 changes: 1 addition & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@gun-vue/docs",
"version": "0.18.0",
"version": "0.18.1",
"private": "true",
"homepage": "https://gun-vue.js.org",
"bugs": {
Expand Down
94 changes: 94 additions & 0 deletions docs/packages/composables.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Gun DB + Vue UI composables collection

A Composition API `use` functions set for Gun.js and Vue 3 reactivity system

![@gun-vue composables logo](https://gun-vue.js.org/media/svg/composables.svg)

[gun-vue.js.org](https://gun-vue.js.org)

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.

- **User** - the `gun.user()` system management
- **Account** - user profile interface
- **Color** - the `color-hash` interface to generate colors for hashes and pubs
- **Crypto** - the main cryptographic primitives like e2e encrypted messaging and more
- **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
- **File** - some bindings to manage file uploads and downloads
- **Hash** - everything you need to hash data and work with the hashes in a reliable way (i.e. URL-safe conversion)
- **Mouse** - some basic bindings to reliably locate mouse pointer in an SVG - may be useful for many online games
- **Password** - some elaborations on reimagining password system in a p2p graph environment
- **Relay** - Gun relay peer connection monitoring
- **Room** - private signed collaborative spaces with a certificate system for access management. (TBD)
- **Space** - a simple demo of showing working with private user data in a shared space
- **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
- **Chat** - basic public chat
- **Rooms** - cryptographic data collections
- **Dictionary** - we find ourselves in great power if we have verified concepts to collaborate with

... and more!

**And there's more!**

[READ FULL DOCUMENTATION ONLINE](https://gun-vue.js.org/docs)

## How to use

1. Install the library:

```shell
npm i @gun-vue/composables
```

2. Import any of the functions you need:

```js
import { useAccount } from "@gun-vue/composables";
```

3. Instantiate the function inside your Vue SFC

```js
const { account, auth, leave } = useAccount();
```

4. Use the reactive state in your template to drive the component:

```html
<div v-for="(data,field) in account.profile" :key="field">
{{ field }} - {{ data }}
</div>
```

#### SSG environment notice (Nuxt, Vitepress etc.)

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.

### 1. Make your component async

```vue
<script setup async>
const { useAccount } = await import("@gun-vue/composables");
const { account } = useAccount();
</script>
<template>
<div>{{ account.profile?.name }}</div>
</template>
```

### 2. Put it to load only on client side.

```html
<ClientOnly>
<Suspense>
<YourComponent />
</Suspense>
</ClientOnly>
```

This should prevent any Gun-Vue related code from running during build stage.

- [ ] Refactor the code to be more useable and tree-shakeable in SSG environment. Help needed!

![](https://gun-vue.js.org/composables/arkit.svg)
13 changes: 13 additions & 0 deletions docs/packages/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
title: '@gun-vue packages'
---


- "composables"
- "components"
- "docs"
- "app"
- "relay"
- "desktop"
- "examples"
- "."
Loading

0 comments on commit bfd5670

Please sign in to comment.