Merge branch 'master' into i18n

This commit is contained in:
Liyas Thomas
2019-12-31 08:38:05 +05:30
committed by GitHub
26 changed files with 1014 additions and 504 deletions

View File

@@ -52,15 +52,6 @@
"code" "code"
] ]
}, },
{
"login": "terranblake",
"name": "Terran Blake",
"avatar_url": "https://avatars3.githubusercontent.com/u/8795767?v=4",
"profile": "https://www.lumahealth.io/",
"contributions": [
"code"
]
},
{ {
"login": "AndrewBastin", "login": "AndrewBastin",
"name": "Andrew Bastin", "name": "Andrew Bastin",

138
README.md
View File

@@ -10,7 +10,7 @@
</p> </p>
<p> <p>
[![Travis Build Status](https://img.shields.io/travis/com/liyasthomas/postwoman?logo=Travis)](https://travis-ci.com/liyasthomas/postwoman) [![GitHub release](https://img.shields.io/github/release/liyasthomas/postwoman/all?logo=GitHub)](https://github.com/liyasthomas/postwoman/releases/latest) [![Website](https://img.shields.io/website?url=https%3A%2F%2Fpostwoman.io&logo=Postwoman)](https://postwoman.io) [![Contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen?style=flat)](CONTRIBUTING.md) [![All Contributors](https://img.shields.io/badge/all_contributors-13-orange.svg?style=flat-square)](#contributors) [![Financial Contributors on Open Collective](https://img.shields.io/opencollective/all/postwoman?logo=Open-Collective&label=financial+contributors)](https://opencollective.com/postwoman) [![Donate on PayPal](https://img.shields.io/badge/support-PayPal-blue?logo=PayPal)](https://www.paypal.me/liyascthomas) [![Chat on Telegram](https://img.shields.io/badge/chat-Telegram-blueviolet?logo=Telegram)](https://t.me/postwoman_app) [![Chat on Discord](https://img.shields.io/badge/chat-Discord-violet?logo=discord)](https://discord.gg/GAMWxmR) [![Tweet](https://img.shields.io/twitter/url?url=https%3A%2F%2Fpostwoman.io%2F)](https://twitter.com/intent/tweet?url=https%3A%2F%2Fpostwoman.io&text=%F0%9F%91%BD%20Postwoman%20%E2%80%A2%20API%20request%20builder%20-%20Helps%20you%20create%20your%20requests%20faster%2C%20saving%20you%20precious%20time%20on%20your%20development&original_referer=https%3A%2F%2Ftwitter.com%2Fshare%3Ftext%3D%25F0%259F%2591%25BD%2520Postwoman%2520%25E2%2580%25A2%2520API%2520request%2520builder%2520-%2520Helps%2520you%2520create%2520your%2520requests%2520faster%2C%2520saving%2520you%2520precious%2520time%2520on%2520your%2520development%26url%3Dhttps%3A%2F%2Fpostwoman.io%26hashtags%3Dpostwoman%26via%3Dliyasthomas&via=liyasthomas&hashtags=postwoman) [![Travis Build Status](https://img.shields.io/travis/com/liyasthomas/postwoman?logo=Travis)](https://travis-ci.com/liyasthomas/postwoman) [![GitHub release](https://img.shields.io/github/release/liyasthomas/postwoman/all?logo=GitHub)](https://github.com/liyasthomas/postwoman/releases/latest) [![Website](https://img.shields.io/website?url=https%3A%2F%2Fpostwoman.io&logo=Postwoman)](https://postwoman.io) [![Contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen)](CONTRIBUTING.md) [![Financial Contributors on Open Collective](https://img.shields.io/opencollective/all/postwoman?logo=Open-Collective&label=financial+contributors)](https://opencollective.com/postwoman) [![Donate on PayPal](https://img.shields.io/badge/support-PayPal-blue?logo=PayPal)](https://www.paypal.me/liyascthomas) [![Chat on Telegram](https://img.shields.io/badge/chat-Telegram-blueviolet?logo=Telegram)](https://t.me/postwoman_app) [![Chat on Discord](https://img.shields.io/badge/chat-Discord-violet?logo=discord)](https://discord.gg/GAMWxmR) [![Tweet](https://img.shields.io/twitter/url?url=https%3A%2F%2Fpostwoman.io%2F)](https://twitter.com/intent/tweet?url=https%3A%2F%2Fpostwoman.io&text=%F0%9F%91%BD%20Postwoman%20%E2%80%A2%20API%20request%20builder%20-%20Helps%20you%20create%20your%20requests%20faster%2C%20saving%20you%20precious%20time%20on%20your%20development&original_referer=https%3A%2F%2Ftwitter.com%2Fshare%3Ftext%3D%25F0%259F%2591%25BD%2520Postwoman%2520%25E2%2580%25A2%2520API%2520request%2520builder%2520-%2520Helps%2520you%2520create%2520your%2520requests%2520faster%2C%2520saving%2520you%2520precious%2520time%2520on%2520your%2520development%26url%3Dhttps%3A%2F%2Fpostwoman.io%26hashtags%3Dpostwoman%26via%3Dliyasthomas&via=liyasthomas&hashtags=postwoman)
</p> </p>
<p> <p>
@@ -94,7 +94,7 @@ _Customized themes are synced with local session storage_
📡 **Server Sent Events**: Receive a stream of updates from a server over a HTTP connection without resorting to polling. 📡 **Server Sent Events**: Receive a stream of updates from a server over a HTTP connection without resorting to polling.
🌍 **GraphQL**: GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. 🔮 **GraphQL**: GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data.
- Set endpoint and get schemas - Set endpoint and get schemas
- Multi-column docs - Multi-column docs
@@ -161,9 +161,9 @@ _Collections are synced with local session storage_
- Access APIs served in non-HTTPS (`http://`) - Access APIs served in non-HTTPS (`http://`)
- Use custom Proxy URL - Use custom Proxy URL
_Official Postwoman Proxy is hosted by ApolloTV - [Privacy policy](https://apollotv.xyz/legal)_ _Official Postwoman Proxy is hosted by ApolloTV - **[Privacy policy](https://apollotv.xyz/legal)**_
📜 **Pre-Request Scripts**: Snippets of code associated with a request that are executed before the request is sent. 📜 **Pre-Request Scripts β**: Snippets of code associated with a request that are executed before the request is sent.
**Use-cases:** **Use-cases:**
- Include timestamp in the request headers - Include timestamp in the request headers
@@ -171,6 +171,13 @@ _Official Postwoman Proxy is hosted by ApolloTV - [Privacy policy](https://apoll
_Requests with Pre-Request Scripts are indicated in History entries_ _Requests with Pre-Request Scripts are indicated in History entries_
📄 **API Documentation**: Create and share dynamic API documentation easily, quickly.
**Usage:**
1. Add your requests to Collections and Folders
2. Export Collections and easily share your APIs with the rest of your team
3. Import Collections and Generate Documentation on-the-go
⌨️ **Keyboard Shortcuts**: Optimized for efficiency. ⌨️ **Keyboard Shortcuts**: Optimized for efficiency.
**Shortcuts:** **Shortcuts:**
@@ -179,7 +186,15 @@ _Requests with Pre-Request Scripts are indicated in History entries_
- Copy Request Link <kbd>Ctrl</kbd> + <kbd>K</kbd> - Copy Request Link <kbd>Ctrl</kbd> + <kbd>K</kbd>
- Reset Request <kbd>Ctrl</kbd> + <kbd>L</kbd> - Reset Request <kbd>Ctrl</kbd> + <kbd>L</kbd>
🌎 **i18n**: Internationalization β. 🌎 **i18n β**: Experience the app in your own language.
1. Scroll down to the footer
2. Click "Choose Language" button
3. Select your language from the menu
_Keep in mind translations aren't available for all source and target language combinations_
**To provide a localized experience for users around the world, you can add you own translations.**
- Add a new locale in `lang/` - Add a new locale in `lang/`
@@ -200,11 +215,22 @@ _Requests with Pre-Request Scripts are indicated in History entries_
_**All `i18n` contributions are welcome to `i18n` [branch](https://github.com/liyasthomas/postwoman/tree/i18n) only!**_ _**All `i18n` contributions are welcome to `i18n` [branch](https://github.com/liyasthomas/postwoman/tree/i18n) only!**_
📦 **Add-ons**: Official add-ons for Postwoman.
- **[Postwoman Proxy β](https://github.com/postwoman-io/postwoman-proxy)** - A simple proxy server created for Postwoman
- **[Postwoman CLI β](https://github.com/postwoman-io/postwoman-cli)** - A CLI solution for Postwoman
_Add-ons are developed and maintained under **[Official Postwoman Organization](https://github.com/postwoman-io)**_
**To find out more, please check out [Postwoman Wiki](https://github.com/liyasthomas/postwoman/wiki).** **To find out more, please check out [Postwoman Wiki](https://github.com/liyasthomas/postwoman/wiki).**
## Demo 🚀 [![Website](https://img.shields.io/website?url=https%3A%2F%2Fpostwoman.io&logo=Postwoman)](https://postwoman.io) ## Demo 🚀 [![Website](https://img.shields.io/website?url=https%3A%2F%2Fpostwoman.io&logo=Postwoman)](https://postwoman.io)
[https://postwoman.io](https://postwoman.io) [postwoman.io](https://postwoman.io)
<a href="https://www.netlify.com">
<img src="https://www.netlify.com/img/global/badges/netlify-light.svg"/>
</a>
## Usage 💡 ## Usage 💡
@@ -302,11 +328,10 @@ See the [CHANGELOG](CHANGELOG.md) file for details.
<td align="center"><a href="https://nicholaslaroux.com"><img src="https://avatars0.githubusercontent.com/u/1557529?v=4" width="100px;" alt="Nicholas La Roux"/><br /><sub><b>Nicholas La Roux</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=larouxn" title="Code">💻</a></td> <td align="center"><a href="https://nicholaslaroux.com"><img src="https://avatars0.githubusercontent.com/u/1557529?v=4" width="100px;" alt="Nicholas La Roux"/><br /><sub><b>Nicholas La Roux</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=larouxn" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/yubathom"><img src="https://avatars3.githubusercontent.com/u/4117768?v=4" width="100px;" alt="Thomas Yuba"/><br /><sub><b>Thomas Yuba</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=yubathom" title="Code">💻</a></td> <td align="center"><a href="https://github.com/yubathom"><img src="https://avatars3.githubusercontent.com/u/4117768?v=4" width="100px;" alt="Thomas Yuba"/><br /><sub><b>Thomas Yuba</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=yubathom" title="Code">💻</a></td>
<td align="center"><a href="http://www.linkedin.com/in/nickpalenchar"><img src="https://avatars1.githubusercontent.com/u/7539781?v=4" width="100px;" alt="Nick Palenchar"/><br /><sub><b>Nick Palenchar</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=nickpalenchar" title="Code">💻</a></td> <td align="center"><a href="http://www.linkedin.com/in/nickpalenchar"><img src="https://avatars1.githubusercontent.com/u/7539781?v=4" width="100px;" alt="Nick Palenchar"/><br /><sub><b>Nick Palenchar</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=nickpalenchar" title="Code">💻</a></td>
<td align="center"><a href="https://www.lumahealth.io/"><img src="https://avatars3.githubusercontent.com/u/8795767?v=4" width="100px;" alt="Terran Blake"/><br /><sub><b>Terran Blake</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=terranblake" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/AndrewBastin"><img src="https://avatars2.githubusercontent.com/u/9131943?v=4" width="100px;" alt="Andrew Bastin"/><br /><sub><b>Andrew Bastin</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=AndrewBastin" title="Code">💻</a></td> <td align="center"><a href="https://github.com/AndrewBastin"><img src="https://avatars2.githubusercontent.com/u/9131943?v=4" width="100px;" alt="Andrew Bastin"/><br /><sub><b>Andrew Bastin</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=AndrewBastin" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/vlad0337187"><img src="https://avatars1.githubusercontent.com/u/12682937?v=4" width="100px;" alt="Vladislav"/><br /><sub><b>Vladislav</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=vlad0337187" title="Code">💻</a></td>
</tr> </tr>
<tr> <tr>
<td align="center"><a href="https://github.com/vlad0337187"><img src="https://avatars1.githubusercontent.com/u/12682937?v=4" width="100px;" alt="Vladislav"/><br /><sub><b>Vladislav</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=vlad0337187" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/izerozlu"><img src="https://avatars3.githubusercontent.com/u/17386157?v=4" width="100px;" alt="izerozlu"/><br /><sub><b>izerozlu</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=izerozlu" title="Code">💻</a></td> <td align="center"><a href="https://github.com/izerozlu"><img src="https://avatars3.githubusercontent.com/u/17386157?v=4" width="100px;" alt="izerozlu"/><br /><sub><b>izerozlu</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=izerozlu" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/JacobAnavisca"><img src="https://avatars2.githubusercontent.com/u/21232366?v=4" width="100px;" alt="Jacob Anavisca"/><br /><sub><b>Jacob Anavisca</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=JacobAnavisca" title="Code">💻</a></td> <td align="center"><a href="https://github.com/JacobAnavisca"><img src="https://avatars2.githubusercontent.com/u/21232366?v=4" width="100px;" alt="Jacob Anavisca"/><br /><sub><b>Jacob Anavisca</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=JacobAnavisca" title="Code">💻</a></td>
<td align="center"><a href="http://nityanandagohain.github.io"><img src="https://avatars3.githubusercontent.com/u/26831659?v=4" width="100px;" alt="Nityananda Gohain"/><br /><sub><b>Nityananda Gohain</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=nityanandagohain" title="Code">💻</a></td> <td align="center"><a href="http://nityanandagohain.github.io"><img src="https://avatars3.githubusercontent.com/u/26831659?v=4" width="100px;" alt="Nityananda Gohain"/><br /><sub><b>Nityananda Gohain</b></sub></a><br /><a href="https://github.com/liyasthomas/postwoman/commits?author=nityanandagohain" title="Code">💻</a></td>
@@ -364,75 +389,34 @@ This project is licensed under the [MIT License](https://opensource.org/licenses
## Badges ## Badges
<p> <table>
<tr>
[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-121212?logo=Postwoman)](https://postwoman.io) <th>Preview</th>
<details> <th>Markdown code</th>
<summary>Default</summary> </tr>
<p> <tbody>
<tr>
``` <td align="center" width="200px"><a href="https://postwoman.io"><br/><img src="https://img.shields.io/badge/Tested_on-Postwoman-202124?logo=Postwoman"/></a><br/><sub>Default<sub></td>
[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-121212?logo=Postwoman)](https://postwoman.io) <td><code>[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-202124?logo=Postwoman)](https://postwoman.io)</code></td>
``` </tr>
</p> <tr>
</details> <td align="center" width="200px"><a href="https://postwoman.io"><br/><img src="https://img.shields.io/badge/Tested_on-Postwoman-success?logo=Postwoman"/></a><br/><sub>Success<sub></td>
</p> <td><code>[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-success?logo=Postwoman)](https://postwoman.io)</code></td>
<p> </tr>
<tr>
--- <td align="center" width="200px"><a href="https://postwoman.io"><br/><img src="https://img.shields.io/badge/Tested_on-Postwoman-critical?logo=Postwoman"/></a><br/><sub>Critical<sub></td>
[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-success?logo=Postwoman)](https://postwoman.io) <td><code>[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-critical?logo=Postwoman)](https://postwoman.io)</code></td>
<details> </tr>
<summary>Success</summary> <tr>
<p> <td align="center" width="200px"><a href="https://postwoman.io"><br/><img src="https://img.shields.io/badge/Tested_on-Postwoman-blueviolet?logo=Postwoman"/></a><br/><sub>Custom<sub></td>
<td><code>[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-blueviolet?logo=Postwoman)](https://postwoman.io)</code></td>
``` </tr>
[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-success?logo=Postwoman)](https://postwoman.io) <tr>
``` <td align="center" width="200px"><a href="https://postwoman.io"><br/><img src="https://img.shields.io/badge/your_text-Postwoman-hex_color_code?logo=Postwoman"/></a><br/><sub>Customize<sub></td>
</p> <td><code>[![Postwoman](https://img.shields.io/badge/your_text-Postwoman-hex_color_code?logo=Postwoman)](https://postwoman.io)</code></td>
</details> </tr>
</p> </tbody>
<p> </table>
---
[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-critical?logo=Postwoman)](https://postwoman.io)
<details>
<summary>Critical</summary>
<p>
```
[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-critical?logo=Postwoman)](https://postwoman.io)
```
</p>
</details>
</p>
<p>
---
[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-blueviolet?logo=Postwoman)](https://postwoman.io)
<details>
<summary>Custom</summary>
<p>
```
[![Postwoman](https://img.shields.io/badge/Tested_on-Postwoman-blueviolet?logo=Postwoman)](https://postwoman.io)
```
</p>
</details>
</p>
<p>
---
[![Postwoman](https://img.shields.io/badge/your_text-Postwoman-hex_color_code?logo=Postwoman)](https://postwoman.io)
<details>
<summary>Customize</summary>
<p>
```
[![Postwoman](https://img.shields.io/badge/your_text-Postwoman-hex_color_code?logo=Postwoman)](https://postwoman.io)
```
</p>
</details>
</p>
<div align="center"> <div align="center">
<br> <br>

View File

@@ -146,6 +146,7 @@ footer {
z-index: 1; z-index: 1;
height: 100vh; height: 100vh;
padding: 0 8px; padding: 0 8px;
background-color: var(--bg-light-color);
} }
.main { .main {
@@ -155,7 +156,6 @@ footer {
order: 2; order: 2;
position: relative; position: relative;
padding: 0 16px; padding: 0 16px;
background-color: var(--bg-light-color);
height: 100%; height: 100%;
} }
@@ -251,20 +251,23 @@ nav.secondary-nav {
h1, h1,
h2, h2,
h3 { h3,
h4 {
display: flex;
align-items: center;
margin: 0; margin: 0;
font-weight: 700; font-weight: 700;
} }
.tooltip { .tooltip {
$bgcolor: var(--bg-color); $bgcolor: var(--tt-color);
$fgcolor: var(--fg-color); $fgcolor: var(--fg-color);
display: block !important; display: block !important;
z-index: 10000; z-index: 10000;
.tooltip-inner { .tooltip-inner {
background: black; background: $bgcolor;
color: white; color: $fgcolor;
border-radius: 8px; border-radius: 8px;
padding: 8px 16px; padding: 8px 16px;
font-size: 12px; font-size: 12px;
@@ -278,7 +281,7 @@ h3 {
border-style: solid; border-style: solid;
position: absolute; position: absolute;
margin: 5px; margin: 5px;
border-color: black; border-color: $bgcolor;
z-index: 1; z-index: 1;
} }
@@ -379,6 +382,11 @@ h3.title {
margin: 4px; margin: 4px;
} }
.info {
margin-left: 4px;
color: var(--fg-light-color);
}
button { button {
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
@@ -424,6 +432,17 @@ button {
transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
} }
} }
&.primary {
color: var(--ac-color);
&:not([disabled]):hover,
&:not([disabled]):active,
&:not([disabled]):focus {
background-color: var(--ac-color);
color: var(--act-color);
}
}
} }
@keyframes beat { @keyframes beat {
@@ -444,7 +463,6 @@ button {
fieldset { fieldset {
margin: 16px 0; margin: 16px 0;
// border: 1px solid var(--brd-color);
border-radius: 16px; border-radius: 16px;
transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
background-color: var(--bg-dark-color); background-color: var(--bg-dark-color);
@@ -503,6 +521,11 @@ fieldset.yellow legend {
color: #f1fa8c; color: #f1fa8c;
} }
input[type="file"],
input[type="radio"],
.tab,
.hide-on-large-screen,
#installPWA,
.hidden { .hidden {
display: none; display: none;
} }
@@ -511,7 +534,9 @@ kbd,
select, select,
input, input,
textarea, textarea,
pre { pre,
code {
display: inline-flex;
margin: 4px; margin: 4px;
padding: 8px; padding: 8px;
border-radius: 8px; border-radius: 8px;
@@ -545,9 +570,10 @@ pre.ace_editor {
z-index: 0; z-index: 0;
} }
code { kbd,
height: 336px; code,
border-radius: 8px; pre {
width: auto;
} }
.select-wrapper { .select-wrapper {
@@ -648,6 +674,7 @@ ol li {
display: inline-flex; display: inline-flex;
flex-direction: column; flex-direction: column;
flex-grow: 1; flex-grow: 1;
justify-content: center;
} }
.flex-wrap { .flex-wrap {
@@ -669,18 +696,10 @@ ol li {
display: flex; display: flex;
} }
.hide-on-large-screen {
display: none;
}
.show-on-large-screen { .show-on-large-screen {
display: inline-flex; display: inline-flex;
} }
#installPWA {
display: none;
}
.info-response { .info-response {
color: #ffeb3b; color: #ffeb3b;
} }
@@ -774,12 +793,6 @@ section {
order: 1; order: 1;
} }
input[type="file"],
input[type="radio"],
.tab {
display: none;
}
input[type="radio"] + label { input[type="radio"] + label {
padding: 8px 16px; padding: 8px 16px;
border-bottom: 2px solid transparent; border-bottom: 2px solid transparent;
@@ -856,6 +869,7 @@ input[type="radio"]:checked + label + .tab {
width: 100%; width: 100%;
background-color: var(--bg-color); background-color: var(--bg-color);
transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out;
box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.45);
} }
nav.primary-nav { nav.primary-nav {

View File

@@ -9,13 +9,13 @@
// Dark is the default theme variant. // Dark is the default theme variant.
@mixin darkTheme { @mixin darkTheme {
// Background color // Background color
--bg-color: rgba(18, 18, 18, 1); --bg-color: rgba(32, 33, 36, 1);
// Light Background color // Light Background color
--bg-light-color: rgba(255, 255, 255, 0.02); --bg-light-color: rgba(255, 255, 255, 0.02);
// Dark Background color // Dark Background color
--bg-dark-color: rgba(0, 0, 0, 0.1); --bg-dark-color: rgba(0, 0, 0, 0.1);
// Text color // Text color
--fg-color: rgba(255, 255, 255, 1); --fg-color: rgba(255, 255, 255, 0.9);
// Light Text color // Light Text color
--fg-light-color: rgba(255, 255, 255, 0.5); --fg-light-color: rgba(255, 255, 255, 0.5);
// Border color // Border color
@@ -25,9 +25,11 @@
// Acent color // Acent color
--ac-color: rgba(80, 250, 123, 1); --ac-color: rgba(80, 250, 123, 1);
// Active text color // Active text color
--act-color: rgba(18, 18, 18, 1); --act-color: rgba(32, 33, 36, 1);
// Auto-complete color // Auto-complete color
--atc-color: rgba(18, 18, 18, 1); --atc-color: rgba(32, 33, 36, 1);
// Tooltip color
--tt-color: rgba(53, 53, 53, 1);
} }
@mixin lightTheme { @mixin lightTheme {
@@ -38,7 +40,7 @@
// Dark Background color // Dark Background color
--bg-dark-color: rgba(0, 0, 0, 0.02); --bg-dark-color: rgba(0, 0, 0, 0.02);
// Text color // Text color
--fg-color: rgba(0, 0, 0, 1); --fg-color: rgba(0, 0, 0, 0.9);
// Light Text color // Light Text color
--fg-light-color: rgba(0, 0, 0, 0.6); --fg-light-color: rgba(0, 0, 0, 0.6);
// Border color // Border color
@@ -51,17 +53,19 @@
--act-color: rgba(255, 255, 255, 1); --act-color: rgba(255, 255, 255, 1);
// Auto-complete color // Auto-complete color
--atc-color: rgba(255, 255, 255, 1); --atc-color: rgba(255, 255, 255, 1);
// Tooltip color
--tt-color: rgba(220, 220, 220, 1);
} }
@mixin blackTheme { @mixin blackTheme {
// Background color // Background color
--bg-color: rgba(0, 0, 0, 1); --bg-color: rgba(0, 0, 0, 1);
// Light Background color // Light Background color
--bg-light-color: rgba(255, 255, 255, 0); --bg-light-color: rgba(255, 255, 255, 0.02);
// Dark Background color // Dark Background color
--bg-dark-color: rgba(255, 255, 255, 0.02); --bg-dark-color: rgba(255, 255, 255, 0.02);
// Text color // Text color
--fg-color: rgba(255, 255, 255, 1); --fg-color: rgba(255, 255, 255, 0.9);
// Light Text color // Light Text color
--fg-light-color: rgba(255, 255, 255, 0.5); --fg-light-color: rgba(255, 255, 255, 0.5);
// Border color // Border color
@@ -74,6 +78,8 @@
--act-color: rgba(0, 0, 0, 1); --act-color: rgba(0, 0, 0, 1);
// Auto-complete color // Auto-complete color
--atc-color: rgba(0, 0, 0, 1); --atc-color: rgba(0, 0, 0, 1);
// Tooltip color
--tt-color: rgba(18, 18, 18, 1);
} }
:root { :root {

View File

@@ -22,14 +22,17 @@
</ul> </ul>
</div> </div>
<div slot="footer"> <div slot="footer">
<ul> <div class="flex-wrap">
<li> <span></span>
<button class="icon" @click="addNewCollection"> <span>
<i class="material-icons">add</i> <button class="icon" @click="hideModal">
<span>Create</span> Cancel
</button> </button>
</li> <button class="icon primary" @click="addNewCollection">
</ul> Save
</button>
</span>
</div>
</div> </div>
</modal> </modal>
</template> </template>

View File

@@ -22,14 +22,17 @@
</ul> </ul>
</div> </div>
<div slot="footer"> <div slot="footer">
<ul> <div class="flex-wrap">
<li> <span></span>
<button class="icon" @click="addNewFolder"> <span>
<i class="material-icons">add</i> <button class="icon" @click="hideModal">
<span>Create</span> Cancel
</button> </button>
</li> <button class="icon primary" @click="addNewFolder">
</ul> Save
</button>
</span>
</div>
</div> </div>
</modal> </modal>
</template> </template>

View File

@@ -1,12 +1,12 @@
<template> <template>
<modal v-if="show" @close="hideModel"> <modal v-if="show" @close="hideModal">
<div slot="header"> <div slot="header">
<ul> <ul>
<li> <li>
<div class="flex-wrap"> <div class="flex-wrap">
<h3 class="title">Edit Collection</h3> <h3 class="title">Edit Collection</h3>
<div> <div>
<button class="icon" @click="hideModel"> <button class="icon" @click="hideModal">
<i class="material-icons">close</i> <i class="material-icons">close</i>
</button> </button>
</div> </div>
@@ -27,14 +27,17 @@
</ul> </ul>
</div> </div>
<div slot="footer"> <div slot="footer">
<ul> <div class="flex-wrap">
<li> <span></span>
<button class="icon" @click="saveCollection"> <span>
<i class="material-icons">save</i> <button class="icon" @click="hideModal">
<span>Save</span> Cancel
</button> </button>
</li> <button class="icon primary" @click="saveCollection">
</ul> Save
</button>
</span>
</div>
</div> </div>
</modal> </modal>
</template> </template>
@@ -66,7 +69,7 @@ export default {
}); });
this.$emit("hide-modal"); this.$emit("hide-modal");
}, },
hideModel() { hideModal() {
this.$emit("hide-modal"); this.$emit("hide-modal");
} }
} }

View File

@@ -27,14 +27,17 @@
</ul> </ul>
</div> </div>
<div slot="footer"> <div slot="footer">
<ul> <div class="flex-wrap">
<li> <span></span>
<button class="icon" @click="editFolder"> <span>
<i class="material-icons">add</i> <button class="icon" @click="hideModal">
<span>Save</span> Cancel
</button> </button>
</li> <button class="icon primary" @click="editFolder">
</ul> Save
</button>
</span>
</div>
</div> </div>
</modal> </modal>
</template> </template>

View File

@@ -71,14 +71,17 @@
</ul> </ul>
</div> </div>
<div slot="footer"> <div slot="footer">
<ul> <div class="flex-wrap">
<li> <span></span>
<button class="icon" @click="saveRequest"> <span>
<i class="material-icons">save</i> <button class="icon" @click="hideModal">
<span>Save</span> Cancel
</button> </button>
</li> <button class="icon primary" @click="saveRequest">
</ul> Save
</button>
</span>
</div>
</div> </div>
</modal> </modal>
</template> </template>

View File

@@ -1,12 +1,12 @@
<template> <template>
<modal v-if="show" @close="hideModel"> <modal v-if="show" @close="hideModal">
<div slot="header"> <div slot="header">
<ul> <ul>
<li> <li>
<div class="flex-wrap"> <div class="flex-wrap">
<h3 class="title">Import / Export Collections</h3> <h3 class="title">Import / Export Collections</h3>
<div> <div>
<button class="icon" @click="hideModel"> <button class="icon" @click="hideModal">
<i class="material-icons">close</i> <i class="material-icons">close</i>
</button> </button>
</div> </div>
@@ -18,8 +18,8 @@
<textarea v-model="collectionJson" rows="8"></textarea> <textarea v-model="collectionJson" rows="8"></textarea>
</div> </div>
<div slot="footer"> <div slot="footer">
<ul> <div class="flex-wrap">
<li> <span>
<button <button
class="icon" class="icon"
@click="openDialogChooseFileToReplaceWith" @click="openDialogChooseFileToReplaceWith"
@@ -34,8 +34,6 @@
ref="inputChooseFileToReplaceWith" ref="inputChooseFileToReplaceWith"
/> />
</button> </button>
</li>
<li>
<button <button
class="icon" class="icon"
@click="openDialogChooseFileToImportFrom" @click="openDialogChooseFileToImportFrom"
@@ -50,14 +48,24 @@
ref="inputChooseFileToImportFrom" ref="inputChooseFileToImportFrom"
/> />
</button> </button>
</li> </span>
<li> <span></span>
<button class="icon" @click="exportJSON" v-tooltip="'Download file'"> </div>
<i class="material-icons">get_app</i> <div class="flex-wrap">
<span>Export to JSON</span> <span></span>
<span>
<button class="icon" @click="hideModal">
Cancel
</button> </button>
</li> <button
</ul> class="icon primary"
@click="exportJSON"
v-tooltip="'Download file'"
>
Export
</button>
</span>
</div>
</div> </div>
</modal> </modal>
</template> </template>
@@ -76,7 +84,7 @@ export default {
} }
}, },
methods: { methods: {
hideModel() { hideModal() {
this.$emit("hide-modal"); this.$emit("hide-modal");
}, },
openDialogChooseFileToReplaceWith() { openDialogChooseFileToReplaceWith() {

View File

@@ -5,10 +5,7 @@ TODO:
<template> <template>
<div class="collections-wrapper"> <div class="collections-wrapper">
<addCollection <addCollection :show="showModalAdd" @hide-modal="displayModalAdd(false)" />
:show="showModalAdd"
@hide-modal="displayModalAdd(false)"
/>
<editCollection <editCollection
:show="showModalEdit" :show="showModalEdit"
:editingCollection="editingCollection" :editingCollection="editingCollection"
@@ -68,7 +65,9 @@ TODO:
</a> --> </a> -->
</div> </div>
</div> </div>
<p v-if="collections.length === 0" class="info">
Create new collection
</p>
<virtual-list <virtual-list
class="virtual-list" class="virtual-list"
:class="{ filled: collections.length }" :class="{ filled: collections.length }"

View File

@@ -88,14 +88,17 @@
</ul> </ul>
</div> </div>
<div slot="footer"> <div slot="footer">
<ul> <div class="flex-wrap">
<li> <span></span>
<button class="icon" @click="saveRequestAs"> <span>
<i class="material-icons">save</i> <button class="icon" @click="hideModal">
<span>Save</span> Cancel
</button> </button>
</li> <button class="icon primary" @click="saveRequestAs">
</ul> Save
</button>
</span>
</div>
</div> </div>
</modal> </modal>
</template> </template>

View File

@@ -15,7 +15,7 @@
.field-box { .field-box {
padding: 16px; padding: 16px;
margin: 4px; margin: 4px;
border-bottom: 1px solid var(--brd-color); border-bottom: 1px dashed var(--brd-color);
} }
.field-deprecated { .field-deprecated {

View File

@@ -162,11 +162,9 @@
<label>Nothing found "{{ filterText }}"</label> <label>Nothing found "{{ filterText }}"</label>
</li> </li>
</ul> </ul>
<ul v-if="history.length === 0"> <p v-if="history.length === 0" class="info">
<li> History is empty
<label>History is empty</label> </p>
</li>
</ul>
<div v-if="history.length !== 0"> <div v-if="history.length !== 0">
<div class="flex-wrap" v-if="!isClearingHistory"> <div class="flex-wrap" v-if="!isClearingHistory">
<button <button
@@ -308,7 +306,7 @@ ol li {
.entry { .entry {
border-bottom: 1px dashed var(--brd-color); border-bottom: 1px dashed var(--brd-color);
padding: 16px 0; padding: 0 0 8px;
} }
.bg-color { .bg-color {
@@ -450,8 +448,8 @@ export default {
let byUrl = this.history.slice(0); let byUrl = this.history.slice(0);
byUrl.sort((a, b) => { byUrl.sort((a, b) => {
if (this.reverse_sort_url) if (this.reverse_sort_url)
return a.url == b.url ? 0 : +(a.url < b.url) || -1; return a.url === b.url ? 0 : +(a.url < b.url) || -1;
else return a.url == b.url ? 0 : +(a.url > b.url) || -1; else return a.url === b.url ? 0 : +(a.url > b.url) || -1;
}); });
this.history = byUrl; this.history = byUrl;
this.reverse_sort_url = !this.reverse_sort_url; this.reverse_sort_url = !this.reverse_sort_url;
@@ -460,8 +458,8 @@ export default {
let byLabel = this.history.slice(0); let byLabel = this.history.slice(0);
byLabel.sort((a, b) => { byLabel.sort((a, b) => {
if (this.reverse_sort_label) if (this.reverse_sort_label)
return a.label == b.label ? 0 : +(a.label < b.label) || -1; return a.label === b.label ? 0 : +(a.label < b.label) || -1;
else return a.label == b.label ? 0 : +(a.label > b.label) || -1; else return a.label === b.label ? 0 : +(a.label > b.label) || -1;
}); });
this.history = byLabel; this.history = byLabel;
this.reverse_sort_label = !this.reverse_sort_label; this.reverse_sort_label = !this.reverse_sort_label;
@@ -470,8 +468,8 @@ export default {
let byPath = this.history.slice(0); let byPath = this.history.slice(0);
byPath.sort((a, b) => { byPath.sort((a, b) => {
if (this.reverse_sort_path) if (this.reverse_sort_path)
return a.path == b.path ? 0 : +(a.path < b.path) || -1; return a.path === b.path ? 0 : +(a.path < b.path) || -1;
else return a.path == b.path ? 0 : +(a.path > b.path) || -1; else return a.path === b.path ? 0 : +(a.path > b.path) || -1;
}); });
this.history = byPath; this.history = byPath;
this.reverse_sort_path = !this.reverse_sort_path; this.reverse_sort_path = !this.reverse_sort_path;
@@ -480,11 +478,11 @@ export default {
let byDuration = this.history.slice(0); let byDuration = this.history.slice(0);
byDuration.sort((a, b) => { byDuration.sort((a, b) => {
if (this.reverse_sort_duration) if (this.reverse_sort_duration)
return a.duration == b.duration return a.duration === b.duration
? 0 ? 0
: +(a.duration < b.duration) || -1; : +(a.duration < b.duration) || -1;
else else
return a.duration == b.duration return a.duration === b.duration
? 0 ? 0
: +(a.duration > b.duration) || -1; : +(a.duration > b.duration) || -1;
}); });

View File

@@ -24,9 +24,9 @@
<path <path
:fill="color" :fill="color"
id="path3816" id="path3816"
data-old_color="#121212" data-old_color="#202124"
class="active-path" class="active-path"
data-original="#121212" data-original="#202124"
d="M 64.601,236.822 C 64.601,394.256 192.786,612 306.001,612 412.582,612 547.4,394.256 547.4,236.822 547.4,79.388 439.322,0 306,0 172.678,0 64.601,79.388 64.601,236.822 Z m 304.12,116.415 c 29.475,-29.475 70.598,-40.195 108.552,-32.173 8.021,37.954 -2.698,79.077 -32.173,108.552 -29.475,29.475 -70.598,40.195 -108.552,32.173 -8.022,-37.955 2.698,-79.078 32.173,-108.552 z M 134.727,321.063 c 37.954,-8.021 79.077,2.698 108.552,32.173 29.475,29.475 40.195,70.598 32.173,108.552 -37.954,8.021 -79.077,-2.698 -108.552,-32.173 -29.475,-29.476 -40.194,-70.598 -32.173,-108.552 z" d="M 64.601,236.822 C 64.601,394.256 192.786,612 306.001,612 412.582,612 547.4,394.256 547.4,236.822 547.4,79.388 439.322,0 306,0 172.678,0 64.601,79.388 64.601,236.822 Z m 304.12,116.415 c 29.475,-29.475 70.598,-40.195 108.552,-32.173 8.021,37.954 -2.698,79.077 -32.173,108.552 -29.475,29.475 -70.598,40.195 -108.552,32.173 -8.022,-37.955 2.698,-79.078 32.173,-108.552 z M 134.727,321.063 c 37.954,-8.021 79.077,2.698 108.552,32.173 29.475,29.475 40.195,70.598 32.173,108.552 -37.954,8.021 -79.077,-2.698 -108.552,-32.173 -29.475,-29.476 -40.194,-70.598 -32.173,-108.552 z"
/> />
</g> </g>

View File

@@ -25,7 +25,7 @@
left: 0; left: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
background-color: rgba(0, 0, 0, 0.5); background-color: rgba(0, 0, 0, 0.87);
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;

View File

@@ -138,6 +138,14 @@
</g> </g>
</svg> </svg>
</nuxt-link> </nuxt-link>
<nuxt-link
:to="localePath('doc')"
:class="linkActive('/doc')"
v-tooltip.right="'Documentation'"
aria-label="Documentation"
>
<i class="material-icons">books</i>
</nuxt-link>
<nuxt-link <nuxt-link
:to="localePath('settings')" :to="localePath('settings')"
:class="linkActive('/settings')" :class="linkActive('/settings')"
@@ -210,6 +218,22 @@
</ul> </ul>
</nav> </nav>
</div> </div>
<div v-else-if="$route.path === '/doc'">
<nav class="secondary-nav">
<ul>
<li>
<a href="#collections" v-tooltip.right="$t('collections')">
<i class="material-icons">folder</i>
</a>
</li>
<li>
<a href="#documentation" v-tooltip.right="'Documentation'">
<i class="material-icons">insert_drive_file</i>
</a>
</li>
</ul>
</nav>
</div>
<div v-else-if="$route.path === '/settings'"> <div v-else-if="$route.path === '/settings'">
<nav class="secondary-nav"> <nav class="secondary-nav">
<ul> <ul>
@@ -441,7 +465,7 @@
rel="noopener" rel="noopener"
> >
<button class="icon"> <button class="icon">
<i class="material-icons">favorite</i> <i class="material-icons">donut_large</i>
<span>{{ $t("open_collective") }}</span> <span>{{ $t("open_collective") }}</span>
</button> </button>
</a> </a>
@@ -453,7 +477,7 @@
rel="noopener" rel="noopener"
> >
<button class="icon"> <button class="icon">
<i class="material-icons">favorite</i> <i class="material-icons">payment</i>
<span>{{ $t("paypal") }}</span> <span>{{ $t("paypal") }}</span>
</button> </button>
</a> </a>
@@ -465,7 +489,7 @@
rel="noopener" rel="noopener"
> >
<button class="icon"> <button class="icon">
<i class="material-icons">favorite</i> <i class="material-icons">local_parking</i>
<span>{{ $t("patreon") }}</span> <span>{{ $t("patreon") }}</span>
</button> </button>
</a> </a>
@@ -525,7 +549,7 @@ export default {
document.documentElement.style.setProperty("--ac-color", color); document.documentElement.style.setProperty("--ac-color", color);
document.documentElement.style.setProperty( document.documentElement.style.setProperty(
"--act-color", "--act-color",
vibrant ? "rgba(18, 18, 18, 1)" : "rgba(255, 255, 255, 1)" vibrant ? "rgba(32, 33, 36, 1)" : "rgba(255, 255, 255, 1)"
); );
})(); })();
}, },
@@ -539,7 +563,7 @@ export default {
.querySelector("meta[name=theme-color]") .querySelector("meta[name=theme-color]")
.setAttribute( .setAttribute(
"content", "content",
this.$store.state.postwoman.settings.THEME_TAB_COLOR || "#121212" this.$store.state.postwoman.settings.THEME_TAB_COLOR || "#202124"
); );
// Initializes the PWA code - checks if the app is installed, // Initializes the PWA code - checks if the app is installed,
@@ -582,6 +606,9 @@ export default {
} }
}); });
}); });
console.log("%cWe ❤︎ open source!", "background-color:white;padding:8px 16px;border-radius:8px;font-size:32px;color:red;")
console.log("%cContribute: https://github.com/liyasthomas/postwoman", "background-color:black;padding:4px 8px;border-radius:8px;font-size:16px;color:white;")
}, },
watch: { watch: {

View File

@@ -100,7 +100,7 @@ export default {
}, },
{ {
name: "msapplication-TileColor", name: "msapplication-TileColor",
content: "#121212" content: "#202124"
}, },
{ {
name: "msapplication-tap-highlight", name: "msapplication-tap-highlight",
@@ -257,14 +257,14 @@ export default {
display: "standalone", display: "standalone",
theme_color: "#121212", theme_color: "#202124",
background_color: "#121212", background_color: "#202124",
start_url: `${routerBase.router.base}` start_url: `${routerBase.router.base}`
}, },
meta: { meta: {
description: meta.shortDescription, description: meta.shortDescription,
theme_color: "#121212" theme_color: "#202124"
}, },
icons: (sizes => { icons: (sizes => {

550
package-lock.json generated
View File

@@ -13,14 +13,14 @@
} }
}, },
"@babel/core": { "@babel/core": {
"version": "7.7.5", "version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.5.tgz", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.7.tgz",
"integrity": "sha512-M42+ScN4+1S9iB6f+TL7QBpoQETxbclx+KNoKJABghnKYE+fMzSGqst0BZJc8CpI625bwPwYgUyRvxZ+0mZzpw==", "integrity": "sha512-jlSjuj/7z138NLZALxVgrx13AOtqip42ATZP7+kYl53GvDV6+4dCek1mVUo8z8c8Xnw/mx2q3d9HWh3griuesQ==",
"requires": { "requires": {
"@babel/code-frame": "^7.5.5", "@babel/code-frame": "^7.5.5",
"@babel/generator": "^7.7.4", "@babel/generator": "^7.7.7",
"@babel/helpers": "^7.7.4", "@babel/helpers": "^7.7.4",
"@babel/parser": "^7.7.5", "@babel/parser": "^7.7.7",
"@babel/template": "^7.7.4", "@babel/template": "^7.7.4",
"@babel/traverse": "^7.7.4", "@babel/traverse": "^7.7.4",
"@babel/types": "^7.7.4", "@babel/types": "^7.7.4",
@@ -33,6 +33,22 @@
"source-map": "^0.5.0" "source-map": "^0.5.0"
}, },
"dependencies": { "dependencies": {
"@babel/generator": {
"version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz",
"integrity": "sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==",
"requires": {
"@babel/types": "^7.7.4",
"jsesc": "^2.5.1",
"lodash": "^4.17.13",
"source-map": "^0.5.0"
}
},
"@babel/parser": {
"version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz",
"integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw=="
},
"debug": { "debug": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -322,9 +338,9 @@
} }
}, },
"@babel/plugin-proposal-object-rest-spread": { "@babel/plugin-proposal-object-rest-spread": {
"version": "7.7.4", "version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.4.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.7.7.tgz",
"integrity": "sha512-rnpnZR3/iWKmiQyJ3LKJpSwLDcX/nSXhdLk4Aq/tXOApIvyu7qoabrige0ylsAJffaUC51WiBu209Q0U+86OWQ==", "integrity": "sha512-3qp9I8lelgzNedI3hrhkvhaEYree6+WHnyA/q4Dza9z7iEIs1eyhWyJnetk3jJ69RT0AT4G0UhEGwyGFJ7GUuQ==",
"requires": { "requires": {
"@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0",
"@babel/plugin-syntax-object-rest-spread": "^7.7.4" "@babel/plugin-syntax-object-rest-spread": "^7.7.4"
@@ -340,9 +356,9 @@
} }
}, },
"@babel/plugin-proposal-unicode-property-regex": { "@babel/plugin-proposal-unicode-property-regex": {
"version": "7.7.4", "version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.4.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.7.7.tgz",
"integrity": "sha512-cHgqHgYvffluZk85dJ02vloErm3Y6xtH+2noOBOJ2kXOJH3aVCDnj5eR/lVNlTnYu4hndAPJD3rTFjW3qee0PA==", "integrity": "sha512-80PbkKyORBUVm1fbTLrHpYdJxMThzM1UqFGh0ALEhO9TYbG86Ah9zQYAB/84axz2vcxefDLdZwWwZNlYARlu9w==",
"requires": { "requires": {
"@babel/helper-create-regexp-features-plugin": "^7.7.4", "@babel/helper-create-regexp-features-plugin": "^7.7.4",
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
@@ -479,9 +495,9 @@
} }
}, },
"@babel/plugin-transform-dotall-regex": { "@babel/plugin-transform-dotall-regex": {
"version": "7.7.4", "version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.4.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.7.7.tgz",
"integrity": "sha512-mk0cH1zyMa/XHeb6LOTXTbG7uIJ8Rrjlzu91pUx/KS3JpcgaTDwMS8kM+ar8SLOvlL2Lofi4CGBAjCo3a2x+lw==", "integrity": "sha512-b4in+YlTeE/QmTgrllnb3bHA0HntYvjz8O3Mcbx75UBPJA2xhb5A8nle498VhxSXJHQefjtQxpnLPehDJ4TRlg==",
"requires": { "requires": {
"@babel/helper-create-regexp-features-plugin": "^7.7.4", "@babel/helper-create-regexp-features-plugin": "^7.7.4",
"@babel/helper-plugin-utils": "^7.0.0" "@babel/helper-plugin-utils": "^7.0.0"
@@ -603,9 +619,9 @@
} }
}, },
"@babel/plugin-transform-parameters": { "@babel/plugin-transform-parameters": {
"version": "7.7.4", "version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.4.tgz", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.7.7.tgz",
"integrity": "sha512-VJwhVePWPa0DqE9vcfptaJSzNDKrWU/4FbYCjZERtmqEs05g3UMXnYMZoXja7JAJ7Y7sPZipwm/pGApZt7wHlw==", "integrity": "sha512-OhGSrf9ZBrr1fw84oFXj5hgi8Nmg+E2w5L7NhnG0lPvpDtqd7dbyilM2/vR8CKbJ907RyxPh2kj6sBCSSfI9Ew==",
"requires": { "requires": {
"@babel/helper-call-delegate": "^7.7.4", "@babel/helper-call-delegate": "^7.7.4",
"@babel/helper-get-function-arity": "^7.7.4", "@babel/helper-get-function-arity": "^7.7.4",
@@ -699,18 +715,18 @@
} }
}, },
"@babel/preset-env": { "@babel/preset-env": {
"version": "7.7.6", "version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.6.tgz", "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.7.tgz",
"integrity": "sha512-k5hO17iF/Q7tR9Jv8PdNBZWYW6RofxhnxKjBMc0nG4JTaWvOTiPoO/RLFwAKcA4FpmuBFm6jkoqaRJLGi0zdaQ==", "integrity": "sha512-pCu0hrSSDVI7kCVUOdcMNQEbOPJ52E+LrQ14sN8uL2ALfSqePZQlKrOy+tM4uhEdYlCHi4imr8Zz2cZe9oSdIg==",
"requires": { "requires": {
"@babel/helper-module-imports": "^7.7.4", "@babel/helper-module-imports": "^7.7.4",
"@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0",
"@babel/plugin-proposal-async-generator-functions": "^7.7.4", "@babel/plugin-proposal-async-generator-functions": "^7.7.4",
"@babel/plugin-proposal-dynamic-import": "^7.7.4", "@babel/plugin-proposal-dynamic-import": "^7.7.4",
"@babel/plugin-proposal-json-strings": "^7.7.4", "@babel/plugin-proposal-json-strings": "^7.7.4",
"@babel/plugin-proposal-object-rest-spread": "^7.7.4", "@babel/plugin-proposal-object-rest-spread": "^7.7.7",
"@babel/plugin-proposal-optional-catch-binding": "^7.7.4", "@babel/plugin-proposal-optional-catch-binding": "^7.7.4",
"@babel/plugin-proposal-unicode-property-regex": "^7.7.4", "@babel/plugin-proposal-unicode-property-regex": "^7.7.7",
"@babel/plugin-syntax-async-generators": "^7.7.4", "@babel/plugin-syntax-async-generators": "^7.7.4",
"@babel/plugin-syntax-dynamic-import": "^7.7.4", "@babel/plugin-syntax-dynamic-import": "^7.7.4",
"@babel/plugin-syntax-json-strings": "^7.7.4", "@babel/plugin-syntax-json-strings": "^7.7.4",
@@ -724,7 +740,7 @@
"@babel/plugin-transform-classes": "^7.7.4", "@babel/plugin-transform-classes": "^7.7.4",
"@babel/plugin-transform-computed-properties": "^7.7.4", "@babel/plugin-transform-computed-properties": "^7.7.4",
"@babel/plugin-transform-destructuring": "^7.7.4", "@babel/plugin-transform-destructuring": "^7.7.4",
"@babel/plugin-transform-dotall-regex": "^7.7.4", "@babel/plugin-transform-dotall-regex": "^7.7.7",
"@babel/plugin-transform-duplicate-keys": "^7.7.4", "@babel/plugin-transform-duplicate-keys": "^7.7.4",
"@babel/plugin-transform-exponentiation-operator": "^7.7.4", "@babel/plugin-transform-exponentiation-operator": "^7.7.4",
"@babel/plugin-transform-for-of": "^7.7.4", "@babel/plugin-transform-for-of": "^7.7.4",
@@ -738,7 +754,7 @@
"@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4", "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4",
"@babel/plugin-transform-new-target": "^7.7.4", "@babel/plugin-transform-new-target": "^7.7.4",
"@babel/plugin-transform-object-super": "^7.7.4", "@babel/plugin-transform-object-super": "^7.7.4",
"@babel/plugin-transform-parameters": "^7.7.4", "@babel/plugin-transform-parameters": "^7.7.7",
"@babel/plugin-transform-property-literals": "^7.7.4", "@babel/plugin-transform-property-literals": "^7.7.4",
"@babel/plugin-transform-regenerator": "^7.7.5", "@babel/plugin-transform-regenerator": "^7.7.5",
"@babel/plugin-transform-reserved-words": "^7.7.4", "@babel/plugin-transform-reserved-words": "^7.7.4",
@@ -750,16 +766,16 @@
"@babel/plugin-transform-unicode-regex": "^7.7.4", "@babel/plugin-transform-unicode-regex": "^7.7.4",
"@babel/types": "^7.7.4", "@babel/types": "^7.7.4",
"browserslist": "^4.6.0", "browserslist": "^4.6.0",
"core-js-compat": "^3.4.7", "core-js-compat": "^3.6.0",
"invariant": "^2.2.2", "invariant": "^2.2.2",
"js-levenshtein": "^1.1.3", "js-levenshtein": "^1.1.3",
"semver": "^5.5.0" "semver": "^5.5.0"
} }
}, },
"@babel/runtime": { "@babel/runtime": {
"version": "7.7.6", "version": "7.7.7",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.6.tgz", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.7.tgz",
"integrity": "sha512-BWAJxpNVa0QlE5gZdWjSxXtemZyZ9RmrmVozxt3NUXeZhVIJ5ANyqmMc0JDrivBZyxUuQvFxlvH4OWWOogGfUw==", "integrity": "sha512-uCnC2JEVAu8AKB5do1WRIsvrdJ0flYx/A/9f/6chdacnEZ7LmavjdsDXr5ksYBegxtuTPR5Va9/+13QF/kFkCA==",
"requires": { "requires": {
"regenerator-runtime": "^0.13.2" "regenerator-runtime": "^0.13.2"
} }
@@ -938,60 +954,65 @@
} }
}, },
"@nuxt/babel-preset-app": { "@nuxt/babel-preset-app": {
"version": "2.10.2", "version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/babel-preset-app/-/babel-preset-app-2.10.2.tgz", "resolved": "https://registry.npmjs.org/@nuxt/babel-preset-app/-/babel-preset-app-2.11.0.tgz",
"integrity": "sha512-620Ho7tp0054PL+1fu4aJAaKs/VbpkS9KsuUMPNmmxPPt+UfVtEIesds5OIatT4tgO/SPQXfwPC4chA5u1duBQ==", "integrity": "sha512-2Y9NQrhzx1zjELPk3msADtH4WFXFslU8nQnRkEHMmgKAYSCGOoV+D5ZBzlCcMy+4IoK7HBzr0tIn4rRNRwjTuQ==",
"requires": { "requires": {
"@babel/core": "^7.6.4", "@babel/core": "^7.7.5",
"@babel/plugin-proposal-class-properties": "^7.5.5", "@babel/plugin-proposal-class-properties": "^7.7.4",
"@babel/plugin-proposal-decorators": "^7.6.0", "@babel/plugin-proposal-decorators": "^7.7.4",
"@babel/plugin-transform-runtime": "^7.6.2", "@babel/plugin-transform-runtime": "^7.7.6",
"@babel/preset-env": "^7.6.3", "@babel/preset-env": "^7.7.6",
"@babel/runtime": "^7.6.3", "@babel/runtime": "^7.7.6",
"@vue/babel-preset-jsx": "^1.1.1", "@vue/babel-preset-jsx": "^1.1.2",
"core-js": "^2.6.5" "core-js": "^2.6.5"
} }
}, },
"@nuxt/builder": { "@nuxt/builder": {
"version": "2.10.2", "version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/builder/-/builder-2.10.2.tgz", "resolved": "https://registry.npmjs.org/@nuxt/builder/-/builder-2.11.0.tgz",
"integrity": "sha512-Apk46yuCbcSCrBN2dh1idIESjkxciW8pyAcGBfNW17IzEA55/XmkjQWTEMlI7fkHDUFQ4YXOcM+gYqP/cx72ew==", "integrity": "sha512-uIaY/MiNrgirneYn9goduh6eaRKJHovdXZ8cWESxFMolhenHaGRrjUeC8fKPFyS1mBjnweShg3bHAWjtLfFrIg==",
"requires": { "requires": {
"@nuxt/devalue": "^1.2.4", "@nuxt/devalue": "^1.2.4",
"@nuxt/utils": "2.10.2", "@nuxt/utils": "2.11.0",
"@nuxt/vue-app": "2.10.2", "@nuxt/vue-app": "2.11.0",
"chokidar": "^3.2.2", "chokidar": "^3.3.1",
"consola": "^2.10.1", "consola": "^2.11.1",
"fs-extra": "^8.1.0", "fs-extra": "^8.1.0",
"glob": "^7.1.5", "glob": "^7.1.6",
"hash-sum": "^2.0.0", "hash-sum": "^2.0.0",
"ignore": "^5.1.4", "ignore": "^5.1.4",
"lodash": "^4.17.15", "lodash": "^4.17.15",
"pify": "^4.0.1", "pify": "^4.0.1",
"semver": "^6.3.0", "semver": "^7.1.0",
"serialize-javascript": "^2.1.0", "serialize-javascript": "^2.1.2",
"upath": "^1.2.0" "upath": "^1.2.0"
}, },
"dependencies": { "dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
},
"semver": { "semver": {
"version": "6.3.0", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" "integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A=="
} }
} }
}, },
"@nuxt/cli": { "@nuxt/cli": {
"version": "2.10.2", "version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/cli/-/cli-2.10.2.tgz", "resolved": "https://registry.npmjs.org/@nuxt/cli/-/cli-2.11.0.tgz",
"integrity": "sha512-EYLb5zYggTkdxO9Og9Vn+5/LDcQioL1zijIr5V2gi690v3Zim2rSifdgxuUDOlUPzoy+3kiOFqdtzOJ81ES+bA==", "integrity": "sha512-f7fOopxz3NGKdgZ92RUM1oT4Xr5oAVqLyqEPEoa60oKKRuy/rf8gZ5DLANKjyE5vpj2dwYM1pPrabCloF/33zw==",
"requires": { "requires": {
"@nuxt/config": "2.10.2", "@nuxt/config": "2.11.0",
"@nuxt/utils": "2.10.2", "@nuxt/utils": "2.11.0",
"boxen": "^4.1.0", "boxen": "^4.2.0",
"chalk": "^2.4.2", "chalk": "^2.4.2",
"consola": "^2.10.1", "consola": "^2.11.1",
"esm": "^3.2.25", "esm": "^3.2.25",
"execa": "^3.2.0", "execa": "^3.4.0",
"exit": "^0.1.2", "exit": "^0.1.2",
"fs-extra": "^8.1.0", "fs-extra": "^8.1.0",
"hable": "^2.3.2", "hable": "^2.3.2",
@@ -999,9 +1020,14 @@
"opener": "1.5.1", "opener": "1.5.1",
"pretty-bytes": "^5.3.0", "pretty-bytes": "^5.3.0",
"std-env": "^2.2.1", "std-env": "^2.2.1",
"wrap-ansi": "^6.0.0" "wrap-ansi": "^6.2.0"
}, },
"dependencies": { "dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
},
"cross-spawn": { "cross-spawn": {
"version": "7.0.1", "version": "7.0.1",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz",
@@ -1084,26 +1110,33 @@
} }
}, },
"@nuxt/config": { "@nuxt/config": {
"version": "2.10.2", "version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/config/-/config-2.10.2.tgz", "resolved": "https://registry.npmjs.org/@nuxt/config/-/config-2.11.0.tgz",
"integrity": "sha512-A4Tvm85PyeBAKwTlqQkFiuatmXr2Ro/oLelvi9wnrF/jSmgzU9NwcIZIQBND0/XpK1BL49ze5al5+SELOoGUpg==", "integrity": "sha512-7pB5R3N2JjNdbQpCR87tw3aROm5e9yV+XXMYXgxbH6yDAweuf3Bji4VJCWrkkE8VgLSLdtGQ5O0v8cT6dvf0cw==",
"requires": { "requires": {
"@nuxt/utils": "2.10.2", "@nuxt/utils": "2.11.0",
"consola": "^2.10.1", "consola": "^2.11.1",
"std-env": "^2.2.1" "std-env": "^2.2.1"
},
"dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
}
} }
}, },
"@nuxt/core": { "@nuxt/core": {
"version": "2.10.2", "version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/core/-/core-2.10.2.tgz", "resolved": "https://registry.npmjs.org/@nuxt/core/-/core-2.11.0.tgz",
"integrity": "sha512-PCA9J41kv7SA3rZbhuLwwzPMJr7NtDVofTzAMJ+NOpIuGiQ7rHTtwgprEXs9j08A5hyk5zfmgypjyZKxxmOFjA==", "integrity": "sha512-ZhmdLG7r7vfw/UrH9cChKUwxbEub/tUTLdNbjRBtId5Zxm1x0+hgV2GX3VNlk9fyUzzcmVKzYP8Asxhy+ZMAGg==",
"requires": { "requires": {
"@nuxt/config": "2.10.2", "@nuxt/config": "2.11.0",
"@nuxt/devalue": "^1.2.4", "@nuxt/devalue": "^1.2.4",
"@nuxt/server": "2.10.2", "@nuxt/server": "2.11.0",
"@nuxt/utils": "2.10.2", "@nuxt/utils": "2.11.0",
"@nuxt/vue-renderer": "2.10.2", "@nuxt/vue-renderer": "2.11.0",
"consola": "^2.10.1", "consola": "^2.11.1",
"debug": "^4.1.1", "debug": "^4.1.1",
"esm": "^3.2.25", "esm": "^3.2.25",
"fs-extra": "^8.1.0", "fs-extra": "^8.1.0",
@@ -1112,6 +1145,11 @@
"std-env": "^2.2.1" "std-env": "^2.2.1"
}, },
"dependencies": { "dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
},
"debug": { "debug": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -1166,15 +1204,22 @@
} }
}, },
"@nuxt/generator": { "@nuxt/generator": {
"version": "2.10.2", "version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/generator/-/generator-2.10.2.tgz", "resolved": "https://registry.npmjs.org/@nuxt/generator/-/generator-2.11.0.tgz",
"integrity": "sha512-0d8oENAxSnv5s2FtqtyDZ2S9lLVge9M1gKmw5BFaRJRyvfT0Bq9hG+tU9lnHslYkScEToomFUcV5Wt1E22fuvQ==", "integrity": "sha512-gPgl2AsbSbeoxmaH4YoejkMR7JEsh4Fpy08zdvpWYE1ZA9Y309DbhIKegpf8UCm7BTAEvC7/R6Dv2ByS/czXug==",
"requires": { "requires": {
"@nuxt/utils": "2.10.2", "@nuxt/utils": "2.11.0",
"chalk": "^2.4.2", "chalk": "^2.4.2",
"consola": "^2.10.1", "consola": "^2.11.1",
"fs-extra": "^8.1.0", "fs-extra": "^8.1.0",
"html-minifier": "^4.0.0" "html-minifier": "^4.0.0"
},
"dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
}
} }
}, },
"@nuxt/loading-screen": { "@nuxt/loading-screen": {
@@ -1199,17 +1244,17 @@
} }
}, },
"@nuxt/server": { "@nuxt/server": {
"version": "2.10.2", "version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/server/-/server-2.10.2.tgz", "resolved": "https://registry.npmjs.org/@nuxt/server/-/server-2.11.0.tgz",
"integrity": "sha512-kWUmBq9/4ftXJXcSfNphMwweEfd8lBD7XCrFR/tK3FciIO/MuWlAtReNP8fC+KTC00RXks2fiR1xFpGEsIHUaA==", "integrity": "sha512-MsLRKEci3UtlFapLRVfg6sd6fbQ0floJ6Q/KQdon6B0tXyWJFL7eoMUpfKGUWyrY1+gAi+fXrcusT3zBPq9XvQ==",
"requires": { "requires": {
"@nuxt/config": "2.10.2", "@nuxt/config": "2.11.0",
"@nuxt/utils": "2.10.2", "@nuxt/utils": "2.11.0",
"@nuxtjs/youch": "^4.2.3", "@nuxtjs/youch": "^4.2.3",
"chalk": "^2.4.2", "chalk": "^2.4.2",
"compression": "^1.7.4", "compression": "^1.7.4",
"connect": "^3.7.0", "connect": "^3.7.0",
"consola": "^2.10.1", "consola": "^2.11.1",
"etag": "^1.8.1", "etag": "^1.8.1",
"fresh": "^0.5.2", "fresh": "^0.5.2",
"fs-extra": "^8.1.0", "fs-extra": "^8.1.0",
@@ -1220,61 +1265,78 @@
"serve-placeholder": "^1.2.1", "serve-placeholder": "^1.2.1",
"serve-static": "^1.14.1", "serve-static": "^1.14.1",
"server-destroy": "^1.0.1" "server-destroy": "^1.0.1"
},
"dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
}
} }
}, },
"@nuxt/utils": { "@nuxt/utils": {
"version": "2.10.2", "version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/utils/-/utils-2.10.2.tgz", "resolved": "https://registry.npmjs.org/@nuxt/utils/-/utils-2.11.0.tgz",
"integrity": "sha512-GBtQlGovu7inXwaKBsD+ayt//4yZAJAazlHibMoRJxK/O8gfhuGf/hINxB98ZpjhjttCuJ6nABUN90+e06ARtg==", "integrity": "sha512-wnE+qMau0t9+zFWyovKM3mzTpTJl/umX0bn4pdCjK8dw6GZ1EfGmj83hRMW8SAawJooEB1R2xf7TWgohJ7feRQ==",
"requires": { "requires": {
"consola": "^2.10.1", "consola": "^2.11.1",
"fs-extra": "^8.1.0", "fs-extra": "^8.1.0",
"hash-sum": "^2.0.0", "hash-sum": "^2.0.0",
"proper-lockfile": "^4.1.1", "proper-lockfile": "^4.1.1",
"semver": "^6.3.0", "semver": "^7.1.0",
"serialize-javascript": "^2.1.0", "serialize-javascript": "^2.1.2",
"signal-exit": "^3.0.2", "signal-exit": "^3.0.2",
"ua-parser-js": "^0.7.20" "ua-parser-js": "^0.7.20"
}, },
"dependencies": { "dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
},
"semver": { "semver": {
"version": "6.3.0", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" "integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A=="
} }
} }
}, },
"@nuxt/vue-app": { "@nuxt/vue-app": {
"version": "2.10.2", "version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/vue-app/-/vue-app-2.10.2.tgz", "resolved": "https://registry.npmjs.org/@nuxt/vue-app/-/vue-app-2.11.0.tgz",
"integrity": "sha512-aP5JWQaaimo/zMyoZg7aUqS6wYZq9jtDt/woKWOeuJJvnKE+youitazXbuVf+1l4c771b4AZMEuDW1duOfjDRA==", "integrity": "sha512-Eb1XB6LyqgjA0sbr2Ix5VCbq6+yJhEYetNe2TZ7wSeu3eWRSbE0bT5UpB6uvBGT6y95tQBNEJVGyLKvNAWAlkg==",
"requires": { "requires": {
"node-fetch": "^2.6.0", "node-fetch": "^2.6.0",
"unfetch": "^4.1.0", "unfetch": "^4.1.0",
"vue": "^2.6.10", "vue": "^2.6.11",
"vue-client-only": "^2.0.0", "vue-client-only": "^2.0.0",
"vue-meta": "^2.3.1", "vue-meta": "^2.3.1",
"vue-no-ssr": "^1.1.1", "vue-no-ssr": "^1.1.1",
"vue-router": "~3.0.7", "vue-router": "^3.1.3",
"vue-template-compiler": "^2.6.10", "vue-template-compiler": "^2.6.11",
"vuex": "^3.1.1" "vuex": "^3.1.2"
} }
}, },
"@nuxt/vue-renderer": { "@nuxt/vue-renderer": {
"version": "2.10.2", "version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/vue-renderer/-/vue-renderer-2.10.2.tgz", "resolved": "https://registry.npmjs.org/@nuxt/vue-renderer/-/vue-renderer-2.11.0.tgz",
"integrity": "sha512-nvgTlAPQ0gWAF8lXMGqjkbl54xunVX+v4he8CGqE+6S2ipdLxahmpbtxMRlJeAaGzOdv+rB6tF33O2PF9cL84w==", "integrity": "sha512-Xqh3X0JOcwauXQwmOTNHVCwxfvZM0OjB86wUtu+B6molHEZK7XmtD/OUnsQSxcVSH5n+I2H2X2Yhg9H8gUsqBg==",
"requires": { "requires": {
"@nuxt/devalue": "^1.2.4", "@nuxt/devalue": "^1.2.4",
"@nuxt/utils": "2.10.2", "@nuxt/utils": "2.11.0",
"consola": "^2.10.1", "consola": "^2.11.1",
"fs-extra": "^8.1.0", "fs-extra": "^8.1.0",
"lru-cache": "^5.1.1", "lru-cache": "^5.1.1",
"vue": "^2.6.10", "vue": "^2.6.11",
"vue-meta": "^2.3.1", "vue-meta": "^2.3.1",
"vue-server-renderer": "^2.6.10" "vue-server-renderer": "^2.6.11"
}, },
"dependencies": { "dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
},
"lru-cache": { "lru-cache": {
"version": "5.1.1", "version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -1291,46 +1353,46 @@
} }
}, },
"@nuxt/webpack": { "@nuxt/webpack": {
"version": "2.10.2", "version": "2.11.0",
"resolved": "https://registry.npmjs.org/@nuxt/webpack/-/webpack-2.10.2.tgz", "resolved": "https://registry.npmjs.org/@nuxt/webpack/-/webpack-2.11.0.tgz",
"integrity": "sha512-Hb/9VDORABVk4AFrMLWwoEk4UV4XL8W6Yp9PvuGZ0t4a82243gWEZ39veawQmRHRsO96fBJrzs4dzwKVnkLosg==", "integrity": "sha512-QRU53bDcdzGhqZf5nfMzyI+n6uftqYUTTtCcF/1c03l258GaJ6m5Ky2UAcPRxK4OdO1PqJ/yaT2lonYOQYUrsg==",
"requires": { "requires": {
"@babel/core": "^7.6.4", "@babel/core": "^7.7.5",
"@nuxt/babel-preset-app": "2.10.2", "@nuxt/babel-preset-app": "2.11.0",
"@nuxt/friendly-errors-webpack-plugin": "^2.5.0", "@nuxt/friendly-errors-webpack-plugin": "^2.5.0",
"@nuxt/utils": "2.10.2", "@nuxt/utils": "2.11.0",
"babel-loader": "^8.0.6", "babel-loader": "^8.0.6",
"cache-loader": "^4.1.0", "cache-loader": "^4.1.0",
"caniuse-lite": "^1.0.30001002", "caniuse-lite": "^1.0.30001016",
"chalk": "^2.4.2", "chalk": "^2.4.2",
"consola": "^2.10.1", "consola": "^2.11.1",
"css-loader": "^3.2.0", "css-loader": "^3.3.2",
"cssnano": "^4.1.10", "cssnano": "^4.1.10",
"eventsource-polyfill": "^0.9.6", "eventsource-polyfill": "^0.9.6",
"extract-css-chunks-webpack-plugin": "^4.6.0", "extract-css-chunks-webpack-plugin": "^4.7.1",
"file-loader": "^4.2.0", "file-loader": "^4.3.0",
"glob": "^7.1.5", "glob": "^7.1.6",
"hard-source-webpack-plugin": "^0.13.1", "hard-source-webpack-plugin": "^0.13.1",
"hash-sum": "^2.0.0", "hash-sum": "^2.0.0",
"html-webpack-plugin": "^3.2.0", "html-webpack-plugin": "^3.2.0",
"memory-fs": "^0.4.1", "memory-fs": "^0.4.1",
"optimize-css-assets-webpack-plugin": "^5.0.3", "optimize-css-assets-webpack-plugin": "^5.0.3",
"pify": "^4.0.1", "pify": "^4.0.1",
"postcss": "^7.0.18", "postcss": "^7.0.25",
"postcss-import": "^12.0.1", "postcss-import": "^12.0.1",
"postcss-import-resolver": "^2.0.0", "postcss-import-resolver": "^2.0.0",
"postcss-loader": "^3.0.0", "postcss-loader": "^3.0.0",
"postcss-preset-env": "^6.7.0", "postcss-preset-env": "^6.7.0",
"postcss-url": "^8.0.0", "postcss-url": "^8.0.0",
"semver": "^6.3.0", "semver": "^7.1.0",
"std-env": "^2.2.1", "std-env": "^2.2.1",
"style-resources-loader": "^1.2.1", "style-resources-loader": "^1.3.2",
"terser-webpack-plugin": "^2.1.3", "terser-webpack-plugin": "^2.3.0",
"thread-loader": "^2.1.3", "thread-loader": "^2.1.3",
"time-fix-plugin": "^2.0.6", "time-fix-plugin": "^2.0.6",
"url-loader": "^2.2.0", "url-loader": "^2.3.0",
"vue-loader": "^15.7.1", "vue-loader": "^15.8.3",
"webpack": "^4.41.2", "webpack": "^4.41.3",
"webpack-bundle-analyzer": "^3.6.0", "webpack-bundle-analyzer": "^3.6.0",
"webpack-dev-middleware": "^3.7.2", "webpack-dev-middleware": "^3.7.2",
"webpack-hot-middleware": "^2.25.0", "webpack-hot-middleware": "^2.25.0",
@@ -1338,23 +1400,35 @@
"webpackbar": "^4.0.0" "webpackbar": "^4.0.0"
}, },
"dependencies": { "dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
},
"semver": { "semver": {
"version": "6.3.0", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" "integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A=="
} }
} }
}, },
"@nuxtjs/axios": { "@nuxtjs/axios": {
"version": "5.8.0", "version": "5.9.0",
"resolved": "https://registry.npmjs.org/@nuxtjs/axios/-/axios-5.8.0.tgz", "resolved": "https://registry.npmjs.org/@nuxtjs/axios/-/axios-5.9.0.tgz",
"integrity": "sha512-1+I2mTUuydKkY/Jz1InpLpkGWpReO5USNWxZpPaQL3py4Kv3sDF83ll/uHGngosyXr+OKBXoALRLCjmwSY77lg==", "integrity": "sha512-jc3KOHlFA5zdijiuYSRk0nzmqGSoP30LasD5J5XxUDpc/YlzwAL+Z0+kLcU5IwlrEDkg4VwkhZd/9OG6RkA2CQ==",
"requires": { "requires": {
"@nuxtjs/proxy": "^1.3.3", "@nuxtjs/proxy": "^1.3.3",
"axios": "^0.19.0", "axios": "^0.19.0",
"axios-retry": "^3.1.2", "axios-retry": "^3.1.2",
"consola": "^2.10.1", "consola": "^2.11.1",
"defu": "^0.0.3" "defu": "^0.0.3"
},
"dependencies": {
"consola": {
"version": "2.11.1",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.11.1.tgz",
"integrity": "sha512-zFH/xFAE/KHJiWqwyTEDmdFe34Swc0pqMKJeowTvR3irepx8kKPu8bjaKzRd+RLjLH+0TvFxFBnohbSUQ+hOsw=="
}
} }
}, },
"@nuxtjs/google-analytics": { "@nuxtjs/google-analytics": {
@@ -2240,6 +2314,15 @@
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
"integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow=="
}, },
"bindings": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
"integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
"optional": true,
"requires": {
"file-uri-to-path": "1.0.0"
}
},
"block-stream": { "block-stream": {
"version": "0.0.9", "version": "0.0.9",
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
@@ -2707,9 +2790,9 @@
} }
}, },
"caniuse-lite": { "caniuse-lite": {
"version": "1.0.30001015", "version": "1.0.30001016",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001015.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001016.tgz",
"integrity": "sha512-/xL2AbW/XWHNu1gnIrO8UitBGoFthcsDgU9VLK1/dpsoxbaD5LscHozKze05R6WLsBvLhqv78dAPozMFQBYLbQ==" "integrity": "sha512-yYQ2QfotceRiH4U+h1Us86WJXtVHDmy3nEKIdYPsZCYnOV5/tMgGbmoIlrMzmh2VXlproqYtVaKeGDBkMZifFA=="
}, },
"caseless": { "caseless": {
"version": "0.12.0", "version": "0.12.0",
@@ -2775,18 +2858,18 @@
"integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==" "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ=="
}, },
"chokidar": { "chokidar": {
"version": "3.3.0", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz",
"integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==",
"requires": { "requires": {
"anymatch": "~3.1.1", "anymatch": "~3.1.1",
"braces": "~3.0.2", "braces": "~3.0.2",
"fsevents": "~2.1.1", "fsevents": "~2.1.2",
"glob-parent": "~5.1.0", "glob-parent": "~5.1.0",
"is-binary-path": "~2.1.0", "is-binary-path": "~2.1.0",
"is-glob": "~4.0.1", "is-glob": "~4.0.1",
"normalize-path": "~3.0.0", "normalize-path": "~3.0.0",
"readdirp": "~3.2.0" "readdirp": "~3.3.0"
}, },
"dependencies": { "dependencies": {
"braces": { "braces": {
@@ -3312,18 +3395,18 @@
"integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg=="
}, },
"core-js-compat": { "core-js-compat": {
"version": "3.5.0", "version": "3.6.0",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.5.0.tgz", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.0.tgz",
"integrity": "sha512-E7iJB72svRjJTnm9HDvujzNVMCm3ZcDYEedkJ/sDTNsy/0yooCd9Cg7GSzE7b4e0LfIkjijdB1tqg0pGwxWeWg==", "integrity": "sha512-Z3eCNjGgoYluH89Jt4wVkfYsc/VdLrA2/woX5lm0isO/pCT+P+Y+o65bOuEnjDJLthdwTBxbCVzptTXtc18fJg==",
"requires": { "requires": {
"browserslist": "^4.8.2", "browserslist": "^4.8.2",
"semver": "^6.3.0" "semver": "7.0.0"
}, },
"dependencies": { "dependencies": {
"semver": { "semver": {
"version": "6.3.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A=="
} }
} }
}, },
@@ -3456,9 +3539,9 @@
} }
}, },
"css-loader": { "css-loader": {
"version": "3.3.2", "version": "3.4.0",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.3.2.tgz", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.4.0.tgz",
"integrity": "sha512-4XSiURS+YEK2fQhmSaM1onnUm0VKWNf6WWBYjkp9YbSDGCBTVZ5XOM6Gkxo8tLgQlzkZOBJvk9trHlDk4gjEYg==", "integrity": "sha512-JornYo4RAXl1Mzt0lOSVPmArzAMV3rGY2VuwtaDc732WTWjdwTaeS19nCGWMcSCf305Q396lhhDAJEWWM0SgPQ==",
"requires": { "requires": {
"camelcase": "^5.3.1", "camelcase": "^5.3.1",
"cssesc": "^3.0.0", "cssesc": "^3.0.0",
@@ -3633,9 +3716,9 @@
"integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
}, },
"cypress": { "cypress": {
"version": "3.8.0", "version": "3.8.1",
"resolved": "https://registry.npmjs.org/cypress/-/cypress-3.8.0.tgz", "resolved": "https://registry.npmjs.org/cypress/-/cypress-3.8.1.tgz",
"integrity": "sha512-gtEbqCgKETRc3pQFMsELRgIBNgiQg7vbOWTrCi7WE7bgOwNCaW9PEX8Jb3UN8z/maIp9WwzoFfeySfelYY7nRA==", "integrity": "sha512-eLk5OpL/ZMDfQx9t7ZaDUAGVcvSOPTi7CG1tiUnu9BGk7caBiDhuFi3Tz/D5vWqH/Dl6Uh4X+Au4W+zh0xzbXw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@cypress/listr-verbose-renderer": "0.4.1", "@cypress/listr-verbose-renderer": "0.4.1",
@@ -4120,21 +4203,21 @@
} }
}, },
"es-abstract": { "es-abstract": {
"version": "1.17.0-next.1", "version": "1.17.0",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0-next.1.tgz", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz",
"integrity": "sha512-7MmGr03N7Rnuid6+wyhD9sHNE2n4tFSwExnU2lQl3lIo2ShXWGePY80zYaoMOmILWv57H0amMjZGHNzzGG70Rw==", "integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==",
"requires": { "requires": {
"es-to-primitive": "^1.2.1", "es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1", "function-bind": "^1.1.1",
"has": "^1.0.3", "has": "^1.0.3",
"has-symbols": "^1.0.1", "has-symbols": "^1.0.1",
"is-callable": "^1.1.4", "is-callable": "^1.1.5",
"is-regex": "^1.0.4", "is-regex": "^1.0.5",
"object-inspect": "^1.7.0", "object-inspect": "^1.7.0",
"object-keys": "^1.1.1", "object-keys": "^1.1.1",
"object.assign": "^4.1.0", "object.assign": "^4.1.0",
"string.prototype.trimleft": "^2.1.0", "string.prototype.trimleft": "^2.1.1",
"string.prototype.trimright": "^2.1.0" "string.prototype.trimright": "^2.1.1"
} }
}, },
"es-to-primitive": { "es-to-primitive": {
@@ -4586,6 +4669,12 @@
"schema-utils": "^2.5.0" "schema-utils": "^2.5.0"
} }
}, },
"file-uri-to-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
"integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
"optional": true
},
"filesize": { "filesize": {
"version": "3.6.1", "version": "3.6.1",
"resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
@@ -5580,9 +5669,9 @@
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
}, },
"is-callable": { "is-callable": {
"version": "1.1.4", "version": "1.1.5",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q=="
}, },
"is-ci": { "is-ci": {
"version": "1.2.1", "version": "1.2.1",
@@ -5625,9 +5714,9 @@
} }
}, },
"is-date-object": { "is-date-object": {
"version": "1.0.1", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g=="
}, },
"is-descriptor": { "is-descriptor": {
"version": "0.1.6", "version": "0.1.6",
@@ -5749,11 +5838,11 @@
"integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
}, },
"is-regex": { "is-regex": {
"version": "1.0.4", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
"requires": { "requires": {
"has": "^1.0.1" "has": "^1.0.3"
} }
}, },
"is-resolvable": { "is-resolvable": {
@@ -6920,9 +7009,9 @@
"integrity": "sha512-UdS4swXs85fCGWWf6t6DMGgpN/vnlKeSGEQ7hJcrs7PBFoxoKLmibc3QRb7fwiYsjdL7PX8iI/TMSlZ90dgHhQ==" "integrity": "sha512-UdS4swXs85fCGWWf6t6DMGgpN/vnlKeSGEQ7hJcrs7PBFoxoKLmibc3QRb7fwiYsjdL7PX8iI/TMSlZ90dgHhQ=="
}, },
"node-releases": { "node-releases": {
"version": "1.1.42", "version": "1.1.43",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.42.tgz", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.43.tgz",
"integrity": "sha512-OQ/ESmUqGawI2PRX+XIRao44qWYBBfN54ImQYdWVTQqUckuejOg76ysSqDBK8NG3zwySRVnX36JwDQ6x+9GxzA==", "integrity": "sha512-Rmfnj52WNhvr83MvuAWHEqXVoZXCcDQssSOffU4n4XOL9sPrP61mSZ88g25NqmABDvH7PiAlFCzoSCSdzA293w==",
"requires": { "requires": {
"semver": "^6.3.0" "semver": "^6.3.0"
}, },
@@ -7099,17 +7188,17 @@
"dev": true "dev": true
}, },
"nuxt": { "nuxt": {
"version": "2.10.2", "version": "2.11.0",
"resolved": "https://registry.npmjs.org/nuxt/-/nuxt-2.10.2.tgz", "resolved": "https://registry.npmjs.org/nuxt/-/nuxt-2.11.0.tgz",
"integrity": "sha512-BDeio2WwwMrW4bctRYNHq1su+rwIJzuo87bAZv8Xs2/Gw5g4bPIGZTiKGx6tSZBjxnONsGDOxhFOWZ5JpQEtrQ==", "integrity": "sha512-Y7lastjYWIOppja0FaWozPfkvlmJ8uZSqWx0VbK7l5djbHls5jgUGag0iu6GsNNwCFTKpoAtptNHiWOsyMxStA==",
"requires": { "requires": {
"@nuxt/builder": "2.10.2", "@nuxt/builder": "2.11.0",
"@nuxt/cli": "2.10.2", "@nuxt/cli": "2.11.0",
"@nuxt/core": "2.10.2", "@nuxt/core": "2.11.0",
"@nuxt/generator": "2.10.2", "@nuxt/generator": "2.11.0",
"@nuxt/loading-screen": "^1.2.0", "@nuxt/loading-screen": "^1.2.0",
"@nuxt/opencollective": "^0.3.0", "@nuxt/opencollective": "^0.3.0",
"@nuxt/webpack": "2.10.2" "@nuxt/webpack": "2.11.0"
} }
}, },
"nuxt-i18n": { "nuxt-i18n": {
@@ -7613,9 +7702,9 @@
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
}, },
"postcss": { "postcss": {
"version": "7.0.24", "version": "7.0.25",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.24.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.25.tgz",
"integrity": "sha512-Xl0XvdNWg+CblAXzNvbSOUvgJXwSjmbAKORqyw9V2AlHrm1js2gFw9y3jibBAhpKZi8b5JzJCVh/FyzPsTtgTA==", "integrity": "sha512-NXXVvWq9icrm/TgQC0O6YVFi4StfJz46M1iNd/h6B26Nvh/HKI+q4YZtFN/EjcInZliEscO/WL10BXnc1E5nwg==",
"requires": { "requires": {
"chalk": "^2.4.2", "chalk": "^2.4.2",
"source-map": "^0.6.1", "source-map": "^0.6.1",
@@ -8887,11 +8976,11 @@
} }
}, },
"readdirp": { "readdirp": {
"version": "3.2.0", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz",
"integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==",
"requires": { "requires": {
"picomatch": "^2.0.4" "picomatch": "^2.0.7"
} }
}, },
"redent": { "redent": {
@@ -10089,18 +10178,18 @@
} }
}, },
"string.prototype.trimleft": { "string.prototype.trimleft": {
"version": "2.1.0", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz",
"integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==",
"requires": { "requires": {
"define-properties": "^1.1.3", "define-properties": "^1.1.3",
"function-bind": "^1.1.1" "function-bind": "^1.1.1"
} }
}, },
"string.prototype.trimright": { "string.prototype.trimright": {
"version": "2.1.0", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz",
"integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==",
"requires": { "requires": {
"define-properties": "^1.1.3", "define-properties": "^1.1.3",
"function-bind": "^1.1.1" "function-bind": "^1.1.1"
@@ -10158,14 +10247,14 @@
} }
}, },
"style-resources-loader": { "style-resources-loader": {
"version": "1.3.2", "version": "1.3.3",
"resolved": "https://registry.npmjs.org/style-resources-loader/-/style-resources-loader-1.3.2.tgz", "resolved": "https://registry.npmjs.org/style-resources-loader/-/style-resources-loader-1.3.3.tgz",
"integrity": "sha512-UIwyrl/OZGO+ptyeNyeDnNE+2RqD0AKqjAuxBxhce0YlHMx2DbZ48g0Mx9buKuiNSgBUXYQtbwilKcYeJlVsog==", "integrity": "sha512-vDD2HyG6On8H9gWUN9O9q1eXR/JnXpCkNvpusvgFsRQ9JZGF9drzvwKEigR9vqlmUbXO2t/vIIabpYMmis0eAQ==",
"requires": { "requires": {
"glob": "^7.1.6", "glob": "^7.1.6",
"is-promise": "^2.1.0", "is-promise": "^2.1.0",
"loader-utils": "^1.2.3", "loader-utils": "^1.2.3",
"schema-utils": "^2.5.0" "schema-utils": "^2.6.1"
} }
}, },
"stylehacks": { "stylehacks": {
@@ -10246,14 +10335,14 @@
} }
}, },
"term-size": { "term-size": {
"version": "2.1.0", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/term-size/-/term-size-2.1.0.tgz", "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.1.1.tgz",
"integrity": "sha512-I42EWhJ+2aeNQawGx1VtpO0DFI9YcfuvAMNIdKyf/6sRbHJ4P+ZQ/zIT87tE+ln1ymAGcCJds4dolfSAS0AcNg==" "integrity": "sha512-UqvQSch04R+69g4RDhrslmGvGL3ucDRX/U+snYW0Mab4uCAyKSndUksaoqlJ81QKSpRnIsuOYQCbC2ZWx2896A=="
}, },
"terser": { "terser": {
"version": "4.4.2", "version": "4.4.3",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.4.2.tgz", "resolved": "https://registry.npmjs.org/terser/-/terser-4.4.3.tgz",
"integrity": "sha512-Uufrsvhj9O1ikwgITGsZ5EZS6qPokUOkCegS7fYOdGTv+OA90vndUbU6PEjr5ePqHfNUbGyMO7xyIZv2MhsALQ==", "integrity": "sha512-0ikKraVtRDKGzHrzkCv5rUNDzqlhmhowOBqC0XqUHFpW+vJ45+20/IFBcebwKfiS2Z9fJin6Eo+F1zLZsxi8RA==",
"requires": { "requires": {
"commander": "^2.20.0", "commander": "^2.20.0",
"source-map": "~0.6.1", "source-map": "~0.6.1",
@@ -10268,17 +10357,17 @@
} }
}, },
"terser-webpack-plugin": { "terser-webpack-plugin": {
"version": "2.3.0", "version": "2.3.1",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.0.tgz", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.1.tgz",
"integrity": "sha512-yez0HdpDf/iQVYGf+e/o8ZYWLb1g9d1nRRi5FIOZ4KfXbfSPT259UoqxPiSLhCnr0mlDoh+bucpYQSFbU0cEsQ==", "integrity": "sha512-dNxivOXmDgZqrGxOttBH6B4xaxT4zNC+Xd+2K8jwGDMK5q2CZI+KZMA1AAnSRT+BTRvuzKsDx+fpxzPAmAMVcA==",
"requires": { "requires": {
"cacache": "^13.0.1", "cacache": "^13.0.1",
"find-cache-dir": "^3.1.0", "find-cache-dir": "^3.2.0",
"jest-worker": "^24.9.0", "jest-worker": "^24.9.0",
"schema-utils": "^2.6.1", "schema-utils": "^2.6.1",
"serialize-javascript": "^2.1.2", "serialize-javascript": "^2.1.2",
"source-map": "^0.6.1", "source-map": "^0.6.1",
"terser": "^4.4.2", "terser": "^4.4.3",
"webpack-sources": "^1.4.3" "webpack-sources": "^1.4.3"
}, },
"dependencies": { "dependencies": {
@@ -10578,9 +10667,9 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
}, },
"ua-parser-js": { "ua-parser-js": {
"version": "0.7.20", "version": "0.7.21",
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.20.tgz", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz",
"integrity": "sha512-8OaIKfzL5cpx8eCMAhhvTlft8GYF8b2eQr6JkCyVdrgjcytyOmPCXrqXFcUnhonRpLlh5yxEZVohm6mzaowUOw==" "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ=="
}, },
"uglify-js": { "uglify-js": {
"version": "3.7.2", "version": "3.7.2",
@@ -10903,11 +10992,11 @@
"integrity": "sha512-xBrItI7bEwBnG7eAlnyUARP41JYYn2+ABMR8q1Yh5FM9hHCbs4XPZwG+4+FPeIZ6b5gYk4YUP//m+fWiuU9z9A==" "integrity": "sha512-xBrItI7bEwBnG7eAlnyUARP41JYYn2+ABMR8q1Yh5FM9hHCbs4XPZwG+4+FPeIZ6b5gYk4YUP//m+fWiuU9z9A=="
}, },
"vue-loader": { "vue-loader": {
"version": "15.7.2", "version": "15.8.3",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.7.2.tgz", "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.8.3.tgz",
"integrity": "sha512-H/P9xt/nkocyu4hZKg5TzPqyCT1oKOaCSk9zs0JCbJuy0Q8KtR0bjJpnT/5R5x/Ckd1GFkkLQnQ1C4x6xXeLZg==", "integrity": "sha512-yFksTFbhp+lxlm92DrKdpVIWMpranXnTEuGSc0oW+Gk43M9LWaAmBTnfj5+FCdve715mTHvo78IdaXf5TbiTJg==",
"requires": { "requires": {
"@vue/component-compiler-utils": "^3.0.0", "@vue/component-compiler-utils": "^3.1.0",
"hash-sum": "^1.0.2", "hash-sum": "^1.0.2",
"loader-utils": "^1.1.0", "loader-utils": "^1.1.0",
"vue-hot-reload-api": "^2.3.0", "vue-hot-reload-api": "^2.3.0",
@@ -10940,9 +11029,9 @@
"integrity": "sha512-bhP7MlgJQ8TIkZJXAfDf78uJO+mEI3CaLABLjv0WNzr4CcGRGPIAItyWYnP6LsPA4Oq0WE+suidNs6dgpO4RHg==" "integrity": "sha512-bhP7MlgJQ8TIkZJXAfDf78uJO+mEI3CaLABLjv0WNzr4CcGRGPIAItyWYnP6LsPA4Oq0WE+suidNs6dgpO4RHg=="
}, },
"vue-router": { "vue-router": {
"version": "3.0.7", "version": "3.1.3",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.0.7.tgz", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.1.3.tgz",
"integrity": "sha512-utJ+QR3YlIC/6x6xq17UMXeAfxEvXA0VKD3PiSio7hBOZNusA1jXcbxZxVEfJunLp48oonjTepY8ORoIlRx/EQ==" "integrity": "sha512-8iSa4mGNXBjyuSZFCCO4fiKfvzqk+mhL0lnKuGcQtO1eoj8nq3CmbEG8FwK5QqoqwDgsjsf1GDuisDX4cdb/aQ=="
}, },
"vue-server-renderer": { "vue-server-renderer": {
"version": "2.6.11", "version": "2.6.11",
@@ -11132,13 +11221,14 @@
} }
}, },
"fsevents": { "fsevents": {
"version": "1.2.10", "version": "1.2.11",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.10.tgz", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz",
"integrity": "sha512-Dw5DScF/8AWhWzWRbnQrFJfeR/TOJZjRr9Du9kfmd8t234ICcVeDBlauFl/jVcE5ZewhlPoCFvIqp0SE3kAVxA==", "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==",
"optional": true, "optional": true,
"requires": { "requires": {
"bindings": "^1.5.0",
"nan": "^2.12.1", "nan": "^2.12.1",
"node-pre-gyp": "^0.12.0" "node-pre-gyp": "*"
}, },
"dependencies": { "dependencies": {
"abbrev": { "abbrev": {
@@ -11375,7 +11465,7 @@
} }
}, },
"node-pre-gyp": { "node-pre-gyp": {
"version": "0.12.0", "version": "0.14.0",
"bundled": true, "bundled": true,
"optional": true, "optional": true,
"requires": { "requires": {
@@ -11388,7 +11478,7 @@
"rc": "^1.2.7", "rc": "^1.2.7",
"rimraf": "^2.6.1", "rimraf": "^2.6.1",
"semver": "^5.3.0", "semver": "^5.3.0",
"tar": "^4" "tar": "^4.4.2"
} }
}, },
"nopt": { "nopt": {
@@ -11682,9 +11772,9 @@
} }
}, },
"webpack": { "webpack": {
"version": "4.41.2", "version": "4.41.4",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.2.tgz", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.4.tgz",
"integrity": "sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A==", "integrity": "sha512-Lc+2uB6NjpCWsHI3trkoISOI64h9QYIXenbEWj3bn3oyjfB1lEBXjWAfAyY2sM0rZn41oD5V91OLwKRwS6Wp8Q==",
"requires": { "requires": {
"@webassemblyjs/ast": "1.8.5", "@webassemblyjs/ast": "1.8.5",
"@webassemblyjs/helper-module-context": "1.8.5", "@webassemblyjs/helper-module-context": "1.8.5",
@@ -11706,7 +11796,7 @@
"node-libs-browser": "^2.2.1", "node-libs-browser": "^2.2.1",
"schema-utils": "^1.0.0", "schema-utils": "^1.0.0",
"tapable": "^1.1.3", "tapable": "^1.1.3",
"terser-webpack-plugin": "^1.4.1", "terser-webpack-plugin": "^1.4.3",
"watchpack": "^1.6.0", "watchpack": "^1.6.0",
"webpack-sources": "^1.4.1" "webpack-sources": "^1.4.1"
}, },

View File

@@ -18,7 +18,7 @@
"test": "start-server-and-test dev http://localhost:3000 e2e" "test": "start-server-and-test dev http://localhost:3000 e2e"
}, },
"dependencies": { "dependencies": {
"@nuxtjs/axios": "^5.8.0", "@nuxtjs/axios": "^5.9.0",
"@nuxtjs/google-analytics": "^2.2.2", "@nuxtjs/google-analytics": "^2.2.2",
"@nuxtjs/google-tag-manager": "^2.3.1", "@nuxtjs/google-tag-manager": "^2.3.1",
"@nuxtjs/pwa": "^3.0.0-beta.19", "@nuxtjs/pwa": "^3.0.0-beta.19",
@@ -27,7 +27,7 @@
"@nuxtjs/toast": "^3.3.0", "@nuxtjs/toast": "^3.3.0",
"ace-builds": "^1.4.7", "ace-builds": "^1.4.7",
"graphql": "^14.5.8", "graphql": "^14.5.8",
"nuxt": "^2.10.2", "nuxt": "^2.11.0",
"nuxt-i18n": "^6.4.1", "nuxt-i18n": "^6.4.1",
"v-tooltip": "^2.0.2", "v-tooltip": "^2.0.2",
"vue-virtual-scroll-list": "^1.4.4", "vue-virtual-scroll-list": "^1.4.4",
@@ -36,7 +36,7 @@
"yargs-parser": "^16.1.0" "yargs-parser": "^16.1.0"
}, },
"devDependencies": { "devDependencies": {
"cypress": "^3.8.0", "cypress": "^3.8.1",
"node-sass": "^4.13.0", "node-sass": "^4.13.0",
"sass-loader": "^8.0.0", "sass-loader": "^8.0.0",
"start-server-and-test": "^1.10.6" "start-server-and-test": "^1.10.6"

387
pages/doc.vue Normal file
View File

@@ -0,0 +1,387 @@
<template>
<div class="page">
<pw-section class="blue" label="Collections" ref="collections">
<ul>
<li>
<p class="info">
Import any Postwoman Collection to Generate Documentation on-the-go.
</p>
</li>
</ul>
<ul>
<li>
<label for="collectionUpload">
<button
class="icon"
@click="$refs.collectionUpload.click()"
v-tooltip="'JSON'"
>
<i class="material-icons">folder</i>
<span>Import collections</span>
</button>
</label>
<input
ref="collectionUpload"
name="collectionUpload"
type="file"
@change="uploadCollection"
/>
</li>
</ul>
<ul>
<li>
<Editor
v-model="collectionJSON"
:lang="'json'"
:options="{
maxLines: '16',
minLines: '8',
fontSize: '16px',
autoScrollEditorIntoView: true,
showPrintMargin: false,
useWorker: false
}"
/>
</li>
</ul>
<ul>
<li>
<button class="icon" @click="getDoc">
<i class="material-icons">book</i>
<span>Generate Documentation</span>
</button>
</li>
</ul>
</pw-section>
<pw-section class="green" label="Documentation" ref="documentation">
<p v-if="this.items.length === 0" class="info">
Generate documentation first
</p>
<div>
<span
class="collection"
v-for="(collection, index) in this.items"
:key="index"
>
<h2>
<i class="material-icons">folder</i>
{{ collection.name || "None" }}
</h2>
<span
class="folder"
v-for="(folder, index) in collection.folders"
:key="index"
>
<h3>
<i class="material-icons">folder_open</i>
{{ folder.name || "None" }}
</h3>
<span
class="request"
v-for="(request, index) in folder.requests"
:key="index"
>
<h4>
<i class="material-icons">insert_drive_file</i>
{{ request.name || "None" }}
</h4>
<p class="doc-desc" v-if="request.url">
<span>
URL: <code>{{ request.url || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.path">
<span>
Path: <code>{{ request.path || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.method">
<span>
Method: <code>{{ request.method || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.auth">
<span>
Authentication:
<code>{{ request.auth || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.httpUser">
<span>
Username: <code>{{ request.httpUser || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.httpPassword">
<span>
Password:
<code>{{ request.httpPassword || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.bearerToken">
<span>
Token: <code>{{ request.bearerToken || "None" }}</code>
</span>
</p>
<h4 v-if="request.headers.length > 0">Headers</h4>
<span
v-if="request.headers"
v-for="header in request.headers"
:key="header.key"
>
<p class="doc-desc">
<span>
{{ header.key || "None" }}:
<code>{{ header.value || "None" }}</code>
</span>
</p>
</span>
<h4 v-if="request.params.length > 0">Parameters</h4>
<span
v-if="request.params"
v-for="parameter in request.params"
:key="parameter.key"
>
<p class="doc-desc">
<span>
{{ parameter.key || "None" }}:
<code>{{ parameter.value || "None" }}</code>
</span>
</p>
</span>
<h4 v-if="request.bodyParam">Payload</h4>
<span
v-if="request.bodyParam"
v-for="payload in request.bodyParam"
:key="payload.key"
>
<p class="doc-desc">
<span>
{{ payload.key || "None" }}:
<code>{{ payload.value || "None" }}</code>
</span>
</p>
</span>
<p class="doc-desc" v-if="request.rawParams">
<span>
Parameters: <code>{{ request.rawParams || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.contentType">
<span>
Content Type:
<code>{{ request.contentType || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.requestType">
<span>
Request Type:
<code>{{ request.requestType || "None" }}</code>
</span>
</p>
</span>
</span>
<span
class="request"
v-for="(request, index) in collection.requests"
:key="`request-${index}`"
>
<h4>
<i class="material-icons">insert_drive_file</i>
{{ request.name || "None" }}
</h4>
<p class="doc-desc" v-if="request.url">
<span>
URL: <code>{{ request.url || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.path">
<span>
Path: <code>{{ request.path || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.method">
<span>
Method: <code>{{ request.method || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.auth">
<span>
Authentication:
<code>{{ request.auth || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.httpUser">
<span>
Username: <code>{{ request.httpUser || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.httpPassword">
<span>
Password: <code>{{ request.httpPassword || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.bearerToken">
<span>
Token: <code>{{ request.bearerToken || "None" }}</code>
</span>
</p>
<h4 v-if="request.headers.length > 0">Headers</h4>
<span
v-if="request.headers"
v-for="header in request.headers"
:key="header.key"
>
<p class="doc-desc">
<span>
{{ header.key || "None" }}:
<code>{{ header.value || "None" }}</code>
</span>
</p>
</span>
<h4 v-if="request.params.length > 0">Parameters</h4>
<span
v-if="request.params"
v-for="parameter in request.params"
:key="parameter.key"
>
<p class="doc-desc">
<span>
{{ parameter.key || "None" }}:
<code>{{ parameter.value || "None" }}</code>
</span>
</p>
</span>
<h4 v-if="request.bodyParam">Payload</h4>
<span
v-if="request.bodyParam"
v-for="payload in request.bodyParam"
:key="payload.key"
>
<p class="doc-desc">
<span>
{{ payload.key || "None" }}:
<code>{{ payload.value || "None" }}</code>
</span>
</p>
</span>
<p class="doc-desc" v-if="request.rawParams">
<span>
Parameters: <code>{{ request.rawParams || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.contentType">
<span>
Content Type:
<code>{{ request.contentType || "None" }}</code>
</span>
</p>
<p class="doc-desc" v-if="request.requestType">
<span>
Request Type:
<code>{{ request.requestType || "None" }}</code>
</span>
</p>
</span>
</span>
</div>
</pw-section>
</div>
</template>
<style scoped lang="scss">
.collection,
.folder,
.request,
.doc-desc {
display: flex;
flex-flow: column;
justify-content: center;
flex: 1;
padding: 16px;
.material-icons {
margin-right: 16px;
}
}
.collection {
}
.folder {
border-left: 1px solid var(--brd-color);
margin: 16px 0 0;
}
.request {
border: 1px solid var(--brd-color);
border-radius: 8px;
margin: 16px 0 0;
h4 {
margin: 8px 0;
}
}
.doc-desc {
color: var(--fg-light-color);
border-bottom: 1px dashed var(--brd-color);
margin: 0;
&:last-child {
border-bottom: none;
}
}
</style>
<script>
import AceEditor from "../components/ace-editor";
export default {
components: {
"pw-section": () => import("../components/section"),
Editor: AceEditor
},
data() {
return {
collectionJSON: "[]",
items: []
};
},
methods: {
uploadCollection() {
this.rawInput = true;
let file = this.$refs.collectionUpload.files[0];
if (file !== undefined && file !== null) {
let reader = new FileReader();
reader.onload = e => {
this.collectionJSON = e.target.result;
};
reader.readAsText(file);
this.$toast.info("File imported", {
icon: "attach_file"
});
} else {
this.$toast.error("Choose a file", {
icon: "attach_file"
});
}
},
getDoc() {
try {
this.items = JSON.parse(this.collectionJSON);
this.$toast.info("Documentation generated", {
icon: "book"
});
} catch (e) {
this.$toast.error(e, {
icon: "code"
});
}
}
}
};
</script>

View File

@@ -53,7 +53,7 @@
<ul v-for="(header, index) in headers" :key="index"> <ul v-for="(header, index) in headers" :key="index">
<li> <li>
<autocomplete <autocomplete
:placeholder="'index ' + (index + 1)" :placeholder="'header ' + (index + 1)"
:source="commonHeaders" :source="commonHeaders"
:spellcheck="false" :spellcheck="false"
:value="header.key" :value="header.key"
@@ -152,6 +152,7 @@
}" }"
/> />
</pw-section> </pw-section>
<pw-section class="cyan" label="Query" ref="query"> <pw-section class="cyan" label="Query" ref="query">
<div class="flex-wrap"> <div class="flex-wrap">
<label for="gqlQuery">{{ $t("query") }}</label> <label for="gqlQuery">{{ $t("query") }}</label>
@@ -185,6 +186,7 @@
}" }"
/> />
</pw-section> </pw-section>
<pw-section class="purple" label="Response" ref="response"> <pw-section class="purple" label="Response" ref="response">
<div class="flex-wrap"> <div class="flex-wrap">
<label for="responseField">{{ $t("response") }}</label> <label for="responseField">{{ $t("response") }}</label>
@@ -281,7 +283,19 @@
</div> </div>
</div> </div>
</section> </section>
</pw-section>
<p
v-if="
queryFields.length === 0 &&
mutationFields.length === 0 &&
subscriptionFields.length === 0 &&
gqlTypes.length === 0
"
class="info"
>
Send a request first
</p></pw-section
>
</aside> </aside>
</div> </div>
</div> </div>

View File

@@ -224,12 +224,18 @@
<ul> <ul>
<li> <li>
<label for="rawBody">{{ $t("raw_request_body") }}</label> <label for="rawBody">{{ $t("raw_request_body") }}</label>
<textarea <Editor
id="rawBody"
@keydown="formatRawParams"
rows="8"
v-model="rawParams" v-model="rawParams"
></textarea> :lang="'json'"
:options="{
maxLines: '16',
minLines: '8',
fontSize: '16px',
autoScrollEditorIntoView: true,
showPrintMargin: false,
useWorker: false
}"
/>
</li> </li>
</ul> </ul>
</div> </div>
@@ -728,14 +734,17 @@
</ul> </ul>
</div> </div>
<div slot="footer"> <div slot="footer">
<ul> <div class="flex-wrap">
<li> <span></span>
<button class="icon" @click="handleImport"> <span>
<i class="material-icons">get_app</i> <button class="icon" @click="showModal = false">
<span>{{ $t("import") }}</span> Cancel
</button> </button>
</li> <button class="icon primary" @click="handleImport">
</ul> {{ $t("import") }}
</button>
</span>
</div>
</div> </div>
</pw-modal> </pw-modal>
@@ -1399,7 +1408,7 @@ export default {
requestString.push("xhr.send()"); requestString.push("xhr.send()");
} }
return requestString.join("\n"); return requestString.join("\n");
} else if (this.requestType == "Fetch") { } else if (this.requestType === "Fetch") {
const requestString = []; const requestString = [];
let headers = []; let headers = [];
requestString.push( requestString.push(
@@ -1806,38 +1815,6 @@ export default {
} }
}); });
}, },
formatRawParams(event) {
if (event.which !== 13 && event.which !== 9) {
return;
}
const textBody = event.target.value;
const textBeforeCursor = textBody.substring(
0,
event.target.selectionStart
);
const textAfterCursor = textBody.substring(event.target.selectionEnd);
if (event.which === 13) {
event.preventDefault();
const oldSelectionStart = event.target.selectionStart;
const lastLine = textBeforeCursor.split("\n").slice(-1)[0];
const rightPadding = lastLine.match(/([\s\t]*).*/)[1] || "";
event.target.value =
textBeforeCursor + "\n" + rightPadding + textAfterCursor;
setTimeout(
() =>
(event.target.selectionStart = event.target.selectionEnd =
oldSelectionStart + rightPadding.length + 1),
1
);
} else if (event.which === 9) {
event.preventDefault();
const oldSelectionStart = event.target.selectionStart;
event.target.value = textBeforeCursor + "\xa0\xa0" + textAfterCursor;
event.target.selectionStart = event.target.selectionEnd =
oldSelectionStart + 2;
return false;
}
},
copyRequest() { copyRequest() {
if (navigator.share) { if (navigator.share) {
let time = new Date().toLocaleTimeString(); let time = new Date().toLocaleTimeString();
@@ -1891,7 +1868,7 @@ export default {
}); });
const aux = document.createElement("textarea"); const aux = document.createElement("textarea");
const copy = const copy =
this.responseType == "application/json" this.responseType === "application/json"
? JSON.stringify(this.response.body) ? JSON.stringify(this.response.body)
: this.response.body; : this.response.body;
aux.innerText = copy; aux.innerText = copy;
@@ -1986,7 +1963,7 @@ export default {
window.location.href, window.location.href,
"", "",
"/?" + "/?" +
encodeURIComponent( encodeURI(
flats flats
.concat(deeps, bodyParams) .concat(deeps, bodyParams)
.join("") .join("")
@@ -1999,7 +1976,7 @@ export default {
throw new Error("Route query parameters must be a Object"); throw new Error("Route query parameters must be a Object");
for (const key in queries) { for (const key in queries) {
if (["headers", "params", "bodyParams"].includes(key)) if (["headers", "params", "bodyParams"].includes(key))
this[key] = JSON.parse(queries[key]); this[key] = JSON.parse(decodeURI(queries[key]));
if (key === "rawParams") { if (key === "rawParams") {
this.rawInput = true; this.rawInput = true;
this.rawParams = queries["rawParams"]; this.rawParams = queries["rawParams"];
@@ -2033,7 +2010,7 @@ export default {
let parsedCurl = parseCurlCommand(text); let parsedCurl = parseCurlCommand(text);
this.url = parsedCurl.url.replace(/"/g, "").replace(/'/g, ""); this.url = parsedCurl.url.replace(/"/g, "").replace(/'/g, "");
this.url = this.url =
this.url.slice(-1).pop() == "/" ? this.url.slice(0, -1) : this.url; this.url.slice(-1).pop() === "/" ? this.url.slice(0, -1) : this.url;
this.path = ""; this.path = "";
this.headers = []; this.headers = [];
for (const key of Object.keys(parsedCurl.headers)) { for (const key of Object.keys(parsedCurl.headers)) {
@@ -2157,7 +2134,7 @@ export default {
uploadPayload() { uploadPayload() {
this.rawInput = true; this.rawInput = true;
let file = this.$refs.payload.files[0]; let file = this.$refs.payload.files[0];
if (file !== null) { if (file !== undefined && file !== null) {
let reader = new FileReader(); let reader = new FileReader();
reader.onload = e => { reader.onload = e => {
this.rawParams = e.target.result; this.rawParams = e.target.result;

View File

@@ -36,6 +36,7 @@
</div> </div>
</ul> </ul>
</pw-section> </pw-section>
<pw-section <pw-section
class="purple" class="purple"
label="Communication" label="Communication"
@@ -125,6 +126,7 @@
</div> </div>
</ul> </ul>
</pw-section> </pw-section>
<pw-section <pw-section
class="purple" class="purple"
label="Communication" label="Communication"

View File

@@ -134,12 +134,7 @@
</div> </div>
</template> </template>
<style scoped lang="scss"> <style scoped lang="scss"></style>
.info {
margin-left: 4px;
color: var(--fg-light-color);
}
</style>
<script> <script>
export default { export default {
@@ -156,7 +151,7 @@ export default {
// set the relevant values. // set the relevant values.
themes: [ themes: [
{ {
color: "#121212", color: "#202124",
name: "Kinda Dark", name: "Kinda Dark",
class: "", class: "",
aceEditor: "twilight" aceEditor: "twilight"
@@ -273,7 +268,7 @@ export default {
document.documentElement.style.setProperty("--ac-color", color); document.documentElement.style.setProperty("--ac-color", color);
document.documentElement.style.setProperty( document.documentElement.style.setProperty(
"--act-color", "--act-color",
vibrant ? "rgba(18, 18, 18, 1)" : "rgba(255, 255, 255, 1)" vibrant ? "rgba(32, 33, 36, 1)" : "rgba(255, 255, 255, 1)"
); );
this.applySetting("THEME_COLOR", color.toUpperCase()); this.applySetting("THEME_COLOR", color.toUpperCase());
this.applySetting("THEME_COLOR_VIBRANT", vibrant); this.applySetting("THEME_COLOR_VIBRANT", vibrant);

View File

@@ -54,9 +54,9 @@
transform="translate(516.40798,163.89028)"><g transform="translate(516.40798,163.89028)"><g
id="g3818"><path id="g3818"><path
id="path3816" id="path3816"
data-old_color="#121212" data-old_color="#202124"
class="active-path" class="active-path"
data-original="#121212" data-original="#202124"
d="M 64.601,236.822 C 64.601,394.256 192.786,612 306.001,612 412.582,612 547.4,394.256 547.4,236.822 547.4,79.388 439.322,0 306,0 172.678,0 64.601,79.388 64.601,236.822 Z m 304.12,116.415 c 29.475,-29.475 70.598,-40.195 108.552,-32.173 8.021,37.954 -2.698,79.077 -32.173,108.552 -29.475,29.475 -70.598,40.195 -108.552,32.173 -8.022,-37.955 2.698,-79.078 32.173,-108.552 z M 134.727,321.063 c 37.954,-8.021 79.077,2.698 108.552,32.173 29.475,29.475 40.195,70.598 32.173,108.552 -37.954,8.021 -79.077,-2.698 -108.552,-32.173 -29.475,-29.476 -40.194,-70.598 -32.173,-108.552 z" d="M 64.601,236.822 C 64.601,394.256 192.786,612 306.001,612 412.582,612 547.4,394.256 547.4,236.822 547.4,79.388 439.322,0 306,0 172.678,0 64.601,79.388 64.601,236.822 Z m 304.12,116.415 c 29.475,-29.475 70.598,-40.195 108.552,-32.173 8.021,37.954 -2.698,79.077 -32.173,108.552 -29.475,29.475 -70.598,40.195 -108.552,32.173 -8.022,-37.955 2.698,-79.078 32.173,-108.552 z M 134.727,321.063 c 37.954,-8.021 79.077,2.698 108.552,32.173 29.475,29.475 40.195,70.598 32.173,108.552 -37.954,8.021 -79.077,-2.698 -108.552,-32.173 -29.475,-29.476 -40.194,-70.598 -32.173,-108.552 z"
inkscape:connector-curvature="0" inkscape:connector-curvature="0"
style="fill:#50fa7b" /></g></g></g></svg> style="fill:#50fa7b" /></g></g></g></svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB