Skip to content

Commit ae155de

Browse files
authored
Merge pull request #153 from open-source-labs/dev
OverVue 6.0 Updates
2 parents b290113 + 7feb832 commit ae155de

File tree

90 files changed

+31254
-3056
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+31254
-3056
lines changed

.eslintignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
/node_modules
88
.eslintrc.js
99
babel.config.js
10-
/src/components/ComponentDisplay.vue
10+
/src/components/Canvas.vue

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"editor.tabSize": 2
3+
}

Dockerfile-Mac

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
FROM node:16.14
2+
3+
# install electron dependencies or more if your library has other dependencies
4+
RUN apt-get update && apt-get install \
5+
git libx11-xcb1 libxcb-dri3-0 libxtst6 libnss3 libatk-bridge2.0-0 libgtk-3-0 libxss1 libasound2 \
6+
-yq --no-install-suggests --no-install-recommends \
7+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
8+
9+
# copy the source into /app
10+
WORKDIR /app
11+
COPY . .
12+
RUN chown -R node /app
13+
14+
# install node modules and perform an electron rebuild
15+
USER node
16+
RUN npm install
17+
18+
# Electron needs root for sand boxing
19+
# see https://github.com/electron/electron/issues/17972
20+
USER root
21+
RUN chown root /app/node_modules/electron/dist/chrome-sandbox
22+
RUN chmod 4755 /app/node_modules/electron/dist/chrome-sandbox
23+
24+
# Electron doesn't like to run as root
25+
USER node
26+
CMD bash

