mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-12 23:35:58 +00:00
Merge branch 'master' of github.com:Ocelot-Social-Community/Ocelot-Social into 6812-script-auto-backups-for-kubernetes-servers
# Conflicts: # neo4j/README.md
This commit is contained in:
commit
c8abe9c51c
3
.github/workflows/check-documentation.yml
vendored
3
.github/workflows/check-documentation.yml
vendored
@ -28,12 +28,13 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@master
|
||||
- name: Remove old documentation files
|
||||
run: rm -rf ./deployment/src/old/ # workaround until https://github.com/gaurav-nelson/github-action-markdown-link-check/pull/183 has been done
|
||||
- name: Check Markdown Links
|
||||
uses: gaurav-nelson/github-action-markdown-link-check@master
|
||||
with:
|
||||
use-quiet-mode: 'yes'
|
||||
use-verbose-mode: 'no'
|
||||
# at any .md file change take the chance to check the links in all .md files
|
||||
check-modified-files-only: 'no'
|
||||
config-file: '.github/workflows/mlc_config.json'
|
||||
base-branch: 'master'
|
||||
|
||||
2
.github/workflows/mlc_config.json
vendored
2
.github/workflows/mlc_config.json
vendored
@ -3,7 +3,7 @@
|
||||
"retryOn429": true,
|
||||
"retryCount": 2,
|
||||
"fallbackRetryDelay": "30s",
|
||||
"aliveStatusCodes": [200, 206],
|
||||
"aliveStatusCodes": [200, 206, 303, 403],
|
||||
"ignorePatterns": [
|
||||
{
|
||||
"pattern": "^(https:\/\/github.com\/Ocelot-Social-Community\/Ocelot-Social\/pull\/|http:\/\/localhost)"
|
||||
|
||||
36
.github/workflows/publish.yml
vendored
36
.github/workflows/publish.yml
vendored
@ -260,10 +260,38 @@ jobs:
|
||||
version: ${{ env.BUILD_VERSION }}
|
||||
git_commit_sha: ${{ github.sha }}
|
||||
git_tag_prefix: "b"
|
||||
|
||||
- name: Generate changelog
|
||||
run: |
|
||||
yarn install
|
||||
yarn auto-changelog --latest-version ${{ env.VERSION }} --unreleased-only
|
||||
id: changelog
|
||||
uses: mikepenz/release-changelog-builder-action@v4
|
||||
with:
|
||||
configurationJson: |
|
||||
{
|
||||
"pr_template": "- ##{{NUMBER}} #{{TITLE}} #{{ASSIGNEES}}",
|
||||
"categories": [
|
||||
{
|
||||
"title": "### 🚀 Features",
|
||||
"labels": ["feat"]
|
||||
},
|
||||
{
|
||||
"title": "### 🐛 Fixes",
|
||||
"labels": ["fix"]
|
||||
},
|
||||
{
|
||||
"title": "### 💬 Refactoring, Documentation & Other",
|
||||
"labels": ["chore","ci","docs","refactor"]
|
||||
},
|
||||
{
|
||||
"title": "### 📦 Build & Dependencies",
|
||||
"labels": ["build","bump"]
|
||||
}
|
||||
],
|
||||
"max_pull_requests": 1000,
|
||||
"max_back_track_time_days": 1000
|
||||
}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: package-version-to-git-release
|
||||
continue-on-error: true # Will fail if tag exists
|
||||
id: create_release
|
||||
@ -273,7 +301,7 @@ jobs:
|
||||
with:
|
||||
tag_name: ${{ env.VERSION }}
|
||||
release_name: ${{ env.VERSION }}
|
||||
body_path: ./CHANGELOG.md
|
||||
body: ${{steps.changelog.outputs.changelog}}
|
||||
draft: false
|
||||
prerelease: false
|
||||
|
||||
|
||||
11
.vuepress/config.js
Normal file
11
.vuepress/config.js
Normal file
@ -0,0 +1,11 @@
|
||||
import { defineUserConfig } from 'vuepress'
|
||||
import meta from './config/meta'
|
||||
import theme from './config/theme'
|
||||
import plugins from './config/plugins'
|
||||
|
||||
export default defineUserConfig({
|
||||
pagePatterns: ['**/*.md', '!.vuepress', '!node_modules', '!backend/node_modules', '!webapp/node_modules', '!deployment/src/old'],
|
||||
...meta,
|
||||
theme,
|
||||
plugins,
|
||||
})
|
||||
8
.vuepress/config/meta.js
Normal file
8
.vuepress/config/meta.js
Normal file
@ -0,0 +1,8 @@
|
||||
export default {
|
||||
base: '/',
|
||||
title: 'Ocelot.Social Documentation',
|
||||
description: 'Ocelot.Social Documentation',
|
||||
head: [
|
||||
['meta', {name: 'viewport', content: 'width=device-width,initial-scale=1'}],
|
||||
],
|
||||
}
|
||||
18
.vuepress/config/plugins.js
Normal file
18
.vuepress/config/plugins.js
Normal file
@ -0,0 +1,18 @@
|
||||
import { searchProPlugin } from 'vuepress-plugin-search-pro'
|
||||
|
||||
export default [
|
||||
searchProPlugin({
|
||||
indexContent: true,
|
||||
autoSuggestions: true,
|
||||
customFields: [
|
||||
{
|
||||
getter: (page) => page.frontmatter.category,
|
||||
formatter: "Category: $content",
|
||||
},
|
||||
{
|
||||
getter: (page) => page.frontmatter.tag,
|
||||
formatter: "Tag: $content",
|
||||
},
|
||||
],
|
||||
})
|
||||
]
|
||||
82
.vuepress/config/theme.js
Normal file
82
.vuepress/config/theme.js
Normal file
@ -0,0 +1,82 @@
|
||||
import path from 'path'
|
||||
import fs from 'fs'
|
||||
import { hopeTheme } from 'vuepress-theme-hope'
|
||||
|
||||
export default hopeTheme({
|
||||
favicon: 'favicon.ico',
|
||||
logo: '/logo.svg',
|
||||
docsRepo: 'https://github.com/Ocelot-Social-Community/Ocelot-Social',
|
||||
docsBranch: 'master',
|
||||
docsDir: '.',
|
||||
editLink: true,
|
||||
lastUpdated: false,
|
||||
contributors: false,
|
||||
print: false,
|
||||
pure: true,
|
||||
displayFooter: true,
|
||||
footer: 'CC BY busFaktor() e.V. & Authors',
|
||||
sidebar: generateSidebar('../../SUMMARY.md'),
|
||||
navbar: [
|
||||
{ text: 'Home', link: '/' },
|
||||
{
|
||||
text: 'Github',
|
||||
link: 'https://github.com/Ocelot-Social-Community/Ocelot-Social'
|
||||
},
|
||||
],
|
||||
plugins: {
|
||||
mdEnhance: {
|
||||
tabs: true,
|
||||
imgSize: true
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
function generateSidebar(summaryFileName) {
|
||||
const summaryFile = path.resolve(__dirname, summaryFileName)
|
||||
|
||||
try {
|
||||
return getSummaryData(summaryFile)
|
||||
} catch (err) {
|
||||
console.error(`Error generating sidebar from file ${summaryFileName}:`, err)
|
||||
process.exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
function getSummaryData(file) {
|
||||
const lines = fs.readFileSync(file, 'utf8').split('\n')
|
||||
const sidebarStructure = []
|
||||
let currentParent = null
|
||||
|
||||
lines.forEach((line, i) => {
|
||||
const level = line.search(/\S|$/) / 2
|
||||
const match = line.match(/^\s*\*\s*\[([^\]]+)\]\(([^)]+)\)/)
|
||||
|
||||
if (match) {
|
||||
const newEntry = { text: match[1], link: `/${match[2]}`, children: [] }
|
||||
if (level === 0) {
|
||||
sidebarStructure.push(newEntry)
|
||||
currentParent = sidebarStructure[sidebarStructure.length - 1]
|
||||
} else {
|
||||
let parent = currentParent
|
||||
|
||||
for (let i = 1; i < level; i++) {
|
||||
parent = parent.children[parent.children.length - 1]
|
||||
}
|
||||
|
||||
parent.children.push(newEntry)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
sidebarStructure.forEach(removeEmptyArrays)
|
||||
return sidebarStructure
|
||||
}
|
||||
|
||||
function removeEmptyArrays(item) {
|
||||
if (item.children && item.children.length === 0) {
|
||||
delete item.children;
|
||||
} else if (item.children) {
|
||||
item.children.forEach(removeEmptyArrays);
|
||||
}
|
||||
}
|
||||
|
||||
BIN
.vuepress/public/favicon.ico
Normal file
BIN
.vuepress/public/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.4 KiB |
65
.vuepress/public/logo.svg
Normal file
65
.vuepress/public/logo.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 28 KiB |
@ -1,10 +1,10 @@
|
||||
# CONTRIBUTING
|
||||
|
||||
Thank you so much for thinking of contributing to the [ocelot.social](https://ocelot.social) project! It's awesome you're here, we really appreciate it. :-\)
|
||||
Thank you so much for thinking of contributing to the <!-- [ -->ocelot.social<!-- ](https://ocelot.social) --> project! It's awesome you're here, we really appreciate it. :-\)
|
||||
|
||||
## Getting Set Up
|
||||
|
||||
Instructions for how to install all the necessary software and some code guidelines can be found in our main [Readme](/README.md) or in our [documentation](/SUMMARY.md).
|
||||
Instructions for how to install all the necessary software and some code guidelines can be found in our main [Readme](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/README.md) or in our [documentation](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/SUMMARY.md).
|
||||
|
||||
To get you started we recommend that you join forces with a regular contributor. Please join [our Discord instance](https://discord.gg/AJSX9DCSUA) to chat with developers or just get in touch directly on an issue on either [Github](https://github.com/Ocelot-Social-Community/Ocelot-Social/issues) or [Zenhub](https://app.zenhub.com/workspaces/ocelotsocial-5fb21ff922cb410015dd6535/board?filterLogic=any&repos=301151089):
|
||||
|
||||
@ -36,7 +36,7 @@ Every pull request needs to:
|
||||
|
||||
## Contribution Flow For Open Source Contributors
|
||||
|
||||
See [contributing in main README.md](/README.md#contributing)
|
||||
See [contributing in main README.md](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/README.md#contributing)
|
||||
|
||||
## The Team
|
||||
|
||||
@ -48,6 +48,9 @@ You can talk to our core team on [Discord](https://discord.gg/AJSX9DCSUA). And o
|
||||
* Moriz (@Mogge)
|
||||
* Wolle (@Tirokk)
|
||||
* Alex (@ogerly)
|
||||
* Hannes (@elweyn5803)
|
||||
* Mathias (@mahula)
|
||||
* Markus (@maeckes#1133)
|
||||
|
||||
<!-- * Robert (@roschaefer)
|
||||
* Matt (@mattwr18)
|
||||
|
||||
20
README.md
20
README.md
@ -2,15 +2,17 @@
|
||||
|
||||
[](https://github.com/Ocelot-Social-Community/Ocelot-Social/actions)
|
||||
[](https://github.com/Ocelot-Social-Community/Ocelot-Social/actions)
|
||||
[](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/LICENSE.md)
|
||||
[](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/LICENSE.md)
|
||||
[](https://discord.gg/AJSX9DCSUA)
|
||||
[](https://www.codetriage.com/ocelot-social-community/ocelot-social)
|
||||
|
||||
[Ocelot.social](https://ocelot.social) is free and open source software program code to run social networks. Its development is supported by a community of programmers and interested network operators.
|
||||
<!-- [ -->Ocelot.social<!-- ](<https://ocelot.social>) --> is free and open source software program code to run social networks. Its development is supported by a community of programmers and interested network operators.
|
||||
|
||||
<!-- markdownlint-disable MD033 -->
|
||||
<p align="center">
|
||||
<a href="https://ocelot.social" target="_blank"><img src="webapp/static/img/custom/logo-squared.svg" alt="ocelot.social" width="40%" height="40%"></a>
|
||||
<!-- <a href="https://ocelot.social" target="_blank"> -->
|
||||
<img src="https://raw.githubusercontent.com/Ocelot-Social-Community/Ocelot-Social/master/webapp/static/img/custom/logo-squared.svg" alt="ocelot.social" width="40%" height="40%">
|
||||
<!-- </a> -->
|
||||
</p>
|
||||
<!-- markdownlint-enable MD033 -->
|
||||
|
||||
@ -67,13 +69,13 @@ Try out our live demo network, see [here](#live-demo-and-developer-logins).
|
||||
If you're wondering how you could help, there are plenty of ways, e.g.:
|
||||
|
||||
- Spread the good word about ocelot.social to make it more popular:
|
||||
- Add the link [ocelot.social](https://ocelot.social) to your website.
|
||||
- Add the link <!-- [ -->ocelot.social<!-- ](https://ocelot.social)--> to your website.
|
||||
- Give ocelot.social a Like at <https://alternativeto.net/software/ocelot-social/>.
|
||||
- Star our project on GitHub at <https://github.com/Ocelot-Social-Community/Ocelot-Social/>.
|
||||
- Promote it on your social networks.
|
||||
- Tell your friends about it by word-of-mouth.
|
||||
- Write a press article on ocelot.social or contact the editorial office of your local news page or radio station.
|
||||
- Take a [good first issue](https://github.com/Ocelot-Social-Community/Ocelot-Social/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) or issues that need help. Make sure to read [CONTRIBUTING.md](/CONTRIBUTING.md) first though.
|
||||
- Take a [good first issue](https://github.com/Ocelot-Social-Community/Ocelot-Social/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) or issues that need help. Make sure to read [CONTRIBUTING.md](./CONTRIBUTING.md) first though.
|
||||
- Testing and [reporting](https://github.com/Ocelot-Social-Community/Ocelot-Social/issues/new/choose) bugs.
|
||||
- Translating: Please [contact us](#contact).
|
||||
- Reviewing and testing pull requests.
|
||||
@ -138,11 +140,11 @@ $ cd Ocelot-Social
|
||||
|
||||
### Live Demo and Developer Logins
|
||||
|
||||
**Try out our deployed [development environment](https://stage.ocelot.social).**
|
||||
**Try out our deployed <!-- [ -->development environment<!--](https://stage.ocelot.social)-->.**
|
||||
|
||||
Visit our staging networks:
|
||||
|
||||
- central staging network: [stage.ocelot.social](https://stage.ocelot.social)
|
||||
- central staging network: <!-- [ -->stage.ocelot.social<!-- ](https://stage.ocelot.social)-->
|
||||
<!-- - rebranded staging network: [rebrand.ocelot.social](https://stage.ocelot.social). -->
|
||||
|
||||
#### Login
|
||||
@ -249,7 +251,7 @@ $ yarn locales --fix
|
||||
$ yarn test
|
||||
```
|
||||
|
||||
Check out our [contribution guideline](./CONTRIBUTING.md), too!
|
||||
Check out our [contribution guideline](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/CONTRIBUTING.md), too!
|
||||
|
||||
#### Developer Chat
|
||||
|
||||
@ -303,7 +305,7 @@ Locale Icons made by [Freepik](http://www.freepik.com/) from [www.flaticon.com](
|
||||
Browser compatibility testing with [BrowserStack](https://www.browserstack.com/).
|
||||
|
||||
<!-- markdownlint-disable MD033 -->
|
||||
<img alt="BrowserStack Logo" src=".gitbook/assets/browserstack-logo.svg" width="256">
|
||||
<img alt="BrowserStack Logo" src="https://raw.githubusercontent.com/Ocelot-Social-Community/Ocelot-Social/master/.gitbook/assets/browserstack-logo.svg" width="256">
|
||||
<!-- markdownlint-enable MD033 -->
|
||||
|
||||
### License
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
# Table of contents
|
||||
|
||||
* [Introduction](README.md)
|
||||
* [Edit this Documentation](edit-this-documentation.md)
|
||||
* [Neo4J](neo4j/README.md)
|
||||
* [Backend](backend/README.md)
|
||||
* [GraphQL](backend/graphql.md)
|
||||
@ -19,4 +18,5 @@
|
||||
* [Contributing](CONTRIBUTING.md)
|
||||
* [Feature Specification](cypress/features.md)
|
||||
* [Code of Conduct](CODE_OF_CONDUCT.md)
|
||||
* [Documentation](documentation.md)
|
||||
* [License](LICENSE.md)
|
||||
|
||||
@ -83,8 +83,8 @@ More details about our GraphQL playground and how to use it with ocelot.social c
|
||||
|
||||
Database indexes and constraints need to be created and upgraded when the database and the backend are running:
|
||||
|
||||
{% tabs %}
|
||||
{% tab title="Docker" %}
|
||||
::: tabs
|
||||
@tab:active Docker
|
||||
|
||||
```bash
|
||||
# in main folder while docker-compose is running
|
||||
@ -102,8 +102,7 @@ $ docker compose exec backend /bin/sh -c "yarn prod:migrate init"
|
||||
$ docker exec backend yarn run db:migrate up
|
||||
```
|
||||
|
||||
{% endtab %}
|
||||
{% tab title="Without Docker" %}
|
||||
@tab Without Docker
|
||||
|
||||
```bash
|
||||
# in folder backend/ while database is running
|
||||
@ -116,16 +115,15 @@ yarn run db:migrate init
|
||||
yarn run db:migrate up
|
||||
```
|
||||
|
||||
{% endtab %}
|
||||
{% endtabs %}
|
||||
:::
|
||||
|
||||
#### Seed Database
|
||||
|
||||
If you want your backend to return anything else than an empty response, you
|
||||
need to seed your database:
|
||||
|
||||
{% tabs %}
|
||||
{% tab title="Docker" %}
|
||||
::: tabs
|
||||
@tab:active Docker
|
||||
|
||||
In another terminal run:
|
||||
|
||||
@ -147,8 +145,7 @@ $ docker exec backend yarn run db:migrate init
|
||||
$ docker exec backend yarn run db:migrate up
|
||||
```
|
||||
|
||||
{% endtab %}
|
||||
{% tab title="Without Docker" %}
|
||||
@tab Without Docker
|
||||
|
||||
Run:
|
||||
|
||||
@ -164,16 +161,15 @@ To reset the database run:
|
||||
$ yarn run db:reset
|
||||
```
|
||||
|
||||
{% endtab %}
|
||||
{% endtabs %}
|
||||
:::
|
||||
|
||||
### Data migrations
|
||||
|
||||
Although Neo4J is schema-less,you might find yourself in a situation in which
|
||||
you have to migrate your data e.g. because your data modeling has changed.
|
||||
|
||||
{% tabs %}
|
||||
{% tab title="Docker" %}
|
||||
::: tabs
|
||||
@tab:active Docker
|
||||
|
||||
Generate a data migration file:
|
||||
|
||||
@ -190,8 +186,7 @@ To run the migration:
|
||||
$ docker exec backend yarn run db:migrate up
|
||||
```
|
||||
|
||||
{% endtab %}
|
||||
{% tab title="Without Docker" %}
|
||||
@tab Without Docker
|
||||
|
||||
Generate a data migration file:
|
||||
|
||||
@ -208,16 +203,15 @@ To run the migration:
|
||||
$ yarn run db:migrate up
|
||||
```
|
||||
|
||||
{% endtab %}
|
||||
{% endtabs %}
|
||||
:::
|
||||
|
||||
## Testing
|
||||
|
||||
**Beware**: We have no multiple database setup at the moment. We clean the
|
||||
database after each test, running the tests will wipe out all your data!
|
||||
|
||||
{% tabs %}
|
||||
{% tab title="Docker" %}
|
||||
::: tabs
|
||||
@tab:active Docker
|
||||
|
||||
Run the unit tests:
|
||||
|
||||
@ -226,9 +220,7 @@ Run the unit tests:
|
||||
$ docker exec backend yarn run test
|
||||
```
|
||||
|
||||
{% endtab %}
|
||||
|
||||
{% tab title="Without Docker" %}
|
||||
@tab Without Docker
|
||||
|
||||
Run the unit tests:
|
||||
|
||||
@ -237,5 +229,4 @@ Run the unit tests:
|
||||
$ yarn run test
|
||||
```
|
||||
|
||||
{% endtab %}
|
||||
{% endtabs %}
|
||||
:::
|
||||
|
||||
@ -74,7 +74,7 @@
|
||||
"metascraper-url": "^5.34.2",
|
||||
"metascraper-video": "^5.33.5",
|
||||
"metascraper-youtube": "^5.33.5",
|
||||
"migrate": "^2.0.0",
|
||||
"migrate": "^2.0.1",
|
||||
"mime-types": "^2.1.26",
|
||||
"minimatch": "^3.0.4",
|
||||
"mustache": "^4.2.0",
|
||||
@ -100,13 +100,11 @@
|
||||
"@typescript-eslint/eslint-plugin": "^5.57.1",
|
||||
"@typescript-eslint/parser": "^5.57.1",
|
||||
"apollo-server-testing": "~2.11.0",
|
||||
"chai": "~4.3.8",
|
||||
"cucumber": "~6.0.5",
|
||||
"eslint": "^8.37.0",
|
||||
"eslint-config-prettier": "^9.0.0",
|
||||
"eslint-config-standard": "^17.0.0",
|
||||
"eslint-import-resolver-typescript": "^3.6.1",
|
||||
"eslint-plugin-import": "^2.27.5",
|
||||
"eslint-plugin-import": "^2.29.0",
|
||||
"eslint-plugin-jest": "^27.2.1",
|
||||
"eslint-plugin-n": "^15.7.0",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -14,9 +14,9 @@ The following features will be implemented. This gets done in three steps:
|
||||
2. In a second step we will make our prototype publicly available with an advanced feature set including the technology and organizational structure to drive a bigger public social network.
|
||||
3. In a third step all the remaining features will be implemented to build the full product.
|
||||
|
||||
### User Account
|
||||
The implemented features can be found [here](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/e2e)
|
||||
|
||||
[Cucumber Features](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/integration/user_account)
|
||||
### User Account
|
||||
|
||||
* Sign-up
|
||||
* Agree to Data Privacy Statement
|
||||
@ -34,8 +34,6 @@ The following features will be implemented. This gets done in three steps:
|
||||
|
||||
### User Profile
|
||||
|
||||
[Cucumber Features](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/integration/user_profile)
|
||||
|
||||
* Upload and Change Avatar
|
||||
* Upload and Change Profile Picture
|
||||
* Edit Social Media Accounts
|
||||
@ -46,8 +44,6 @@ The following features will be implemented. This gets done in three steps:
|
||||
|
||||
### Dashboard
|
||||
|
||||
[Clickdummy](https://preview.uxpin.com/24a2ab8adcd84f9a763d87ed27251351225e0ecd#/pages/99768919/simulate/sitemap?mode=i)
|
||||
|
||||
* Show Link to own Profile
|
||||
* Show Friends Widget
|
||||
* Show Favorites Widget
|
||||
@ -59,8 +55,6 @@ The following features will be implemented. This gets done in three steps:
|
||||
|
||||
### Posts
|
||||
|
||||
[Cucumber Features](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/integration/post)
|
||||
|
||||
* Creating Posts
|
||||
* Persistent Links
|
||||
* Upload Teaser Picture for Post
|
||||
@ -85,8 +79,6 @@ The following features will be implemented. This gets done in three steps:
|
||||
|
||||
### Notifications
|
||||
|
||||
[Cucumber features](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/integration/notifications)
|
||||
|
||||
* User @-mentionings
|
||||
* Notify authors for comments
|
||||
* Administrative notifications to all users
|
||||
@ -108,8 +100,6 @@ The following features will be implemented. This gets done in three steps:
|
||||
|
||||
### Blacklist
|
||||
|
||||
[Video](https://www.youtube.com/watch?v=-uDvvmN8hLQ)
|
||||
|
||||
* Blacklist Users
|
||||
* Blacklist specific Terms
|
||||
* Blacklist Tags
|
||||
@ -117,8 +107,6 @@ The following features will be implemented. This gets done in three steps:
|
||||
|
||||
### Search
|
||||
|
||||
[Cucumber Features](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/integration/search)
|
||||
|
||||
* Search for Categories
|
||||
* Search for Tags
|
||||
* Fulltext Search
|
||||
@ -238,8 +226,6 @@ Shows automatically related actions for existing post.
|
||||
|
||||
### Moderation
|
||||
|
||||
[Cucumber Features](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/integration/moderation)
|
||||
|
||||
* Report Button for users for doubtful Content
|
||||
* Moderator Panel
|
||||
* List of reported Content \(later replaced by User-Moderation\)
|
||||
@ -250,8 +236,6 @@ Shows automatically related actions for existing post.
|
||||
|
||||
### Administration
|
||||
|
||||
[Cucumber Features](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/integration/administration)
|
||||
|
||||
* Provide Admin-Interface to send Users Invite Code
|
||||
* Static Pages for Data Privacy Statement ...
|
||||
* Create, edit and delete Announcements
|
||||
@ -265,8 +249,6 @@ Shows automatically related actions for existing post.
|
||||
|
||||
### Internationalization
|
||||
|
||||
[Cucumber Features](https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/cypress/integration/internationalization)
|
||||
|
||||
* Frontend UI
|
||||
* Backend Error Messages
|
||||
|
||||
|
||||
@ -9,8 +9,6 @@
|
||||
$ export DOCKER_DEFAULT_PLATFORM=linux/amd64
|
||||
```
|
||||
|
||||
For even more informations, see [Docker More Closely](#docker-more-closely)
|
||||
|
||||
### Docker Compose Override File For Apple M1 Platform
|
||||
|
||||
For Docker compose `up` or `build` commands, you can use our Apple M1 override file that specifies the M1 platform:
|
||||
@ -27,7 +25,3 @@ $ docker compose -f docker-compose.ocelotsocial-branded.yml -f docker-compose.ap
|
||||
# only once: init admin user and create indexes and constraints in Neo4j database
|
||||
$ docker compose exec backend /bin/sh -c "yarn prod:migrate init"
|
||||
```
|
||||
|
||||
## Docker More Closely In Main Code
|
||||
|
||||
To get more informations about the Apple M1 platform and to analyze the Docker builds etc. you find our documentation in our main code, [here](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/DOCKER_MORE_CLOSELY.md).
|
||||
|
||||
@ -11,7 +11,7 @@ $ minikube dashboard
|
||||
|
||||
This will give you an overview. Some of the steps below need some timing to make resources available to other dependent deployments. Keeping an eye on the dashboard is a great way to check that.
|
||||
|
||||
Follow the installation instruction for [Kubernetes with Helm](./kubernetes/README.md).
|
||||
Follow the installation instruction for [Kubernetes with Helm](./src/kubernetes/README.md).
|
||||
|
||||
If all the pods and services have settled and everything looks green in your
|
||||
minikube dashboard, expose the services you want on your host system.
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# Ocelot.Social Deploy And Rebranding
|
||||
|
||||
[](https://github.com/Ocelot-Social-Community/Ocelot-Social-Deploy-Rebranding/actions)
|
||||
[](https://github.com/Ocelot-Social-Community/Ocelot-Social-Deploy-Rebranding/blob/LICENSE.md)
|
||||
[](https://github.com/Ocelot-Social-Community/Ocelot-Social-Deploy-Rebranding/blob/master/LICENSE.md)
|
||||
[](https://discord.gg/AJSX9DCSUA)
|
||||
[](https://www.codetriage.com/ocelot-social-community/ocelot-social-deploy-rebranding)
|
||||
|
||||
@ -10,17 +10,19 @@ The forked original repository is [stage.ocelot.social](https://github.com/Ocelo
|
||||
|
||||
<!-- markdownlint-disable MD033 -->
|
||||
<p align="center">
|
||||
<a href="https://ocelot.social" target="_blank"><img src="../webapp/static/img/custom/logo-squared.svg" alt="ocelot.social" width="40%" height="40%"></a>
|
||||
<!-- <a href="https://ocelot.social" target="_blank"> -->
|
||||
<img src="../webapp/static/img/custom/logo-squared.svg" alt="ocelot.social" width="40%" height="40%">
|
||||
<!-- </a> -->
|
||||
</p>
|
||||
<!-- markdownlint-enable MD033 -->
|
||||
|
||||
## Live demo
|
||||
|
||||
__Try out our deployed [development environment](https://stage.ocelot.social).__
|
||||
__Try out our deployed <!-- [ -->development environment<!-- ](https://stage.ocelot.social)-->.__
|
||||
|
||||
Visit our staging networks:
|
||||
|
||||
- central staging network: [stage.ocelot.social](https://stage.ocelot.social)
|
||||
- central staging network: <!-- [ -->stage.ocelot.social<!-- ](https://stage.ocelot.social)-->
|
||||
<!-- - rebranded staging network: [rebrand.ocelot.social](https://stage.ocelot.social). -->
|
||||
|
||||
Logins:
|
||||
@ -39,16 +41,18 @@ Fork this repository to configure and rebrand it for your own [ocelot.social](ht
|
||||
|
||||
Write your own data into the main configuration file:
|
||||
|
||||
- [package.json](/package.json)
|
||||
- [package.json](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/package.json)
|
||||
|
||||
Since all deployment methods described here depend on [Docker](https://docker.com) and [DockerHub](https://hub.docker.com), you need to create your own organisation on DockerHub and put its name in the [package.json](/package.json) file as your `dockerOrganisation`.
|
||||
Since all deployment methods described here depend on [Docker](https://docker.com) and [DockerHub](https://hub.docker.com), you need to create your own organisation on DockerHub and put its name in the [package.json](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/package.json) file as your `dockerOrganisation`.
|
||||
|
||||
### Configure And Branding
|
||||
|
||||
The next step is:
|
||||
|
||||
- [Set Environment Variables and Configurations](./deployment-values.md)
|
||||
<!-- markdown-link-check-disable -->
|
||||
- [Configure And Branding](./configurations/stage.ocelot.social/branding/README.md)
|
||||
<!-- markdown-link-check-enable -->
|
||||
|
||||
### Optional: Locally Testing Configuration And Branding
|
||||
|
||||
@ -71,7 +75,7 @@ For the maintenance page have a look in your browser at `http://localhost:5000/`
|
||||
|
||||
### Push Changes To GitHub
|
||||
|
||||
Before merging these changes into the "master" branch on your GitHub fork repository, you need to configure the GitHub repository secrets. This is necessary to [publish](/.github/workflows/publish.yml) the Docker images by pushing them via GitHub actions to repositories belonging to your DockerHub organisation.
|
||||
Before merging these changes into the "master" branch on your GitHub fork repository, you need to configure the GitHub repository secrets. This is necessary to [publish](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/.github/workflows/publish.yml) the Docker images by pushing them via GitHub actions to repositories belonging to your DockerHub organisation.
|
||||
|
||||
First, go to your DockerHub profile under `Account Settings` and click on the `Security` tab. There you create an access token called `<your-organisation>-access-token` and copy the token to a safe place.
|
||||
|
||||
@ -100,9 +104,9 @@ See the login details and browser addresses above.
|
||||
|
||||
### Deployment
|
||||
|
||||
Afterwards you can [deploy](/deployment/deployment.md) it on your server:
|
||||
Afterwards you can [deploy](./deployment.md) it on your server:
|
||||
|
||||
- [Kubernetes with Helm](/deployment/kubernetes/README.md)
|
||||
- [Kubernetes with Helm](./src/kubernetes/README.md)
|
||||
|
||||
## Developer Chat
|
||||
|
||||
@ -131,7 +135,7 @@ Browser compatibility testing with [BrowserStack](https://www.browserstack.com/)
|
||||
|
||||
## License
|
||||
|
||||
See the [LICENSE](/LICENSE.md) file for license rights and limitations (MIT).
|
||||
See the [LICENSE](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/LICENSE.md) file for license rights and limitations (MIT).
|
||||
|
||||
|
||||
We need `DOCKER_BUILDKIT=0` for this to work.
|
||||
@ -4,14 +4,14 @@ Before you start the deployment you have to do preparations.
|
||||
|
||||
## Deployment Preparations
|
||||
|
||||
Since all deployment methods described here depend on [Docker](https://docker.com) and [DockerHub](https://hub.docker.com), you need to create your own organisation on DockerHub and put its name in the [package.json](/package.json) file as your `dockerOrganisation`.
|
||||
Read more details in the [main README](/README.md) under [Usage](/README.md#usage).
|
||||
Since all deployment methods described here depend on [Docker](https://docker.com) and [DockerHub](https://hub.docker.com), you need to create your own organisation on DockerHub and put its name in the [package.json](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/package.json) file as your `dockerOrganisation`.
|
||||
Read more details in the [main README](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/README.md) under [Usage](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/README.md#usage).
|
||||
|
||||
## Deployment Methods
|
||||
|
||||
You have the following options for a deployment:
|
||||
|
||||
- [Kubernetes with Helm](./kubernetes/README.md)
|
||||
- [Kubernetes with Helm](./src/kubernetes/README.md)
|
||||
|
||||
## After Deployment
|
||||
|
||||
|
||||
@ -1,7 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
# !!! never tested !!!
|
||||
|
||||
# base setup
|
||||
SCRIPT_PATH=$(realpath $0)
|
||||
SCRIPT_DIR=$(dirname $SCRIPT_PATH)
|
||||
@ -35,7 +33,7 @@ helm install \
|
||||
--kubeconfig=${KUBECONFIG} \
|
||||
--namespace cert-manager \
|
||||
--create-namespace \
|
||||
--version v1.13.1 \
|
||||
--version v1.13.2 \
|
||||
--set installCRDs=true
|
||||
|
||||
## install Ocelot with helm
|
||||
|
||||
@ -68,17 +68,17 @@ Take one of the IPs of perhaps two or more droplets in your cluster from the lis
|
||||
To understand what makes sense to do when managing your DNS with DigitalOcean, you need to know how DNS works:
|
||||
|
||||
DNS means `Domain Name System`. It resolves domains like `example.com` into an IP like `123.123.123.123`.
|
||||
DigitalOcean is not a domain registrar, but provides a DNS management service. If you use DigitalOcean's DNS management service, you can configure [your cluster](/deployment/kubernetes/README.md#dns) to always resolve the domain to the correct IP and automatically update it for that.
|
||||
DigitalOcean is not a domain registrar, but provides a DNS management service. If you use DigitalOcean's DNS management service, you can configure [your cluster](./README.md#dns) to always resolve the domain to the correct IP and automatically update it for that.
|
||||
The IPs of the DigitalOcean machines are not necessarily stable, so the cluster's DNS service will update the DNS records managed by DigitalOcean to the new IP as needed.
|
||||
|
||||
***CAUTION:** If you are using an external DNS, you currently have to do this manually, which can cause downtime.*
|
||||
|
||||
## Deploy
|
||||
|
||||
Yeah, you're done here. Back to [Deployment with Helm for Kubernetes](/deployment/src/kubernetes/README.md).
|
||||
Yeah, you're done here. Back to [Deployment with Helm for Kubernetes](./README.md).
|
||||
|
||||
## Backups On DigitalOcean
|
||||
|
||||
You can and should do [backups](/deployment/kubernetes/Backup.md) with Kubernetes for sure.
|
||||
You can and should do [backups](./Backup.md) with Kubernetes for sure.
|
||||
|
||||
Additional to backup and copying the Neo4j database dump and the backend images you can do a volume snapshot on DigitalOcean at the moment you have the database in sleep mode.
|
||||
|
||||
@ -9,7 +9,7 @@ Please contact us if you are interested in options not listed below.
|
||||
|
||||
Managed Kubernetes:
|
||||
|
||||
- [DigitalOcean](/deployment/src/kubernetes/DigitalOcean.md)
|
||||
- [DigitalOcean](./DigitalOcean.md)
|
||||
|
||||
## Configuration
|
||||
|
||||
@ -76,7 +76,7 @@ $ helm install \
|
||||
cert-manager jetstack/cert-manager \
|
||||
--namespace cert-manager \
|
||||
--create-namespace \
|
||||
--version v1.13.1 \
|
||||
--version v1.13.2 \
|
||||
--set installCRDs=true
|
||||
# or kubeconfig.yaml in your repo, then adjust
|
||||
$ helm install \
|
||||
@ -84,7 +84,7 @@ $ helm install \
|
||||
--kubeconfig ./kubeconfig.yaml \
|
||||
--namespace cert-manager \
|
||||
--create-namespace \
|
||||
--version v1.13.1 \
|
||||
--version v1.13.2 \
|
||||
--set installCRDs=true
|
||||
``` -->
|
||||
|
||||
@ -165,7 +165,7 @@ $ doctl compute firewall get <ID> --context <context-name>
|
||||
|
||||
***ATTENTION:** This seems not to work at all so we leave it away at the moment*
|
||||
|
||||
***TODO:** I thought this is necessary if we use the DigitalOcean DNS management service? See [Manage DNS With DigitalOcean](/deployment/kubernetes/DigitalOcean.md#manage-dns-with-digitalocean)*
|
||||
***TODO:** I thought this is necessary if we use the DigitalOcean DNS management service? See [Manage DNS With DigitalOcean](./DigitalOcean.md#manage-dns-with-digitalocean)*
|
||||
|
||||
This chart is only necessary (recommended is more precise) if you run DigitalOcean without load balancer.
|
||||
You need to generate an access token with read + write for the `dns.values.yaml` at <https://cloud.digitalocean.com/account/api/tokens> and fill it in.
|
||||
@ -280,9 +280,9 @@ helm uninstall ocelot \
|
||||
|
||||
## Backups
|
||||
|
||||
You can and should do [backups](/deployment/kubernetes/Backup.md) with Kubernetes for sure.
|
||||
You can and should do [backups](./Backup.md) with Kubernetes for sure.
|
||||
|
||||
## Error Reporting
|
||||
<!-- ## Error Reporting
|
||||
|
||||
We use [Sentry](https://github.com/getsentry/sentry) for error reporting in both
|
||||
our backend and web frontend. You can either use a hosted or a self-hosted
|
||||
@ -297,7 +297,7 @@ If you are lucky enough to have a kubernetes cluster with the required hardware
|
||||
support, try this [helm chart](https://github.com/helm/charts/tree/master/stable/sentry).
|
||||
|
||||
On our kubernetes cluster we get "mult-attach" errors for persistent volumes.
|
||||
Apparently DigitalOcean's kubernetes clusters do not fulfill the requirements.
|
||||
Apparently DigitalOcean's kubernetes clusters do not fulfill the requirements. -->
|
||||
|
||||
## Kubernetes Commands (Without Helm) To Deploy New Docker Images To A Kubernetes Cluster
|
||||
|
||||
|
||||
@ -23,13 +23,12 @@ CAUTION: It seems that the behaviour of DigitalOcean has changed and the load ba
|
||||
And to create a load balancer costs money. Please refine the following documentation if required.
|
||||
{% endhint %}
|
||||
|
||||
{% tabs %}
|
||||
{% tab title="Without Load Balancer" %}
|
||||
::: tabs
|
||||
@tab:active Without Load Balancer
|
||||
|
||||
A solution without a load balance you can find [here](../no-loadbalancer/README.md).
|
||||
|
||||
{% endtab %}
|
||||
{% tab title="With DigitalOcean Load Balancer" %}
|
||||
@tab With DigitalOcean Load Balancer
|
||||
|
||||
{% hint style="info" %}
|
||||
CAUTION: It seems that the behaviour of DigitalOcean has changed and the load balancer is not created automatically anymore.
|
||||
@ -44,8 +43,7 @@ address. On DigitalOcean, this is how it should look like:
|
||||
If the load balancer isn't created automatically you have to create it your self on DigitalOcean under Networks.
|
||||
In case you don't need a DigitalOcean load balancer (which costs money by the way) have a look in the tab `Without Load Balancer`.
|
||||
|
||||
{% endtab %}
|
||||
{% endtabs %}
|
||||
:::
|
||||
|
||||
Check the ingress server is working correctly:
|
||||
|
||||
|
||||
@ -1,4 +1,6 @@
|
||||
# Edit this Documentation
|
||||
# Documentation
|
||||
|
||||
## Edit this Documentation
|
||||
|
||||
Find the [**table of contents** for this documentation on GitHub](https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/SUMMARY.md) and navigate to the file you need to update.
|
||||
|
||||
@ -10,15 +12,15 @@ If you are ready, fill in the **Propose file change** at the end of the webpage.
|
||||
|
||||
After that you have to compare your change branch to our `master` branch with a pull request. Here make a comment which issue you have fixed. (If you are working on one of our [open issues](https://github.com/Ocelot-Social-Community/Ocelot-Social/issues) please include the number.)
|
||||
|
||||
## Markdown your documentation
|
||||
### Markdown your documentation
|
||||
|
||||
To design your documentation see the syntax description at GitBook:
|
||||
|
||||
[https://toolchain.gitbook.com/syntax/markdown.html](https://toolchain.gitbook.com/syntax/markdown.html)
|
||||
|
||||
### Some quick Examples
|
||||
#### Some quick Examples
|
||||
|
||||
#### Headlines
|
||||
##### Headlines
|
||||
|
||||
```markdown
|
||||
# Main Headline
|
||||
@ -26,21 +28,19 @@ To design your documentation see the syntax description at GitBook:
|
||||
### Small Headlines
|
||||
```
|
||||
|
||||
#### Tabs
|
||||
##### Tabs
|
||||
|
||||
```markdown
|
||||
{% tabs %}
|
||||
{% tab title="XXX" %}
|
||||
XXX
|
||||
{% endtab %}
|
||||
{% tab title="XXX" %}
|
||||
XXX
|
||||
{% endtab %}
|
||||
…
|
||||
{% endtabs %}
|
||||
::: tabs
|
||||
@tab:active First tab's title <!-- this tab is setactive -->
|
||||
|
||||
@tab Second tab's title
|
||||
|
||||
:::
|
||||
```
|
||||
|
||||
#### Commands
|
||||
|
||||
##### Commands
|
||||
|
||||
~~~markdown
|
||||
```<LANGUAGE> (for text highlighting)
|
||||
@ -48,33 +48,34 @@ XXX
|
||||
```
|
||||
~~~
|
||||
|
||||
#### Links
|
||||
##### Links
|
||||
|
||||
```markdown
|
||||
[XXX](https://XXX)
|
||||
```
|
||||
For the documentation to work in both frameworks - Github and Vuepress - please use absolute path for Github internal documentation links (e.g. /README.md over ../../README.mdetc.)
|
||||
|
||||
#### Screenshots or other Images
|
||||
##### Screenshots or other Images
|
||||
|
||||
```markdown
|
||||

|
||||
```
|
||||
|
||||
#### Hints for ToDos
|
||||
##### Hints for ToDos
|
||||
|
||||
```markdown
|
||||
{% hint style="info" %} TODO: XXX {% endhint %}
|
||||
```
|
||||
|
||||
## Host the Screenshots
|
||||
### Host the Screenshots
|
||||
|
||||
### Host on Ocelot-Social \(GitHub\) Repository
|
||||
#### Host on Ocelot-Social \(GitHub\) Repository
|
||||
|
||||
{% hint style="info" %}
|
||||
TODO: How to host on Ocelot-Social \(GitHub\) repository ...
|
||||
{% endhint %}
|
||||
|
||||
### Quick Solution
|
||||
#### Quick Solution
|
||||
|
||||
To quickly host the screenshots go to:
|
||||
|
||||
@ -88,27 +89,41 @@ Right click on it and choose kind of **Open link in new tab**.
|
||||
|
||||
Copy the URL and paste it were you need it.
|
||||
|
||||
## Screenshot Modification
|
||||
### Screenshot Modification
|
||||
|
||||
### Add an Arrow or some other Marking Stuff
|
||||
#### Add an Arrow or some other Marking Stuff
|
||||
|
||||
{% tabs %}
|
||||
{% tab title="macOS" %}
|
||||
::: tabs
|
||||
@tab:active macOS
|
||||
|
||||
#### In the Preview App
|
||||
##### In the Preview App
|
||||
|
||||
Got to: **Menu** + **Tools** \(GER: Werkzeuge\) + **Annotate** \(GER: Anmerkungen\) + etc.
|
||||
{% endtab %}
|
||||
|
||||
{% tab title="Windows" %}
|
||||
@tab Windows
|
||||
|
||||
{% hint style="info" %}
|
||||
TODO: How to modify screenshots in Windows ...
|
||||
{% endhint %}
|
||||
{% endtab %}
|
||||
|
||||
{% tab title="Linux" %}
|
||||
@tab Linux
|
||||
{% hint style="info" %}
|
||||
TODO: How to modify screenshots in Linux ...
|
||||
{% endhint %}
|
||||
{% endtab %}
|
||||
{% endtabs %}
|
||||
:::
|
||||
|
||||
## Deploy this Documentation
|
||||
|
||||
TODO
|
||||
|
||||
```bash
|
||||
# set configured Node version
|
||||
nvm use
|
||||
|
||||
# install Vuepress
|
||||
npm install
|
||||
|
||||
# run vuepress
|
||||
npm run docs:dev
|
||||
```
|
||||
16248
package-lock.json
generated
Normal file
16248
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
20
package.json
20
package.json
@ -4,7 +4,6 @@
|
||||
"description": "Free and open source software program code available to run social networks.",
|
||||
"author": "ocelot.social Community",
|
||||
"license": "MIT",
|
||||
"private": false,
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Ocelot-Social-Community/Ocelot-Social.git"
|
||||
@ -27,24 +26,24 @@
|
||||
"scripts": {
|
||||
"db:seed": "cd backend && yarn run db:seed",
|
||||
"db:reset": "cd backend && yarn run db:reset",
|
||||
"docs:build": "NODE_OPTIONS=--openssl-legacy-provider vuepress build .",
|
||||
"docs:dev": "NODE_OPTIONS=--openssl-legacy-provider vuepress dev .",
|
||||
"cypress:run": "cypress run --e2e --browser electron --config-file ./cypress/cypress.config.js",
|
||||
"cypress:open": "cypress open --e2e --browser electron --config-file ./cypress/cypress.config.js",
|
||||
"cucumber:setup": "cd backend && yarn run dev",
|
||||
"cucumber": "wait-on tcp:4000 && cucumber-js --require-module @babel/register --exit",
|
||||
"release": "yarn version --no-git-tag-version --no-commit-hooks --no-commit && auto-changelog --latest-version $(node -p -e \"require('./package.json').version\") && cd backend && yarn version --no-git-tag-version --no-commit-hooks --no-commit --new-version $(node -p -e \"require('./../package.json').version\") && cd ../webapp && yarn version --no-git-tag-version --no-commit-hooks --no-commit --new-version $(node -p -e \"require('./../package.json').version\") && cd ../webapp/maintenance/source && yarn version --no-git-tag-version --no-commit-hooks --no-commit --new-version $(node -p -e \"require('./../../../package.json').version\")"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.23.3",
|
||||
"@babel/preset-env": "^7.23.3",
|
||||
"@babel/core": "^7.23.5",
|
||||
"@babel/preset-env": "^7.23.5",
|
||||
"@babel/register": "^7.22.15",
|
||||
"@badeball/cypress-cucumber-preprocessor": "^19.1.1",
|
||||
"@badeball/cypress-cucumber-preprocessor": "^19.2.0",
|
||||
"@cypress/browserify-preprocessor": "^3.0.2",
|
||||
"@cucumber/cucumber": "10.0.1",
|
||||
"@faker-js/faker": "8.3.1",
|
||||
"auto-changelog": "^2.3.0",
|
||||
"bcryptjs": "^2.4.3",
|
||||
"cross-env": "^7.0.3",
|
||||
"cucumber": "^6.0.5",
|
||||
"cypress": "^13.5.1",
|
||||
"cypress": "^13.6.1",
|
||||
"cypress-network-idle": "^1.14.2",
|
||||
"date-fns": "^2.25.0",
|
||||
"dotenv": "^16.3.1",
|
||||
@ -60,6 +59,11 @@
|
||||
"slug": "^8.2.3",
|
||||
"wait-on": "^7.2.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"vuepress": "^2.0.0-rc.0",
|
||||
"vuepress-plugin-search-pro": "^2.0.0-rc.4",
|
||||
"vuepress-theme-hope": "^2.0.0-rc.4"
|
||||
},
|
||||
"resolutions": {
|
||||
"set-value": "^2.0.1",
|
||||
"nan": "2.17.0"
|
||||
|
||||
@ -25,6 +25,10 @@ module.exports = {
|
||||
'no-console': ['error'],
|
||||
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
||||
'vue/component-name-in-template-casing': ['error', 'kebab-case'],
|
||||
// deactivate Vue3 rules for now, project will be migrated to Vue3
|
||||
'vue/multi-word-component-names': 0,
|
||||
'vue/no-mutating-props': 0,
|
||||
'vue/no-v-text-v-html-on-component': 0,
|
||||
'prettier/prettier': ['error', {
|
||||
htmlWhitespaceSensitivity: 'ignore'
|
||||
}],
|
||||
|
||||
@ -59,8 +59,8 @@ We ensure the quality of our frontend code by using
|
||||
|
||||
For more information see our [frontend testing guide](testing.md). Use these commands to run the tests:
|
||||
|
||||
{% tabs %}
|
||||
{% tab title="With Docker" %}
|
||||
::: tabs
|
||||
@tab:active With Docker
|
||||
|
||||
After starting the application following the above guidelines, open new terminal windows for each of these commands:
|
||||
|
||||
@ -81,9 +81,7 @@ $ docker-compose exec webapp yarn storybook
|
||||
|
||||
You can then visit the Storybook playground on `http://localhost:3002`
|
||||
|
||||
{% endtab %}
|
||||
|
||||
{% tab title="Without Docker" %}
|
||||
@tab title Without Docker
|
||||
|
||||
After starting the application following the above guidelines, open new terminal windows and navigate to the `/webapp` directory for each of these commands:
|
||||
|
||||
@ -109,8 +107,7 @@ $ yarn storybook
|
||||
|
||||
You can then visit the Storybook playground on `http://localhost:3002`
|
||||
|
||||
{% endtab %}
|
||||
{% endtabs %}
|
||||
:::
|
||||
|
||||
## Maintenance Mode
|
||||
|
||||
|
||||
@ -16,6 +16,7 @@
|
||||
/>
|
||||
</slot>
|
||||
</template>
|
||||
<!-- eslint-disable-next-line vue/no-useless-template-attributes -->
|
||||
<template #popover="" class="legend">
|
||||
<div class="legend-container">
|
||||
<div class="legend-header">{{ $t(`editor.legend.legendTitle`) }}</div>
|
||||
|
||||
@ -8,8 +8,8 @@ The maintenance mode shows a translatable page that tells the user that we are r
|
||||
|
||||
At the moment the maintenance mode can only be locally tested with Docker-Compose.
|
||||
|
||||
{% tabs %}
|
||||
{% tab title="Locally Without Docker" %}
|
||||
::: tabs
|
||||
@tab:active Locally Without Docker
|
||||
|
||||
{% hint style="info" %}
|
||||
TODO: Implement a locally running maintenance mode! Without Docker …
|
||||
@ -25,8 +25,7 @@ $ yarn generate:maintenance
|
||||
… is unfortunatelly **not(!)** working at the moment.
|
||||
This is because the code is rewritten to be easy usable for Docker-Compose. Therefore we lost this possibility.
|
||||
|
||||
{% endtab %}
|
||||
{% tab title="Locally With Docker" %}
|
||||
@tab Locally With Docker
|
||||
|
||||
To get the maintenance mode running use the command:
|
||||
|
||||
@ -37,3 +36,5 @@ $ docker-compose up
|
||||
|
||||
And the maintenance mode page or service will be started as well in an own container.
|
||||
In the browser you can reach it under `http://localhost:3001/`.
|
||||
|
||||
:::
|
||||
|
||||
@ -100,7 +100,7 @@
|
||||
"eslint-plugin-prettier": "~3.4.0",
|
||||
"eslint-plugin-promise": "~4.3.1",
|
||||
"eslint-plugin-standard": "~5.0.0",
|
||||
"eslint-plugin-vue": "~6.2.2",
|
||||
"eslint-plugin-vue": "~9.19.2",
|
||||
"flush-promises": "^1.0.2",
|
||||
"identity-obj-proxy": "^3.0.0",
|
||||
"jest": "29.5",
|
||||
|
||||
@ -57,6 +57,7 @@
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<!-- eslint-disable vue/no-reserved-component-names -->
|
||||
<script>
|
||||
import { isEmpty, toArray } from 'lodash'
|
||||
import mapboxgl from 'mapbox-gl'
|
||||
@ -560,6 +561,7 @@ export default {
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<!-- eslint-enable vue/no-reserved-component-names -->
|
||||
|
||||
<style lang="scss">
|
||||
// description: https: //github.com/geospoc/v-mapbox/tree/v1.11.2/docs
|
||||
|
||||
118
webapp/yarn.lock
118
webapp/yarn.lock
@ -2344,6 +2344,13 @@
|
||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d"
|
||||
integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==
|
||||
|
||||
"@eslint-community/eslint-utils@^4.4.0":
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
|
||||
integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
|
||||
dependencies:
|
||||
eslint-visitor-keys "^3.3.0"
|
||||
|
||||
"@faker-js/faker@5.1.0":
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@faker-js/faker/-/faker-5.1.0.tgz#cee1d77ada0d0dbbe77201d18b1ebabf432d9c0f"
|
||||
@ -5327,6 +5334,11 @@ acorn-jsx@^5.1.0:
|
||||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384"
|
||||
integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==
|
||||
|
||||
acorn-jsx@^5.3.2:
|
||||
version "5.3.2"
|
||||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
|
||||
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
|
||||
|
||||
acorn-walk@^6.0.1:
|
||||
version "6.1.1"
|
||||
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.1.1.tgz#d363b66f5fac5f018ff9c3a1e7b6f8e310cc3913"
|
||||
@ -5372,6 +5384,11 @@ acorn@^8.1.0, acorn@^8.8.1:
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a"
|
||||
integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
|
||||
|
||||
acorn@^8.9.0:
|
||||
version "8.11.2"
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b"
|
||||
integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==
|
||||
|
||||
agent-base@5:
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c"
|
||||
@ -9345,14 +9362,18 @@ eslint-plugin-standard@~5.0.0:
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-5.0.0.tgz#c43f6925d669f177db46f095ea30be95476b1ee4"
|
||||
integrity sha512-eSIXPc9wBM4BrniMzJRBm2uoVuXz2EPa+NXPk2+itrVt+r5SbKFERx/IgrK/HmfjddyKVz2f+j+7gBRvu19xLg==
|
||||
|
||||
eslint-plugin-vue@~6.2.2:
|
||||
version "6.2.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz#27fecd9a3a24789b0f111ecdd540a9e56198e0fe"
|
||||
integrity sha512-Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==
|
||||
eslint-plugin-vue@~9.19.2:
|
||||
version "9.19.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.19.2.tgz#7ab83a001a1ac8bccae013c5b9cb5d2c644fb376"
|
||||
integrity sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils" "^4.4.0"
|
||||
natural-compare "^1.4.0"
|
||||
semver "^5.6.0"
|
||||
vue-eslint-parser "^7.0.0"
|
||||
nth-check "^2.1.1"
|
||||
postcss-selector-parser "^6.0.13"
|
||||
semver "^7.5.4"
|
||||
vue-eslint-parser "^9.3.1"
|
||||
xml-name-validator "^4.0.0"
|
||||
|
||||
eslint-scope@^4.0.3:
|
||||
version "4.0.3"
|
||||
@ -9370,6 +9391,14 @@ eslint-scope@^5.0.0:
|
||||
esrecurse "^4.1.0"
|
||||
estraverse "^4.1.1"
|
||||
|
||||
eslint-scope@^7.1.1:
|
||||
version "7.2.2"
|
||||
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f"
|
||||
integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
|
||||
dependencies:
|
||||
esrecurse "^4.3.0"
|
||||
estraverse "^5.2.0"
|
||||
|
||||
eslint-utils@^1.4.3:
|
||||
version "1.4.3"
|
||||
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f"
|
||||
@ -9394,6 +9423,11 @@ eslint-visitor-keys@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
|
||||
integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
|
||||
|
||||
eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1:
|
||||
version "3.4.3"
|
||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
|
||||
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
|
||||
|
||||
eslint@~6.8.0:
|
||||
version "6.8.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb"
|
||||
@ -9451,6 +9485,15 @@ espree@^6.1.2:
|
||||
acorn-jsx "^5.1.0"
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
|
||||
espree@^9.3.1:
|
||||
version "9.6.1"
|
||||
resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f"
|
||||
integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
|
||||
dependencies:
|
||||
acorn "^8.9.0"
|
||||
acorn-jsx "^5.3.2"
|
||||
eslint-visitor-keys "^3.4.1"
|
||||
|
||||
esprima@^3.1.3:
|
||||
version "3.1.3"
|
||||
resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
|
||||
@ -9468,6 +9511,13 @@ esquery@^1.0.1:
|
||||
dependencies:
|
||||
estraverse "^4.0.0"
|
||||
|
||||
esquery@^1.4.0:
|
||||
version "1.5.0"
|
||||
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
|
||||
integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
|
||||
dependencies:
|
||||
estraverse "^5.1.0"
|
||||
|
||||
esrecurse@^4.1.0:
|
||||
version "4.2.1"
|
||||
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
|
||||
@ -9475,12 +9525,19 @@ esrecurse@^4.1.0:
|
||||
dependencies:
|
||||
estraverse "^4.1.0"
|
||||
|
||||
esrecurse@^4.3.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
|
||||
integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
|
||||
dependencies:
|
||||
estraverse "^5.2.0"
|
||||
|
||||
estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
|
||||
integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=
|
||||
|
||||
estraverse@^5.2.0:
|
||||
estraverse@^5.1.0, estraverse@^5.2.0:
|
||||
version "5.3.0"
|
||||
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
|
||||
integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
|
||||
@ -13975,6 +14032,13 @@ nth-check@^1.0.2, nth-check@~1.0.1:
|
||||
dependencies:
|
||||
boolbase "~1.0.0"
|
||||
|
||||
nth-check@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
|
||||
integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
|
||||
dependencies:
|
||||
boolbase "^1.0.0"
|
||||
|
||||
num2fraction@^1.2.2:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
|
||||
@ -15359,14 +15423,13 @@ postcss-selector-parser@^5.0.0, postcss-selector-parser@^5.0.0-rc.3, postcss-sel
|
||||
indexes-of "^1.0.1"
|
||||
uniq "^1.0.1"
|
||||
|
||||
postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
|
||||
version "6.0.2"
|
||||
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c"
|
||||
integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==
|
||||
postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.13, postcss-selector-parser@^6.0.2:
|
||||
version "6.0.13"
|
||||
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b"
|
||||
integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==
|
||||
dependencies:
|
||||
cssesc "^3.0.0"
|
||||
indexes-of "^1.0.1"
|
||||
uniq "^1.0.1"
|
||||
util-deprecate "^1.0.2"
|
||||
|
||||
postcss-svgo@^4.0.2:
|
||||
version "4.0.2"
|
||||
@ -16898,10 +16961,10 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semve
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
||||
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
||||
|
||||
semver@^7.1.3, semver@^7.3.2, semver@^7.3.5, semver@^7.3.8:
|
||||
version "7.3.8"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798"
|
||||
integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
|
||||
semver@^7.1.3, semver@^7.3.2, semver@^7.3.5, semver@^7.3.6, semver@^7.3.8, semver@^7.5.4:
|
||||
version "7.5.4"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
|
||||
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
@ -19061,17 +19124,18 @@ vue-count-to@~1.0.13:
|
||||
resolved "https://registry.yarnpkg.com/vue-count-to/-/vue-count-to-1.0.13.tgz#3e7573ea6e64c2b2972f64e0a2ab2e23c7590ff3"
|
||||
integrity sha512-6R4OVBVNtQTlcbXu6SJ8ENR35M2/CdWt3Jmv57jOUM+1ojiFmjVGvZPH8DfHpMDSA+ITs+EW5V6qthADxeyYOQ==
|
||||
|
||||
vue-eslint-parser@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.0.0.tgz#a4ed2669f87179dedd06afdd8736acbb3a3864d6"
|
||||
integrity sha512-yR0dLxsTT7JfD2YQo9BhnQ6bUTLsZouuzt9SKRP7XNaZJV459gvlsJo4vT2nhZ/2dH9j3c53bIx9dnqU2prM9g==
|
||||
vue-eslint-parser@^9.3.1:
|
||||
version "9.3.2"
|
||||
resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz#6f9638e55703f1c77875a19026347548d93fd499"
|
||||
integrity sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==
|
||||
dependencies:
|
||||
debug "^4.1.1"
|
||||
eslint-scope "^5.0.0"
|
||||
eslint-visitor-keys "^1.1.0"
|
||||
espree "^6.1.2"
|
||||
esquery "^1.0.1"
|
||||
lodash "^4.17.15"
|
||||
debug "^4.3.4"
|
||||
eslint-scope "^7.1.1"
|
||||
eslint-visitor-keys "^3.3.0"
|
||||
espree "^9.3.1"
|
||||
esquery "^1.4.0"
|
||||
lodash "^4.17.21"
|
||||
semver "^7.3.6"
|
||||
|
||||
vue-hot-reload-api@^2.3.0:
|
||||
version "2.3.3"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user