mirror of
https://github.com/TandoorRecipes/recipes.git
synced 2026-01-08 15:48:27 -05:00
Merge branch 'develop' into feature/unit-conversion
This commit is contained in:
5
.github/dependabot.yml
vendored
5
.github/dependabot.yml
vendored
@@ -14,3 +14,8 @@ updates:
|
|||||||
directory: "/vue/"
|
directory: "/vue/"
|
||||||
schedule:
|
schedule:
|
||||||
interval: "monthly"
|
interval: "monthly"
|
||||||
|
|
||||||
|
- package-ecosystem: "github-actions"
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: "monthly"
|
||||||
|
|||||||
136
.github/workflows/build-docker.yml
vendored
Normal file
136
.github/workflows/build-docker.yml
vendored
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
name: Build Docker Container
|
||||||
|
|
||||||
|
on: push
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-container:
|
||||||
|
name: Build ${{ matrix.name }} Container
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.repository_owner == 'TandoorRecipes'
|
||||||
|
continue-on-error: ${{ matrix.continue-on-error }}
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
# Standard build config
|
||||||
|
- name: Standard
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
|
suffix: ""
|
||||||
|
continue-on-error: false
|
||||||
|
# Raspi build config
|
||||||
|
- name: Raspi
|
||||||
|
dockerfile: Dockerfile-raspi
|
||||||
|
platforms: linux/arm/v7
|
||||||
|
suffix: "-raspi"
|
||||||
|
continue-on-error: true
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Get version number
|
||||||
|
id: get_version
|
||||||
|
run: |
|
||||||
|
if [[ "$GITHUB_REF" = refs/tags/* ]]; then
|
||||||
|
echo "VERSION=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_OUTPUT
|
||||||
|
elif [[ "$GITHUB_REF" = refs/heads/beta ]]; then
|
||||||
|
echo VERSION=beta >> $GITHUB_OUTPUT
|
||||||
|
else
|
||||||
|
echo VERSION=develop >> $GITHUB_OUTPUT
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update Version number
|
||||||
|
- name: Update version file
|
||||||
|
uses: DamianReeves/write-file-action@v1.2
|
||||||
|
with:
|
||||||
|
path: recipes/version.py
|
||||||
|
contents: |
|
||||||
|
VERSION_NUMBER = '${{ steps.get_version.outputs.VERSION }}'
|
||||||
|
BUILD_REF = '${{ github.sha }}'
|
||||||
|
write-mode: overwrite
|
||||||
|
|
||||||
|
# Build Vue frontend
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: '14'
|
||||||
|
cache: yarn
|
||||||
|
cache-dependency-path: vue/yarn.lock
|
||||||
|
- name: Install dependencies
|
||||||
|
working-directory: ./vue
|
||||||
|
run: yarn install --frozen-lockfile
|
||||||
|
- name: Build dependencies
|
||||||
|
working-directory: ./vue
|
||||||
|
run: yarn build
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v2
|
||||||
|
- name: Set up Buildx
|
||||||
|
uses: docker/setup-buildx-action@v2
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v2
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
- name: Login to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v2
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ github.token }}
|
||||||
|
- name: Docker meta
|
||||||
|
id: meta
|
||||||
|
uses: docker/metadata-action@v4
|
||||||
|
with:
|
||||||
|
images: |
|
||||||
|
vabene1111/recipes
|
||||||
|
ghcr.io/TandoorRecipes/recipes
|
||||||
|
flavor: |
|
||||||
|
latest=false
|
||||||
|
suffix=${{ matrix.suffix }}
|
||||||
|
tags: |
|
||||||
|
type=raw,value=latest,enable=${{ startsWith(github.ref, 'refs/tags/') }}
|
||||||
|
type=semver,pattern={{version}}
|
||||||
|
type=semver,pattern={{major}}.{{minor}}
|
||||||
|
type=semver,pattern={{major}}
|
||||||
|
type=ref,event=branch
|
||||||
|
- name: Build and Push
|
||||||
|
uses: docker/build-push-action@v4
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: ${{ matrix.dockerfile }}
|
||||||
|
pull: true
|
||||||
|
push: true
|
||||||
|
platforms: ${{ matrix.platforms }}
|
||||||
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
|
cache-from: type=gha
|
||||||
|
cache-to: type=gha,mode=max
|
||||||
|
|
||||||
|
notify-stable:
|
||||||
|
name: Notify Stable
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build-container
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
steps:
|
||||||
|
# Send stable discord notification
|
||||||
|
- name: Discord notification
|
||||||
|
env:
|
||||||
|
DISCORD_WEBHOOK: ${{ secrets.DISCORD_RELEASE_WEBHOOK }}
|
||||||
|
uses: Ilshidur/action-discord@0.3.2
|
||||||
|
with:
|
||||||
|
args: '🚀 Version {{ EVENT_PAYLOAD.release.tag_name }} of tandoor has been released 🥳 Check it out https://github.com/vabene1111/recipes/releases/tag/{{ EVENT_PAYLOAD.release.tag_name }}'
|
||||||
|
|
||||||
|
notify-beta:
|
||||||
|
name: Notify Beta
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build-container
|
||||||
|
if: github.ref == 'refs/heads/beta'
|
||||||
|
steps:
|
||||||
|
# Send beta discord notification
|
||||||
|
- name: Discord notification
|
||||||
|
env:
|
||||||
|
DISCORD_WEBHOOK: ${{ secrets.DISCORD_BETA_WEBHOOK }}
|
||||||
|
uses: Ilshidur/action-discord@0.3.2
|
||||||
|
with:
|
||||||
|
args: '🚀 The BETA Image has been updated! 🥳'
|
||||||
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
|||||||
python-version: ['3.10']
|
python-version: ['3.10']
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v3
|
||||||
- name: Set up Python 3.10
|
- name: Set up Python 3.10
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
|
|||||||
6
.github/workflows/codeql-analysis.yml
vendored
6
.github/workflows/codeql-analysis.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# We must fetch at least the immediate parents so that if this is
|
# We must fetch at least the immediate parents so that if this is
|
||||||
# a pull request then we can checkout the head.
|
# a pull request then we can checkout the head.
|
||||||
@@ -25,7 +25,7 @@ jobs:
|
|||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v1
|
uses: github/codeql-action/init@v2
|
||||||
# Override language selection by uncommenting this and choosing your languages
|
# Override language selection by uncommenting this and choosing your languages
|
||||||
with:
|
with:
|
||||||
languages: python, javascript
|
languages: python, javascript
|
||||||
@@ -47,6 +47,6 @@ jobs:
|
|||||||
# make release
|
# make release
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v1
|
uses: github/codeql-action/analyze@v2
|
||||||
with:
|
with:
|
||||||
languages: javascript, python
|
languages: javascript, python
|
||||||
|
|||||||
48
.github/workflows/docker-publish-beta-raspi.yml
vendored
48
.github/workflows/docker-publish-beta-raspi.yml
vendored
@@ -1,48 +0,0 @@
|
|||||||
name: publish beta raspi image docker
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- 'beta'
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
if: github.repository_owner == 'TandoorRecipes'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@master
|
|
||||||
# Update Version number
|
|
||||||
- name: Update version file
|
|
||||||
uses: DamianReeves/write-file-action@v1.0
|
|
||||||
with:
|
|
||||||
path: recipes/version.py
|
|
||||||
contents: |
|
|
||||||
VERSION_NUMBER = 'beta'
|
|
||||||
BUILD_REF = '${{ github.sha }}'
|
|
||||||
write-mode: overwrite
|
|
||||||
# Build Vue frontend
|
|
||||||
- uses: actions/setup-node@v2
|
|
||||||
with:
|
|
||||||
node-version: '14'
|
|
||||||
- name: Install dependencies
|
|
||||||
working-directory: ./vue
|
|
||||||
run: yarn install
|
|
||||||
- name: Build dependencies
|
|
||||||
working-directory: ./vue
|
|
||||||
run: yarn build
|
|
||||||
# Build container
|
|
||||||
- name: Build and publish image
|
|
||||||
uses: ilteoood/docker_buildx@master
|
|
||||||
with:
|
|
||||||
publish: true
|
|
||||||
imageName: vabene1111/recipes
|
|
||||||
tag: beta-raspi
|
|
||||||
dockerFile: Dockerfile-raspi
|
|
||||||
platform: linux/arm/v7
|
|
||||||
dockerUser: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
dockerPassword: ${{ secrets.DOCKER_PASSWORD }}
|
|
||||||
# Send discord notification
|
|
||||||
- name: Discord notification
|
|
||||||
env:
|
|
||||||
DISCORD_WEBHOOK: ${{ secrets.DISCORD_BETA_WEBHOOK }}
|
|
||||||
uses: Ilshidur/action-discord@0.3.2
|
|
||||||
with:
|
|
||||||
args: '🚀 The BETA Image has been updated! 🥳'
|
|
||||||
47
.github/workflows/docker-publish-beta.yml
vendored
47
.github/workflows/docker-publish-beta.yml
vendored
@@ -1,47 +0,0 @@
|
|||||||
name: publish beta image docker
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- 'beta'
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
if: github.repository_owner == 'TandoorRecipes'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@master
|
|
||||||
# Update Version number
|
|
||||||
- name: Update version file
|
|
||||||
uses: DamianReeves/write-file-action@v1.0
|
|
||||||
with:
|
|
||||||
path: recipes/version.py
|
|
||||||
contents: |
|
|
||||||
VERSION_NUMBER = 'beta'
|
|
||||||
BUILD_REF = '${{ github.sha }}'
|
|
||||||
write-mode: overwrite
|
|
||||||
# Build Vue frontend
|
|
||||||
- uses: actions/setup-node@v2
|
|
||||||
with:
|
|
||||||
node-version: '14'
|
|
||||||
- name: Install dependencies
|
|
||||||
working-directory: ./vue
|
|
||||||
run: yarn install
|
|
||||||
- name: Build dependencies
|
|
||||||
working-directory: ./vue
|
|
||||||
run: yarn build
|
|
||||||
# Build container
|
|
||||||
- name: Build and publish image
|
|
||||||
uses: ilteoood/docker_buildx@master
|
|
||||||
with:
|
|
||||||
publish: true
|
|
||||||
imageName: vabene1111/recipes
|
|
||||||
tag: beta
|
|
||||||
platform: linux/amd64,linux/arm64
|
|
||||||
dockerUser: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
dockerPassword: ${{ secrets.DOCKER_PASSWORD }}
|
|
||||||
# Send discord notification
|
|
||||||
- name: Discord notification
|
|
||||||
env:
|
|
||||||
DISCORD_WEBHOOK: ${{ secrets.DISCORD_BETA_WEBHOOK }}
|
|
||||||
uses: Ilshidur/action-discord@0.3.2
|
|
||||||
with:
|
|
||||||
args: '🚀 The BETA Image has been updated! 🥳'
|
|
||||||
42
.github/workflows/docker-publish-dev.yml
vendored
42
.github/workflows/docker-publish-dev.yml
vendored
@@ -1,42 +0,0 @@
|
|||||||
name: publish dev image docker
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- '*'
|
|
||||||
- '*/*'
|
|
||||||
- '!master'
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
if: github.repository_owner == 'TandoorRecipes'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@master
|
|
||||||
# Update Version number
|
|
||||||
- name: Update version file
|
|
||||||
uses: DamianReeves/write-file-action@v1.0
|
|
||||||
with:
|
|
||||||
path: recipes/version.py
|
|
||||||
contents: |
|
|
||||||
VERSION_NUMBER = 'develop'
|
|
||||||
BUILD_REF = '${{ github.sha }}'
|
|
||||||
write-mode: overwrite
|
|
||||||
# Build Vue frontend
|
|
||||||
- uses: actions/setup-node@v2
|
|
||||||
with:
|
|
||||||
node-version: '14'
|
|
||||||
- name: Clear Cache
|
|
||||||
working-directory: ./vue
|
|
||||||
run: yarn cache clean --all
|
|
||||||
- name: Install dependencies
|
|
||||||
working-directory: ./vue
|
|
||||||
run: yarn install
|
|
||||||
- name: Build dependencies
|
|
||||||
working-directory: ./vue
|
|
||||||
run: yarn build
|
|
||||||
# Build container
|
|
||||||
- name: Publish to Registry
|
|
||||||
uses: elgohr/Publish-Docker-Github-Action@2.13
|
|
||||||
with:
|
|
||||||
name: vabene1111/recipes
|
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
name: publish latest raspi image docker
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- '*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
if: github.repository_owner == 'TandoorRecipes'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@master
|
|
||||||
- name: Get version number
|
|
||||||
id: get_version
|
|
||||||
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}-raspi
|
|
||||||
# Update Version number
|
|
||||||
- name: Update version file
|
|
||||||
uses: DamianReeves/write-file-action@v1.0
|
|
||||||
with:
|
|
||||||
path: recipes/version.py
|
|
||||||
contents: |
|
|
||||||
VERSION_NUMBER = '${{ steps.get_version.outputs.VERSION }}-raspi'
|
|
||||||
BUILD_REF = '${{ github.sha }}'
|
|
||||||
write-mode: overwrite
|
|
||||||
# Build Vue frontend
|
|
||||||
- uses: actions/setup-node@v2
|
|
||||||
with:
|
|
||||||
node-version: '14'
|
|
||||||
- name: Install dependencies
|
|
||||||
working-directory: ./vue
|
|
||||||
run: yarn install
|
|
||||||
- name: Build dependencies
|
|
||||||
working-directory: ./vue
|
|
||||||
run: yarn build
|
|
||||||
# Build container
|
|
||||||
- name: Build and publish image
|
|
||||||
uses: ilteoood/docker_buildx@master
|
|
||||||
with:
|
|
||||||
publish: true
|
|
||||||
imageName: vabene1111/recipes
|
|
||||||
dockerFile: Dockerfile-raspi
|
|
||||||
platform: linux/arm/v7
|
|
||||||
tag: latest-raspi
|
|
||||||
dockerUser: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
dockerPassword: ${{ secrets.DOCKER_PASSWORD }}
|
|
||||||
44
.github/workflows/docker-publish-latest.yml
vendored
44
.github/workflows/docker-publish-latest.yml
vendored
@@ -1,44 +0,0 @@
|
|||||||
name: publish latest image docker
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- '*'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
if: github.repository_owner == 'TandoorRecipes'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@master
|
|
||||||
- name: Get version number
|
|
||||||
id: get_version
|
|
||||||
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
|
|
||||||
# Update Version number
|
|
||||||
- name: Update version file
|
|
||||||
uses: DamianReeves/write-file-action@v1.0
|
|
||||||
with:
|
|
||||||
path: recipes/version.py
|
|
||||||
contents: |
|
|
||||||
VERSION_NUMBER = '${{ steps.get_version.outputs.VERSION }}'
|
|
||||||
BUILD_REF = '${{ github.sha }}'
|
|
||||||
write-mode: overwrite
|
|
||||||
# Build Vue frontend
|
|
||||||
- uses: actions/setup-node@v2
|
|
||||||
with:
|
|
||||||
node-version: '14'
|
|
||||||
- name: Install dependencies
|
|
||||||
working-directory: ./vue
|
|
||||||
run: yarn install
|
|
||||||
- name: Build dependencies
|
|
||||||
working-directory: ./vue
|
|
||||||
run: yarn build
|
|
||||||
# Build container
|
|
||||||
- name: Build and publish image
|
|
||||||
uses: ilteoood/docker_buildx@master
|
|
||||||
with:
|
|
||||||
publish: true
|
|
||||||
imageName: vabene1111/recipes
|
|
||||||
platform: linux/amd64,linux/arm64
|
|
||||||
tag: latest
|
|
||||||
dockerUser: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
dockerPassword: ${{ secrets.DOCKER_PASSWORD }}
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
name: publish tagged raspi release docker
|
|
||||||
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types: [published]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
if: github.repository_owner == 'TandoorRecipes'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
name: Build image job
|
|
||||||
steps:
|
|
||||||
- name: Checkout master
|
|
||||||
uses: actions/checkout@master
|
|
||||||
- name: Get version number
|
|
||||||
id: get_version
|
|
||||||
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
|
|
||||||
# Update Version number
|
|
||||||
- name: Update version file
|
|
||||||
uses: DamianReeves/write-file-action@v1.0
|
|
||||||
with:
|
|
||||||
path: recipes/version.py
|
|
||||||
contents: |
|
|
||||||
VERSION_NUMBER = '${{ steps.get_version.outputs.VERSION }}'
|
|
||||||
BUILD_REF = '${{ github.sha }}'
|
|
||||||
write-mode: overwrite
|
|
||||||
# Build Vue frontend
|
|
||||||
- uses: actions/setup-node@v2
|
|
||||||
with:
|
|
||||||
node-version: '14'
|
|
||||||
- name: Install dependencies
|
|
||||||
working-directory: ./vue
|
|
||||||
run: yarn install
|
|
||||||
- name: Build dependencies
|
|
||||||
working-directory: ./vue
|
|
||||||
run: yarn build
|
|
||||||
# Build container
|
|
||||||
- name: Build and publish image
|
|
||||||
uses: ilteoood/docker_buildx@master
|
|
||||||
with:
|
|
||||||
publish: true
|
|
||||||
imageName: vabene1111/recipes
|
|
||||||
dockerFile: Dockerfile-raspi
|
|
||||||
platform: linux/arm/v7
|
|
||||||
tag: ${{ steps.get_version.outputs.VERSION }}-raspi
|
|
||||||
dockerUser: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
dockerPassword: ${{ secrets.DOCKER_PASSWORD }}
|
|
||||||
53
.github/workflows/docker-publish-release.yml
vendored
53
.github/workflows/docker-publish-release.yml
vendored
@@ -1,53 +0,0 @@
|
|||||||
name: publish tagged release docker
|
|
||||||
|
|
||||||
on:
|
|
||||||
release:
|
|
||||||
types: [published]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
if: github.repository_owner == 'TandoorRecipes'
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
name: Build image job
|
|
||||||
steps:
|
|
||||||
- name: Checkout master
|
|
||||||
uses: actions/checkout@master
|
|
||||||
- name: Get version number
|
|
||||||
id: get_version
|
|
||||||
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
|
|
||||||
# Update Version number
|
|
||||||
- name: Update version file
|
|
||||||
uses: DamianReeves/write-file-action@v1.0
|
|
||||||
with:
|
|
||||||
path: recipes/version.py
|
|
||||||
contents: |
|
|
||||||
VERSION_NUMBER = '${{ steps.get_version.outputs.VERSION }}'
|
|
||||||
BUILD_REF = '${{ github.sha }}'
|
|
||||||
write-mode: overwrite
|
|
||||||
# Build Vue frontend
|
|
||||||
- uses: actions/setup-node@v2
|
|
||||||
with:
|
|
||||||
node-version: '14'
|
|
||||||
- name: Install dependencies
|
|
||||||
working-directory: ./vue
|
|
||||||
run: yarn install
|
|
||||||
- name: Build dependencies
|
|
||||||
working-directory: ./vue
|
|
||||||
run: yarn build
|
|
||||||
# Build container
|
|
||||||
- name: Build and publish image
|
|
||||||
uses: ilteoood/docker_buildx@master
|
|
||||||
with:
|
|
||||||
publish: true
|
|
||||||
imageName: vabene1111/recipes
|
|
||||||
platform: linux/amd64,linux/arm64
|
|
||||||
tag: ${{ steps.get_version.outputs.VERSION }}
|
|
||||||
dockerUser: ${{ secrets.DOCKER_USERNAME }}
|
|
||||||
dockerPassword: ${{ secrets.DOCKER_PASSWORD }}
|
|
||||||
# Send discord notification
|
|
||||||
- name: Discord notification
|
|
||||||
env:
|
|
||||||
DISCORD_WEBHOOK: ${{ secrets.DISCORD_RELEASE_WEBHOOK }}
|
|
||||||
uses: Ilshidur/action-discord@0.3.2
|
|
||||||
with:
|
|
||||||
args: '🚀 Version {{ EVENT_PAYLOAD.release.tag_name }} of tandoor has been released 🥳 Check it out https://github.com/vabene1111/recipes/releases/tag/{{ EVENT_PAYLOAD.release.tag_name }}'
|
|
||||||
4
.github/workflows/docs.yml
vendored
4
.github/workflows/docs.yml
vendored
@@ -9,8 +9,8 @@ jobs:
|
|||||||
if: github.repository_owner == 'TandoorRecipes'
|
if: github.repository_owner == 'TandoorRecipes'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- uses: actions/setup-python@v2
|
- uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: 3.x
|
python-version: 3.x
|
||||||
- run: pip install mkdocs-material mkdocs-include-markdown-plugin
|
- run: pip install mkdocs-material mkdocs-include-markdown-plugin
|
||||||
|
|||||||
@@ -247,10 +247,27 @@ def parse_description(description):
|
|||||||
|
|
||||||
|
|
||||||
def clean_instruction_string(instruction):
|
def clean_instruction_string(instruction):
|
||||||
normalized_string = normalize_string(instruction)
|
# handle HTML tags that can be converted to markup
|
||||||
|
normalized_string = instruction \
|
||||||
|
.replace("<nobr>", "**") \
|
||||||
|
.replace("</nobr>", "**") \
|
||||||
|
.replace("<strong>", "**") \
|
||||||
|
.replace("</strong>", "**")
|
||||||
|
normalized_string = normalize_string(normalized_string)
|
||||||
normalized_string = normalized_string.replace('\n', ' \n')
|
normalized_string = normalized_string.replace('\n', ' \n')
|
||||||
normalized_string = normalized_string.replace(' \n \n', '\n\n')
|
normalized_string = normalized_string.replace(' \n \n', '\n\n')
|
||||||
return normalized_string
|
|
||||||
|
# handle unsupported, special UTF8 character in Thermomix-specific instructions,
|
||||||
|
# that happen in nearly every recipe on Cookidoo, Zaubertopf Club, Rezeptwelt
|
||||||
|
# and in Thermomix-specific recipes on many other sites
|
||||||
|
return normalized_string \
|
||||||
|
.replace("", _('reverse rotation')) \
|
||||||
|
.replace("", _('careful rotation')) \
|
||||||
|
.replace("", _('knead')) \
|
||||||
|
.replace("Andicken ", _('thicken')) \
|
||||||
|
.replace("Erwärmen ", _('warm up')) \
|
||||||
|
.replace("Fermentieren ", _('ferment')) \
|
||||||
|
.replace("Sous-vide ", _("sous-vide"))
|
||||||
|
|
||||||
|
|
||||||
def parse_instructions(instructions):
|
def parse_instructions(instructions):
|
||||||
|
|||||||
@@ -528,6 +528,35 @@ msgstr "Du hast mehr Benutzer in Deinem Space als erlaubt."
|
|||||||
msgid "One of queryset or hash_key must be provided"
|
msgid "One of queryset or hash_key must be provided"
|
||||||
msgstr "Es muss die Abfrage oder der Hash_Key angeben werden"
|
msgstr "Es muss die Abfrage oder der Hash_Key angeben werden"
|
||||||
|
|
||||||
|
#: .\cookbook\helper\recipe_url_import.py:265
|
||||||
|
msgid "reverse rotation"
|
||||||
|
msgstr "Linkslauf"
|
||||||
|
|
||||||
|
#: .\cookbook\helper\recipe_url_import.py:266
|
||||||
|
msgid "careful rotation"
|
||||||
|
msgstr "Kochlöffel"
|
||||||
|
|
||||||
|
#: .\cookbook\helper\recipe_url_import.py:267
|
||||||
|
msgid "knead"
|
||||||
|
msgstr "Kneten"
|
||||||
|
|
||||||
|
#: .\cookbook\helper\recipe_url_import.py:268
|
||||||
|
msgid "thicken"
|
||||||
|
msgstr "Andicken"
|
||||||
|
|
||||||
|
#: .\cookbook\helper\recipe_url_import.py:269
|
||||||
|
msgid "warm up"
|
||||||
|
msgstr "Erwärmen"
|
||||||
|
|
||||||
|
#: .\cookbook\helper\recipe_url_import.py:270
|
||||||
|
msgid "ferment"
|
||||||
|
msgstr "Fermentieren"
|
||||||
|
|
||||||
|
#: .\cookbook\helper\recipe_url_import.py:271
|
||||||
|
msgid "sous-vide"
|
||||||
|
msgstr "Sous-vide"
|
||||||
|
|
||||||
|
|
||||||
#: .\cookbook\helper\shopping_helper.py:152
|
#: .\cookbook\helper\shopping_helper.py:152
|
||||||
msgid "You must supply a servings size"
|
msgid "You must supply a servings size"
|
||||||
msgstr "Sie müssen eine Portionsgröße angeben"
|
msgstr "Sie müssen eine Portionsgröße angeben"
|
||||||
|
|||||||
16
docs/faq.md
16
docs/faq.md
@@ -1,5 +1,5 @@
|
|||||||
There are several questions and issues that come up from time to time. Here are some answers.
|
There are several questions and issues that come up from time to time, here are some answers:
|
||||||
Please note that the existence of some questions is due the application not being perfect in some parts.
|
please note that the existence of some questions is due the application not being perfect in some parts.
|
||||||
Many of those shortcomings are planned to be fixed in future release but simply could not be addressed yet due to time limits.
|
Many of those shortcomings are planned to be fixed in future release but simply could not be addressed yet due to time limits.
|
||||||
|
|
||||||
## Is there a Tandoor app?
|
## Is there a Tandoor app?
|
||||||
@@ -22,14 +22,14 @@ Open Tandoor, open the menu behind the three vertical dots at the top right, sel
|
|||||||
Open Tandoor, open the menu behind the three horizontal dots at the top right, select `Apps > Install Tandoor Recipes`
|
Open Tandoor, open the menu behind the three horizontal dots at the top right, select `Apps > Install Tandoor Recipes`
|
||||||
|
|
||||||
## Why is Tandoor not working correctly?
|
## Why is Tandoor not working correctly?
|
||||||
If you just set up your Tandoor instance and you're having issues like...
|
If you just set up your Tandoor instance and you're having issues like;
|
||||||
|
|
||||||
- Links not working
|
- Links not working
|
||||||
- CSRF errors
|
- CSRF errors
|
||||||
- CORS errors
|
- CORS errors
|
||||||
- No recipes are loading
|
- No recipes are loading
|
||||||
|
|
||||||
... then make sure, that you have set [all required headers](install/docker.md#required-headers) in your reverse proxy correctly.
|
then make sure you have set [all required headers](install/docker.md#required-headers) in your reverse proxy correctly.
|
||||||
If that doesn't fix it, you can also refer to the appropriate sub section in the [reverse proxy documentation](install/docker.md#reverse-proxy) and verify your general webserver configuration.
|
If that doesn't fix it, you can also refer to the appropriate sub section in the [reverse proxy documentation](install/docker.md#reverse-proxy) and verify your general webserver configuration.
|
||||||
|
|
||||||
## Why am I getting CSRF Errors?
|
## Why am I getting CSRF Errors?
|
||||||
@@ -62,7 +62,7 @@ The markdown renderer follows this markdown specification https://daringfireball
|
|||||||
Please refer to [here](install/docker.md#setup-issues-on-raspberry-pi).
|
Please refer to [here](install/docker.md#setup-issues-on-raspberry-pi).
|
||||||
|
|
||||||
## How can I create users?
|
## How can I create users?
|
||||||
To create a new user click on your name (top right corner) and select 'space settings'. There under invites click create.
|
To create a new user click on your name (top right corner) and select 'space settings'. Click create listed below invites.
|
||||||
|
|
||||||
It is not possible to create users through the admin because users must be assigned a default group and space.
|
It is not possible to create users through the admin because users must be assigned a default group and space.
|
||||||
|
|
||||||
@@ -72,8 +72,8 @@ If you use an external auth provider or proxy authentication make sure to specif
|
|||||||
environment configuration.
|
environment configuration.
|
||||||
|
|
||||||
## What are spaces?
|
## What are spaces?
|
||||||
Spaces are a feature used to separate one installation of Tandoor into several parts.
|
Spaces are is a type of feature used to separate one installation of Tandoor into several parts.
|
||||||
In technical terms it is a multi tenant system.
|
In technical terms it is a multi-tenant system.
|
||||||
|
|
||||||
You can compare a space to something like google drive or dropbox.
|
You can compare a space to something like google drive or dropbox.
|
||||||
There is only one installation of the Dropbox system, but it handles multiple users without them noticing each other.
|
There is only one installation of the Dropbox system, but it handles multiple users without them noticing each other.
|
||||||
@@ -83,7 +83,7 @@ If you want to host the collection of your friends, family, or neighbor you can
|
|||||||
Sharing between spaces is currently not possible but is planned for future releases.
|
Sharing between spaces is currently not possible but is planned for future releases.
|
||||||
|
|
||||||
## How can I reset passwords?
|
## How can I reset passwords?
|
||||||
To reset a lost password if access to the container is lost you need to
|
To reset a lost password if access to the container is lost you need to:
|
||||||
|
|
||||||
1. execute into the container using `docker-compose exec web_recipes sh`
|
1. execute into the container using `docker-compose exec web_recipes sh`
|
||||||
2. activate the virtual environment `source venv/bin/activate`
|
2. activate the virtual environment `source venv/bin/activate`
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ spec:
|
|||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: recipes
|
name: recipes
|
||||||
key: postgresql-postgres-password
|
key: postgresql-postgres-password
|
||||||
image: vabene1111/recipes:1.0.1
|
image: vabene1111/recipes
|
||||||
imagePullPolicy: Always
|
imagePullPolicy: Always
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
@@ -110,7 +110,7 @@ spec:
|
|||||||
subPath: nginx-config
|
subPath: nginx-config
|
||||||
readOnly: true
|
readOnly: true
|
||||||
- name: recipes
|
- name: recipes
|
||||||
image: vabene1111/recipes:1.0.1
|
image: vabene1111/recipes
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
command:
|
command:
|
||||||
- /opt/recipes/venv/bin/gunicorn
|
- /opt/recipes/venv/bin/gunicorn
|
||||||
@@ -159,6 +159,8 @@ spec:
|
|||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: recipes
|
name: recipes
|
||||||
key: secret-key
|
key: secret-key
|
||||||
|
- name: GUNICORN_MEDIA
|
||||||
|
value: "0"
|
||||||
- name: DB_ENGINE
|
- name: DB_ENGINE
|
||||||
value: django.db.backends.postgresql_psycopg2
|
value: django.db.backends.postgresql_psycopg2
|
||||||
- name: POSTGRES_HOST
|
- name: POSTGRES_HOST
|
||||||
|
|||||||
@@ -61,6 +61,14 @@ The deployment first fires up a init container to do the database migrations and
|
|||||||
|
|
||||||
The deployment then runs two containers, the recipes-nginx and the recipes container which runs the gunicorn app. The nginx container gets it's nginx.conf via config map to deliver static content `/static` and `/media`. The guincorn container gets it's secret key and the database password from the secret `recipes`. `gunicorn` runs as user `nobody`.
|
The deployment then runs two containers, the recipes-nginx and the recipes container which runs the gunicorn app. The nginx container gets it's nginx.conf via config map to deliver static content `/static` and `/media`. The guincorn container gets it's secret key and the database password from the secret `recipes`. `gunicorn` runs as user `nobody`.
|
||||||
|
|
||||||
|
Currently, this deployment is using the `latest` image. You may want to explicitly set the tag, e.g.
|
||||||
|
|
||||||
|
~~~
|
||||||
|
image: vabene1111/recipes:1.4.7
|
||||||
|
~~~
|
||||||
|
|
||||||
|
It is **extremely important** to use the same image in both the initialization `init-chmod-data` and the main `recipes` containers.
|
||||||
|
|
||||||
### 60-service.yaml
|
### 60-service.yaml
|
||||||
|
|
||||||
Creating the app service.
|
Creating the app service.
|
||||||
@@ -91,7 +99,9 @@ I don't know how this check works, but this warning is simply wrong! ;-) Media a
|
|||||||
|
|
||||||
## Updates
|
## Updates
|
||||||
|
|
||||||
These manifests are tested against Release 1.0.1. Newer versions may not work without changes.
|
These manifests have been tested for several releases. Newer versions may not work without changes.
|
||||||
|
|
||||||
|
If everything works as expected, the `init-chmod-data` initialization container performs the database migration and the update procedure is transparent. However, it is recommended to use specific tags to increase stability and avoid unnecessary migrations.
|
||||||
|
|
||||||
## Apply the manifets
|
## Apply the manifets
|
||||||
|
|
||||||
|
|||||||
50
docs/install/wsl.md
Normal file
50
docs/install/wsl.md
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
# Ubuntu Installation on Windows (WSL) and Docker Desktop
|
||||||
|
|
||||||
|
Install Docker from https://docs.docker.com/desktop/install/windows-install/
|
||||||
|
Be sure to select the Use WSL 2 instead of Hyper-V option on the configuration page when prompted
|
||||||
|
|
||||||
|
Follow the instructions to install Tandoor on Docker. Tandoor installation instructions using Docker is gotten from https://docs.tandoor.dev/install/docker/
|
||||||
|
|
||||||
|
You may get the error below if you are using Docker Desktop:
|
||||||
|
/usr/bin/docker-credential-desktop.exe: Invalid argument
|
||||||
|
|
||||||
|
This indicates that Docker Compose is not able to pull authentication credentials that are needed to pull recipe files.
|
||||||
|
|
||||||
|
Run the command:
|
||||||
|
export DOCKER_CONFIG=/non-existent-directory
|
||||||
|
|
||||||
|
"non-existent-directory" could be an arbitrary directory of your choosing. It could be empty,
|
||||||
|
we are just giving docker a file to point to. You can create a credentials file at a later date to add security to your application.
|
||||||
|
|
||||||
|
After you run the command docker-compose up -d, you may encounter an error similar to the one below:
|
||||||
|
fixing permissions on existing directory /var/lib/postgresql/data ... 2023-03-01T15:38:27.140501700Z chmod: /var/lib/postgresql/data: Operation not permitted
|
||||||
|
|
||||||
|
This indicates that the postgresql user 'postgres' does not have the necessary permissions to
|
||||||
|
change the permissions of the /var/lib/postgresql/data directory.
|
||||||
|
Note: This issue does not occuer in the Powershell terminal, so it might be easier to install Tandoor in powershell and continue development using WSL.
|
||||||
|
Steps to fix this error:
|
||||||
|
Since the permissions have to be changed within the docker container, we will need to create a file that runs as soon as the container starts up. This container will change the permissions of the /var/lib/postgresql/data directory before the db_recipes-1 container is started up. This container sets up the database to accept connections.
|
||||||
|
Docker allows us to set up an entrypoint in the docker-compose.yml file. This is where we will set the commands to change the permissions of the postgres user.
|
||||||
|
Steps to set up entry-point file:
|
||||||
|
1. Create a new file ‘docker-entrypoint.sh’ in the same directory as your docker-compose.yml file. This will be a bash file.
|
||||||
|
2. Add the following commands to the file
|
||||||
|
a. #!/bin/sh (This is called a shebang. It tells the OS the shell to use which is the sh shell in this case)
|
||||||
|
b. chmod 777 /var/lib/postgresql/data (Gives read, write and execute permissions on the directory to all users, you may change these permissions as you wish)
|
||||||
|
c. exec “@” (Runs the script with the commands above)
|
||||||
|
|
||||||
|
Your folder structure should look like this with docker-compose.yml and docker-entrypoint.sh in the same directory:
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
The docker-entrypoint.sh file should look like this:
|
||||||
|

|
||||||
|
|
||||||
|
3. Open the docker-compose.yml file
|
||||||
|
4. Add an entrypoint configuration to the db_recipes service
|
||||||
|
entrypoint:
|
||||||
|
- docker-entrypoint.sh
|
||||||
|
This command makes sure that the docker-entrypoint.sh file is run first before the db_recipes services is started. Using this, we set the database user permission before they are needed, so it gets rid of the error.
|
||||||
|
Your docker-compose.yml file should look like this:
|
||||||
|

|
||||||
|
|
||||||
|
5. Run docker-compose up -d, all the containers should run!
|
||||||
@@ -33,6 +33,7 @@ nav:
|
|||||||
- Synology: install/synology.md
|
- Synology: install/synology.md
|
||||||
- Kubernetes: install/kubernetes.md
|
- Kubernetes: install/kubernetes.md
|
||||||
- KubeSail or PiBox: install/kubesail.md
|
- KubeSail or PiBox: install/kubesail.md
|
||||||
|
- WSL: install/wsl.md
|
||||||
- Manual: install/manual.md
|
- Manual: install/manual.md
|
||||||
- Other setups: install/other.md
|
- Other setups: install/other.md
|
||||||
- Features:
|
- Features:
|
||||||
|
|||||||
@@ -388,6 +388,7 @@ LANGUAGES = [
|
|||||||
('en', _('English')),
|
('en', _('English')),
|
||||||
('fr', _('French')),
|
('fr', _('French')),
|
||||||
('de', _('German')),
|
('de', _('German')),
|
||||||
|
('hu', _('Hungarian')),
|
||||||
('it', _('Italian')),
|
('it', _('Italian')),
|
||||||
('lv', _('Latvian')),
|
('lv', _('Latvian')),
|
||||||
('pl', _('Polish')),
|
('pl', _('Polish')),
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ Django==4.1.7
|
|||||||
cryptography==39.0.1
|
cryptography==39.0.1
|
||||||
django-annoying==0.10.6
|
django-annoying==0.10.6
|
||||||
django-autocomplete-light==3.9.4
|
django-autocomplete-light==3.9.4
|
||||||
django-cleanup==6.0.0
|
django-cleanup==7.0.0
|
||||||
django-crispy-forms==1.14.0
|
django-crispy-forms==1.14.0
|
||||||
django-tables2==2.4.1
|
django-tables2==2.5.3
|
||||||
djangorestframework==3.14.0
|
djangorestframework==3.14.0
|
||||||
drf-writable-nested==0.7.0
|
drf-writable-nested==0.7.0
|
||||||
django-oauth-toolkit==2.2.0
|
django-oauth-toolkit==2.2.0
|
||||||
@@ -17,7 +17,7 @@ Markdown==3.4.1
|
|||||||
Pillow==9.4.0
|
Pillow==9.4.0
|
||||||
psycopg2-binary==2.9.5
|
psycopg2-binary==2.9.5
|
||||||
python-dotenv==0.21.0
|
python-dotenv==0.21.0
|
||||||
requests==2.28.1
|
requests==2.28.2
|
||||||
six==1.16.0
|
six==1.16.0
|
||||||
webdavclient3==3.14.6
|
webdavclient3==3.14.6
|
||||||
whitenoise==6.2.0
|
whitenoise==6.2.0
|
||||||
@@ -27,12 +27,12 @@ uritemplate==4.1.1
|
|||||||
beautifulsoup4==4.11.1
|
beautifulsoup4==4.11.1
|
||||||
microdata==0.8.0
|
microdata==0.8.0
|
||||||
Jinja2==3.1.2
|
Jinja2==3.1.2
|
||||||
django-webpack-loader==1.8.0
|
django-webpack-loader==1.8.1
|
||||||
git+https://github.com/BITSOLVER/django-js-reverse@071e304fd600107bc64bbde6f2491f1fe049ec82
|
git+https://github.com/BITSOLVER/django-js-reverse@071e304fd600107bc64bbde6f2491f1fe049ec82
|
||||||
django-allauth==0.52.0
|
django-allauth==0.52.0
|
||||||
recipe-scrapers==14.30.0
|
recipe-scrapers==14.30.0
|
||||||
django-scopes==1.2.0.post1
|
django-scopes==1.2.0.post1
|
||||||
pytest==7.2.0
|
pytest==7.2.2
|
||||||
pytest-django==4.5.2
|
pytest-django==4.5.2
|
||||||
django-treebeard==4.5.1
|
django-treebeard==4.5.1
|
||||||
django-cors-headers==3.13.0
|
django-cors-headers==3.13.0
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
"lint": "vue-cli-service lint"
|
"lint": "vue-cli-service lint"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/eslint-parser": "^7.19.1",
|
"@babel/eslint-parser": "^7.21.3",
|
||||||
"@emoji-mart/data": "^1.1.1",
|
"@emoji-mart/data": "^1.1.1",
|
||||||
"@popperjs/core": "^2.11.6",
|
"@popperjs/core": "^2.11.6",
|
||||||
"@riophae/vue-treeselect": "^0.4.0",
|
"@riophae/vue-treeselect": "^0.4.0",
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
"babel-core": "^6.26.3",
|
"babel-core": "^6.26.3",
|
||||||
"babel-loader": "^9.1.0",
|
"babel-loader": "^9.1.0",
|
||||||
"bootstrap-vue": "^2.23.1",
|
"bootstrap-vue": "^2.23.1",
|
||||||
"core-js": "^3.27.1",
|
"core-js": "^3.29.1",
|
||||||
"emoji-mart": "^5.4.0",
|
"emoji-mart": "^5.4.0",
|
||||||
"emoji-mart-vue-fast": "^12.0.1",
|
"emoji-mart-vue-fast": "^12.0.1",
|
||||||
"html2pdf.js": "^0.10.1",
|
"html2pdf.js": "^0.10.1",
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
"vue-property-decorator": "^9.1.2",
|
"vue-property-decorator": "^9.1.2",
|
||||||
"vue-sanitize": "^0.2.2",
|
"vue-sanitize": "^0.2.2",
|
||||||
"vue-simple-calendar": "TandoorRecipes/vue-simple-calendar#lastvue2",
|
"vue-simple-calendar": "TandoorRecipes/vue-simple-calendar#lastvue2",
|
||||||
"vue-template-compiler": "2.6.14",
|
"vue-template-compiler": "2.7.14",
|
||||||
"vue2-touch-events": "^3.2.2",
|
"vue2-touch-events": "^3.2.2",
|
||||||
"vuedraggable": "^2.24.3",
|
"vuedraggable": "^2.24.3",
|
||||||
"workbox-webpack-plugin": "^6.5.4",
|
"workbox-webpack-plugin": "^6.5.4",
|
||||||
@@ -49,8 +49,8 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@kazupon/vue-i18n-loader": "^0.5.0",
|
"@kazupon/vue-i18n-loader": "^0.5.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^4.33.0",
|
"@typescript-eslint/eslint-plugin": "^5.56.0",
|
||||||
"@typescript-eslint/parser": "^5.47.1",
|
"@typescript-eslint/parser": "^5.56.0",
|
||||||
"@vue/cli-plugin-babel": "^5.0.8",
|
"@vue/cli-plugin-babel": "^5.0.8",
|
||||||
"@vue/cli-plugin-eslint": "~5.0.8",
|
"@vue/cli-plugin-eslint": "~5.0.8",
|
||||||
"@vue/cli-plugin-pwa": "^5.0.8",
|
"@vue/cli-plugin-pwa": "^5.0.8",
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
"eslint-plugin-vue": "^8.7.1",
|
"eslint-plugin-vue": "^8.7.1",
|
||||||
"typescript": "~4.9.3",
|
"typescript": "~4.9.3",
|
||||||
"vue-cli-plugin-i18n": "^2.3.1",
|
"vue-cli-plugin-i18n": "^2.3.1",
|
||||||
"webpack-bundle-tracker": "1.8.0",
|
"webpack-bundle-tracker": "1.8.1",
|
||||||
"workbox-background-sync": "^6.5.4",
|
"workbox-background-sync": "^6.5.4",
|
||||||
"workbox-expiration": "^6.5.4",
|
"workbox-expiration": "^6.5.4",
|
||||||
"workbox-navigation-preload": "^6.5.4",
|
"workbox-navigation-preload": "^6.5.4",
|
||||||
|
|||||||
@@ -13,240 +13,240 @@
|
|||||||
"success_moving_resource": "Recurso movido com sucesso!",
|
"success_moving_resource": "Recurso movido com sucesso!",
|
||||||
"success_merging_resource": "Recurso mesclado com sucesso!",
|
"success_merging_resource": "Recurso mesclado com sucesso!",
|
||||||
"file_upload_disabled": "Upload de arquivos não está habilitado para seu espaço.",
|
"file_upload_disabled": "Upload de arquivos não está habilitado para seu espaço.",
|
||||||
"step_time_minutes": "",
|
"step_time_minutes": "tempo da etapa em minutos",
|
||||||
"confirm_delete": "",
|
"confirm_delete": "Tem a certeza que pretende eliminar este {object}?",
|
||||||
"import_running": "",
|
"import_running": "Importação a decorrer, por favor aguarde!",
|
||||||
"all_fields_optional": "",
|
"all_fields_optional": "Todo os campos são opcionais e podem ficar vazios.",
|
||||||
"convert_internal": "",
|
"convert_internal": "Converter em receita interna",
|
||||||
"show_only_internal": "",
|
"show_only_internal": "Mostrar apenas receitas internas",
|
||||||
"show_split_screen": "",
|
"show_split_screen": "Vista dividida",
|
||||||
"Log_Recipe_Cooking": "",
|
"Log_Recipe_Cooking": "Registrar Receitas de Culinária",
|
||||||
"External_Recipe_Image": "",
|
"External_Recipe_Image": "Imagem da receita externa",
|
||||||
"Add_to_Shopping": "",
|
"Add_to_Shopping": "Adicionar á lista de compras",
|
||||||
"Add_to_Plan": "",
|
"Add_to_Plan": "Adicionar ao plano",
|
||||||
"Step_start_time": "",
|
"Step_start_time": "Hora de Inicio do passo",
|
||||||
"Sort_by_new": "",
|
"Sort_by_new": "Ordenar por mais recente",
|
||||||
"Table_of_Contents": "",
|
"Table_of_Contents": "Tabela de Conteúdos",
|
||||||
"Recipes_per_page": "",
|
"Recipes_per_page": "Receitas por página",
|
||||||
"Show_as_header": "",
|
"Show_as_header": "Mostrar como cabeçalho",
|
||||||
"Hide_as_header": "",
|
"Hide_as_header": "Esconder como cabeçalho",
|
||||||
"Add_nutrition_recipe": "",
|
"Add_nutrition_recipe": "Adicionar valor nutricional á receita",
|
||||||
"Remove_nutrition_recipe": "",
|
"Remove_nutrition_recipe": "Remover valor nutricional da receita",
|
||||||
"Copy_template_reference": "",
|
"Copy_template_reference": "Copiar modelo de referencia",
|
||||||
"Save_and_View": "",
|
"Save_and_View": "Gravar & Ver",
|
||||||
"Manage_Books": "",
|
"Manage_Books": "Gerenciar Livros",
|
||||||
"Meal_Plan": "",
|
"Meal_Plan": "Plano de Refeição",
|
||||||
"Select_Book": "",
|
"Select_Book": "Selecionar Livro",
|
||||||
"Select_File": "",
|
"Select_File": "Selecionar Ficheiro",
|
||||||
"Recipe_Image": "",
|
"Recipe_Image": "Imagem da Receita",
|
||||||
"Import_finished": "",
|
"Import_finished": "Importação terminada",
|
||||||
"View_Recipes": "",
|
"View_Recipes": "Ver Receitas",
|
||||||
"Log_Cooking": "",
|
"Log_Cooking": "Registrar Culinária",
|
||||||
"New_Recipe": "",
|
"New_Recipe": "Nova Receita",
|
||||||
"Url_Import": "",
|
"Url_Import": "Importação de URL",
|
||||||
"Reset_Search": "",
|
"Reset_Search": "Repor Pesquisa",
|
||||||
"Recently_Viewed": "",
|
"Recently_Viewed": "Vistos Recentemente",
|
||||||
"Load_More": "",
|
"Load_More": "Carregar Mais",
|
||||||
"New_Keyword": "",
|
"New_Keyword": "Nova Palavra Chave",
|
||||||
"Delete_Keyword": "",
|
"Delete_Keyword": "Eliminar Palavra Chave",
|
||||||
"Edit_Keyword": "",
|
"Edit_Keyword": "Editar Palavra Chave",
|
||||||
"Edit_Recipe": "",
|
"Edit_Recipe": "Editar receita",
|
||||||
"Move_Keyword": "",
|
"Move_Keyword": "Mover palavra-chave",
|
||||||
"Merge_Keyword": "",
|
"Merge_Keyword": "Unir palavra-chave",
|
||||||
"Hide_Keywords": "",
|
"Hide_Keywords": "Esconder palavra-chave",
|
||||||
"Hide_Recipes": "",
|
"Hide_Recipes": "Esconder Receitas",
|
||||||
"Move_Up": "",
|
"Move_Up": "Mover para cima",
|
||||||
"Move_Down": "",
|
"Move_Down": "Mover para baixo",
|
||||||
"Step_Name": "",
|
"Step_Name": "Nome do Passo",
|
||||||
"Step_Type": "",
|
"Step_Type": "Tipo do passo",
|
||||||
"Make_Header": "",
|
"Make_Header": "Tornar cabeçalho",
|
||||||
"Make_Ingredient": "",
|
"Make_Ingredient": "Fazer ingrediente",
|
||||||
"Enable_Amount": "",
|
"Enable_Amount": "Ativar quantidade",
|
||||||
"Disable_Amount": "",
|
"Disable_Amount": "Desativar quantidade",
|
||||||
"Add_Step": "",
|
"Add_Step": "Adicionar passo",
|
||||||
"Keywords": "",
|
"Keywords": "Palavras-chave",
|
||||||
"Books": "",
|
"Books": "Livros",
|
||||||
"Proteins": "",
|
"Proteins": "Proteínas",
|
||||||
"Fats": "",
|
"Fats": "Gorduras",
|
||||||
"Carbohydrates": "",
|
"Carbohydrates": "Carboidratos",
|
||||||
"Calories": "",
|
"Calories": "Calorias",
|
||||||
"Energy": "",
|
"Energy": "Energia",
|
||||||
"Nutrition": "",
|
"Nutrition": "Nutrição",
|
||||||
"Date": "",
|
"Date": "Data",
|
||||||
"Share": "",
|
"Share": "Partilhar",
|
||||||
"Automation": "",
|
"Automation": "Automação",
|
||||||
"Parameter": "",
|
"Parameter": "Parâmetro",
|
||||||
"Export": "",
|
"Export": "Exportar",
|
||||||
"Copy": "",
|
"Copy": "Copiar",
|
||||||
"Rating": "",
|
"Rating": "Avaliação",
|
||||||
"Close": "",
|
"Close": "Fechar",
|
||||||
"Cancel": "",
|
"Cancel": "Cancelar",
|
||||||
"Link": "",
|
"Link": "Ligação",
|
||||||
"Add": "",
|
"Add": "Adicionar",
|
||||||
"New": "",
|
"New": "Novo",
|
||||||
"Note": "",
|
"Note": "Nota",
|
||||||
"Success": "",
|
"Success": "Sucesso",
|
||||||
"Failure": "",
|
"Failure": "Falha",
|
||||||
"Ingredients": "",
|
"Ingredients": "Ingredientes",
|
||||||
"Supermarket": "",
|
"Supermarket": "Supermercado",
|
||||||
"Categories": "",
|
"Categories": "Categorias",
|
||||||
"Category": "",
|
"Category": "Categoria",
|
||||||
"Selected": "",
|
"Selected": "Selecionado",
|
||||||
"min": "",
|
"min": "minimo",
|
||||||
"Servings": "",
|
"Servings": "Doses",
|
||||||
"Waiting": "",
|
"Waiting": "Em espera",
|
||||||
"Preparation": "",
|
"Preparation": "Preparação",
|
||||||
"External": "",
|
"External": "Externo",
|
||||||
"Size": "",
|
"Size": "Tamanho",
|
||||||
"Files": "",
|
"Files": "Ficheiros",
|
||||||
"File": "",
|
"File": "Ficheiro",
|
||||||
"Edit": "",
|
"Edit": "Editar",
|
||||||
"Image": "",
|
"Image": "Image",
|
||||||
"Delete": "",
|
"Delete": "Apagar",
|
||||||
"Open": "",
|
"Open": "Abrir",
|
||||||
"Ok": "",
|
"Ok": "Ok",
|
||||||
"Save": "",
|
"Save": "Guardar",
|
||||||
"Step": "",
|
"Step": "Passo",
|
||||||
"Search": "",
|
"Search": "Pesquisar",
|
||||||
"Import": "",
|
"Import": "Importar",
|
||||||
"Print": "",
|
"Print": "Imprimir",
|
||||||
"Settings": "",
|
"Settings": "Definições",
|
||||||
"or": "",
|
"or": "ou",
|
||||||
"and": "",
|
"and": "e",
|
||||||
"Information": "",
|
"Information": "Informação",
|
||||||
"Download": "",
|
"Download": "Transferência",
|
||||||
"Create": "",
|
"Create": "Criar",
|
||||||
"Search Settings": "",
|
"Search Settings": "Definições de Pesquisa",
|
||||||
"View": "",
|
"View": "Vista",
|
||||||
"Recipes": "",
|
"Recipes": "Receitas",
|
||||||
"Move": "",
|
"Move": "Mover",
|
||||||
"Merge": "",
|
"Merge": "Juntar",
|
||||||
"Parent": "",
|
"Parent": "Parente",
|
||||||
"delete_confirmation": "",
|
"delete_confirmation": "Tem a certeza que pretende eliminar {source}?",
|
||||||
"move_confirmation": "",
|
"move_confirmation": "Mover <i> {child}</i>para parente <i>{parent}</i>",
|
||||||
"merge_confirmation": "",
|
"merge_confirmation": "Substituir <i>{source}</i> por <i>{target}</i>",
|
||||||
"create_rule": "",
|
"create_rule": "e criar automação",
|
||||||
"move_selection": "",
|
"move_selection": "Selecionar um parente {type} para mover {source} para.",
|
||||||
"merge_selection": "",
|
"merge_selection": "Substituir todas as ocorrências de {source} por {type}.",
|
||||||
"Root": "",
|
"Root": "Raiz",
|
||||||
"Ignore_Shopping": "",
|
"Ignore_Shopping": "Ignorar compras",
|
||||||
"Shopping_Category": "",
|
"Shopping_Category": "Categoria de Compras",
|
||||||
"Shopping_Categories": "",
|
"Shopping_Categories": "Categorias de Compras",
|
||||||
"Edit_Food": "",
|
"Edit_Food": "Editar comida",
|
||||||
"Move_Food": "",
|
"Move_Food": "Mover comida",
|
||||||
"New_Food": "",
|
"New_Food": "Nova comida",
|
||||||
"Hide_Food": "",
|
"Hide_Food": "Esconder comida",
|
||||||
"Food_Alias": "",
|
"Food_Alias": "Alcunha da comida",
|
||||||
"Unit_Alias": "",
|
"Unit_Alias": "Alcunha da unidade",
|
||||||
"Keyword_Alias": "",
|
"Keyword_Alias": "Alcunha da palavra-chave",
|
||||||
"Delete_Food": "",
|
"Delete_Food": "Eliminar comida",
|
||||||
"No_ID": "",
|
"No_ID": "identificação não encontrada, impossível eliminar.",
|
||||||
"Meal_Plan_Days": "",
|
"Meal_Plan_Days": "Planos de alimentação futuros",
|
||||||
"merge_title": "",
|
"merge_title": "Unir {type}",
|
||||||
"move_title": "",
|
"move_title": "Mover {type}",
|
||||||
"Food": "",
|
"Food": "Comida",
|
||||||
"Recipe_Book": "",
|
"Recipe_Book": "Livro de Receitas",
|
||||||
"del_confirmation_tree": "",
|
"del_confirmation_tree": "Tem a certeza que pretende eliminar {source} e todas as suas crianças?",
|
||||||
"delete_title": "",
|
"delete_title": "Eliminar {type}",
|
||||||
"create_title": "",
|
"create_title": "Novo {type}",
|
||||||
"edit_title": "",
|
"edit_title": "Editar {type}",
|
||||||
"Name": "",
|
"Name": "Nome",
|
||||||
"Type": "",
|
"Type": "Tipo",
|
||||||
"Description": "",
|
"Description": "Descrição",
|
||||||
"Recipe": "",
|
"Recipe": "Receita",
|
||||||
"tree_root": "",
|
"tree_root": "Raiz da árvore",
|
||||||
"Icon": "",
|
"Icon": "Ícone",
|
||||||
"Unit": "",
|
"Unit": "Unidade",
|
||||||
"No_Results": "",
|
"No_Results": "Sem resultados",
|
||||||
"New_Unit": "",
|
"New_Unit": "Nova Unidade",
|
||||||
"Create_New_Shopping Category": "",
|
"Create_New_Shopping Category": "Criar nova categoria de Compras",
|
||||||
"Create_New_Food": "",
|
"Create_New_Food": "Adicionar nova comida",
|
||||||
"Create_New_Keyword": "",
|
"Create_New_Keyword": "Adicionar nova palavra-chave",
|
||||||
"Create_New_Unit": "",
|
"Create_New_Unit": "Adicionar nova unidade",
|
||||||
"Create_New_Meal_Type": "",
|
"Create_New_Meal_Type": "Adicionar novo tipo de refeição",
|
||||||
"and_up": "",
|
"and_up": "e para cima",
|
||||||
"and_down": "",
|
"and_down": "e para baixo",
|
||||||
"Instructions": "",
|
"Instructions": "Instruções",
|
||||||
"Unrated": "",
|
"Unrated": "Sem classificação",
|
||||||
"Automate": "",
|
"Automate": "Automatizar",
|
||||||
"Empty": "",
|
"Empty": "Esvaziar",
|
||||||
"Key_Ctrl": "",
|
"Key_Ctrl": "Ctrl",
|
||||||
"Key_Shift": "",
|
"Key_Shift": "Shift",
|
||||||
"Time": "",
|
"Time": "tempo",
|
||||||
"Text": "",
|
"Text": "Texto",
|
||||||
"Shopping_list": "",
|
"Shopping_list": "Lista de Compras",
|
||||||
"Added_by": "",
|
"Added_by": "Adicionado por",
|
||||||
"Added_on": "",
|
"Added_on": "Adicionado a",
|
||||||
"AddToShopping": "",
|
"AddToShopping": "Adicionar á lista de compras",
|
||||||
"IngredientInShopping": "",
|
"IngredientInShopping": "Este ingrediente está na sua lista de compras.",
|
||||||
"NotInShopping": "",
|
"NotInShopping": "{food} não está na sua lista de compras.",
|
||||||
"OnHand": "",
|
"OnHand": "Atualmente disponível",
|
||||||
"FoodOnHand": "",
|
"FoodOnHand": "Tem {food} disponível.",
|
||||||
"FoodNotOnHand": "",
|
"FoodNotOnHand": "Não têm {food} disponível.",
|
||||||
"Undefined": "",
|
"Undefined": "Não definido",
|
||||||
"Create_Meal_Plan_Entry": "",
|
"Create_Meal_Plan_Entry": "Criar entrada para plano de refeições",
|
||||||
"Edit_Meal_Plan_Entry": "",
|
"Edit_Meal_Plan_Entry": "Editar entrada de plano de refeições",
|
||||||
"Title": "",
|
"Title": "Título",
|
||||||
"Week": "",
|
"Week": "Semana",
|
||||||
"Month": "",
|
"Month": "Mês",
|
||||||
"Year": "",
|
"Year": "Ano",
|
||||||
"Planner": "",
|
"Planner": "Planeador",
|
||||||
"Planner_Settings": "",
|
"Planner_Settings": "Definições do planeador",
|
||||||
"Period": "",
|
"Period": "Período",
|
||||||
"Plan_Period_To_Show": "",
|
"Plan_Period_To_Show": "Mostrar semanas, meses ou anos",
|
||||||
"Periods": "",
|
"Periods": "Períodos",
|
||||||
"Plan_Show_How_Many_Periods": "",
|
"Plan_Show_How_Many_Periods": "Quantos períodos mostrar",
|
||||||
"Starting_Day": "",
|
"Starting_Day": "Dia de início da semana",
|
||||||
"Meal_Types": "",
|
"Meal_Types": "Tipos de refeições",
|
||||||
"Meal_Type": "",
|
"Meal_Type": "Tipo de refeição",
|
||||||
"Clone": "",
|
"Clone": "Clonar",
|
||||||
"Drag_Here_To_Delete": "",
|
"Drag_Here_To_Delete": "Arraste para aqui para eliminar",
|
||||||
"Meal_Type_Required": "",
|
"Meal_Type_Required": "Tipo de refeição é necessário",
|
||||||
"Title_or_Recipe_Required": "",
|
"Title_or_Recipe_Required": "Título ou seleção de receitas é necessário",
|
||||||
"Color": "",
|
"Color": "Cor",
|
||||||
"New_Meal_Type": "",
|
"New_Meal_Type": "Novo tipo de refeição",
|
||||||
"AddFoodToShopping": "",
|
"AddFoodToShopping": "Adicionar {food} à sua lista de compras",
|
||||||
"RemoveFoodFromShopping": "",
|
"RemoveFoodFromShopping": "Remover {food} da sua lista de compras",
|
||||||
"DeleteShoppingConfirm": "",
|
"DeleteShoppingConfirm": "Tem a certeza que pretende remover toda {food} da sua lista de compras?",
|
||||||
"IgnoredFood": "",
|
"IgnoredFood": "{food} está definida para ignorar compras.",
|
||||||
"Add_Servings_to_Shopping": "",
|
"Add_Servings_to_Shopping": "Adicionar {servings} doses ás compras",
|
||||||
"Week_Numbers": "",
|
"Week_Numbers": "Números das semanas",
|
||||||
"Show_Week_Numbers": "",
|
"Show_Week_Numbers": "Mostrar números das semanas?",
|
||||||
"Export_As_ICal": "",
|
"Export_As_ICal": "Exportar período atual para o formato ICal",
|
||||||
"Export_To_ICal": "",
|
"Export_To_ICal": "Exportar .ics",
|
||||||
"Cannot_Add_Notes_To_Shopping": "",
|
"Cannot_Add_Notes_To_Shopping": "Notas não podem ser adicionadas à lista de compras",
|
||||||
"Added_To_Shopping_List": "",
|
"Added_To_Shopping_List": "Adicionado à lista de compras",
|
||||||
"Shopping_List_Empty": "",
|
"Shopping_List_Empty": "A sua lista de compras encontra-se vazia, pode adicionar itens através do menu de contexto de um plano de refeições (carregar com o botão direito no cartão ou carregar com o botão esquerdo no ícone do menu)",
|
||||||
"Next_Period": "",
|
"Next_Period": "Próximo período",
|
||||||
"Previous_Period": "",
|
"Previous_Period": "Período anterior",
|
||||||
"Current_Period": "",
|
"Current_Period": "Período atual",
|
||||||
"Next_Day": "",
|
"Next_Day": "Dia seguinte",
|
||||||
"Previous_Day": "",
|
"Previous_Day": "Dia anterior",
|
||||||
"Inherit": "",
|
"Inherit": "Herdado",
|
||||||
"InheritFields": "",
|
"InheritFields": "Campos herdados",
|
||||||
"FoodInherit": "",
|
"FoodInherit": "Campos herdados por comida",
|
||||||
"ShowUncategorizedFood": "",
|
"ShowUncategorizedFood": "Mostrar não definidos",
|
||||||
"GroupBy": "",
|
"GroupBy": "Agrupar por",
|
||||||
"SupermarketCategoriesOnly": "",
|
"SupermarketCategoriesOnly": "Apenas categorias do supermercado",
|
||||||
"MoveCategory": "",
|
"MoveCategory": "Mover para: ",
|
||||||
"CountMore": "",
|
"CountMore": "...+{count} mais",
|
||||||
"IgnoreThis": "",
|
"IgnoreThis": "Nunca adicionar automaticamente {food} á lista de compras",
|
||||||
"DelayFor": "",
|
"DelayFor": "Atrasar por {hours} horas",
|
||||||
"Warning": "",
|
"Warning": "Aviso",
|
||||||
"NoCategory": "",
|
"NoCategory": "Nenhuma categoria selecionada.",
|
||||||
"InheritWarning": "",
|
"InheritWarning": "{food} esta definida para herdar, alterações podem não persistir.",
|
||||||
"ShowDelayed": "",
|
"ShowDelayed": "Mostrar itens atrasados",
|
||||||
"Completed": "",
|
"Completed": "Completo",
|
||||||
"OfflineAlert": "",
|
"OfflineAlert": "Está offline, lista das compras poderá não sincronizar.",
|
||||||
"shopping_share": "",
|
"shopping_share": "Partilhar lista de compras",
|
||||||
"shopping_auto_sync": "",
|
"shopping_auto_sync": "Sincronização automática",
|
||||||
"mealplan_autoadd_shopping": "",
|
"mealplan_autoadd_shopping": "Adicionar automaticamente plano de refeições",
|
||||||
"mealplan_autoexclude_onhand": "",
|
"mealplan_autoexclude_onhand": "Excluir comida disponível",
|
||||||
"mealplan_autoinclude_related": "",
|
"mealplan_autoinclude_related": "Adicionar receitas relacionadas",
|
||||||
"default_delay": "",
|
"default_delay": "Horas de atraso por padrão",
|
||||||
"shopping_share_desc": "",
|
"shopping_share_desc": "Utilizadores poderão ver todos os itens que adicionar à sua lista de compras. Eles devem adicioná-lo para ver os itens na lista deles.",
|
||||||
"shopping_auto_sync_desc": "",
|
"shopping_auto_sync_desc": "Definir a 0 irá desativar a sincronização automática. Quando se visualiza uma lista de compras a lista é atualizada após um número determinado de segundos para sincronizar com possíveis alterações feitas por outrem. Útil quando se partilha a lista de compras porém irá consumir dados móveis.",
|
||||||
"mealplan_autoadd_shopping_desc": "",
|
"mealplan_autoadd_shopping_desc": "Adicionar automaticamente ingredientes do plano de refeições á lista de compras.",
|
||||||
"mealplan_autoexclude_onhand_desc": "",
|
"mealplan_autoexclude_onhand_desc": "",
|
||||||
"mealplan_autoinclude_related_desc": "",
|
"mealplan_autoinclude_related_desc": "",
|
||||||
"default_delay_desc": "",
|
"default_delay_desc": "",
|
||||||
@@ -381,7 +381,7 @@
|
|||||||
"create_food_desc": "Criar a comida e ligar a esta receita.",
|
"create_food_desc": "Criar a comida e ligar a esta receita.",
|
||||||
"err_deleting_protected_resource": "O objeto que você está tentando deletar ainda está sendo utilizado, portanto não pode ser deletado.",
|
"err_deleting_protected_resource": "O objeto que você está tentando deletar ainda está sendo utilizado, portanto não pode ser deletado.",
|
||||||
"food_inherit_info": "Campos no alimento que devem ser herdados por padrão.",
|
"food_inherit_info": "Campos no alimento que devem ser herdados por padrão.",
|
||||||
"warning_space_delete": "Você pode deletar seu espaço, inclusive todas as receitas, listas de mercado, planos de comida e tudo mais que você criou. Esta ação não poderá ser desfeita! Você tem certeza que quer fazer isto?",
|
"warning_space_delete": "Pode eliminar o seu espaço incluindo todas as receitas, listas de compras, planos de refeição e tudo o que tenha criado. Isto não pode ser desfeito! Tem a certeza que quer fazer isto?",
|
||||||
"facet_count_info": "Mostrar quantidade de receitas nos filtros de busca.",
|
"facet_count_info": "Mostrar quantidade de receitas nos filtros de busca.",
|
||||||
"Plural": "",
|
"Plural": "",
|
||||||
"plural_short": "",
|
"plural_short": "",
|
||||||
@@ -389,5 +389,28 @@
|
|||||||
"Use_Plural_Unit_Simple": "",
|
"Use_Plural_Unit_Simple": "",
|
||||||
"Use_Plural_Food_Always": "",
|
"Use_Plural_Food_Always": "",
|
||||||
"Use_Plural_Food_Simple": "",
|
"Use_Plural_Food_Simple": "",
|
||||||
"plural_usage_info": ""
|
"plural_usage_info": "",
|
||||||
|
"Protected": "Protegido",
|
||||||
|
"Copy Token": "Copiar Chave",
|
||||||
|
"Ingredient Editor": "Editor de Ingredientes",
|
||||||
|
"Amount": "Quantidade",
|
||||||
|
"plan_share_desc": "Novas entradas do plano de refeições serão automaticamente partilhadas com os utilizadores selecionados.",
|
||||||
|
"New_Entry": "Nova entrada",
|
||||||
|
"Decimals": "Casas decimais",
|
||||||
|
"Default_Unit": "Unidade padrão",
|
||||||
|
"Use_Fractions": "Usar frações",
|
||||||
|
"Use_Fractions_Help": "Converter automaticamente casas decimais para frações enquanto se visualiza uma receita.",
|
||||||
|
"Language": "Linguagem",
|
||||||
|
"Private_Recipe": "Receita Privada",
|
||||||
|
"Auto_Sort": "Classificação automática",
|
||||||
|
"Create_New_Shopping_Category": "Adicionar nova categoria de compras",
|
||||||
|
"Description_Replace": "Substituir descrição",
|
||||||
|
"Instruction_Replace": "Substituir Instrução",
|
||||||
|
"Auto_Sort_Help": "Mover todos os ingredientes para o passo mais indicado.",
|
||||||
|
"Private_Recipe_Help": "A receita só é mostrada ás pessoas com que foi partilhada.",
|
||||||
|
"reusable_help_text": "O link de convite poderá ser usado por mais do que um utilizador.",
|
||||||
|
"Copy Link": "Copiar Ligação",
|
||||||
|
"Theme": "Tema",
|
||||||
|
"one_url_per_line": "Um URL por linha",
|
||||||
|
"Original_Text": "Texto original"
|
||||||
}
|
}
|
||||||
|
|||||||
216
vue/yarn.lock
216
vue/yarn.lock
@@ -183,10 +183,10 @@
|
|||||||
json5 "^2.2.2"
|
json5 "^2.2.2"
|
||||||
semver "^6.3.0"
|
semver "^6.3.0"
|
||||||
|
|
||||||
"@babel/eslint-parser@^7.19.1":
|
"@babel/eslint-parser@^7.21.3":
|
||||||
version "7.19.1"
|
version "7.21.3"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz#4f68f6b0825489e00a24b41b6a1ae35414ecd2f4"
|
resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.21.3.tgz#d79e822050f2de65d7f368a076846e7184234af7"
|
||||||
integrity sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==
|
integrity sha512-kfhmPimwo6k4P8zxNs8+T7yR44q1LdpsZdE1NkCsVlfiuTPRfnGgjaF8Qgug9q9Pou17u6wneYF0lDCZJATMFg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1"
|
"@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1"
|
||||||
eslint-visitor-keys "^2.1.0"
|
eslint-visitor-keys "^2.1.0"
|
||||||
@@ -1160,6 +1160,18 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@emoji-mart/data/-/data-1.1.2.tgz#777c976f8f143df47cbb23a7077c9ca9fe5fc513"
|
resolved "https://registry.yarnpkg.com/@emoji-mart/data/-/data-1.1.2.tgz#777c976f8f143df47cbb23a7077c9ca9fe5fc513"
|
||||||
integrity sha512-1HP8BxD2azjqWJvxIaWAMyTySeZY0Osr83ukYjltPVkNXeJvTz7yDrPLBtnrD5uqJ3tg4CcLuuBW09wahqL/fg==
|
integrity sha512-1HP8BxD2azjqWJvxIaWAMyTySeZY0Osr83ukYjltPVkNXeJvTz7yDrPLBtnrD5uqJ3tg4CcLuuBW09wahqL/fg==
|
||||||
|
|
||||||
|
"@eslint-community/eslint-utils@^4.2.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"
|
||||||
|
|
||||||
|
"@eslint-community/regexpp@^4.4.0":
|
||||||
|
version "4.4.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.4.1.tgz#087cb8d9d757bb22e9c9946c9c0c2bf8806830f1"
|
||||||
|
integrity sha512-BISJ6ZE4xQsuL/FmsyRaiffpq977bMlsKfGHTQrOGFErfByxIe6iZTxPf/00Zon9b9a7iUykfQwejN3s2ZW/Bw==
|
||||||
|
|
||||||
"@eslint/eslintrc@^0.4.3":
|
"@eslint/eslintrc@^0.4.3":
|
||||||
version "0.4.3"
|
version "0.4.3"
|
||||||
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c"
|
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c"
|
||||||
@@ -1737,7 +1749,7 @@
|
|||||||
ast-types "0.12.1"
|
ast-types "0.12.1"
|
||||||
recast "0.17.2"
|
recast "0.17.2"
|
||||||
|
|
||||||
"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
|
"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
|
||||||
version "7.0.11"
|
version "7.0.11"
|
||||||
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
|
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
|
||||||
integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
|
integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
|
||||||
@@ -1867,148 +1879,88 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
"@typescript-eslint/eslint-plugin@^4.33.0":
|
"@typescript-eslint/eslint-plugin@^5.0.0", "@typescript-eslint/eslint-plugin@^5.56.0":
|
||||||
version "4.33.0"
|
version "5.56.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.56.0.tgz#e4fbb4d6dd8dab3e733485c1a44a02189ae75364"
|
||||||
integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==
|
integrity sha512-ZNW37Ccl3oMZkzxrYDUX4o7cnuPgU+YrcaYXzsRtLB16I1FR5SHMqga3zGsaSliZADCWo2v8qHWqAYIj8nWCCg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/experimental-utils" "4.33.0"
|
"@eslint-community/regexpp" "^4.4.0"
|
||||||
"@typescript-eslint/scope-manager" "4.33.0"
|
"@typescript-eslint/scope-manager" "5.56.0"
|
||||||
debug "^4.3.1"
|
"@typescript-eslint/type-utils" "5.56.0"
|
||||||
functional-red-black-tree "^1.0.1"
|
"@typescript-eslint/utils" "5.56.0"
|
||||||
ignore "^5.1.8"
|
|
||||||
regexpp "^3.1.0"
|
|
||||||
semver "^7.3.5"
|
|
||||||
tsutils "^3.21.0"
|
|
||||||
|
|
||||||
"@typescript-eslint/eslint-plugin@^5.0.0":
|
|
||||||
version "5.51.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.51.0.tgz#da3f2819633061ced84bb82c53bba45a6fe9963a"
|
|
||||||
integrity sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ==
|
|
||||||
dependencies:
|
|
||||||
"@typescript-eslint/scope-manager" "5.51.0"
|
|
||||||
"@typescript-eslint/type-utils" "5.51.0"
|
|
||||||
"@typescript-eslint/utils" "5.51.0"
|
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
grapheme-splitter "^1.0.4"
|
grapheme-splitter "^1.0.4"
|
||||||
ignore "^5.2.0"
|
ignore "^5.2.0"
|
||||||
natural-compare-lite "^1.4.0"
|
natural-compare-lite "^1.4.0"
|
||||||
regexpp "^3.2.0"
|
|
||||||
semver "^7.3.7"
|
semver "^7.3.7"
|
||||||
tsutils "^3.21.0"
|
tsutils "^3.21.0"
|
||||||
|
|
||||||
"@typescript-eslint/experimental-utils@4.33.0":
|
"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.56.0":
|
||||||
version "4.33.0"
|
version "5.56.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.56.0.tgz#42eafb44b639ef1dbd54a3dbe628c446ca753ea6"
|
||||||
integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==
|
integrity sha512-sn1OZmBxUsgxMmR8a8U5QM/Wl+tyqlH//jTqCg8daTAmhAk26L2PFhcqPLlYBhYUJMZJK276qLXlHN3a83o2cg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/json-schema" "^7.0.7"
|
"@typescript-eslint/scope-manager" "5.56.0"
|
||||||
"@typescript-eslint/scope-manager" "4.33.0"
|
"@typescript-eslint/types" "5.56.0"
|
||||||
"@typescript-eslint/types" "4.33.0"
|
"@typescript-eslint/typescript-estree" "5.56.0"
|
||||||
"@typescript-eslint/typescript-estree" "4.33.0"
|
|
||||||
eslint-scope "^5.1.1"
|
|
||||||
eslint-utils "^3.0.0"
|
|
||||||
|
|
||||||
"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.47.1":
|
|
||||||
version "5.51.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.51.0.tgz#2d74626652096d966ef107f44b9479f02f51f271"
|
|
||||||
integrity sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA==
|
|
||||||
dependencies:
|
|
||||||
"@typescript-eslint/scope-manager" "5.51.0"
|
|
||||||
"@typescript-eslint/types" "5.51.0"
|
|
||||||
"@typescript-eslint/typescript-estree" "5.51.0"
|
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
|
|
||||||
"@typescript-eslint/scope-manager@4.33.0":
|
"@typescript-eslint/scope-manager@5.56.0":
|
||||||
version "4.33.0"
|
version "5.56.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.56.0.tgz#62b4055088903b5254fa20403010e1c16d6ab725"
|
||||||
integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==
|
integrity sha512-jGYKyt+iBakD0SA5Ww8vFqGpoV2asSjwt60Gl6YcO8ksQ8s2HlUEyHBMSa38bdLopYqGf7EYQMUIGdT/Luw+sw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types" "4.33.0"
|
"@typescript-eslint/types" "5.56.0"
|
||||||
"@typescript-eslint/visitor-keys" "4.33.0"
|
"@typescript-eslint/visitor-keys" "5.56.0"
|
||||||
|
|
||||||
"@typescript-eslint/scope-manager@5.51.0":
|
"@typescript-eslint/type-utils@5.56.0":
|
||||||
version "5.51.0"
|
version "5.56.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz#ad3e3c2ecf762d9a4196c0fbfe19b142ac498990"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.56.0.tgz#e6f004a072f09c42e263dc50e98c70b41a509685"
|
||||||
integrity sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ==
|
integrity sha512-8WxgOgJjWRy6m4xg9KoSHPzBNZeQbGlQOH7l2QEhQID/+YseaFxg5J/DLwWSsi9Axj4e/cCiKx7PVzOq38tY4A==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types" "5.51.0"
|
"@typescript-eslint/typescript-estree" "5.56.0"
|
||||||
"@typescript-eslint/visitor-keys" "5.51.0"
|
"@typescript-eslint/utils" "5.56.0"
|
||||||
|
|
||||||
"@typescript-eslint/type-utils@5.51.0":
|
|
||||||
version "5.51.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.51.0.tgz#7af48005531700b62a20963501d47dfb27095988"
|
|
||||||
integrity sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ==
|
|
||||||
dependencies:
|
|
||||||
"@typescript-eslint/typescript-estree" "5.51.0"
|
|
||||||
"@typescript-eslint/utils" "5.51.0"
|
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
tsutils "^3.21.0"
|
tsutils "^3.21.0"
|
||||||
|
|
||||||
"@typescript-eslint/types@4.33.0":
|
"@typescript-eslint/types@5.56.0":
|
||||||
version "4.33.0"
|
version "5.56.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.56.0.tgz#b03f0bfd6fa2afff4e67c5795930aff398cbd834"
|
||||||
integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==
|
integrity sha512-JyAzbTJcIyhuUhogmiu+t79AkdnqgPUEsxMTMc/dCZczGMJQh1MK2wgrju++yMN6AWroVAy2jxyPcPr3SWCq5w==
|
||||||
|
|
||||||
"@typescript-eslint/types@5.51.0":
|
"@typescript-eslint/typescript-estree@5.56.0":
|
||||||
version "5.51.0"
|
version "5.56.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.51.0.tgz#e7c1622f46c7eea7e12bbf1edfb496d4dec37c90"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.56.0.tgz#48342aa2344649a03321e74cab9ccecb9af086c3"
|
||||||
integrity sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw==
|
integrity sha512-41CH/GncsLXOJi0jb74SnC7jVPWeVJ0pxQj8bOjH1h2O26jXN3YHKDT1ejkVz5YeTEQPeLCCRY0U2r68tfNOcg==
|
||||||
|
|
||||||
"@typescript-eslint/typescript-estree@4.33.0":
|
|
||||||
version "4.33.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609"
|
|
||||||
integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==
|
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types" "4.33.0"
|
"@typescript-eslint/types" "5.56.0"
|
||||||
"@typescript-eslint/visitor-keys" "4.33.0"
|
"@typescript-eslint/visitor-keys" "5.56.0"
|
||||||
debug "^4.3.1"
|
|
||||||
globby "^11.0.3"
|
|
||||||
is-glob "^4.0.1"
|
|
||||||
semver "^7.3.5"
|
|
||||||
tsutils "^3.21.0"
|
|
||||||
|
|
||||||
"@typescript-eslint/typescript-estree@5.51.0":
|
|
||||||
version "5.51.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz#0ec8170d7247a892c2b21845b06c11eb0718f8de"
|
|
||||||
integrity sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA==
|
|
||||||
dependencies:
|
|
||||||
"@typescript-eslint/types" "5.51.0"
|
|
||||||
"@typescript-eslint/visitor-keys" "5.51.0"
|
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
globby "^11.1.0"
|
globby "^11.1.0"
|
||||||
is-glob "^4.0.3"
|
is-glob "^4.0.3"
|
||||||
semver "^7.3.7"
|
semver "^7.3.7"
|
||||||
tsutils "^3.21.0"
|
tsutils "^3.21.0"
|
||||||
|
|
||||||
"@typescript-eslint/utils@5.51.0":
|
"@typescript-eslint/utils@5.56.0":
|
||||||
version "5.51.0"
|
version "5.56.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.51.0.tgz#074f4fabd5b12afe9c8aa6fdee881c050f8b4d47"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.56.0.tgz#db64705409b9a15546053fb4deb2888b37df1f41"
|
||||||
integrity sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw==
|
integrity sha512-XhZDVdLnUJNtbzaJeDSCIYaM+Tgr59gZGbFuELgF7m0IY03PlciidS7UQNKLE0+WpUTn1GlycEr6Ivb/afjbhA==
|
||||||
dependencies:
|
dependencies:
|
||||||
|
"@eslint-community/eslint-utils" "^4.2.0"
|
||||||
"@types/json-schema" "^7.0.9"
|
"@types/json-schema" "^7.0.9"
|
||||||
"@types/semver" "^7.3.12"
|
"@types/semver" "^7.3.12"
|
||||||
"@typescript-eslint/scope-manager" "5.51.0"
|
"@typescript-eslint/scope-manager" "5.56.0"
|
||||||
"@typescript-eslint/types" "5.51.0"
|
"@typescript-eslint/types" "5.56.0"
|
||||||
"@typescript-eslint/typescript-estree" "5.51.0"
|
"@typescript-eslint/typescript-estree" "5.56.0"
|
||||||
eslint-scope "^5.1.1"
|
eslint-scope "^5.1.1"
|
||||||
eslint-utils "^3.0.0"
|
|
||||||
semver "^7.3.7"
|
semver "^7.3.7"
|
||||||
|
|
||||||
"@typescript-eslint/visitor-keys@4.33.0":
|
"@typescript-eslint/visitor-keys@5.56.0":
|
||||||
version "4.33.0"
|
version "5.56.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.56.0.tgz#f19eb297d972417eb13cb69b35b3213e13cc214f"
|
||||||
integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==
|
integrity sha512-1mFdED7u5bZpX6Xxf5N9U2c18sb+8EvU3tyOIj6LQZ5OOvnmj8BVeNNP603OFPm5KkS1a7IvCIcwrdHXaEMG/Q==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types" "4.33.0"
|
"@typescript-eslint/types" "5.56.0"
|
||||||
eslint-visitor-keys "^2.0.0"
|
|
||||||
|
|
||||||
"@typescript-eslint/visitor-keys@5.51.0":
|
|
||||||
version "5.51.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz#c0147dd9a36c0de758aaebd5b48cae1ec59eba87"
|
|
||||||
integrity sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ==
|
|
||||||
dependencies:
|
|
||||||
"@typescript-eslint/types" "5.51.0"
|
|
||||||
eslint-visitor-keys "^3.3.0"
|
eslint-visitor-keys "^3.3.0"
|
||||||
|
|
||||||
"@vue/babel-helper-vue-jsx-merge-props@^1.4.0":
|
"@vue/babel-helper-vue-jsx-merge-props@^1.4.0":
|
||||||
@@ -4368,10 +4320,10 @@ core-js@^2.4.0, core-js@^2.5.0:
|
|||||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
|
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
|
||||||
integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
|
integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
|
||||||
|
|
||||||
core-js@^3.23.5, core-js@^3.27.1, core-js@^3.6.0, core-js@^3.7.0, core-js@^3.8.3:
|
core-js@^3.23.5, core-js@^3.29.1, core-js@^3.6.0, core-js@^3.7.0, core-js@^3.8.3:
|
||||||
version "3.27.2"
|
version "3.29.1"
|
||||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.27.2.tgz#85b35453a424abdcacb97474797815f4d62ebbf7"
|
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.29.1.tgz#40ff3b41588b091aaed19ca1aa5cb111803fa9a6"
|
||||||
integrity sha512-9ashVQskuh5AZEZ1JdQWp1GqSoC1e1G87MzRqg2gIfVAQ7Qn9K+uFj8EcniUFA4P2NLZfV+TOlX1SzoKfo+s7w==
|
integrity sha512-+jwgnhg6cQxKYIIjGtAHq2nwUOolo9eoFZ4sHfUH09BLXBgxnH4gA0zEd+t+BO2cNB8idaBtZFcFTRjQJRJmAw==
|
||||||
|
|
||||||
core-util-is@~1.0.0:
|
core-util-is@~1.0.0:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
@@ -4652,7 +4604,7 @@ debug@^3.2.7:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ms "^2.1.1"
|
ms "^2.1.1"
|
||||||
|
|
||||||
debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
|
debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.0, debug@^4.3.2, debug@^4.3.4:
|
||||||
version "4.3.4"
|
version "4.3.4"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
|
||||||
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
||||||
@@ -6407,7 +6359,7 @@ hash.js@^1.0.0, hash.js@^1.0.3:
|
|||||||
inherits "^2.0.3"
|
inherits "^2.0.3"
|
||||||
minimalistic-assert "^1.0.1"
|
minimalistic-assert "^1.0.1"
|
||||||
|
|
||||||
he@^1.1.0, he@^1.2.0:
|
he@^1.2.0:
|
||||||
version "1.2.0"
|
version "1.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
|
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
|
||||||
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
|
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
|
||||||
@@ -6618,7 +6570,7 @@ ignore@^4.0.6:
|
|||||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
|
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
|
||||||
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
|
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
|
||||||
|
|
||||||
ignore@^5.1.8, ignore@^5.2.0:
|
ignore@^5.2.0:
|
||||||
version "5.2.4"
|
version "5.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
|
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
|
||||||
integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
|
integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
|
||||||
@@ -9346,7 +9298,7 @@ regexp.prototype.flags@^1.4.3:
|
|||||||
define-properties "^1.1.3"
|
define-properties "^1.1.3"
|
||||||
functions-have-names "^1.2.2"
|
functions-have-names "^1.2.2"
|
||||||
|
|
||||||
regexpp@^3.1.0, regexpp@^3.2.0:
|
regexpp@^3.1.0:
|
||||||
version "3.2.0"
|
version "3.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
|
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
|
||||||
integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
|
integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
|
||||||
@@ -11250,13 +11202,13 @@ vue-style-loader@^4.1.0, vue-style-loader@^4.1.3:
|
|||||||
hash-sum "^1.0.2"
|
hash-sum "^1.0.2"
|
||||||
loader-utils "^1.0.2"
|
loader-utils "^1.0.2"
|
||||||
|
|
||||||
vue-template-compiler@2.6.14:
|
vue-template-compiler@2.7.14:
|
||||||
version "2.6.14"
|
version "2.7.14"
|
||||||
resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz#a2f0e7d985670d42c9c9ee0d044fed7690f4f763"
|
resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz#4545b7dfb88090744c1577ae5ac3f964e61634b1"
|
||||||
integrity sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==
|
integrity sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
de-indent "^1.0.2"
|
de-indent "^1.0.2"
|
||||||
he "^1.1.0"
|
he "^1.2.0"
|
||||||
|
|
||||||
vue-template-es2015-compiler@^1.9.0:
|
vue-template-es2015-compiler@^1.9.0:
|
||||||
version "1.9.1"
|
version "1.9.1"
|
||||||
@@ -11353,10 +11305,10 @@ webpack-bundle-analyzer@^4.4.0:
|
|||||||
sirv "^1.0.7"
|
sirv "^1.0.7"
|
||||||
ws "^7.3.1"
|
ws "^7.3.1"
|
||||||
|
|
||||||
webpack-bundle-tracker@1.8.0:
|
webpack-bundle-tracker@1.8.1:
|
||||||
version "1.8.0"
|
version "1.8.1"
|
||||||
resolved "https://registry.yarnpkg.com/webpack-bundle-tracker/-/webpack-bundle-tracker-1.8.0.tgz#18135492d74e7cff56e87306bfbe7d7b17171537"
|
resolved "https://registry.yarnpkg.com/webpack-bundle-tracker/-/webpack-bundle-tracker-1.8.1.tgz#d1cdbd62da622abe1243f099657af86a6ca2656d"
|
||||||
integrity sha512-5SihX9O+wZVzAvxKIHEW18zTd2BBy5AqV7lMdkKTHd+sQFMpDKNmTcFt6ZgaiV47Db3zB2I0l6MO2pmc2ob+Gg==
|
integrity sha512-X1qtXG4ue92gjWQO2VhLVq8HDEf9GzUWE0OQyAQObVEZsFB1SUtSQ7o47agF5WZIaHfJUTKak4jEErU0gzoPcQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
lodash.assign "^4.2.0"
|
lodash.assign "^4.2.0"
|
||||||
lodash.defaults "^4.2.0"
|
lodash.defaults "^4.2.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user