Dockerfile-WSL

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
FROM node:16.14
2+
3+
RUN apt-get update && apt-get install \
4+
git libx11-xcb1 libxss1 libxcb-dri3-0 libgconf2-dev libxtst6 \
5+
xvfb dbus-x11 libnss3 libudev-dev libatk-bridge2.0-0 libgtk-3-0 \
6+
libxss1 libasound2 libdrm2 libgtkextra-dev libgbm1 \
7+
-yq --no-install-suggests --no-install-recommends \
8+
&& apt-get clean && rm -rf /var/lib/apt/lists/*
9+
10+
WORKDIR /OverVue
11+
COPY . .
12+
RUN chown -R node /OverVue
13+
RUN npm i -g @quasar/cli
14+
15+
USER node
16+
RUN npm install
17+
18+
USER root
19+
RUN chown root /OverVue/node_modules/electron/dist/chrome-sandbox
20+
RUN chmod 4755 /OverVue/node_modules/electron/dist/chrome-sandbox
21+
EXPOSE 3000
22+
23+
USER node
24+
CMD bash
25+
26+
# IN YOUR WSL 2 TERMINAL:
27+
# export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
28+
# export LIBGL_ALWAYS_INDIRECT=1
29+
#
30+
# MUST BE RUNNING SOME XSERVER SUCH AS VcXsrv OR OTHER
31+
#
32+
# RUN WITH:
33+
# docker run -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -v`pwd:/app --rm -it <yourimagename> bash
34+
#
35+
# INSIDE CONTAINER:
36+
# quasar dev -m electron -- --no-sandbox
37+
#

README.md

Lines changed: 141 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
<h1 align="center">
2-
<img src="https://raw.githubusercontent.com/jeisele2/OverVue/master/src/assets/overvue-icons/apple-icon-72x72.png">
3-
<br/>
4-
OverVue
2+
<img src="src/assets/overvue_256x256.png">
53
</h1>
64

7-
<p align="center"><b>Prototyping Tool for Vue Developers</b></p>
5+
<p align="center"><b>Prototyping Development Tool for Vue Developers</b></p>
86

97
<p>OverVue is a prototyping tool that allows developers to dynamically create and visualize a Vue application, implementing a real-time intuitive tree display of component hierarchy and a live-generated code preview. The resulting boilerplate can be exported as a template for further development.</p>
108

@@ -14,16 +12,19 @@
1412

1513
## Table of Contents
1614

17-
- [Features](#features)
18-
- [OverVue 2.0 Changelog](#changelog-20)
19-
- [OverVue 3.0 Changelog](#changelog-30)
20-
- [OverVue 4.0 Changelog](#changelog-40)
21-
- [OverVue 5.0 Changelog](#changelog-50)
22-
- [How to Use](#how-to-use)
15+
- [Table of Contents](#table-of-contents)
16+
- [Features](#features)
17+
- [Changelog 2.0](#changelog-20)
18+
- [Changelog 3.0](#changelog-30)
19+
- [Changelog 4.0](#changelog-40)
20+
- [Changelog 5.0](#changelog-50)
21+
- [Changelog 6.0](#changelog-60)
22+
- [How to use](#how-to-use)
2323
- [Installation](#installation)
24-
- [General Installation](#installation)
25-
- [For WSL](#wsl-installation)
26-
- [For Slack OAuth](#slack-oauth)
24+
- [WSL Installation](#wsl-installation)
25+
- [Running the Docker Image](#running-the-docker-image)
26+
- [BETA](#beta)
27+
- [Slack OAuth](#slack-oauth)
2728
- [Contributing](#contributing)
2829
- [Authors](#authors)
2930

@@ -52,6 +53,11 @@
5253
- Ability to delete states or actions from the store <sub><sup>(v4.0)</sup></sub>
5354
- Vue Devtools enabled for Developers <sub><sup>(v4.0)</sup></sub>/automatically deploys when running electron in dev mode <sub><sup>(v5.0)</sup></sub>
5455
- Exports fully functional Vue 3/Vuex 4 syntax <sub><sup>(v5.0)</sup></sub>
56+
- Import of individual components <sub><sup>(v6.0)</sup></sub>
57+
- Containerized the application <sub><sup>(v6.0)</sup></sub>
58+
- Introduced TypeScript Mode <sub><sup>(v6.0)</sup></sub>
59+
- Adding notes functionality <sub><sup>(v6.0)</sup></sub>
60+
- Enhanced component tree hierarchy display <sub><sup>(v6.0)</sup></sub>
5561

5662
[↥Back to top](#table-of-contents)
5763

@@ -137,7 +143,28 @@
137143
</ul>
138144
</details>
139145

146+
### Changelog 6.0
140147

148+
<details><summary>OverVue 6.0</summary>
149+
<ul>
150+
<li>Toggle to TypeScript mode to generate code snippets and export your project or individual components in TypeScript</li>
151+
<li>An interactive and real-time tree display of your component hierarchy allows you to easily visualize parent-child component relationships and the Vue Router structure</li>
152+
<li>Enhance your workflow by adding notes to your components. When you export your project or components into your favorite IDE, notes will be converted into comments within your Vue files.</li>
153+
<li>Now with a “Get Started” tutorial, a visual queue of your HTML elements, and an overall simplified UI, OveVue is as intuitive as ever. </li>
154+
<li>OverVue is now containerized with Docker to bring developers the same experience, regardless of your operating system.</li>
155+
<br>
156+
<h4><strong>Bug Fixes</strong></h4>
157+
<li>Fixed drawer disappearing when the window size is smaller</li>
158+
<li>Fixed inability to delete parent/child relationship</li>
159+
<li>Fixed the inability to add multiple children to parent except when making a new component</li>
160+
<li>Fixed CodeSnippet does not scroll when it overflows the container</li>
161+
<li>Fixed clicking canvas does not fully deactivate active component</li>
162+
<li>Fixed Error handling for 'pasting' component when no component is copied</li>
163+
<li>Fixed dancing components</li>
164+
<li>Fixed project tree visulization</li>
165+
</ul>
166+
</details>
167+
<br/>
141168

142169
[↥Back to top](#table-of-contents)
143170

@@ -185,21 +212,23 @@ src/
185212
UserCreatedComponent1.vue
186213
UserCreatedComponent2.vue
187214
...
215+
router/
216+
index.js
188217
views/
189218
HomeView.vue
190219
UserCreatedRouteComponent1.vue
191220
UserCreatedRouteComponent2.vue
192221
...
193222
App.vue
194223
main.js
195-
router.js
196224
babel.config.js
197225
package.json
198226
```
227+
<br/>
199228

200229
[↥Back to top](#table-of-contents)
201230

202-
### Installation
231+
## Installation
203232

204233
To download the development version for windows or mac, please visit https://www.Overvue.io
205234

@@ -248,7 +277,7 @@ export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/nu
248277
export LIBGL_ALWAYS_INDIRECT=1
249278
```
250279

251-
followed by the command for the devtools or devmode. If you want both open, enter commands above followed by starting the devtools:
280+
followed by the command for the s or devmode. If you want both open, enter commands above followed by starting the devtools:
252281

253282
```
254283
./node_modules/.bin/vue-devtools
@@ -259,7 +288,85 @@ Then open a new terminal instance, set the DISPLAY value again (re-enter above c
259288
```
260289
quasar dev -m electron
261290
```
291+
## Running the Docker Image
292+
293+
To run the built version, pull down the docker image from [Docker repo]
294+
295+
In your terminal, run:
296+
297+
```
298+
docker run -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -v`pwd`/src:/app/src --rm -it overvue
299+
```
300+
### Running the dev environment on Docker as a Mac User
301+
To run OverVue through Docker on a Mac, you'll need to install XQuartz:
302+
```
303+
brew install --cask xquartz
304+
```
305+
306+
<strong>Important:</strong> RESTART your computer.
307+
308+
Update your PATH variable to /opt/x11/bin to your .zshrc. For example:
309+
```
310+
export PATH=/opt/X11/bin:$PATH
311+
```
312+
313+
Set up XQuartz:
314+
<ul>
315+
<li>Launch XQuartz</li>
316+
<li>Under the XQuartz menu, select Preferences.</li>
317+
<li>Go to the security tab and ensure "Allow connections from network clients" is checked.</li>
318+
<li>Restart XQuartz</li>
319+
</ul>
320+
321+
Run the following command in your terminal (replacing localhostname with your local host name)
322+
```
323+
xhost +localhostname
324+
```
325+
If you don't know your local host name, run the following command to find it:
326+
```
327+
echo $(hostname)
328+
```
329+
330+
Build the image using Dockerfile-Mac:
331+
```
332+
docker build -t overvue -f Dockerfile-Mac .
333+
```
334+
335+
Run the image using the following command
336+
```
337+
docker run -it --env="DISPLAY=$(ifconfig en0 | grep inet | awk '$1=="inet" {print$2}'):0" --security-opt seccomp=./chrome.json overvue
338+
```
339+
340+
Run in dev mode using:
341+
```
342+
npm run dev
343+
```
344+
345+
For more information about running Electron through Docker on a Mac, check out these posts:
346+
<li><a href="https://jaked.org/blog/2021-02-18-How-to-run-Electron-on-Linux-on-Docker-on-Mac">How to run Electron on Linux on Docker on Mac</a></li>
347+
<li><a href="https://gist.github.com/paul-krohn/e45f96181b1cf5e536325d1bdee6c949">Workaround for sockets on Docker on macOS</a></li>
348+
<li><a href="https://blog.jessfraz.com/post/how-to-use-new-docker-seccomp-profiles/">How to use new Docker seccomp profiles</a></li>
349+
<br/>
262350

351+
### Running the dev environment on Docker as a WSL user
352+
353+
Build the image using Dockerfile-WSL:
354+
```
355+
docker build -t overvue -f Dockerfile-WSL .
356+
```
357+
358+
To run
359+
```
360+
docker run -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -v`pwd`/src:/app/src --rm -it overvue bash
361+
```
362+
363+
Run in dev mode using:
364+
```
365+
npm run dev
366+
```
367+
<br/>
368+
369+
## BETA
263370
### Slack OAuth
264371

265372
For the Slack OAuth, you will need to create a Slack app through their website (https://api.slack.com/apps?new_app=1), so that you have your own Client Secret and Client ID. Then create two .env files (one for development and one for production).
@@ -290,21 +397,25 @@ SLACK_REDIRECT_URI = "overvuedev://test"
290397

291398
[↥Back to top](#table-of-contents)
292399

293-
### Contributing
400+
## Contributing
294401

295402
We'd love for you to test this application out and submit any issues you encounter. Also feel free to fork to your own repo and submit PRs.
296-
Here are some features we're thinking about adding:
403+
Here are some features we're thinking about adding:
404+
297405

298-
- Option to export files in TypeScript
299406
- Ability to place child components into HTML elements
300-
- Integration with Storybook
301-
- Edit State and Actions in the Vuex Store
407+
- More semantic HTML tag options
408+
- Ability to export Vuex store boilerplate
409+
- Ability to add two-way binding to input elements
410+
- More granular typing options for TypeScript mode
302411

303412
If you make changes and wish to update the website, here is the link to the repo: https://github.com/TeamOverVue/OverVuePage
304413

414+
<br/>
415+
305416
[↥Back to top](#table-of-contents)
306417

307-
### Authors
418+
## Authors
308419

309420
```
310421
Contributors:
@@ -329,8 +440,15 @@ Gabriela Kokhabi @gkokhabi
329440
Ross Lamerson @lamerson28
330441
Shanon Lee @shanonlee541
331442
Zoew McGrath @Z-McGrath
443+
Aram Paparian @apaparian
444+
Bryan Bart @MrBeeAreWhy
445+
Julia Bakerink @jbbake
446+
Kerolos Nesem @Kerolos-Nesem
447+
Megan Nadkarni @megatera
332448
```
333449

334450
Inspired by [PreVue](https://github.com/open-source-labs/PreVue)
335451

336-
[↥Back to top](#table-of-contents)
452+
<br/>
453+
454+
[↥Back to top](#table-of-contents)

0 commit comments

Comments
 (0)