From d6954e21d36c52d89ce58dd451911c21dc55c825 Mon Sep 17 00:00:00 2001 From: Tim Nolte Date: Thu, 18 Mar 2021 09:45:23 -0400 Subject: [PATCH 01/18] Fixes Grunt Release Task to Run on HEAD for GitHub Action (#120) --- Gruntfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gruntfile.js b/Gruntfile.js index c4c5833..b3ebc59 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -222,7 +222,7 @@ module.exports = function (grunt) { grunt.registerTask('readme', ['wp_readme_to_markdown']); grunt.registerTask('test', ['checktextdomain', 'phpcs']); grunt.registerTask('build', ['gitinfo', 'test', 'i18n', 'readme']); - grunt.registerTask('release', ['checkbranch:main', 'checkrepo', 'gitinfo', 'checktextdomain', 'clean', 'copy']); + grunt.registerTask('release', ['checkbranch:HEAD', 'checkrepo', 'gitinfo', 'checktextdomain', 'clean', 'copy']); }; From 9f847502f5d98ae24fbd9a32706bcafc8c9ee35a Mon Sep 17 00:00:00 2001 From: Tim Nolte Date: Thu, 18 Mar 2021 16:32:05 -0400 Subject: [PATCH 02/18] Fixes Grunt Release Configuration for Automated Releases --- Gruntfile.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Gruntfile.js b/Gruntfile.js index b3ebc59..3d44e89 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -135,7 +135,9 @@ module.exports = function (grunt) { checkrepo: { deploy: { tagged: true, // Check that the last commit (HEAD) is tagged - clean: true // Check that working directory is clean + tag: { + eq: '<%= pkg.version %>' // Check if highest repo tag is equal to pkg.version + } } }, From 65a19a5c8add4e339bf722948f9088d860da7405 Mon Sep 17 00:00:00 2001 From: Tim Nolte Date: Wed, 30 Mar 2022 00:04:33 -0400 Subject: [PATCH 03/18] Updates Local Development Environment * Updates Node/NPM version. * Updates environment setup. * Adds CodeSpaces support. --- .devcontainer/Dockerfile | 47 + .devcontainer/devcontainer.json | 41 + .../library-scripts/common-debian.sh | 478 + .../docker-in-docker-debian.sh | 230 + .github/CONTRIBUTING.md | 2 +- .github/ISSUE_TEMPLATE/1-Security-issue.md | 2 +- .github/workflows/i18n.yml | 6 +- .github/workflows/linting.yml | 6 +- .github/workflows/pr-unit-testing.yml | 44 +- .github/workflows/release.yml | 6 +- .github/workflows/static-analysis.yml | 15 +- .github/workflows/unit-testing.yml | 75 +- .gitignore | 1 + .gitpod.yml | 15 + .npmrc | 1 + .travis.yml | 145 - .wp-env.json | 36 + Gruntfile.js | 9 +- admin/class-local-pickup-time-admin.php | 134 +- composer.json | 124 +- composer.lock | 2396 +-- ....override.yml => docker-compose.wp-env.yml | 28 +- docker-compose.yml | 21 + package-lock.json | 15377 +++++++++++----- package.json | 51 +- phpcs.xml.dist | 106 +- phpmd.xml.dist | 48 + phpstan.neon.dist | 24 +- public/class-local-pickup-time.php | 80 +- tests/phpstan-bootstrap.php | 4 +- tools/docker/composer/Dockerfile | 24 + tools/local-env/backups/.gitignore | 1 + tools/local-env/backups/.gitkeep | 0 tools/local-env/config/.gitkeep | 0 tools/local-env/config/active_plugins.yaml | 13 + tools/local-env/config/active_theme.yaml | 2 + tools/local-env/mu-plugins/wp-cfm.php | 28 + woocommerce-local-pickup-time.php | 2 +- 38 files changed, 13447 insertions(+), 6175 deletions(-) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json create mode 100644 .devcontainer/library-scripts/common-debian.sh create mode 100644 .devcontainer/library-scripts/docker-in-docker-debian.sh create mode 100644 .gitpod.yml create mode 100644 .npmrc delete mode 100644 .travis.yml create mode 100644 .wp-env.json rename docker-compose.override.yml => docker-compose.wp-env.yml (60%) create mode 100644 docker-compose.yml create mode 100644 phpmd.xml.dist create mode 100644 tools/docker/composer/Dockerfile create mode 100644 tools/local-env/backups/.gitignore create mode 100644 tools/local-env/backups/.gitkeep create mode 100644 tools/local-env/config/.gitkeep create mode 100644 tools/local-env/config/active_plugins.yaml create mode 100644 tools/local-env/config/active_theme.yaml create mode 100644 tools/local-env/mu-plugins/wp-cfm.php diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..728d811 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,47 @@ +# Note: You can use any Debian/Ubuntu based image you want. +FROM mcr.microsoft.com/vscode/devcontainers/base:bullseye + +# [Option] Install zsh +ARG INSTALL_ZSH="true" +# [Option] Upgrade OS packages to their latest versions +ARG UPGRADE_PACKAGES="false" +# [Option] Enable non-root Docker access in container +ARG ENABLE_NONROOT_DOCKER="true" +# [Option] Use the OSS Moby Engine instead of the licensed Docker Engine +ARG USE_MOBY="true" + +# Install needed packages and setup non-root user. Use a separate RUN statement to add your +# own dependencies. A user of "automatic" attempts to reuse an user ID if one already exists. +ARG USERNAME=automatic +ARG USER_UID=1000 +ARG USER_GID=$USER_UID +COPY library-scripts/*.sh /tmp/library-scripts/ +RUN apt-get update \ + && /bin/bash /tmp/library-scripts/common-debian.sh "${INSTALL_ZSH}" "${USERNAME}" "${USER_UID}" "${USER_GID}" "${UPGRADE_PACKAGES}" "true" "true" \ + # Use Docker script from script library to set things up + && /bin/bash /tmp/library-scripts/docker-in-docker-debian.sh "${ENABLE_NONROOT_DOCKER}" "${USERNAME}" "${USE_MOBY}" \ + # Clean up + && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* /tmp/library-scripts/ + +VOLUME [ "/var/lib/docker" ] + +# Setting the ENTRYPOINT to docker-init.sh will start up the Docker Engine +# inside the container "overrideCommand": false is set in devcontainer.json. +# The script will also execute CMD if you need to alter startup behaviors. +ENTRYPOINT [ "/usr/local/share/docker-init.sh" ] +CMD [ "sleep", "infinity" ] + +# [Optional] Uncomment this section to install additional OS packages. +RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ + && apt-get -y install php7.4-cli php7.4-curl php7.4-dom php7.4-intl php7.4-json php7.4-mbstring php7.4-xml + +# Install Composer. +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer + +# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10 +# nvm environment variables +# ENV NVM_DIR /usr/local/nvm +ENV NODE_VERSION 12 + +# Install Node Version Manager(NVM). +RUN su vscode -c "curl --silent -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash" diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..a5a7ef4 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,41 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: +// https://github.com/microsoft/vscode-dev-containers/tree/v0.192.0/containers/docker-in-docker +{ + "name": "Docker in Docker", + "dockerFile": "Dockerfile", + "runArgs": ["--init", "--privileged"], + "mounts": ["source=dind-var-lib-docker,target=/var/lib/docker,type=volume"], + "overrideCommand": false, + + // Set *default* container specific settings.json values on container create. + "settings": {}, + + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "ms-azuretools.vscode-docker", + "bmewburn.vscode-intelephense-client", + "claudiosanches.woocommerce", + "ddarkonen.phpstan-larastan", + "ecmel.vscode-html-css", + "editorconfig.editorconfig", + "github.codespaces", + "gitpod.gitpod-desktop", + "johnbillion.vscode-wordpress-hooks", + "ms-vscode-remote.remote-containers", + "ms-vscode-remote.remote-ssh", + "ms-vscode-remote.remote-ssh-edit", + "obliviousharmony.vscode-php-codesniffer" + ], + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "npm run setup", + + // Use 'postStartCommand' to run commands after the container has started. + "postStartCommand": "npm start -- --update", + + // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. + "remoteUser": "vscode" +} diff --git a/.devcontainer/library-scripts/common-debian.sh b/.devcontainer/library-scripts/common-debian.sh new file mode 100644 index 0000000..283b57e --- /dev/null +++ b/.devcontainer/library-scripts/common-debian.sh @@ -0,0 +1,478 @@ +#!/usr/bin/env bash +#------------------------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. +#------------------------------------------------------------------------------------------------------------- +# +# Docs: https://github.com/microsoft/vscode-dev-containers/blob/main/script-library/docs/common.md +# Maintainer: The VS Code and Codespaces Teams +# +# Syntax: ./common-debian.sh [install zsh flag] [username] [user UID] [user GID] [upgrade packages flag] [install Oh My Zsh! flag] [Add non-free packages] + +set -e + +INSTALL_ZSH=${1:-"true"} +USERNAME=${2:-"automatic"} +USER_UID=${3:-"automatic"} +USER_GID=${4:-"automatic"} +UPGRADE_PACKAGES=${5:-"true"} +INSTALL_OH_MYS=${6:-"true"} +ADD_NON_FREE_PACKAGES=${7:-"false"} +SCRIPT_DIR="$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)" +MARKER_FILE="/usr/local/etc/vscode-dev-containers/common" + + +if [ "$(id -u)" -ne 0 ]; then + echo -e 'Script must be run as root. Use sudo, su, or add "USER root" to your Dockerfile before running this script.' + exit 1 +fi + +# Ensure that login shells get the correct path if the user updated the PATH using ENV. +rm -f /etc/profile.d/00-restore-env.sh +echo "export PATH=${PATH//$(sh -lc 'echo $PATH')/\$PATH}" > /etc/profile.d/00-restore-env.sh +chmod +x /etc/profile.d/00-restore-env.sh + +# If in automatic mode, determine if a user already exists, if not use vscode +if [ "${USERNAME}" = "auto" ] || [ "${USERNAME}" = "automatic" ]; then + USERNAME="" + POSSIBLE_USERS=("vscode" "node" "codespace" "$(awk -v val=1000 -F ":" '$3==val{print $1}' /etc/passwd)") + for CURRENT_USER in ${POSSIBLE_USERS[@]}; do + if id -u ${CURRENT_USER} > /dev/null 2>&1; then + USERNAME=${CURRENT_USER} + break + fi + done + if [ "${USERNAME}" = "" ]; then + USERNAME=vscode + fi +elif [ "${USERNAME}" = "none" ]; then + USERNAME=root + USER_UID=0 + USER_GID=0 +fi + +# Load markers to see which steps have already run +if [ -f "${MARKER_FILE}" ]; then + echo "Marker file found:" + cat "${MARKER_FILE}" + source "${MARKER_FILE}" +fi + +# Ensure apt is in non-interactive to avoid prompts +export DEBIAN_FRONTEND=noninteractive + +# Function to call apt-get if needed +apt_get_update_if_needed() +{ + if [ ! -d "/var/lib/apt/lists" ] || [ "$(ls /var/lib/apt/lists/ | wc -l)" = "0" ]; then + echo "Running apt-get update..." + apt-get update + else + echo "Skipping apt-get update." + fi +} + +# Run install apt-utils to avoid debconf warning then verify presence of other common developer tools and dependencies +if [ "${PACKAGES_ALREADY_INSTALLED}" != "true" ]; then + + package_list="apt-utils \ + openssh-client \ + gnupg2 \ + iproute2 \ + procps \ + lsof \ + htop \ + net-tools \ + psmisc \ + curl \ + wget \ + rsync \ + ca-certificates \ + unzip \ + zip \ + nano \ + vim-tiny \ + less \ + jq \ + lsb-release \ + apt-transport-https \ + dialog \ + libc6 \ + libgcc1 \ + libkrb5-3 \ + libgssapi-krb5-2 \ + libicu[0-9][0-9] \ + liblttng-ust0 \ + libstdc++6 \ + zlib1g \ + locales \ + sudo \ + ncdu \ + man-db \ + strace \ + manpages \ + manpages-dev \ + init-system-helpers" + + # Needed for adding manpages-posix and manpages-posix-dev which are non-free packages in Debian + if [ "${ADD_NON_FREE_PACKAGES}" = "true" ]; then + # Bring in variables from /etc/os-release like VERSION_CODENAME + . /etc/os-release + sed -i -E "s/deb http:\/\/(deb|httpredir)\.debian\.org\/debian ${VERSION_CODENAME} main/deb http:\/\/\1\.debian\.org\/debian ${VERSION_CODENAME} main contrib non-free/" /etc/apt/sources.list + sed -i -E "s/deb-src http:\/\/(deb|httredir)\.debian\.org\/debian ${VERSION_CODENAME} main/deb http:\/\/\1\.debian\.org\/debian ${VERSION_CODENAME} main contrib non-free/" /etc/apt/sources.list + sed -i -E "s/deb http:\/\/(deb|httpredir)\.debian\.org\/debian ${VERSION_CODENAME}-updates main/deb http:\/\/\1\.debian\.org\/debian ${VERSION_CODENAME}-updates main contrib non-free/" /etc/apt/sources.list + sed -i -E "s/deb-src http:\/\/(deb|httpredir)\.debian\.org\/debian ${VERSION_CODENAME}-updates main/deb http:\/\/\1\.debian\.org\/debian ${VERSION_CODENAME}-updates main contrib non-free/" /etc/apt/sources.list + sed -i "s/deb http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}\/updates main/deb http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}\/updates main contrib non-free/" /etc/apt/sources.list + sed -i "s/deb-src http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}\/updates main/deb http:\/\/security\.debian\.org\/debian-security ${VERSION_CODENAME}\/updates main contrib non-free/" /etc/apt/sources.list + sed -i "s/deb http:\/\/deb\.debian\.org\/debian ${VERSION_CODENAME}-backports main/deb http:\/\/deb\.debian\.org\/debian ${VERSION_CODENAME}-backports main contrib non-free/" /etc/apt/sources.list + sed -i "s/deb-src http:\/\/deb\.debian\.org\/debian ${VERSION_CODENAME}-backports main/deb http:\/\/deb\.debian\.org\/debian ${VERSION_CODENAME}-backports main contrib non-free/" /etc/apt/sources.list + echo "Running apt-get update..." + apt-get update + package_list="${package_list} manpages-posix manpages-posix-dev" + else + apt_get_update_if_needed + fi + + # Install libssl1.1 if available + if [[ ! -z $(apt-cache --names-only search ^libssl1.1$) ]]; then + package_list="${package_list} libssl1.1" + fi + + # Install appropriate version of libssl1.0.x if available + libssl_package=$(dpkg-query -f '${db:Status-Abbrev}\t${binary:Package}\n' -W 'libssl1\.0\.?' 2>&1 || echo '') + if [ "$(echo "$LIlibssl_packageBSSL" | grep -o 'libssl1\.0\.[0-9]:' | uniq | sort | wc -l)" -eq 0 ]; then + if [[ ! -z $(apt-cache --names-only search ^libssl1.0.2$) ]]; then + # Debian 9 + package_list="${package_list} libssl1.0.2" + elif [[ ! -z $(apt-cache --names-only search ^libssl1.0.0$) ]]; then + # Ubuntu 18.04, 16.04, earlier + package_list="${package_list} libssl1.0.0" + fi + fi + + echo "Packages to verify are installed: ${package_list}" + apt-get -y install --no-install-recommends ${package_list} 2> >( grep -v 'debconf: delaying package configuration, since apt-utils is not installed' >&2 ) + + # Install git if not already installed (may be more recent than distro version) + if ! type git > /dev/null 2>&1; then + apt-get -y install --no-install-recommends git + fi + + PACKAGES_ALREADY_INSTALLED="true" +fi + +# Get to latest versions of all packages +if [ "${UPGRADE_PACKAGES}" = "true" ]; then + apt_get_update_if_needed + apt-get -y upgrade --no-install-recommends + apt-get autoremove -y +fi + +# Ensure at least the en_US.UTF-8 UTF-8 locale is available. +# Common need for both applications and things like the agnoster ZSH theme. +if [ "${LOCALE_ALREADY_SET}" != "true" ] && ! grep -o -E '^\s*en_US.UTF-8\s+UTF-8' /etc/locale.gen > /dev/null; then + echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen + locale-gen + LOCALE_ALREADY_SET="true" +fi + +# Create or update a non-root user to match UID/GID. +if id -u ${USERNAME} > /dev/null 2>&1; then + # User exists, update if needed + if [ "${USER_GID}" != "automatic" ] && [ "$USER_GID" != "$(id -G $USERNAME)" ]; then + groupmod --gid $USER_GID $USERNAME + usermod --gid $USER_GID $USERNAME + fi + if [ "${USER_UID}" != "automatic" ] && [ "$USER_UID" != "$(id -u $USERNAME)" ]; then + usermod --uid $USER_UID $USERNAME + fi +else + # Create user + if [ "${USER_GID}" = "automatic" ]; then + groupadd $USERNAME + else + groupadd --gid $USER_GID $USERNAME + fi + if [ "${USER_UID}" = "automatic" ]; then + useradd -s /bin/bash --gid $USERNAME -m $USERNAME + else + useradd -s /bin/bash --uid $USER_UID --gid $USERNAME -m $USERNAME + fi +fi + +# Add add sudo support for non-root user +if [ "${USERNAME}" != "root" ] && [ "${EXISTING_NON_ROOT_USER}" != "${USERNAME}" ]; then + echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME + chmod 0440 /etc/sudoers.d/$USERNAME + EXISTING_NON_ROOT_USER="${USERNAME}" +fi + +# ** Shell customization section ** +if [ "${USERNAME}" = "root" ]; then + user_rc_path="/root" +else + user_rc_path="/home/${USERNAME}" +fi + +# Restore user .bashrc defaults from skeleton file if it doesn't exist or is empty +if [ ! -f "${user_rc_path}/.bashrc" ] || [ ! -s "${user_rc_path}/.bashrc" ] ; then + cp /etc/skel/.bashrc "${user_rc_path}/.bashrc" +fi + +# Restore user .profile defaults from skeleton file if it doesn't exist or is empty +if [ ! -f "${user_rc_path}/.profile" ] || [ ! -s "${user_rc_path}/.profile" ] ; then + cp /etc/skel/.profile "${user_rc_path}/.profile" +fi + +# .bashrc/.zshrc snippet +rc_snippet="$(cat << 'EOF' + +if [ -z "${USER}" ]; then export USER=$(whoami); fi +if [[ "${PATH}" != *"$HOME/.local/bin"* ]]; then export PATH="${PATH}:$HOME/.local/bin"; fi + +# Display optional first run image specific notice if configured and terminal is interactive +if [ -t 1 ] && [[ "${TERM_PROGRAM}" = "vscode" || "${TERM_PROGRAM}" = "codespaces" ]] && [ ! -f "$HOME/.config/vscode-dev-containers/first-run-notice-already-displayed" ]; then + if [ -f "/usr/local/etc/vscode-dev-containers/first-run-notice.txt" ]; then + cat "/usr/local/etc/vscode-dev-containers/first-run-notice.txt" + elif [ -f "/workspaces/.codespaces/shared/first-run-notice.txt" ]; then + cat "/workspaces/.codespaces/shared/first-run-notice.txt" + fi + mkdir -p "$HOME/.config/vscode-dev-containers" + # Mark first run notice as displayed after 10s to avoid problems with fast terminal refreshes hiding it + ((sleep 10s; touch "$HOME/.config/vscode-dev-containers/first-run-notice-already-displayed") &) +fi + +# Set the default git editor if not already set +if [ -z "$(git config --get core.editor)" ] && [ -z "${GIT_EDITOR}" ]; then + if [ "${TERM_PROGRAM}" = "vscode" ]; then + if [[ -n $(command -v code-insiders) && -z $(command -v code) ]]; then + export GIT_EDITOR="code-insiders --wait" + else + export GIT_EDITOR="code --wait" + fi + fi +fi + +EOF +)" + +# code shim, it fallbacks to code-insiders if code is not available +cat << 'EOF' > /usr/local/bin/code +#!/bin/sh + +get_in_path_except_current() { + which -a "$1" | grep -A1 "$0" | grep -v "$0" +} + +code="$(get_in_path_except_current code)" + +if [ -n "$code" ]; then + exec "$code" "$@" +elif [ "$(command -v code-insiders)" ]; then + exec code-insiders "$@" +else + echo "code or code-insiders is not installed" >&2 + exit 127 +fi +EOF +chmod +x /usr/local/bin/code + +# systemctl shim - tells people to use 'service' if systemd is not running +cat << 'EOF' > /usr/local/bin/systemctl +#!/bin/sh +set -e +if [ -d "/run/systemd/system" ]; then + exec /bin/systemctl/systemctl "$@" +else + echo '\n"systemd" is not running in this container due to its overhead.\nUse the "service" command to start services intead. e.g.: \n\nservice --status-all' +fi +EOF +chmod +x /usr/local/bin/systemctl + +# Codespaces bash and OMZ themes - partly inspired by https://github.com/ohmyzsh/ohmyzsh/blob/master/themes/robbyrussell.zsh-theme +codespaces_bash="$(cat \ +<<'EOF' + +# Codespaces bash prompt theme +__bash_prompt() { + local userpart='`export XIT=$? \ + && [ ! -z "${GITHUB_USER}" ] && echo -n "\[\033[0;32m\]@${GITHUB_USER} " || echo -n "\[\033[0;32m\]\u " \ + && [ "$XIT" -ne "0" ] && echo -n "\[\033[1;31m\]➜" || echo -n "\[\033[0m\]➜"`' + local gitbranch='`\ + export BRANCH=$(git symbolic-ref --short HEAD 2>/dev/null || git rev-parse --short HEAD 2>/dev/null); \ + if [ "${BRANCH}" != "" ]; then \ + echo -n "\[\033[0;36m\](\[\033[1;31m\]${BRANCH}" \ + && if git ls-files --error-unmatch -m --directory --no-empty-directory -o --exclude-standard ":/*" > /dev/null 2>&1; then \ + echo -n " \[\033[1;33m\]✗"; \ + fi \ + && echo -n "\[\033[0;36m\]) "; \ + fi`' + local lightblue='\[\033[1;34m\]' + local removecolor='\[\033[0m\]' + PS1="${userpart} ${lightblue}\w ${gitbranch}${removecolor}\$ " + unset -f __bash_prompt +} +__bash_prompt + +EOF +)" + +codespaces_zsh="$(cat \ +<<'EOF' +# Codespaces zsh prompt theme +__zsh_prompt() { + local prompt_username + if [ ! -z "${GITHUB_USER}" ]; then + prompt_username="@${GITHUB_USER}" + else + prompt_username="%n" + fi + PROMPT="%{$fg[green]%}${prompt_username} %(?:%{$reset_color%}➜ :%{$fg_bold[red]%}➜ )" # User/exit code arrow + PROMPT+='%{$fg_bold[blue]%}%(5~|%-1~/…/%3~|%4~)%{$reset_color%} ' # cwd + PROMPT+='$(git_prompt_info)%{$fg[white]%}$ %{$reset_color%}' # Git status + unset -f __zsh_prompt +} +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[cyan]%}(%{$fg_bold[red]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg_bold[yellow]%}✗%{$fg_bold[cyan]%})" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[cyan]%})" +__zsh_prompt + +EOF +)" + +# Add notice that Oh My Bash! has been removed from images and how to provide information on how to install manually +omb_readme="$(cat \ +<<'EOF' +"Oh My Bash!" has been removed from this image in favor of a simple shell prompt. If you +still wish to use it, remove "~/.oh-my-bash" and install it from: https://github.com/ohmybash/oh-my-bash +You may also want to consider "Bash-it" as an alternative: https://github.com/bash-it/bash-it +See here for infomation on adding it to your image or dotfiles: https://aka.ms/codespaces/omb-remove +EOF +)" +omb_stub="$(cat \ +<<'EOF' +#!/usr/bin/env bash +if [ -t 1 ]; then + cat $HOME/.oh-my-bash/README.md +fi +EOF +)" + +# Add RC snippet and custom bash prompt +if [ "${RC_SNIPPET_ALREADY_ADDED}" != "true" ]; then + echo "${rc_snippet}" >> /etc/bash.bashrc + echo "${codespaces_bash}" >> "${user_rc_path}/.bashrc" + echo 'export PROMPT_DIRTRIM=4' >> "${user_rc_path}/.bashrc" + if [ "${USERNAME}" != "root" ]; then + echo "${codespaces_bash}" >> "/root/.bashrc" + echo 'export PROMPT_DIRTRIM=4' >> "/root/.bashrc" + fi + chown ${USERNAME}:${USERNAME} "${user_rc_path}/.bashrc" + RC_SNIPPET_ALREADY_ADDED="true" +fi + +# Add stub for Oh My Bash! +if [ ! -d "${user_rc_path}/.oh-my-bash}" ] && [ "${INSTALL_OH_MYS}" = "true" ]; then + mkdir -p "${user_rc_path}/.oh-my-bash" "/root/.oh-my-bash" + echo "${omb_readme}" >> "${user_rc_path}/.oh-my-bash/README.md" + echo "${omb_stub}" >> "${user_rc_path}/.oh-my-bash/oh-my-bash.sh" + chmod +x "${user_rc_path}/.oh-my-bash/oh-my-bash.sh" + if [ "${USERNAME}" != "root" ]; then + echo "${omb_readme}" >> "/root/.oh-my-bash/README.md" + echo "${omb_stub}" >> "/root/.oh-my-bash/oh-my-bash.sh" + chmod +x "/root/.oh-my-bash/oh-my-bash.sh" + fi + chown -R "${USERNAME}:${USERNAME}" "${user_rc_path}/.oh-my-bash" +fi + +# Optionally install and configure zsh and Oh My Zsh! +if [ "${INSTALL_ZSH}" = "true" ]; then + if ! type zsh > /dev/null 2>&1; then + apt_get_update_if_needed + apt-get install -y zsh + fi + if [ "${ZSH_ALREADY_INSTALLED}" != "true" ]; then + echo "${rc_snippet}" >> /etc/zsh/zshrc + ZSH_ALREADY_INSTALLED="true" + fi + + # Adapted, simplified inline Oh My Zsh! install steps that adds, defaults to a codespaces theme. + # See https://github.com/ohmyzsh/ohmyzsh/blob/master/tools/install.sh for official script. + oh_my_install_dir="${user_rc_path}/.oh-my-zsh" + if [ ! -d "${oh_my_install_dir}" ] && [ "${INSTALL_OH_MYS}" = "true" ]; then + template_path="${oh_my_install_dir}/templates/zshrc.zsh-template" + user_rc_file="${user_rc_path}/.zshrc" + umask g-w,o-w + mkdir -p ${oh_my_install_dir} + git clone --depth=1 \ + -c core.eol=lf \ + -c core.autocrlf=false \ + -c fsck.zeroPaddedFilemode=ignore \ + -c fetch.fsck.zeroPaddedFilemode=ignore \ + -c receive.fsck.zeroPaddedFilemode=ignore \ + "https://github.com/ohmyzsh/ohmyzsh" "${oh_my_install_dir}" 2>&1 + echo -e "$(cat "${template_path}")\nDISABLE_AUTO_UPDATE=true\nDISABLE_UPDATE_PROMPT=true" > ${user_rc_file} + sed -i -e 's/ZSH_THEME=.*/ZSH_THEME="codespaces"/g' ${user_rc_file} + + mkdir -p ${oh_my_install_dir}/custom/themes + echo "${codespaces_zsh}" > "${oh_my_install_dir}/custom/themes/codespaces.zsh-theme" + # Shrink git while still enabling updates + cd "${oh_my_install_dir}" + git repack -a -d -f --depth=1 --window=1 + # Copy to non-root user if one is specified + if [ "${USERNAME}" != "root" ]; then + cp -rf "${user_rc_file}" "${oh_my_install_dir}" /root + chown -R ${USERNAME}:${USERNAME} "${user_rc_path}" + fi + fi +fi + +# Persist image metadata info, script if meta.env found in same directory +meta_info_script="$(cat << 'EOF' +#!/bin/sh +. /usr/local/etc/vscode-dev-containers/meta.env + +# Minimal output +if [ "$1" = "version" ] || [ "$1" = "image-version" ]; then + echo "${VERSION}" + exit 0 +elif [ "$1" = "release" ]; then + echo "${GIT_REPOSITORY_RELEASE}" + exit 0 +elif [ "$1" = "content" ] || [ "$1" = "content-url" ] || [ "$1" = "contents" ] || [ "$1" = "contents-url" ]; then + echo "${CONTENTS_URL}" + exit 0 +fi + +#Full output +echo +echo "Development container image information" +echo +if [ ! -z "${VERSION}" ]; then echo "- Image version: ${VERSION}"; fi +if [ ! -z "${DEFINITION_ID}" ]; then echo "- Definition ID: ${DEFINITION_ID}"; fi +if [ ! -z "${VARIANT}" ]; then echo "- Variant: ${VARIANT}"; fi +if [ ! -z "${GIT_REPOSITORY}" ]; then echo "- Source code repository: ${GIT_REPOSITORY}"; fi +if [ ! -z "${GIT_REPOSITORY_RELEASE}" ]; then echo "- Source code release/branch: ${GIT_REPOSITORY_RELEASE}"; fi +if [ ! -z "${BUILD_TIMESTAMP}" ]; then echo "- Timestamp: ${BUILD_TIMESTAMP}"; fi +if [ ! -z "${CONTENTS_URL}" ]; then echo && echo "More info: ${CONTENTS_URL}"; fi +echo +EOF +)" +if [ -f "${SCRIPT_DIR}/meta.env" ]; then + mkdir -p /usr/local/etc/vscode-dev-containers/ + cp -f "${SCRIPT_DIR}/meta.env" /usr/local/etc/vscode-dev-containers/meta.env + echo "${meta_info_script}" > /usr/local/bin/devcontainer-info + chmod +x /usr/local/bin/devcontainer-info +fi + +# Write marker file +mkdir -p "$(dirname "${MARKER_FILE}")" +echo -e "\ + PACKAGES_ALREADY_INSTALLED=${PACKAGES_ALREADY_INSTALLED}\n\ + LOCALE_ALREADY_SET=${LOCALE_ALREADY_SET}\n\ + EXISTING_NON_ROOT_USER=${EXISTING_NON_ROOT_USER}\n\ + RC_SNIPPET_ALREADY_ADDED=${RC_SNIPPET_ALREADY_ADDED}\n\ + ZSH_ALREADY_INSTALLED=${ZSH_ALREADY_INSTALLED}" > "${MARKER_FILE}" + +echo "Done!" diff --git a/.devcontainer/library-scripts/docker-in-docker-debian.sh b/.devcontainer/library-scripts/docker-in-docker-debian.sh new file mode 100644 index 0000000..e791680 --- /dev/null +++ b/.devcontainer/library-scripts/docker-in-docker-debian.sh @@ -0,0 +1,230 @@ +#!/usr/bin/env bash +#------------------------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. +#------------------------------------------------------------------------------------------------------------- +# +# Docs: https://github.com/microsoft/vscode-dev-containers/blob/main/script-library/docs/docker-in-docker.md +# Maintainer: The VS Code and Codespaces Teams +# +# Syntax: ./docker-in-docker-debian.sh [enable non-root docker access flag] [non-root user] [use moby] + +ENABLE_NONROOT_DOCKER=${1:-"true"} +USERNAME=${2:-"automatic"} +USE_MOBY=${3:-"true"} +MICROSOFT_GPG_KEYS_URI="https://packages.microsoft.com/keys/microsoft.asc" + +set -e + +if [ "$(id -u)" -ne 0 ]; then + echo -e 'Script must be run as root. Use sudo, su, or add "USER root" to your Dockerfile before running this script.' + exit 1 +fi + +# Determine the appropriate non-root user +if [ "${USERNAME}" = "auto" ] || [ "${USERNAME}" = "automatic" ]; then + USERNAME="" + POSSIBLE_USERS=("vscode" "node" "codespace" "$(awk -v val=1000 -F ":" '$3==val{print $1}' /etc/passwd)") + for CURRENT_USER in ${POSSIBLE_USERS[@]}; do + if id -u ${CURRENT_USER} > /dev/null 2>&1; then + USERNAME=${CURRENT_USER} + break + fi + done + if [ "${USERNAME}" = "" ]; then + USERNAME=root + fi +elif [ "${USERNAME}" = "none" ] || ! id -u ${USERNAME} > /dev/null 2>&1; then + USERNAME=root +fi + +# Get central common setting +get_common_setting() { + if [ "${common_settings_file_loaded}" != "true" ]; then + curl -sfL "https://aka.ms/vscode-dev-containers/script-library/settings.env" 2>/dev/null -o /tmp/vsdc-settings.env || echo "Could not download settings file. Skipping." + common_settings_file_loaded=true + fi + if [ -f "/tmp/vsdc-settings.env" ]; then + local multi_line="" + if [ "$2" = "true" ]; then multi_line="-z"; fi + local result="$(grep ${multi_line} -oP "$1=\"?\K[^\"]+" /tmp/vsdc-settings.env | tr -d '\0')" + if [ ! -z "${result}" ]; then declare -g $1="${result}"; fi + fi + echo "$1=${!1}" +} + +# Function to run apt-get if needed +apt_get_update_if_needed() +{ + if [ ! -d "/var/lib/apt/lists" ] || [ "$(ls /var/lib/apt/lists/ | wc -l)" = "0" ]; then + echo "Running apt-get update..." + apt-get update + else + echo "Skipping apt-get update." + fi +} + +# Checks if packages are installed and installs them if not +check_packages() { + if ! dpkg -s "$@" > /dev/null 2>&1; then + apt_get_update_if_needed + apt-get -y install --no-install-recommends "$@" + fi +} + +# Ensure apt is in non-interactive to avoid prompts +export DEBIAN_FRONTEND=noninteractive + +# Install dependencies +check_packages apt-transport-https curl ca-certificates lxc pigz iptables gnupg2 + +# Swap to legacy iptables for compatibility +if type iptables-legacy > /dev/null 2>&1; then + update-alternatives --set iptables /usr/sbin/iptables-legacy + update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy +fi + +# Install Docker / Moby CLI if not already installed +if type docker > /dev/null 2>&1 && type dockerd > /dev/null 2>&1; then + echo "Docker / Moby CLI and Engine already installed." +else + # Source /etc/os-release to get OS info + . /etc/os-release + if [ "${USE_MOBY}" = "true" ]; then + # Import key safely (new 'signed-by' method rather than deprecated apt-key approach) and install + get_common_setting MICROSOFT_GPG_KEYS_URI + curl -sSL ${MICROSOFT_GPG_KEYS_URI} | gpg --dearmor > /usr/share/keyrings/microsoft-archive-keyring.gpg + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/microsoft-archive-keyring.gpg] https://packages.microsoft.com/repos/microsoft-${ID}-${VERSION_CODENAME}-prod ${VERSION_CODENAME} main" > /etc/apt/sources.list.d/microsoft.list + apt-get update + apt-get -y install --no-install-recommends moby-cli moby-buildx moby-compose moby-engine + else + # Import key safely (new 'signed-by' method rather than deprecated apt-key approach) and install + curl -fsSL https://download.docker.com/linux/${ID}/gpg | gpg --dearmor > /usr/share/keyrings/docker-archive-keyring.gpg + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/${ID} ${VERSION_CODENAME} stable" > /etc/apt/sources.list.d/docker.list + apt-get update + apt-get -y install --no-install-recommends docker-ce-cli docker-ce + fi +fi + +echo "Finished installing docker / moby" + +# Install Docker Compose if not already installed and is on a supported architecture +if type docker-compose > /dev/null 2>&1; then + echo "Docker Compose already installed." +else + TARGET_COMPOSE_ARCH="$(uname -m)" + if [ "${TARGET_COMPOSE_ARCH}" = "amd64" ]; then + TARGET_COMPOSE_ARCH="x86_64" + fi + if [ "${TARGET_COMPOSE_ARCH}" != "x86_64" ]; then + # Use pip to get a version that runns on this architecture + if ! dpkg -s python3-minimal python3-pip libffi-dev python3-venv pipx > /dev/null 2>&1; then + apt_get_update_if_needed + apt-get -y install python3-minimal python3-pip libffi-dev python3-venv pipx + fi + export PIPX_HOME=/usr/local/pipx + mkdir -p ${PIPX_HOME} + export PIPX_BIN_DIR=/usr/local/bin + export PIP_CACHE_DIR=/tmp/pip-tmp/cache + pipx install --system-site-packages --pip-args '--no-cache-dir --force-reinstall' docker-compose + rm -rf /tmp/pip-tmp + else + LATEST_COMPOSE_VERSION=$(basename "$(curl -fsSL -o /dev/null -w "%{url_effective}" https://github.com/docker/compose/releases/latest)") + curl -fsSL "https://github.com/docker/compose/releases/download/${LATEST_COMPOSE_VERSION}/docker-compose-$(uname -s)-${TARGET_COMPOSE_ARCH}" -o /usr/local/bin/docker-compose + chmod +x /usr/local/bin/docker-compose + fi +fi + +# If init file already exists, exit +if [ -f "/usr/local/share/docker-init.sh" ]; then + echo "/usr/local/share/docker-init.sh already exists, so exiting." + exit 0 +fi +echo "docker-init doesnt exist..." + +# Add user to the docker group +if [ "${ENABLE_NONROOT_DOCKER}" = "true" ]; then + if ! getent group docker > /dev/null 2>&1; then + groupadd docker + fi + usermod -aG docker ${USERNAME} +fi + +tee /usr/local/share/docker-init.sh > /dev/null \ +<< 'EOF' +#!/usr/bin/env bash +#------------------------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. +#------------------------------------------------------------------------------------------------------------- + +sudoIf() +{ + if [ "$(id -u)" -ne 0 ]; then + sudo "$@" + else + "$@" + fi +} + +# explicitly remove dockerd and containerd PID file to ensure that it can start properly if it was stopped uncleanly +# ie: docker kill +sudoIf find /run /var/run -iname 'docker*.pid' -delete || : +sudoIf find /run /var/run -iname 'container*.pid' -delete || : + +set -e + +## Dind wrapper script from docker team +# Maintained: https://github.com/moby/moby/blob/master/hack/dind + +export container=docker + +if [ -d /sys/kernel/security ] && ! sudoIf mountpoint -q /sys/kernel/security; then + sudoIf mount -t securityfs none /sys/kernel/security || { + echo >&2 'Could not mount /sys/kernel/security.' + echo >&2 'AppArmor detection and --privileged mode might break.' + } +fi + +# Mount /tmp (conditionally) +if ! sudoIf mountpoint -q /tmp; then + sudoIf mount -t tmpfs none /tmp +fi + +# cgroup v2: enable nesting +if [ -f /sys/fs/cgroup/cgroup.controllers ]; then + # move the init process (PID 1) from the root group to the /init group, + # otherwise writing subtree_control fails with EBUSY. + sudoIf mkdir -p /sys/fs/cgroup/init + sudoIf echo 1 > /sys/fs/cgroup/init/cgroup.procs + # enable controllers + sudoIf sed -e 's/ / +/g' -e 's/^/+/' < /sys/fs/cgroup/cgroup.controllers \ + > /sys/fs/cgroup/cgroup.subtree_control +fi +## Dind wrapper over. + +# Handle DNS +set +e +cat /etc/resolv.conf | grep -i 'internal.cloudapp.net' +if [ $? -eq 0 ] +then + echo "Setting dockerd Azure DNS." + CUSTOMDNS="--dns 168.63.129.16" +else + echo "Not setting dockerd DNS manually." + CUSTOMDNS="" +fi +set -e + +# Start docker/moby engine +( sudoIf dockerd $CUSTOMDNS > /tmp/dockerd.log 2>&1 ) & + +set +e + +# Execute whatever commands were passed in (if any). This allows us +# to set this script to ENTRYPOINT while still executing the default CMD. +exec "$@" +EOF + +chmod +x /usr/local/share/docker-init.sh +chown ${USERNAME}:root /usr/local/share/docker-init.sh diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index dcd7cb0..c46ad0d 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -8,7 +8,7 @@ There are many ways to contribute to the project! - Answering questions on the [WP.org support forums](https://wordpress.org/support/plugin/woocommerce-local-pickup-time-select/). - Testing open [issues](https://github.com/WC-Local-Pickup/woocommerce-local-pickup-time/issues) or [pull requests](https://github.com/WC-Local-Pickup/woocommerce-local-pickup-time/pulls) and sharing your findings in a comment. - Submitting fixes, improvements, and enhancements. -- To disclose a security issue to our team. +- Disclose a security issue to our team by responsibly contacting the lead developer via DM to `@tnolte` in the [WordPress Slack](https://wordpress.slack.com/) or via secure message to [timnolte](https://keybase.io/timnolte/chat). (*NOTE*: Please disclose responsibly and not via GitHub, which allows for exploiting issues in the wild before the patch is released.) If you wish to contribute code, please read the information in the sections below. Then [fork](https://help.github.com/articles/fork-a-repo/) the plugin, commit your changes, and [submit a pull request](https://help.github.com/articles/using-pull-requests/) 🎉 diff --git a/.github/ISSUE_TEMPLATE/1-Security-issue.md b/.github/ISSUE_TEMPLATE/1-Security-issue.md index 30192b2..4b94058 100644 --- a/.github/ISSUE_TEMPLATE/1-Security-issue.md +++ b/.github/ISSUE_TEMPLATE/1-Security-issue.md @@ -7,6 +7,6 @@ assignees: '' --- -For security reasons, please report all security issues via DM to `@tnolte` in the WordPress Slack. https://wordpress.slack.com/ +For security reasons, please report all security issues via DM to `@tnolte` in the [WordPress Slack](https://wordpress.slack.com/) or via Keybase secure message to [timnolte](https://keybase.io/timnolte/chat). Please disclose responsibly and not via GitHub (which allows for exploiting issues in the wild before the patch is released). diff --git a/.github/workflows/i18n.yml b/.github/workflows/i18n.yml index 9f51122..3e40082 100644 --- a/.github/workflows/i18n.yml +++ b/.github/workflows/i18n.yml @@ -6,7 +6,7 @@ on: branches: - develop - main - - 'dev-release/**' + - 'release/**' - 'feature/**' - 'fix/**' @@ -27,7 +27,7 @@ jobs: uses: actions/setup-node@v1 # https://github.com/marketplace/actions/setup-node-js-environment with: - node-version: 12.x + node-version: 14.x - name: Cache node modules uses: actions/cache@v2 @@ -43,7 +43,7 @@ jobs: ${{ runner.os }}- - name: NPM Install - run: npm install + run: npm ci - name: Check i18n Compliance run: npm run check:i18n diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 85f6a55..bd3ba51 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -6,12 +6,12 @@ on: branches: - develop - main - - 'dev-release/**' + - 'release/**' - 'feature/**' - 'fix/**' env: - PHP_VERSION: 7.3 + PHP_VERSION: 7.4 WP_MULTISITE: 0 jobs: @@ -29,7 +29,7 @@ jobs: # https://github.com/marketplace/actions/setup-php-action with: php-version: ${{ env.PHP_VERSION }} - tools: composer:v1 + tools: composer:v2 - name: Cache Composer dependencies uses: actions/cache@v2 diff --git a/.github/workflows/pr-unit-testing.yml b/.github/workflows/pr-unit-testing.yml index 5d8f3a0..5df6d60 100644 --- a/.github/workflows/pr-unit-testing.yml +++ b/.github/workflows/pr-unit-testing.yml @@ -7,10 +7,10 @@ on: pull_request: env: - PHP_PREF_MIN_VERSION: '7.3' - WP_STABLE_VERSION: '5.5.*' + PHP_PREF_MIN_VERSION: '7.4' + WP_STABLE_VERSION: '5.7.*' WP_MULTISITE: 0 - WC_STABLE_VERSION: '4.8.*' + WC_STABLE_VERSION: '5.7.*' jobs: test: @@ -22,10 +22,10 @@ jobs: include: - job-name: 'Latest Stable Requirements' bleeding-edge: false - php-version: '7.3' - wordpress-version: '5.5.*' + php-version: '7.4' + wordpress-version: '5.7.*' wp-multisite-mode: 0 - woocommerce-version: '4.8.*' + woocommerce-version: '5.7.*' name: '${{ matrix.job-name }} (PHP:${{ matrix.php-version }}/WP:${{ matrix.wordpress-version }}/WC:${{ matrix.woocommerce-version }})' @@ -38,13 +38,13 @@ jobs: # https://github.com/marketplace/actions/setup-php-action with: php-version: ${{ matrix.php-version }} - tools: composer:v1 + tools: composer:v2 - name: Setup Node Environment uses: actions/setup-node@v1 # https://github.com/marketplace/actions/setup-node-js-environment with: - node-version: 12.x + node-version: 14.x - name: Cache Composer dependencies uses: actions/cache@v2 @@ -59,34 +59,16 @@ jobs: ${{ runner.os }}- - name: Require Specified WordPress Version - run: composer require wordpress/wordpress:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies - - - name: Update Composer Lockfile for Specified WordPress Version - run: composer update wordpress/wordpress:${{ matrix.wordpress-version }} --lock --prefer-source + run: composer require johnpbloch/wordpress-core:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies - name: Require Specified WooCommerce Version - run: composer require woocommerce/woocommerce:${{ matrix.woocommerce-version }} --dev --prefer-source --update-with-all-dependencies - - - name: Update Composer Lockfile for Specified WooCommerce Version - run: composer update woocommerce/woocommerce:${{ matrix.woocommerce-version }} --lock --prefer-source - - - name: Require Specified WooCommerce Admin Version - if: matrix.woocommerce-version == 'dev-master' - run: composer require woocommerce/woocommerce-admin:v1.3.0-beta.1 --dev --prefer-source --update-with-all-dependencies - - - name: Update Composer Lockfile for Specified WooCommerce Admin Version - if: matrix.woocommerce-version == 'dev-master' - run: composer update woocommerce/woocommerce-admin:v1.3.0-beta.1 --lock --prefer-source + run: composer require wpackagist-plugin/woocommerce:${{ matrix.woocommerce-version }} --dev --prefer-source --update-with-all-dependencies - - name: PHPUnit PHP 7.4 Support - if: matrix.php-version == '7.4' - run: | - composer global require phpunit/php-code-coverage=dev-master - composer global require sebastian/global-state:dev-master - composer global require phpunit/phpunit=dev-master + - name: Install Composer Dependencies + run: composer install - name: NPM Setup - run: npm install + run: npm ci - name: Unit Tests run: npm run test diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8769f2f..88a1009 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,6 +11,8 @@ jobs: release: name: New Release + if: github.repository == 'WC-Local-Pickup/woocommerce-local-pickup-time' + runs-on: ubuntu-latest steps: @@ -21,7 +23,7 @@ jobs: uses: actions/setup-node@v1 # https://github.com/marketplace/actions/setup-node-js-environment with: - node-version: 12.x + node-version: 14.x - name: Cache Node Modules uses: actions/cache@v2 @@ -37,7 +39,7 @@ jobs: ${{ runner.os }}- - name: NPM Install - run: npm install + run: npm ci - name: Prepare a WordPress.org Release run: npm run release diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml index c27d93d..66a9d9d 100644 --- a/.github/workflows/static-analysis.yml +++ b/.github/workflows/static-analysis.yml @@ -6,16 +6,13 @@ on: branches: - develop - main - - 'dev-release/**' + - 'release/**' - 'feature/**' - 'fix/**' env: - PHP_VERSION: 7.3 - WP_MODE: 'single' + PHP_VERSION: 7.4 WP_MULTISITE: 0 - WP_VERSION: '5.5.*' - WC_VERSION: '4.7.*' jobs: check: @@ -32,7 +29,7 @@ jobs: # https://github.com/marketplace/actions/setup-php-action with: php-version: ${{ env.PHP_VERSION }} - tools: composer:v1 + tools: composer:v2 - name: Cache Composer dependencies uses: actions/cache@v2 @@ -46,12 +43,6 @@ jobs: ${{ runner.os }}-build- ${{ runner.os }}- - - name: Require Specified WordPress Version - run: composer require wordpress/wordpress:${{ env.WP_VERSION }} --dev --prefer-source --update-with-all-dependencies - - - name: Require Specified WooCommerce Version - run: composer require woocommerce/woocommerce:${{ env.WC_VERSION }} --dev --prefer-source --update-with-all-dependencies - - name: Install Composer Dependencies run: composer install diff --git a/.github/workflows/unit-testing.yml b/.github/workflows/unit-testing.yml index 3db1fcc..aa23ce8 100644 --- a/.github/workflows/unit-testing.yml +++ b/.github/workflows/unit-testing.yml @@ -8,20 +8,19 @@ on: branches: - develop - main - - 'dev-release/**' - - 'feature/**' - - 'fix/**' env: PHP_MIN_VERSION: '7.2' PHP_PREF_MIN_VERSION: '7.3' PHP_STABLE_VERSION: '7.4' - WP_MIN_VERSION: '5.3.*' - WP_PREF_MIN_VERSION: '5.4.*' - WP_STABLE_VERSION: '5.5.*' + WP_MIN_VERSION: '5.5.*' + WP_PREF_MIN_VERSION: '5.6.*' + WP_PREF_STABLE_VERSION: '5.7.*' + WP_STABLE_VERSION: '5.8.*' WC_MIN_VERSION: '4.6.*' - WC_PREF_MIN_VERSION: '4.7.*' - WC_STABLE_VERSION: '4.8.*' + WC_PREF_MIN_VERSION: '4.8.*' + WC_PREF_STABLE_VERSION: '5.*' + WC_STABLE_VERSION: '6.*' jobs: test: @@ -34,20 +33,26 @@ jobs: include: - job-name: 'Latest Stable Requirements' bleeding-edge: false - php-version: '7.3' - wordpress-version: '5.5.*' + php-version: '7.4' + wordpress-version: '5.8.*' wp-multisite-mode: 0 - woocommerce-version: '4.8.*' + woocommerce-version: '6.*' + - job-name: 'Preferred Stable Requirements' + bleeding-edge: false + php-version: '7.4' + wordpress-version: '5.7.*' + wp-multisite-mode: 0 + woocommerce-version: '5.*' - job-name: 'Preferred Minimum Requirements' bleeding-edge: false php-version: '7.3' - wordpress-version: '5.4.*' + wordpress-version: '5.6.*' wp-multisite-mode: 0 - woocommerce-version: '4.7.*' + woocommerce-version: '4.8.*' - job-name: 'Minimum Requirements' bleeding-edge: false php-version: '7.2' - wordpress-version: '5.3.*' + wordpress-version: '5.5.*' wp-multisite-mode: 0 woocommerce-version: '4.6.*' - job-name: 'Bleeding Edge Requirements' @@ -58,10 +63,10 @@ jobs: woocommerce-version: 'dev-master' - job-name: 'Multisite Compatibility Requirements' bleeding-edge: false - php-version: '7.3' - wordpress-version: '5.4.*' + php-version: '7.4' + wordpress-version: '5.7.*' wp-multisite-mode: 1 - woocommerce-version: '4.7.*' + woocommerce-version: '5.*' name: '${{ matrix.job-name }} (PHP:${{ matrix.php-version }}/WP:${{ matrix.wordpress-version }}/WC:${{ matrix.woocommerce-version }})' @@ -74,13 +79,13 @@ jobs: # https://github.com/marketplace/actions/setup-php-action with: php-version: ${{ matrix.php-version }} - tools: composer:v1 + tools: composer:v2 - name: Setup Node Environment uses: actions/setup-node@v1 # https://github.com/marketplace/actions/setup-node-js-environment with: - node-version: 12.x + node-version: 14.x - name: Cache Composer dependencies uses: actions/cache@v2 @@ -95,34 +100,32 @@ jobs: ${{ runner.os }}- - name: Require Specified WordPress Version - run: composer require wordpress/wordpress:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies - - - name: Update Composer Lockfile for Specified WordPress Version - run: composer update wordpress/wordpress:${{ matrix.wordpress-version }} --lock --prefer-source + run: composer require johnpbloch/wordpress-core:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies - name: Require Specified WooCommerce Version run: composer require woocommerce/woocommerce:${{ matrix.woocommerce-version }} --dev --prefer-source --update-with-all-dependencies - - name: Update Composer Lockfile for Specified WooCommerce Version - run: composer update woocommerce/woocommerce:${{ matrix.woocommerce-version }} --lock --prefer-source - - name: Require Specified WooCommerce Admin Version if: matrix.woocommerce-version == 'dev-master' run: composer require woocommerce/woocommerce-admin:v1.3.0-beta.1 --dev --prefer-source --update-with-all-dependencies - - name: Update Composer Lockfile for Specified WooCommerce Admin Version - if: matrix.woocommerce-version == 'dev-master' - run: composer update woocommerce/woocommerce-admin:v1.3.0-beta.1 --lock --prefer-source - - - name: PHPUnit PHP 7.4 Support - if: matrix.php-version == '7.4' + - name: PHPUnit PHP 8.0 Support + if: matrix.php-version == '8.0' run: | - composer global require phpunit/php-code-coverage=dev-master - composer global require sebastian/global-state:dev-master - composer global require phpunit/phpunit=dev-master + composer require sebastian/code-unit:^2.0 --dev -W --ignore-platform-req=php + composer require phpunit/phpunit:dev-master --dev -W --ignore-platform-req=php + composer require phpro/grumphp:dev-master --dev -W --ignore-platform-req=php + + - name: Install Composer Dependencies (PHP 8.0) + if: matrix.php-version == '8.0' + run: composer install --ignore-platform-req=php + + - name: Install Composer Dependencies + if: matrix.php-version != '8.0' + run: composer install - name: NPM Setup - run: npm install + run: npm ci - name: Unit Tests env: diff --git a/.gitignore b/.gitignore index 374ac51..6dfb0d4 100644 --- a/.gitignore +++ b/.gitignore @@ -49,4 +49,5 @@ cache node_modules vendor dist +woocommerce wordpress diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 0000000..b238cda --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,15 @@ +# List the start up tasks. Learn more https://www.gitpod.io/docs/config-start-tasks/ +tasks: + - name: WordPress Development Environment + init: npm run setup # runs during prebuild + command: | + npm start -- --update + +# List the ports to expose. Learn more https://www.gitpod.io/docs/config-ports/ +ports: + - port: 8888 + onOpen: notify + visibility: public + - port: 8889 + onOpen: notify + visibility: public diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..1dab4ed --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +save-exact = true diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index a8925cf..0000000 --- a/.travis.yml +++ /dev/null @@ -1,145 +0,0 @@ -# Travis CI Configuration File - -# Tell Travis CI which distro to use -dist: trusty - -sudo: false - -# Tell Travis CI we're using PHP -language: php - -# Tell Travis CI which notifications to send -notifications: - email: - on_success: never - on_failure: change - -# whitelist branches for the "push" build check -branches: - only: - - develop - - main - - /^dev\-release\/.*$/ - - /^feature\/.*$/ - - /^fix\/.*$/ - -# Git clone depth -# By default Travis CI clones repositories to a depth of 50 commits -git: - depth: 1 - -cache: - directories: - - vendor - - $HOME/.composer/cache - -# Define build versions for maitrix -env: - global: - - PHP_MIN_VERSION="7.2" - - PHP_PREF_MIN_VERSION="7.3" - - PHP_STABLE_VERSION="7.4" - - WP_MIN_VERSION="5.3.*" - - WP_PREF_MIN_VERSION="5.4.*" - - WP_STABLE_VERSION="5.5.*" - - WC_MIN_VERSION="4.6.*" - - WC_PREF_MIN_VERSION="4.7.*" - - WC_STABLE_VERSION="4.8.*" - -# Define a matrix of additional build configurations -# The versions listed above will automatically create our first configuration, -# so it doesn't need to be re-defined below. -matrix: - fast_finish: true - include: - - name: Internationalization - php: "${PHP_PREF_MIN_VERSION}" - env: WP_MODE=single I18N=1 - - name: Coding Standards - php: "${PHP_PREF_MIN_VERSION}" - env: WP_MODE=single PHP_LINT=1 - - name: Static Code Analysis - php: "${PHP_PREF_MIN_VERSION}" - env: WP_MODE=single WP_VERSION="${WP_STABLE_VERSION}" WC_VERSION="${WC_PREF_MIN_VERSION}" PHP_ANALYZE=1 - - name: Latest Stable - php: "${PHP_PREF_MIN_VERSION}" - env: WP_MODE=single WP_VERSION="${WP_STABLE_VERSION}" WC_VERSION="${WC_STABLE_VERSION}" PHP_UNIT=1 COVERAGE=1 - - name: Preferred Minimum requirements - if: (branch IN (develop, main) OR branch =~ /^dev\-release\/.*$/) AND NOT type = pull_request - php: "${PHP_PREF_MIN_VERSION}" - env: WP_MODE=single WP_VERSION="${WP_PREF_MIN_VERSION}" WC_VERSION="${WC_PREF_MIN_VERSION}" PHP_UNIT=1 - - name: Minimum requirements - if: (branch IN (develop, main) OR branch =~ /^dev\-release\/.*$/) AND NOT type = pull_request - php: "${PHP_MIN_VERSION}" - env: WP_MODE=single WP_VERSION="${WP_MIN_VERSION}" WC_VERSION="${WC_MIN_VERSION}" PHP_UNIT=1 - - name: Bleeding Edge - if: (branch IN (develop, main) OR branch =~ /^dev\-release\/.*$/) AND NOT type = pull_request - php: "${PHP_STABLE_VERSION}" - env: WP_MODE=single WP_VERSION=dev-master WC_VERSION=dev-master PHP_UNIT=1 - - name: Multisite Compatibility - if: (branch IN (develop, main) OR branch =~ /^dev\-release\/.*$/) AND NOT type = pull_request - php: "${PHP_PREF_MIN_VERSION}" - env: WP_MODE=multi WP_VERSION="${WP_PREF_MIN_VERSION}" WC_VERSION="${WC_PREF_MIN_VERSION}" PHP_UNIT=1 - allow_failures: - - name: Bleeding Edge - -addons: - apt: - packages: - - nodejs - -before_install: - - npm install -g npm@6.14 - - composer self-update --1 - # Setup correct WordPress & WooCommerce versions. - - | - if [[ "$PHP_UNIT" == "1" || "$PHP_ANALYZE" == "1" ]]; then - composer require "wordpress/wordpress:${WP_VERSION}" --dev --prefer-source --with-dependencies - composer require "woocommerce/woocommerce:${WC_VERSION}" --dev --prefer-source --with-dependencies - if [[ "$WC_VERSION" == "dev-master" ]]; then - composer require "woocommerce/woocommerce-admin:v1.3.0-beta.1" --dev --prefer-source --with-dependencies - fi - fi - # Setup unit testing environment. - - | - if [[ "$PHP_UNIT" == "1" ]]; then - # bash scripts/install-wp-tests.sh wordpress_test root '' localhost $WP_VERSION - if [[ $TRAVIS_PHP_VERSION == "7.4" ]]; then - composer global require "phpunit/php-code-coverage=dev-master" - composer global require "sebastian/global-state:dev-master" - composer global require "phpunit/phpunit=dev-master" - else - composer global require "phpunit/phpunit=7.*" - fi - fi - -install: - - npm run ci:setup - -before_script: - - export PATH="$HOME/.composer/vendor/bin:$PATH" - -script: - - | - if [[ "$I18N" == "1" ]]; then - if [[ "$WP_MODE" == "single" ]]; then WP_MULTISITE=0 npm run i18n:check; fi - fi - - | - if [[ "$PHP_LINT" == "1" ]]; then - if [[ "$WP_MODE" == "single" ]]; then WP_MULTISITE=0 npm run lint; fi - fi - - | - if [[ "$PHP_ANALYZE" == "1" ]]; then - if [[ "$WP_MODE" == "single" ]]; then WP_MULTISITE=0 npm run analyze; fi - fi - - | - if [[ "$PHP_UNIT" == "1" ]]; then - if [[ "$WP_MODE" == "multi" ]]; then WP_MULTISITE=1 npm run test; fi - if [[ "$WP_MODE" == "single" ]]; then WP_MULTISITE=0 npm run test; fi - fi - -after_success: - - | - if [[ "$COVERAGE" == "1" ]]; then - bash <(curl -s https://codecov.io/bash) - fi diff --git a/.wp-env.json b/.wp-env.json new file mode 100644 index 0000000..c26a286 --- /dev/null +++ b/.wp-env.json @@ -0,0 +1,36 @@ +{ + "core": "./wordpress", + "phpVersion": "7.4", + "plugins": ["."], + "mappings": { + "wp-content/mu-plugins": "./tools/local-env/mu-plugins", + "wp-content/config": "./tools/local-env/config", + "wp-content/uploads/backups": "./tools/local-env/backups" + }, + "env": { + "development": { + "plugins": [ + ".", + "https://downloads.wordpress.org/plugin/debug-bar.zip", + "https://downloads.wordpress.org/plugin/query-monitor.zip", + "https://downloads.wordpress.org/plugin/debug-bar-post-meta.zip", + "https://downloads.wordpress.org/plugin/transients-manager.zip", + "https://downloads.wordpress.org/plugin/wp-cfm.zip" + ], + "themes": ["https://downloads.wordpress.org/theme/storefront.zip"] + }, + "tests": { + "plugins": ["."] + } + }, + "config": { + "PHP_INI_MEMORY_LIMIT": "512M", + "WP_MEMORY_LIMIT": "512M", + "WP_DEBUG": true, + "WP_DEBUG_LOG": true, + "WP_DEBUG_DISPLAY": false, + "SCRIPT_DEBUG": true, + "SMTP_HOST": "mailhog", + "SMTP_PORT": 1025 + } +} diff --git a/Gruntfile.js b/Gruntfile.js index 3d44e89..048203d 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -80,13 +80,13 @@ module.exports = function (grunt) { addtextdomain: { options: { - textdomain: 'woocommerce-local-pickup-time', // Project text domain. + textdomain: 'woocommerce-local-pickup-time-select', // Project text domain. }, update_all_domains: { options: { updateDomains: true }, - src: ['*.php', '**/*.php', '!node_modules/**', '!tests/**', '!scripts/**', '!wordpress/**'] + src: ['*.php', '**/*.php', '!node_modules/**', '!tests/**', '!tools/**', '!scripts/**', '!vendor/**', '!wordpress/**'] }, }, @@ -105,10 +105,12 @@ module.exports = function (grunt) { exclude: [ 'node_modules/.*', //npm '.wordpress-org/.*', //wp-org assets + '.devcontainer/.*', 'dist/.*', //build directory '.git/.*', //version control '.github/.*', //GitHub platform 'tests/.*', 'scripts/.*', //unit testing + 'tools/.*', 'vendor/.*', //composer 'wordpress/.*', ], // List of files or directories to ignore. @@ -143,7 +145,7 @@ module.exports = function (grunt) { checktextdomain: { options: { - text_domain: 'woocommerce-local-pickup-time', + text_domain: 'woocommerce-local-pickup-time-select', keywords: [ '__:1,2d', '_e:1,2d', @@ -168,6 +170,7 @@ module.exports = function (grunt) { '!node_modules/**', '!dist/**', '!tests/**', + '!tools/**', '!vendor/**', '!wordpress/**', '!*~', diff --git a/admin/class-local-pickup-time-admin.php b/admin/class-local-pickup-time-admin.php index a780f15..ebb61f6 100644 --- a/admin/class-local-pickup-time-admin.php +++ b/admin/class-local-pickup-time-admin.php @@ -84,23 +84,23 @@ public static function get_instance() { * * @since 1.0.0 * - * @param array $settings The array of WooCommerce General Plugin Settings. + * @param array $settings The array of WooCommerce General Plugin Settings. * - * @return array + * @return array */ public function add_hours_and_closings_options( $settings ) { $updated_settings = array(); $updated_settings[] = array( array( - 'title' => __( 'Store Hours and Closings for Local Pickup', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Store Hours and Closings for Local Pickup', 'woocommerce-local-pickup-time-select' ), 'type' => 'title', - 'desc' => __( 'The following options affect when order pickups begin and end each day, and which days to not allow order pickups.', 'woocommerce-local-pickup-time' ), + 'desc' => __( 'The following options affect when order pickups begin and end each day, and which days to not allow order pickups.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours', ), array( - 'title' => __( 'Monday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'This sets the pickup start time for Monday. Use 24-hour time format.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Monday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup start time for Monday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours_monday_start', 'css' => 'width:120px;', 'default' => '10:00', @@ -108,8 +108,8 @@ public function add_hours_and_closings_options( $settings ) { 'desc_tip' => true, ), array( - 'title' => __( 'Monday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'This sets the pickup end time for Monday. Use 24-hour time format.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Monday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup end time for Monday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours_monday_end', 'css' => 'width:120px;', 'default' => '19:00', @@ -117,8 +117,8 @@ public function add_hours_and_closings_options( $settings ) { 'desc_tip' => true, ), array( - 'title' => __( 'Tuesday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'This sets the pickup start time for Tuesday. Use 24-hour time format.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Tuesday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup start time for Tuesday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours_tuesday_start', 'css' => 'width:120px;', 'default' => '10:00', @@ -126,8 +126,8 @@ public function add_hours_and_closings_options( $settings ) { 'desc_tip' => true, ), array( - 'title' => __( 'Tuesday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'This sets the pickup end time for Tuesday. Use 24-hour time format.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Tuesday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup end time for Tuesday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours_tuesday_end', 'css' => 'width:120px;', 'default' => '19:00', @@ -135,8 +135,8 @@ public function add_hours_and_closings_options( $settings ) { 'desc_tip' => true, ), array( - 'title' => __( 'Wednesday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'This sets the pickup start time for Wednesday. Use 24-hour time format.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Wednesday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup start time for Wednesday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours_wednesday_start', 'css' => 'width:120px;', 'default' => '10:00', @@ -144,8 +144,8 @@ public function add_hours_and_closings_options( $settings ) { 'desc_tip' => true, ), array( - 'title' => __( 'Wednesday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'This sets the pickup end time for Wednesday. Use 24-hour time format.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Wednesday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup end time for Wednesday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours_wednesday_end', 'css' => 'width:120px;', 'default' => '19:00', @@ -153,8 +153,8 @@ public function add_hours_and_closings_options( $settings ) { 'desc_tip' => true, ), array( - 'title' => __( 'Thursday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'This sets the pickup start time for Thursday. Use 24-hour time format.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Thursday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup start time for Thursday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours_thursday_start', 'css' => 'width:120px;', 'default' => '10:00', @@ -162,8 +162,8 @@ public function add_hours_and_closings_options( $settings ) { 'desc_tip' => true, ), array( - 'title' => __( 'Thursday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'This sets the pickup end time for Thursday. Use 24-hour time format.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Thursday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup end time for Thursday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours_thursday_end', 'css' => 'width:120px;', 'default' => '19:00', @@ -171,8 +171,8 @@ public function add_hours_and_closings_options( $settings ) { 'desc_tip' => true, ), array( - 'title' => __( 'Friday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'This sets the pickup start time for Friday. Use 24-hour time format.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Friday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup start time for Friday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours_friday_start', 'css' => 'width:120px;', 'default' => '10:00', @@ -180,8 +180,8 @@ public function add_hours_and_closings_options( $settings ) { 'desc_tip' => true, ), array( - 'title' => __( 'Friday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'This sets the pickup end time for Friday. Use 24-hour time format.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Friday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup end time for Friday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours_friday_end', 'css' => 'width:120px;', 'default' => '19:00', @@ -189,8 +189,8 @@ public function add_hours_and_closings_options( $settings ) { 'desc_tip' => true, ), array( - 'title' => __( 'Saturday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'This sets the pickup start time for Saturday. Use 24-hour time format.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Saturday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup start time for Saturday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours_saturday_start', 'css' => 'width:120px;', 'default' => '10:00', @@ -198,8 +198,8 @@ public function add_hours_and_closings_options( $settings ) { 'desc_tip' => true, ), array( - 'title' => __( 'Saturday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'This sets the pickup end time for Saturday. Use 24-hour time format.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Saturday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup end time for Saturday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours_saturday_end', 'css' => 'width:120px;', 'default' => '19:00', @@ -207,8 +207,8 @@ public function add_hours_and_closings_options( $settings ) { 'desc_tip' => true, ), array( - 'title' => __( 'Sunday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'This sets the pickup start time for Sunday. Use 24-hour time format.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Sunday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup start time for Sunday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours_sunday_start', 'css' => 'width:120px;', 'default' => '10:00', @@ -216,8 +216,8 @@ public function add_hours_and_closings_options( $settings ) { 'desc_tip' => true, ), array( - 'title' => __( 'Sunday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'This sets the pickup end time for Sunday. Use 24-hour time format.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Sunday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup end time for Sunday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours_sunday_end', 'css' => 'width:120px;', 'default' => '19:00', @@ -225,8 +225,8 @@ public function add_hours_and_closings_options( $settings ) { 'desc_tip' => true, ), array( - 'title' => __( 'Store Closing Days (use MM/DD/YYYY format)', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'This sets the days the store is closed. Enter one date per line, in format MM/DD/YYYY.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Store Closing Days (use MM/DD/YYYY format)', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the days the store is closed. Enter one date per line, in format MM/DD/YYYY.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours_closings', 'css' => 'width:250px;height:150px;', 'default' => '01/01/2014', @@ -234,8 +234,8 @@ public function add_hours_and_closings_options( $settings ) { 'desc_tip' => true, ), array( - 'title' => __( 'Pickup Time Interval', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'Choose the time interval for allowing local pickup orders.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Pickup Time Interval', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'Choose the time interval for allowing local pickup orders.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_hours_interval', 'css' => 'width:100px;', 'default' => '30', @@ -243,19 +243,19 @@ public function add_hours_and_closings_options( $settings ) { 'class' => 'chosen_select', 'desc_tip' => true, 'options' => array( - '5' => __( '5 minutes', 'woocommerce-local-pickup-time' ), - '10' => __( '10 minutes', 'woocommerce-local-pickup-time' ), - '15' => __( '15 minutes', 'woocommerce-local-pickup-time' ), - '20' => __( '20 minutes', 'woocommerce-local-pickup-time' ), - '30' => __( '30 minutes', 'woocommerce-local-pickup-time' ), - '45' => __( '45 minutes', 'woocommerce-local-pickup-time' ), - '60' => __( '1 hour', 'woocommerce-local-pickup-time' ), - '120' => __( '2 hours', 'woocommerce-local-pickup-time' ), + '5' => __( '5 minutes', 'woocommerce-local-pickup-time-select' ), + '10' => __( '10 minutes', 'woocommerce-local-pickup-time-select' ), + '15' => __( '15 minutes', 'woocommerce-local-pickup-time-select' ), + '20' => __( '20 minutes', 'woocommerce-local-pickup-time-select' ), + '30' => __( '30 minutes', 'woocommerce-local-pickup-time-select' ), + '45' => __( '45 minutes', 'woocommerce-local-pickup-time-select' ), + '60' => __( '1 hour', 'woocommerce-local-pickup-time-select' ), + '120' => __( '2 hours', 'woocommerce-local-pickup-time-select' ), ), ), array( - 'title' => __( 'Pickup Time Delay', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'Choose the time delay from the time of ordering for allowing local pickup orders.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Pickup Time Delay', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'Choose the time delay from the time of ordering for allowing local pickup orders.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_delay_minutes', 'css' => 'width:100px;', 'default' => '60', @@ -263,28 +263,28 @@ public function add_hours_and_closings_options( $settings ) { 'class' => 'chosen_select', 'desc_tip' => true, 'options' => array( - '5' => __( '5 minutes', 'woocommerce-local-pickup-time' ), - '10' => __( '10 minutes', 'woocommerce-local-pickup-time' ), - '15' => __( '15 minutes', 'woocommerce-local-pickup-time' ), - '20' => __( '20 minutes', 'woocommerce-local-pickup-time' ), - '30' => __( '30 minutes', 'woocommerce-local-pickup-time' ), - '45' => __( '45 minutes', 'woocommerce-local-pickup-time' ), - '60' => __( '1 hour', 'woocommerce-local-pickup-time' ), - '120' => __( '2 hours', 'woocommerce-local-pickup-time' ), - '240' => __( '4 hours', 'woocommerce-local-pickup-time' ), - '480' => __( '8 hours', 'woocommerce-local-pickup-time' ), - '960' => __( '16 hours', 'woocommerce-local-pickup-time' ), - '1440' => __( '24 hours', 'woocommerce-local-pickup-time' ), - '2160' => __( '36 hours', 'woocommerce-local-pickup-time' ), - '2880' => __( '48 hours', 'woocommerce-local-pickup-time' ), - '4320' => __( '3 days', 'woocommerce-local-pickup-time' ), - '7200' => __( '5 days', 'woocommerce-local-pickup-time' ), - '10080' => __( '1 week', 'woocommerce-local-pickup-time' ), + '5' => __( '5 minutes', 'woocommerce-local-pickup-time-select' ), + '10' => __( '10 minutes', 'woocommerce-local-pickup-time-select' ), + '15' => __( '15 minutes', 'woocommerce-local-pickup-time-select' ), + '20' => __( '20 minutes', 'woocommerce-local-pickup-time-select' ), + '30' => __( '30 minutes', 'woocommerce-local-pickup-time-select' ), + '45' => __( '45 minutes', 'woocommerce-local-pickup-time-select' ), + '60' => __( '1 hour', 'woocommerce-local-pickup-time-select' ), + '120' => __( '2 hours', 'woocommerce-local-pickup-time-select' ), + '240' => __( '4 hours', 'woocommerce-local-pickup-time-select' ), + '480' => __( '8 hours', 'woocommerce-local-pickup-time-select' ), + '960' => __( '16 hours', 'woocommerce-local-pickup-time-select' ), + '1440' => __( '24 hours', 'woocommerce-local-pickup-time-select' ), + '2160' => __( '36 hours', 'woocommerce-local-pickup-time-select' ), + '2880' => __( '48 hours', 'woocommerce-local-pickup-time-select' ), + '4320' => __( '3 days', 'woocommerce-local-pickup-time-select' ), + '7200' => __( '5 days', 'woocommerce-local-pickup-time-select' ), + '10080' => __( '1 week', 'woocommerce-local-pickup-time-select' ), ), ), array( - 'title' => __( 'Pickup Time Open Days Ahead', 'woocommerce-local-pickup-time' ), - 'desc' => __( 'Choose the number of open days ahead for allowing local pickup orders. This is inclusive of the current day, if timeslots are still available.', 'woocommerce-local-pickup-time' ), + 'title' => __( 'Pickup Time Open Days Ahead', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'Choose the number of open days ahead for allowing local pickup orders. This is inclusive of the current day, if timeslots are still available.', 'woocommerce-local-pickup-time-select' ), 'id' => 'local_pickup_days_ahead', 'css' => 'width:100px;', 'default' => '1', @@ -329,7 +329,7 @@ public function show_metabox( $order ) { 'strong' => array(), ); - echo wp_kses( '

' . __( 'Pickup Time:', 'woocommerce-local-pickup-time' ) . ' ' . esc_html( $this->pickup_time_select_translatable( $pickup_time ) ) . '

', $allowed_html ); + echo wp_kses( '

' . __( 'Pickup Time:', 'woocommerce-local-pickup-time-select' ) . ' ' . esc_html( $this->pickup_time_select_translatable( $pickup_time ) ) . '

', $allowed_html ); } @@ -350,7 +350,7 @@ public function add_orders_list_pickup_date_column_header( $columns ) { $new_columns[ $column_name ] = $column_info; if ( 'order_date' === $column_name ) { - $new_columns[ $this->plugin->get_order_meta_key() ] = __( 'Pickup Time', 'woocommerce-local-pickup-time' ); + $new_columns[ $this->plugin->get_order_meta_key() ] = __( 'Pickup Time', 'woocommerce-local-pickup-time-select' ); } } diff --git a/composer.json b/composer.json index 1c13f32..250f38a 100644 --- a/composer.json +++ b/composer.json @@ -23,77 +23,72 @@ ], "config": { "platform": { - "php": "7.3" + "php": "7.4" }, - "optimize-autoloader": true + "optimize-autoloader": true, + "sort-packages": true, + "allow-plugins": { + "composer/installers": true, + "automattic/jetpack-autoloader": true, + "dealerdirect/phpcodesniffer-composer-installer": true, + "johnpbloch/wordpress-core-installer": true, + "phpro/grumphp": true, + "phpstan/extension-installer": true + } }, "repositories": [ { - "type": "git", - "url": "https://github.com/wordpress/wordpress-develop" - }, - { - "type": "git", - "url": "https://github.com/woocommerce/woocommerce" + "type": "composer", + "url": "https://wpackagist.org" } ], + "require": { + "php": ">=7.3.0", + "composer/installers": "~1.0" + }, "require-dev": { "php": ">=7.3.0", - "composer/installers": "*", - "mnsami/composer-custom-directory-installer": "~1.0", - "squizlabs/php_codesniffer": "^3.5", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7", - "wp-coding-standards/wpcs": "~2.3.0", - "woocommerce/woocommerce-sniffs": "^0.1.0", - "phpcompatibility/php-compatibility": "^9.3", + "brain/monkey": "^2.4", + "dealerdirect/phpcodesniffer-composer-installer": "~0.7", + "johnpbloch/wordpress-core": "~5.7.0", + "johnpbloch/wordpress-core-installer": "^2.0", + "mockery/mockery": "^1.3", + "php-stubs/wordpress-stubs": "~5.7.0", + "phpcompatibility/php-compatibility": "^9.0", "phpcompatibility/phpcompatibility-wp": "^2.1", "phpmd/phpmd": "^2.6", + "phpro/grumphp": "~1.5.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.2", "phpunit/phpunit": "^7", - "phpstan/phpstan": "*", - "phpstan/extension-installer": "^1.0", - "szepeviktor/phpstan-wordpress": "*", - "phpstan/phpstan-deprecation-rules": "^0.12", - "wordpress/wordpress": "~5.4.2", - "woocommerce/woocommerce": "~4.7.0", - "woocommerce/woocommerce-git-hooks": "^1.0", - "brain/monkey": "^2.4", - "mockery/mockery": "^1.3", - "phpro/grumphp": "~1.3.0", "roave/security-advisories": "dev-master", - "sensiolabs/security-checker": "^5.0" + "sensiolabs/security-checker": "^5.0", + "squizlabs/php_codesniffer": "^3.3", + "szepeviktor/phpstan-wordpress": "^1.0", + "woocommerce/action-scheduler": "~3.2.1", + "woocommerce/woocommerce-admin": "~2.6.0", + "woocommerce/woocommerce-blocks": "~5.5.0", + "woocommerce/woocommerce-sniffs": "^0.1.0", + "wp-coding-standards/wpcs": "^2.2", + "wp-phpunit/wp-phpunit": "~5.7.0", + "wpackagist-plugin/woocommerce": "~5.7.0" }, - "autoload-dev": { - "classmap": [ - "woocommerce-local-pickup-time.php", - "admin/class-local-pickup-time-admin.php", - "public/class-local-pickup-time.php", - "wordpress/src/", - "vendor/woocommerce/woocommerce/includes/" - ], + "autoload": { "exclude-from-classmap": [ - "/vendor/woocommerce/woocommerce/vendor/**", - "/vendor/woocommerce/woocommerce/packges/**", - "/vendor/woocommerce/woocommerce-rest-api/**", - "/vendor/woocommerce/woocommerce-blocks/**", - "/vendor/woocommerce/action-scheduler/**", - "/vendor/woocommerce/woocommerce-admin/**", - "/wordpress/vendor/**" + "wordpress/wp-content/plugins/woocommerce/includes/legacy", + "wordpress/wp-content/plugins/woocommerce/includes/libraries/wp-async-request.php", + "wordpress/wp-content/plugins/woocommerce/packages", + "wordpress/wp-content/plugins/woocommerce/vendor", + "wordpress/wp-content/plugins/woocommerce-admin/vendor", + "wordpress/wp-content/plugins/woocommerce-blocks/vendor" ] }, - "autoload": { + "autoload-dev": { "classmap": [ "woocommerce-local-pickup-time.php", "admin/class-local-pickup-time-admin.php", - "public/class-local-pickup-time.php" - ], - "exclude-from-classmap": [ - "vendor/woocommerce/woocommerce/vendor/**", - "vendor/woocommerce/woocommerce/packges/**", - "vendor/woocommerce/woocommerce-rest-api/**", - "vendor/woocommerce/woocommerce-blocks/**", - "vendor/woocommerce/action-scheduler/**", - "vendor/woocommerce/woocommerce-admin/**", - "wordpress/vendor/**" + "public/class-local-pickup-time.php", + "wordpress/" ] }, "scripts": { @@ -106,26 +101,25 @@ "post-update-cmd": [ "@install-codestandards" ], - "pre-autoload-dump": [ - "cd vendor/woocommerce/woocommerce && composer install && cd ../../../" - ], "phpcs": "vendor/bin/phpcs", "phpcbf": "vendor/bin/phpcbf", "phpstan": "vendor/bin/phpstan", - "lint": "vendor/bin/phpcs --report=full .", - "analyze": "vendor/bin/phpstan analyze ." + "lint": "@phpcs --report=full .", + "lint-fix": "@phpcbf", + "analyze": "@phpstan analyze ." }, "extra": { + "wordpress-install-dir": "wordpress", + "wordpress-content-dir": "wordpress/wp-content", "installer-paths": { - "vendor/{$vendor}/{$name}": [ - "woocommerce/woocommerce", - "woocommerce/woocommerce-rest-api", - "woocommerce/woocommerce-blocks", - "woocommerce/action-scheduler", - "woocommerce/woocommerce-admin" + "wordpress/wp-content/plugins/{$name}": [ + "type:wordpress-plugin" + ], + "wordpress/wp-content/mu-plugins/{$name}": [ + "type:wordpress-muplugin" ], - "{$name}": [ - "wordpress/wordpress" + "wordpress/wp-content/themes/{$name}": [ + "type:wordpress-theme" ] }, "phpcodesniffer-search-depth": 5 diff --git a/composer.lock b/composer.lock index c704b04..41e4d71 100644 --- a/composer.lock +++ b/composer.lock @@ -4,32 +4,184 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "68147402cfce086c899565aef04111e0", - "packages": [], + "content-hash": "14c520f8b27d633049128ef85eaa912a", + "packages": [ + { + "name": "composer/installers", + "version": "v1.12.0", + "source": { + "type": "git", + "url": "https://github.com/composer/installers.git", + "reference": "d20a64ed3c94748397ff5973488761b22f6d3f19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/installers/zipball/d20a64ed3c94748397ff5973488761b22f6d3f19", + "reference": "d20a64ed3c94748397ff5973488761b22f6d3f19", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0 || ^2.0" + }, + "replace": { + "roundcube/plugin-installer": "*", + "shama/baton": "*" + }, + "require-dev": { + "composer/composer": "1.6.* || ^2.0", + "composer/semver": "^1 || ^3", + "phpstan/phpstan": "^0.12.55", + "phpstan/phpstan-phpunit": "^0.12.16", + "symfony/phpunit-bridge": "^4.2 || ^5", + "symfony/process": "^2.3" + }, + "type": "composer-plugin", + "extra": { + "class": "Composer\\Installers\\Plugin", + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Installers\\": "src/Composer/Installers" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kyle Robinson Young", + "email": "kyle@dontkry.com", + "homepage": "https://github.com/shama" + } + ], + "description": "A multi-framework Composer library installer", + "homepage": "https://composer.github.io/installers/", + "keywords": [ + "Craft", + "Dolibarr", + "Eliasis", + "Hurad", + "ImageCMS", + "Kanboard", + "Lan Management System", + "MODX Evo", + "MantisBT", + "Mautic", + "Maya", + "OXID", + "Plentymarkets", + "Porto", + "RadPHP", + "SMF", + "Starbug", + "Thelia", + "Whmcs", + "WolfCMS", + "agl", + "aimeos", + "annotatecms", + "attogram", + "bitrix", + "cakephp", + "chef", + "cockpit", + "codeigniter", + "concrete5", + "croogo", + "dokuwiki", + "drupal", + "eZ Platform", + "elgg", + "expressionengine", + "fuelphp", + "grav", + "installer", + "itop", + "joomla", + "known", + "kohana", + "laravel", + "lavalite", + "lithium", + "magento", + "majima", + "mako", + "mediawiki", + "miaoxing", + "modulework", + "modx", + "moodle", + "osclass", + "pantheon", + "phpbb", + "piwik", + "ppi", + "processwire", + "puppet", + "pxcms", + "reindex", + "roundcube", + "shopware", + "silverstripe", + "sydes", + "sylius", + "symfony", + "tastyigniter", + "typo3", + "wordpress", + "yawik", + "zend", + "zikula" + ], + "support": { + "issues": "https://github.com/composer/installers/issues", + "source": "https://github.com/composer/installers/tree/v1.12.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2021-09-13T08:19:44+00:00" + } + ], "packages-dev": [ { "name": "amphp/amp", - "version": "v2.5.2", + "version": "v2.6.1", "source": { "type": "git", "url": "https://github.com/amphp/amp.git", - "reference": "efca2b32a7580087adb8aabbff6be1dc1bb924a9" + "reference": "c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/amp/zipball/efca2b32a7580087adb8aabbff6be1dc1bb924a9", - "reference": "efca2b32a7580087adb8aabbff6be1dc1bb924a9", + "url": "https://api.github.com/repos/amphp/amp/zipball/c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae", + "reference": "c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae", "shasum": "" }, "require": { - "php": ">=7" + "php": ">=7.1" }, "require-dev": { "amphp/php-cs-fixer-config": "dev-master", "amphp/phpunit-util": "^1", "ext-json": "*", "jetbrains/phpstorm-stubs": "^2019.3", - "phpunit/phpunit": "^6.0.9 | ^7", + "phpunit/phpunit": "^7 | ^8 | ^9", "psalm/phar": "^3.11@dev", "react/promise": "^2" }, @@ -83,26 +235,31 @@ "non-blocking", "promise" ], + "support": { + "irc": "irc://irc.freenode.org/amphp", + "issues": "https://github.com/amphp/amp/issues", + "source": "https://github.com/amphp/amp/tree/v2.6.1" + }, "funding": [ { "url": "https://github.com/amphp", "type": "github" } ], - "time": "2021-01-10T17:06:37+00:00" + "time": "2021-09-23T18:43:08+00:00" }, { "name": "amphp/byte-stream", - "version": "v1.8.0", + "version": "v1.8.1", "source": { "type": "git", "url": "https://github.com/amphp/byte-stream.git", - "reference": "f0c20cf598a958ba2aa8c6e5a71c697d652c7088" + "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/byte-stream/zipball/f0c20cf598a958ba2aa8c6e5a71c697d652c7088", - "reference": "f0c20cf598a958ba2aa8c6e5a71c697d652c7088", + "url": "https://api.github.com/repos/amphp/byte-stream/zipball/acbd8002b3536485c997c4e019206b3f10ca15bd", + "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd", "shasum": "" }, "require": { @@ -155,20 +312,31 @@ "non-blocking", "stream" ], - "time": "2020-06-29T18:35:05+00:00" + "support": { + "irc": "irc://irc.freenode.org/amphp", + "issues": "https://github.com/amphp/byte-stream/issues", + "source": "https://github.com/amphp/byte-stream/tree/v1.8.1" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2021-03-30T17:13:30+00:00" }, { "name": "amphp/parallel", - "version": "v1.4.0", + "version": "v1.4.1", "source": { "type": "git", "url": "https://github.com/amphp/parallel.git", - "reference": "2c1039bf7ca137eae4d954b14c09a7535d7d4e1c" + "reference": "fbc128383c1ffb3823866f71b88d8c4722a25ce9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/parallel/zipball/2c1039bf7ca137eae4d954b14c09a7535d7d4e1c", - "reference": "2c1039bf7ca137eae4d954b14c09a7535d7d4e1c", + "url": "https://api.github.com/repos/amphp/parallel/zipball/fbc128383c1ffb3823866f71b88d8c4722a25ce9", + "reference": "fbc128383c1ffb3823866f71b88d8c4722a25ce9", "shasum": "" }, "require": { @@ -219,7 +387,17 @@ "multi-processing", "multi-threading" ], - "time": "2020-04-27T15:12:37+00:00" + "support": { + "issues": "https://github.com/amphp/parallel/issues", + "source": "https://github.com/amphp/parallel/tree/v1.4.1" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2021-10-25T19:16:02+00:00" }, { "name": "amphp/parallel-functions", @@ -266,6 +444,10 @@ } ], "description": "Parallel processing made simple.", + "support": { + "issues": "https://github.com/amphp/parallel-functions/issues", + "source": "https://github.com/amphp/parallel-functions/tree/master" + }, "funding": [ { "url": "https://github.com/amphp", @@ -323,20 +505,24 @@ "parser", "stream" ], + "support": { + "issues": "https://github.com/amphp/parser/issues", + "source": "https://github.com/amphp/parser/tree/is-valid" + }, "time": "2017-06-06T05:29:10+00:00" }, { "name": "amphp/process", - "version": "v1.1.0", + "version": "v1.1.3", "source": { "type": "git", "url": "https://github.com/amphp/process.git", - "reference": "355b1e561b01c16ab3d78fada1ad47ccc96df70e" + "reference": "f09e3ed3b0a953ccbfff1140f12be4a884f0aa83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/process/zipball/355b1e561b01c16ab3d78fada1ad47ccc96df70e", - "reference": "355b1e561b01c16ab3d78fada1ad47ccc96df70e", + "url": "https://api.github.com/repos/amphp/process/zipball/f09e3ed3b0a953ccbfff1140f12be4a884f0aa83", + "reference": "f09e3ed3b0a953ccbfff1140f12be4a884f0aa83", "shasum": "" }, "require": { @@ -367,18 +553,28 @@ "name": "Bob Weinand", "email": "bobwei9@hotmail.com" }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - }, { "name": "Aaron Piotrowski", "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" } ], "description": "Asynchronous process manager.", "homepage": "https://github.com/amphp/process", - "time": "2019-02-26T16:33:03+00:00" + "support": { + "issues": "https://github.com/amphp/process/issues", + "source": "https://github.com/amphp/process/tree/v1.1.3" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2021-12-17T19:09:33+00:00" }, { "name": "amphp/serialization", @@ -432,20 +628,24 @@ "serialization", "serialize" ], + "support": { + "issues": "https://github.com/amphp/serialization/issues", + "source": "https://github.com/amphp/serialization/tree/master" + }, "time": "2020-03-25T21:39:07+00:00" }, { "name": "amphp/sync", - "version": "v1.4.0", + "version": "v1.4.2", "source": { "type": "git", "url": "https://github.com/amphp/sync.git", - "reference": "613047ac54c025aa800a9cde5b05c3add7327ed4" + "reference": "85ab06764f4f36d63b1356b466df6111cf4b89cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/sync/zipball/613047ac54c025aa800a9cde5b05c3add7327ed4", - "reference": "613047ac54c025aa800a9cde5b05c3add7327ed4", + "url": "https://api.github.com/repos/amphp/sync/zipball/85ab06764f4f36d63b1356b466df6111cf4b89cf", + "reference": "85ab06764f4f36d63b1356b466df6111cf4b89cf", "shasum": "" }, "require": { @@ -490,20 +690,30 @@ "semaphore", "synchronization" ], - "time": "2020-05-07T18:57:50+00:00" + "support": { + "issues": "https://github.com/amphp/sync/issues", + "source": "https://github.com/amphp/sync/tree/v1.4.2" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2021-10-25T18:29:10+00:00" }, { "name": "antecedent/patchwork", - "version": "2.1.12", + "version": "2.1.17", "source": { "type": "git", "url": "https://github.com/antecedent/patchwork.git", - "reference": "b98e046dd4c0acc34a0846604f06f6111654d9ea" + "reference": "df5aba175a44c2996ced4edf8ec9f9081b5348c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/antecedent/patchwork/zipball/b98e046dd4c0acc34a0846604f06f6111654d9ea", - "reference": "b98e046dd4c0acc34a0846604f06f6111654d9ea", + "url": "https://api.github.com/repos/antecedent/patchwork/zipball/df5aba175a44c2996ced4edf8ec9f9081b5348c0", + "reference": "df5aba175a44c2996ced4edf8ec9f9081b5348c0", "shasum": "" }, "require": { @@ -534,33 +744,48 @@ "runkit", "testing" ], - "time": "2019-12-22T17:52:09+00:00" + "support": { + "issues": "https://github.com/antecedent/patchwork/issues", + "source": "https://github.com/antecedent/patchwork/tree/2.1.17" + }, + "time": "2021-10-21T14:22:43+00:00" }, { "name": "automattic/jetpack-autoloader", - "version": "v2.2.0", + "version": "2.10.1", "source": { "type": "git", "url": "https://github.com/Automattic/jetpack-autoloader.git", - "reference": "66a5d150b3928be718d86696f85631a7f0b98a7b" + "reference": "20393c4677765c3e737dcb5aee7a3f7b90dce4b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/66a5d150b3928be718d86696f85631a7f0b98a7b", - "reference": "66a5d150b3928be718d86696f85631a7f0b98a7b", + "url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/20393c4677765c3e737dcb5aee7a3f7b90dce4b3", + "reference": "20393c4677765c3e737dcb5aee7a3f7b90dce4b3", "shasum": "" }, "require": { "composer-plugin-api": "^1.1 || ^2.0" }, "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5" + "automattic/jetpack-changelogger": "^1.1", + "yoast/phpunit-polyfills": "0.2.0" }, "type": "composer-plugin", "extra": { - "class": "Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin" + "class": "Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin", + "mirror-repo": "Automattic/jetpack-autoloader", + "changelogger": { + "link-template": "https://github.com/Automattic/jetpack-autoloader/compare/v${old}...v${new}" + }, + "branch-alias": { + "dev-master": "2.10.x-dev" + } }, "autoload": { + "classmap": [ + "src/AutoloadGenerator.php" + ], "psr-4": { "Automattic\\Jetpack\\Autoloader\\": "src" } @@ -570,62 +795,34 @@ "GPL-2.0-or-later" ], "description": "Creates a custom autoloader for a plugin or theme.", - "time": "2020-08-14T20:34:36+00:00" - }, - { - "name": "automattic/jetpack-constants", - "version": "v1.5.0", - "source": { - "type": "git", - "url": "https://github.com/Automattic/jetpack-constants.git", - "reference": "9827a2f446b8c4faafaf1c740483031c073a381d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Automattic/jetpack-constants/zipball/9827a2f446b8c4faafaf1c740483031c073a381d", - "reference": "9827a2f446b8c4faafaf1c740483031c073a381d", - "shasum": "" - }, - "require-dev": { - "php-mock/php-mock": "^2.1", - "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] + "support": { + "source": "https://github.com/Automattic/jetpack-autoloader/tree/2.10.1" }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "description": "A wrapper for defining constants in a more testable way.", - "time": "2020-08-13T14:33:09+00:00" + "time": "2021-03-30T15:15:59+00:00" }, { "name": "brain/monkey", - "version": "2.6.0", + "version": "2.6.1", "source": { "type": "git", "url": "https://github.com/Brain-WP/BrainMonkey.git", - "reference": "7042140000b4b18034c0c0010d86274a00f25442" + "reference": "a31c84515bb0d49be9310f52ef1733980ea8ffbb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Brain-WP/BrainMonkey/zipball/7042140000b4b18034c0c0010d86274a00f25442", - "reference": "7042140000b4b18034c0c0010d86274a00f25442", + "url": "https://api.github.com/repos/Brain-WP/BrainMonkey/zipball/a31c84515bb0d49be9310f52ef1733980ea8ffbb", + "reference": "a31c84515bb0d49be9310f52ef1733980ea8ffbb", "shasum": "" }, "require": { - "antecedent/patchwork": "^2.0", - "mockery/mockery": ">=0.9 <2", + "antecedent/patchwork": "^2.1.17", + "mockery/mockery": "^1.3.5 || ^1.4.4", "php": ">=5.6.0" }, "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.6 || ^0.7", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.1", "phpcompatibility/php-compatibility": "^9.3.0", - "phpunit/phpunit": "^5.7.9 || ^6.0 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^5.7.26 || ^6.0 || ^7.0 || >=8.0 <8.5.12 || ^8.5.14 || ^9.0" }, "type": "library", "extra": { @@ -667,20 +864,24 @@ "test", "testing" ], - "time": "2020-10-13T17:56:14+00:00" + "support": { + "issues": "https://github.com/Brain-WP/BrainMonkey/issues", + "source": "https://github.com/Brain-WP/BrainMonkey" + }, + "time": "2021-11-11T15:53:55+00:00" }, { "name": "composer/ca-bundle", - "version": "1.2.9", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5" + "reference": "4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/78a0e288fdcebf92aa2318a8d3656168da6ac1a5", - "reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b", + "reference": "4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b", "shasum": "" }, "require": { @@ -692,7 +893,7 @@ "phpstan/phpstan": "^0.12.55", "psr/log": "^1.0", "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0" + "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0" }, "type": "library", "extra": { @@ -724,6 +925,11 @@ "ssl", "tls" ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/ca-bundle/issues", + "source": "https://github.com/composer/ca-bundle/tree/1.3.1" + }, "funding": [ { "url": "https://packagist.com", @@ -738,43 +944,39 @@ "type": "tidelift" } ], - "time": "2021-01-12T12:10:35+00:00" + "time": "2021-10-28T20:44:15+00:00" }, { - "name": "composer/installers", - "version": "v1.7.0", + "name": "composer/pcre", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/composer/installers.git", - "reference": "141b272484481432cda342727a427dc1e206bfa0" + "url": "https://github.com/composer/pcre.git", + "reference": "3d322d715c43a1ac36c7fe215fa59336265500f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/installers/zipball/141b272484481432cda342727a427dc1e206bfa0", - "reference": "141b272484481432cda342727a427dc1e206bfa0", + "url": "https://api.github.com/repos/composer/pcre/zipball/3d322d715c43a1ac36c7fe215fa59336265500f2", + "reference": "3d322d715c43a1ac36c7fe215fa59336265500f2", "shasum": "" }, "require": { - "composer-plugin-api": "^1.0" - }, - "replace": { - "roundcube/plugin-installer": "*", - "shama/baton": "*" + "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "composer/composer": "1.0.*@dev", - "phpunit/phpunit": "^4.8.36" + "phpstan/phpstan": "^1", + "phpstan/phpstan-strict-rules": "^1.1", + "symfony/phpunit-bridge": "^4.2 || ^5" }, - "type": "composer-plugin", + "type": "library", "extra": { - "class": "Composer\\Installers\\Plugin", "branch-alias": { - "dev-master": "1.0-dev" + "dev-main": "1.x-dev" } }, "autoload": { "psr-4": { - "Composer\\Installers\\": "src/Composer/Installers" + "Composer\\Pcre\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -783,105 +985,61 @@ ], "authors": [ { - "name": "Kyle Robinson Young", - "email": "kyle@dontkry.com", - "homepage": "https://github.com/shama" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" } ], - "description": "A multi-framework Composer library installer", - "homepage": "https://composer.github.io/installers/", + "description": "PCRE wrapping library that offers type-safe preg_* replacements.", "keywords": [ - "Craft", - "Dolibarr", - "Eliasis", - "Hurad", - "ImageCMS", - "Kanboard", - "Lan Management System", - "MODX Evo", - "Mautic", - "Maya", - "OXID", - "Plentymarkets", - "Porto", - "RadPHP", - "SMF", - "Thelia", - "Whmcs", - "WolfCMS", - "agl", - "aimeos", - "annotatecms", - "attogram", - "bitrix", - "cakephp", - "chef", - "cockpit", - "codeigniter", - "concrete5", - "croogo", - "dokuwiki", - "drupal", - "eZ Platform", - "elgg", - "expressionengine", - "fuelphp", - "grav", - "installer", - "itop", - "joomla", - "known", - "kohana", - "laravel", - "lavalite", - "lithium", - "magento", - "majima", - "mako", - "mediawiki", - "modulework", - "modx", - "moodle", - "osclass", - "phpbb", - "piwik", - "ppi", - "puppet", - "pxcms", - "reindex", - "roundcube", - "shopware", - "silverstripe", - "sydes", - "symfony", - "typo3", - "wordpress", - "yawik", - "zend", - "zikula" + "PCRE", + "preg", + "regex", + "regular expression" ], - "time": "2019-08-12T15:00:31+00:00" + "support": { + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/1.0.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2021-12-06T15:17:27+00:00" }, { "name": "composer/xdebug-handler", - "version": "1.4.5", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "f28d44c286812c714741478d968104c5e604a1d4" + "reference": "6555461e76962fd0379c444c46fd558a0fcfb65e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/f28d44c286812c714741478d968104c5e604a1d4", - "reference": "f28d44c286812c714741478d968104c5e604a1d4", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6555461e76962fd0379c444c46fd558a0fcfb65e", + "reference": "6555461e76962fd0379c444c46fd558a0fcfb65e", "shasum": "" }, "require": { + "composer/pcre": "^1", "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1.0" + "psr/log": "^1 || ^2 || ^3" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8" + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.1", + "symfony/phpunit-bridge": "^4.2 || ^5.0 || ^6.0" }, "type": "library", "autoload": { @@ -904,6 +1062,11 @@ "Xdebug", "performance" ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/2.0.3" + }, "funding": [ { "url": "https://packagist.com", @@ -918,26 +1081,26 @@ "type": "tidelift" } ], - "time": "2020-11-13T08:04:11+00:00" + "time": "2021-12-08T13:07:32+00:00" }, { "name": "dealerdirect/phpcodesniffer-composer-installer", - "version": "v0.7.0", + "version": "v0.7.1", "source": { "type": "git", "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git", - "reference": "e8d808670b8f882188368faaf1144448c169c0b7" + "reference": "fe390591e0241955f22eb9ba327d137e501c771c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/e8d808670b8f882188368faaf1144448c169c0b7", - "reference": "e8d808670b8f882188368faaf1144448c169c0b7", + "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/fe390591e0241955f22eb9ba327d137e501c771c", + "reference": "fe390591e0241955f22eb9ba327d137e501c771c", "shasum": "" }, "require": { "composer-plugin-api": "^1.0 || ^2.0", "php": ">=5.3", - "squizlabs/php_codesniffer": "^2 || ^3 || 4.0.x-dev" + "squizlabs/php_codesniffer": "^2.0 || ^3.0 || ^4.0" }, "require-dev": { "composer/composer": "*", @@ -984,30 +1147,34 @@ "stylecheck", "tests" ], - "time": "2020-06-25T14:57:39+00:00" + "support": { + "issues": "https://github.com/dealerdirect/phpcodesniffer-composer-installer/issues", + "source": "https://github.com/dealerdirect/phpcodesniffer-composer-installer" + }, + "time": "2020-12-07T18:04:37+00:00" }, { "name": "doctrine/collections", - "version": "1.6.7", + "version": "1.6.8", "source": { "type": "git", "url": "https://github.com/doctrine/collections.git", - "reference": "55f8b799269a1a472457bd1a41b4f379d4cfba4a" + "reference": "1958a744696c6bb3bb0d28db2611dc11610e78af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/55f8b799269a1a472457bd1a41b4f379d4cfba4a", - "reference": "55f8b799269a1a472457bd1a41b4f379d4cfba4a", + "url": "https://api.github.com/repos/doctrine/collections/zipball/1958a744696c6bb3bb0d28db2611dc11610e78af", + "reference": "1958a744696c6bb3bb0d28db2611dc11610e78af", "shasum": "" }, "require": { "php": "^7.1.3 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpstan/phpstan-shim": "^0.9.2", - "phpunit/phpunit": "^7.0", - "vimeo/psalm": "^3.8.1" + "doctrine/coding-standard": "^9.0", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.1.5", + "vimeo/psalm": "^4.2.1" }, "type": "library", "autoload": { @@ -1049,7 +1216,11 @@ "iterators", "php" ], - "time": "2020-07-27T17:53:49+00:00" + "support": { + "issues": "https://github.com/doctrine/collections/issues", + "source": "https://github.com/doctrine/collections/tree/1.6.8" + }, + "time": "2021-08-10T18:51:53+00:00" }, { "name": "doctrine/instantiator", @@ -1100,6 +1271,10 @@ "constructor", "instantiate" ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.4.0" + }, "funding": [ { "url": "https://www.doctrine-project.org/sponsorship.html", @@ -1118,27 +1293,27 @@ }, { "name": "gitonomy/gitlib", - "version": "v1.2.3", + "version": "v1.3.2", "source": { "type": "git", "url": "https://github.com/gitonomy/gitlib.git", - "reference": "d22f212b97fdb631ac73dfae65c194dc4cb0d227" + "reference": "e73e439590b194b0b250b516b22a68c7116e2f21" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/gitonomy/gitlib/zipball/d22f212b97fdb631ac73dfae65c194dc4cb0d227", - "reference": "d22f212b97fdb631ac73dfae65c194dc4cb0d227", + "url": "https://api.github.com/repos/gitonomy/gitlib/zipball/e73e439590b194b0b250b516b22a68c7116e2f21", + "reference": "e73e439590b194b0b250b516b22a68c7116e2f21", "shasum": "" }, "require": { "ext-pcre": "*", "php": "^5.6 || ^7.0 || ^8.0", "symfony/polyfill-mbstring": "^1.7", - "symfony/process": "^3.4 || ^4.0 || ^5.0" + "symfony/process": "^3.4 || ^4.4 || ^5.0 || ^6.0" }, "require-dev": { "ext-fileinfo": "*", - "phpunit/phpunit": "^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0", + "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.20 || ^9.5.9", "psr/log": "^1.0" }, "suggest": { @@ -1158,7 +1333,7 @@ "authors": [ { "name": "Graham Campbell", - "email": "graham@alt-three.com" + "email": "hello@gjcampbell.co.uk" }, { "name": "Julien Didier", @@ -1174,13 +1349,17 @@ } ], "description": "Library for accessing git", + "support": { + "issues": "https://github.com/gitonomy/gitlib/issues", + "source": "https://github.com/gitonomy/gitlib/tree/v1.3.2" + }, "funding": [ { "url": "https://tidelift.com/funding/github/packagist/gitonomy/gitlib", "type": "tidelift" } ], - "time": "2020-12-29T16:48:45+00:00" + "time": "2021-09-06T20:30:10+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -1227,204 +1406,126 @@ "keywords": [ "test" ], + "support": { + "issues": "https://github.com/hamcrest/hamcrest-php/issues", + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + }, "time": "2020-07-09T08:09:16+00:00" }, { - "name": "league/container", - "version": "3.3.3", + "name": "johnpbloch/wordpress-core", + "version": "5.7.4", "source": { "type": "git", - "url": "https://github.com/thephpleague/container.git", - "reference": "7dc67bdf89efc338e674863c0ea70a63efe4de05" + "url": "https://github.com/johnpbloch/wordpress-core.git", + "reference": "08bd602d5d4fdd218570b77cd3a32558c949debd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/container/zipball/7dc67bdf89efc338e674863c0ea70a63efe4de05", - "reference": "7dc67bdf89efc338e674863c0ea70a63efe4de05", + "url": "https://api.github.com/repos/johnpbloch/wordpress-core/zipball/08bd602d5d4fdd218570b77cd3a32558c949debd", + "reference": "08bd602d5d4fdd218570b77cd3a32558c949debd", "shasum": "" }, "require": { - "php": "^7.0 || ^8.0", - "psr/container": "^1.0" + "ext-json": "*", + "php": ">=5.6.20" }, "provide": { - "psr/container-implementation": "^1.0" - }, - "replace": { - "orno/di": "~2.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.0", - "squizlabs/php_codesniffer": "^3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-3.x": "3.x-dev", - "dev-2.x": "2.x-dev", - "dev-1.x": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Container\\": "src" - } + "wordpress/core-implementation": "5.7.4" }, + "type": "wordpress-core", "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "GPL-2.0-or-later" ], "authors": [ { - "name": "Phil Bennett", - "email": "philipobenito@gmail.com", - "homepage": "http://www.philipobenito.com", - "role": "Developer" + "name": "WordPress Community", + "homepage": "https://wordpress.org/about/" } ], - "description": "A fast and intuitive dependency injection container.", - "homepage": "https://github.com/thephpleague/container", + "description": "WordPress is open source software you can use to create a beautiful website, blog, or app.", + "homepage": "https://wordpress.org/", "keywords": [ - "container", - "dependency", - "di", - "injection", - "league", - "provider", - "service" - ], - "funding": [ - { - "url": "https://github.com/philipobenito", - "type": "github" - } + "blog", + "cms", + "wordpress" ], - "time": "2020-09-28T13:38:44+00:00" + "support": { + "forum": "https://wordpress.org/support/", + "irc": "irc://irc.freenode.net/wordpress", + "issues": "https://core.trac.wordpress.org/", + "source": "https://core.trac.wordpress.org/browser", + "wiki": "https://codex.wordpress.org/" + }, + "time": "2021-11-10T17:28:09+00:00" }, { - "name": "maxmind-db/reader", - "version": "v1.6.0", + "name": "johnpbloch/wordpress-core-installer", + "version": "2.0.0", "source": { "type": "git", - "url": "https://github.com/maxmind/MaxMind-DB-Reader-php.git", - "reference": "febd4920bf17c1da84cef58e56a8227dfb37fbe4" + "url": "https://github.com/johnpbloch/wordpress-core-installer.git", + "reference": "237faae9a60a4a2e1d45dce1a5836ffa616de63e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/febd4920bf17c1da84cef58e56a8227dfb37fbe4", - "reference": "febd4920bf17c1da84cef58e56a8227dfb37fbe4", + "url": "https://api.github.com/repos/johnpbloch/wordpress-core-installer/zipball/237faae9a60a4a2e1d45dce1a5836ffa616de63e", + "reference": "237faae9a60a4a2e1d45dce1a5836ffa616de63e", "shasum": "" }, "require": { - "php": ">=5.6" + "composer-plugin-api": "^1.0 || ^2.0", + "php": ">=5.6.0" }, "conflict": { - "ext-maxminddb": "<1.6.0,>=2.0.0" + "composer/installers": "<1.0.6" }, "require-dev": { - "friendsofphp/php-cs-fixer": "2.*", - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpcov": "^3.0", - "phpunit/phpunit": "5.*", - "squizlabs/php_codesniffer": "3.*" - }, - "suggest": { - "ext-bcmath": "bcmath or gmp is required for decoding larger integers with the pure PHP decoder", - "ext-gmp": "bcmath or gmp is required for decoding larger integers with the pure PHP decoder", - "ext-maxminddb": "A C-based database decoder that provides significantly faster lookups" - }, - "type": "library", - "autoload": { - "psr-4": { - "MaxMind\\Db\\": "src/MaxMind/Db" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Gregory J. Oschwald", - "email": "goschwald@maxmind.com", - "homepage": "https://www.maxmind.com/" - } - ], - "description": "MaxMind DB Reader API", - "homepage": "https://github.com/maxmind/MaxMind-DB-Reader-php", - "keywords": [ - "database", - "geoip", - "geoip2", - "geolocation", - "maxmind" - ], - "time": "2019-12-19T22:59:03+00:00" - }, - { - "name": "mnsami/composer-custom-directory-installer", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/mnsami/composer-custom-directory-installer.git", - "reference": "8cc82e0c5801cc3bf53ba452afdcaa5c6ff645a5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mnsami/composer-custom-directory-installer/zipball/8cc82e0c5801cc3bf53ba452afdcaa5c6ff645a5", - "reference": "8cc82e0c5801cc3bf53ba452afdcaa5c6ff645a5", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.0", - "php": ">=5.3" + "composer/composer": "^1.0 || ^2.0", + "phpunit/phpunit": ">=5.7.27" }, "type": "composer-plugin", "extra": { - "class": [ - "Composer\\CustomDirectoryInstaller\\LibraryPlugin", - "Composer\\CustomDirectoryInstaller\\PearPlugin", - "Composer\\CustomDirectoryInstaller\\PluginPlugin" - ], - "branch-alias": { - "dev-master": "1.1.x-dev" - } + "class": "johnpbloch\\Composer\\WordPressCorePlugin" }, "autoload": { "psr-0": { - "Composer\\CustomDirectoryInstaller": "src/" + "johnpbloch\\Composer\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "GPL-2.0-or-later" ], "authors": [ { - "name": "Mina Nabil Sami", - "email": "mina.nsami@gmail.com" + "name": "John P. Bloch", + "email": "me@johnpbloch.com" } ], - "description": "A composer plugin, to help install packages of different types in custom paths.", + "description": "A custom installer to handle deploying WordPress with composer", "keywords": [ - "composer", - "composer-installer", - "composer-plugin" + "wordpress" ], - "time": "2016-05-25T08:26:02+00:00" + "support": { + "issues": "https://github.com/johnpbloch/wordpress-core-installer/issues", + "source": "https://github.com/johnpbloch/wordpress-core-installer/tree/master" + }, + "time": "2020-04-16T21:44:57+00:00" }, { "name": "mockery/mockery", - "version": "1.3.4", + "version": "1.3.5", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "31467aeb3ca3188158613322d66df81cedd86626" + "reference": "472fa8ca4e55483d55ee1e73c963718c4393791d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/31467aeb3ca3188158613322d66df81cedd86626", - "reference": "31467aeb3ca3188158613322d66df81cedd86626", + "url": "https://api.github.com/repos/mockery/mockery/zipball/472fa8ca4e55483d55ee1e73c963718c4393791d", + "reference": "472fa8ca4e55483d55ee1e73c963718c4393791d", "shasum": "" }, "require": { @@ -1476,28 +1577,32 @@ "test double", "testing" ], - "time": "2021-02-24T09:51:00+00:00" + "support": { + "issues": "https://github.com/mockery/mockery/issues", + "source": "https://github.com/mockery/mockery/tree/1.3.5" + }, + "time": "2021-09-13T15:33:03+00:00" }, { "name": "monolog/monolog", - "version": "2.2.0", + "version": "2.3.5", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084" + "reference": "fd4380d6fc37626e2f799f29d91195040137eba9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084", - "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd4380d6fc37626e2f799f29d91195040137eba9", + "reference": "fd4380d6fc37626e2f799f29d91195040137eba9", "shasum": "" }, "require": { "php": ">=7.2", - "psr/log": "^1.0.1" + "psr/log": "^1.0.1 || ^2.0 || ^3.0" }, "provide": { - "psr/log-implementation": "1.0.0" + "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0" }, "require-dev": { "aws/aws-sdk-php": "^2.4.9 || ^3.0", @@ -1505,14 +1610,14 @@ "elasticsearch/elasticsearch": "^7", "graylog2/gelf-php": "^1.4.2", "mongodb/mongodb": "^1.8", - "php-amqplib/php-amqplib": "~2.4", + "php-amqplib/php-amqplib": "~2.4 || ^3", "php-console/php-console": "^3.1.3", "phpspec/prophecy": "^1.6.1", - "phpstan/phpstan": "^0.12.59", + "phpstan/phpstan": "^0.12.91", "phpunit/phpunit": "^8.5", "predis/predis": "^1.1", "rollbar/rollbar": "^1.3", - "ruflin/elastica": ">=0.90 <7.0.1", + "ruflin/elastica": ">=0.90@dev", "swiftmailer/swiftmailer": "^5.3|^6.0" }, "suggest": { @@ -1520,8 +1625,11 @@ "doctrine/couchdb": "Allow sending log messages to a CouchDB server", "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", "ext-mbstring": "Allow to work properly with unicode symbols", "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", @@ -1558,6 +1666,10 @@ "logging", "psr-3" ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/2.3.5" + }, "funding": [ { "url": "https://github.com/Seldaek", @@ -1568,7 +1680,7 @@ "type": "tidelift" } ], - "time": "2020-12-14T13:15:25+00:00" + "time": "2021-10-01T21:08:31+00:00" }, { "name": "myclabs/deep-copy", @@ -1616,6 +1728,10 @@ "object", "object graph" ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" + }, "funding": [ { "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", @@ -1626,16 +1742,16 @@ }, { "name": "ondram/ci-detector", - "version": "3.5.1", + "version": "4.1.0", "source": { "type": "git", "url": "https://github.com/OndraM/ci-detector.git", - "reference": "594e61252843b68998bddd48078c5058fe9028bd" + "reference": "8a4b664e916df82ff26a44709942dfd593fa6f30" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/OndraM/ci-detector/zipball/594e61252843b68998bddd48078c5058fe9028bd", - "reference": "594e61252843b68998bddd48078c5058fe9028bd", + "url": "https://api.github.com/repos/OndraM/ci-detector/zipball/8a4b664e916df82ff26a44709942dfd593fa6f30", + "reference": "8a4b664e916df82ff26a44709942dfd593fa6f30", "shasum": "" }, "require": { @@ -1643,11 +1759,11 @@ }, "require-dev": { "ergebnis/composer-normalize": "^2.2", - "lmc/coding-standard": "^1.3 || ^2.0", - "php-parallel-lint/php-parallel-lint": "^1.1", - "phpstan/extension-installer": "^1.0.3", - "phpstan/phpstan": "^0.12.0", - "phpstan/phpstan-phpunit": "^0.12.1", + "lmc/coding-standard": "^1.3 || ^2.1", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0.5", + "phpstan/phpstan": "^0.12.58", + "phpstan/phpstan-phpunit": "^0.12.16", "phpunit/phpunit": "^7.1 || ^8.0 || ^9.0" }, "type": "library", @@ -1675,6 +1791,9 @@ "appveyor", "aws", "aws codebuild", + "azure", + "azure devops", + "azure pipelines", "bamboo", "bitbucket", "buddy", @@ -1682,28 +1801,35 @@ "codebuild", "continuous integration", "continuousphp", + "devops", "drone", "github", "gitlab", "interface", "jenkins", + "pipelines", + "sourcehut", "teamcity", "travis" ], - "time": "2020-09-04T11:21:14+00:00" + "support": { + "issues": "https://github.com/OndraM/ci-detector/issues", + "source": "https://github.com/OndraM/ci-detector/tree/4.1.0" + }, + "time": "2021-04-14T09:16:52+00:00" }, { "name": "opis/closure", - "version": "3.6.1", + "version": "3.6.2", "source": { "type": "git", "url": "https://github.com/opis/closure.git", - "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5" + "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5", - "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5", + "url": "https://api.github.com/repos/opis/closure/zipball/06e2ebd25f2869e54a306dda991f7db58066f7f6", + "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6", "shasum": "" }, "require": { @@ -1751,20 +1877,24 @@ "serialization", "serialize" ], - "time": "2020-11-07T02:01:34+00:00" + "support": { + "issues": "https://github.com/opis/closure/issues", + "source": "https://github.com/opis/closure/tree/3.6.2" + }, + "time": "2021-04-09T13:42:10+00:00" }, { "name": "pdepend/pdepend", - "version": "2.9.0", + "version": "2.10.2", "source": { "type": "git", "url": "https://github.com/pdepend/pdepend.git", - "reference": "b6452ce4b570f540be3a4f46276dd8d8f4fa5ead" + "reference": "c8c1d2af43fb8c2b5387d50e9c42a9c56de13686" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdepend/pdepend/zipball/b6452ce4b570f540be3a4f46276dd8d8f4fa5ead", - "reference": "b6452ce4b570f540be3a4f46276dd8d8f4fa5ead", + "url": "https://api.github.com/repos/pdepend/pdepend/zipball/c8c1d2af43fb8c2b5387d50e9c42a9c56de13686", + "reference": "c8c1d2af43fb8c2b5387d50e9c42a9c56de13686", "shasum": "" }, "require": { @@ -1798,87 +1928,17 @@ "BSD-3-Clause" ], "description": "Official version of pdepend to be handled with Composer", + "support": { + "issues": "https://github.com/pdepend/pdepend/issues", + "source": "https://github.com/pdepend/pdepend/tree/2.10.2" + }, "funding": [ { "url": "https://tidelift.com/funding/github/packagist/pdepend/pdepend", "type": "tidelift" } ], - "time": "2021-03-11T09:20:40+00:00" - }, - { - "name": "pelago/emogrifier", - "version": "v3.1.0", - "source": { - "type": "git", - "url": "https://github.com/MyIntervals/emogrifier.git", - "reference": "f6a5c7d44612d86c3901c93f1592f5440e6b2cd8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/MyIntervals/emogrifier/zipball/f6a5c7d44612d86c3901c93f1592f5440e6b2cd8", - "reference": "f6a5c7d44612d86c3901c93f1592f5440e6b2cd8", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "php": "^5.6 || ~7.0 || ~7.1 || ~7.2 || ~7.3 || ~7.4", - "symfony/css-selector": "^2.8 || ^3.0 || ^4.0 || ^5.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.15.3", - "phpmd/phpmd": "^2.7.0", - "phpunit/phpunit": "^5.7.27", - "squizlabs/php_codesniffer": "^3.5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Pelago\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Oliver Klee", - "email": "github@oliverklee.de" - }, - { - "name": "Zoli Szabó", - "email": "zoli.szabo+github@gmail.com" - }, - { - "name": "John Reeve", - "email": "jreeve@pelagodesign.com" - }, - { - "name": "Jake Hotson", - "email": "jake@qzdesign.co.uk" - }, - { - "name": "Cameron Brooks" - }, - { - "name": "Jaime Prado" - } - ], - "description": "Converts CSS styles into inline style attributes in your HTML code", - "homepage": "https://www.myintervals.com/emogrifier.php", - "keywords": [ - "css", - "email", - "pre-processing" - ], - "time": "2019-12-26T19:37:31+00:00" + "time": "2021-11-16T20:05:32+00:00" }, { "name": "phar-io/manifest", @@ -1933,6 +1993,10 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/master" + }, "time": "2018-07-08T19:23:20+00:00" }, { @@ -1980,20 +2044,24 @@ } ], "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/master" + }, "time": "2018-07-08T19:19:57+00:00" }, { "name": "php-stubs/wordpress-stubs", - "version": "v5.7.0", + "version": "v5.7.4", "source": { "type": "git", "url": "https://github.com/php-stubs/wordpress-stubs.git", - "reference": "69baf30e7c92f149526da950a68222af05f7bc67" + "reference": "9d8e09f3c6e099f11b98551412f8bb4239a43f8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/69baf30e7c92f149526da950a68222af05f7bc67", - "reference": "69baf30e7c92f149526da950a68222af05f7bc67", + "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/9d8e09f3c6e099f11b98551412f8bb4239a43f8e", + "reference": "9d8e09f3c6e099f11b98551412f8bb4239a43f8e", "shasum": "" }, "replace": { @@ -2020,7 +2088,11 @@ "static analysis", "wordpress" ], - "time": "2021-03-10T10:29:23+00:00" + "support": { + "issues": "https://github.com/php-stubs/wordpress-stubs/issues", + "source": "https://github.com/php-stubs/wordpress-stubs/tree/v5.7.4" + }, + "time": "2021-11-11T13:56:27+00:00" }, { "name": "phpcompatibility/php-compatibility", @@ -2078,6 +2150,10 @@ "phpcs", "standards" ], + "support": { + "issues": "https://github.com/PHPCompatibility/PHPCompatibility/issues", + "source": "https://github.com/PHPCompatibility/PHPCompatibility" + }, "time": "2019-12-27T09:44:58+00:00" }, { @@ -2130,20 +2206,24 @@ "polyfill", "standards" ], + "support": { + "issues": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie/issues", + "source": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie" + }, "time": "2021-02-15T10:24:51+00:00" }, { "name": "phpcompatibility/phpcompatibility-wp", - "version": "2.1.0", + "version": "2.1.2", "source": { "type": "git", "url": "https://github.com/PHPCompatibility/PHPCompatibilityWP.git", - "reference": "41bef18ba688af638b7310666db28e1ea9158b2f" + "reference": "a792ab623069f0ce971b2417edef8d9632e32f75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/41bef18ba688af638b7310666db28e1ea9158b2f", - "reference": "41bef18ba688af638b7310666db28e1ea9158b2f", + "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/a792ab623069f0ce971b2417edef8d9632e32f75", + "reference": "a792ab623069f0ce971b2417edef8d9632e32f75", "shasum": "" }, "require": { @@ -2151,10 +2231,10 @@ "phpcompatibility/phpcompatibility-paragonie": "^1.0" }, "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.5" + "dealerdirect/phpcodesniffer-composer-installer": "^0.7" }, "suggest": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.", "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues." }, "type": "phpcodesniffer-standard", @@ -2180,7 +2260,11 @@ "standards", "wordpress" ], - "time": "2019-08-28T14:22:28+00:00" + "support": { + "issues": "https://github.com/PHPCompatibility/PHPCompatibilityWP/issues", + "source": "https://github.com/PHPCompatibility/PHPCompatibilityWP" + }, + "time": "2021-07-21T11:09:57+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -2229,20 +2313,24 @@ "reflection", "static analysis" ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, "time": "2020-06-27T09:03:43+00:00" }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.2.2", + "version": "5.3.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", "shasum": "" }, "require": { @@ -2253,7 +2341,8 @@ "webmozart/assert": "^1.9.1" }, "require-dev": { - "mockery/mockery": "~1.3.2" + "mockery/mockery": "~1.3.2", + "psalm/phar": "^4.8" }, "type": "library", "extra": { @@ -2281,20 +2370,24 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2020-09-03T19:13:55+00:00" + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" + }, + "time": "2021-10-19T17:43:47+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.4.0", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" + "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", - "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae", + "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae", "shasum": "" }, "require": { @@ -2302,7 +2395,8 @@ "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "ext-tokenizer": "*" + "ext-tokenizer": "*", + "psalm/phar": "^4.8" }, "type": "library", "extra": { @@ -2326,26 +2420,30 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "time": "2020-09-17T18:55:26+00:00" + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1" + }, + "time": "2021-10-02T14:08:47+00:00" }, { "name": "phpmd/phpmd", - "version": "2.9.1", + "version": "2.11.1", "source": { "type": "git", "url": "https://github.com/phpmd/phpmd.git", - "reference": "ce10831d4ddc2686c1348a98069771dd314534a8" + "reference": "08b60a2eb7e14c23f46ff8865b510ae08b75d0fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpmd/phpmd/zipball/ce10831d4ddc2686c1348a98069771dd314534a8", - "reference": "ce10831d4ddc2686c1348a98069771dd314534a8", + "url": "https://api.github.com/repos/phpmd/phpmd/zipball/08b60a2eb7e14c23f46ff8865b510ae08b75d0fd", + "reference": "08b60a2eb7e14c23f46ff8865b510ae08b75d0fd", "shasum": "" }, "require": { - "composer/xdebug-handler": "^1.0", + "composer/xdebug-handler": "^1.0 || ^2.0", "ext-xml": "*", - "pdepend/pdepend": "^2.7.1", + "pdepend/pdepend": "^2.10.2", "php": ">=5.3.9" }, "require-dev": { @@ -2353,7 +2451,7 @@ "ext-json": "*", "ext-simplexml": "*", "gregwar/rst": "^1.0", - "mikey179/vfsstream": "^1.6.4", + "mikey179/vfsstream": "^1.6.8", "phpunit/phpunit": "^4.8.36 || ^5.7.27", "squizlabs/php_codesniffer": "^2.0" }, @@ -2398,26 +2496,31 @@ "phpmd", "pmd" ], + "support": { + "irc": "irc://irc.freenode.org/phpmd", + "issues": "https://github.com/phpmd/phpmd/issues", + "source": "https://github.com/phpmd/phpmd/tree/2.11.1" + }, "funding": [ { "url": "https://tidelift.com/funding/github/packagist/phpmd/phpmd", "type": "tidelift" } ], - "time": "2020-09-23T22:06:32+00:00" + "time": "2021-12-17T11:25:43+00:00" }, { "name": "phpro/grumphp", - "version": "v1.3.1", + "version": "v1.5.0", "source": { "type": "git", "url": "https://github.com/phpro/grumphp.git", - "reference": "7df8f36481b9cdb5b21fedb1cdb2999234eac3e5" + "reference": "52ce0229dced77a207bc39a512053b5ee6ad4465" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpro/grumphp/zipball/7df8f36481b9cdb5b21fedb1cdb2999234eac3e5", - "reference": "7df8f36481b9cdb5b21fedb1cdb2999234eac3e5", + "url": "https://api.github.com/repos/phpro/grumphp/zipball/52ce0229dced77a207bc39a512053b5ee6ad4465", + "reference": "52ce0229dced77a207bc39a512053b5ee6ad4465", "shasum": "" }, "require": { @@ -2429,7 +2532,7 @@ "ext-json": "*", "gitonomy/gitlib": "^1.0.3", "monolog/monolog": "~1.16 || ^2.0", - "ondram/ci-detector": "^3.5", + "ondram/ci-detector": "^3.5 || ^4.0", "opis/closure": "^3.5", "php": "^7.3 || ^8.0", "psr/container": "^1.0", @@ -2446,13 +2549,13 @@ "symfony/yaml": "~4.4 || ~5.0" }, "require-dev": { - "brianium/paratest": "^6.1.1", - "composer/composer": "^1.10.11 || ^2.0.1", + "brianium/paratest": "^6.3", + "composer/composer": "^1.10.22 || ^2.0.13", "nikic/php-parser": "~4.0", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpspec/phpspec": "^6.2", + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpspec/phpspec": "^7.1", "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.2" + "phpunit/phpunit": "^9.5" }, "suggest": { "atoum/atoum": "Lets GrumPHP run your unit tests.", @@ -2515,37 +2618,41 @@ } ], "description": "A composer plugin that enables source code quality checks.", - "time": "2021-02-04T06:26:46+00:00" + "support": { + "issues": "https://github.com/phpro/grumphp/issues", + "source": "https://github.com/phpro/grumphp/tree/v1.5.0" + }, + "time": "2021-09-24T10:13:17+00:00" }, { "name": "phpspec/prophecy", - "version": "1.13.0", + "version": "v1.15.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea" + "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea", - "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/bbcd7380b0ebf3961ee21409db7b38bc31d69a13", + "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13", "shasum": "" }, "require": { "doctrine/instantiator": "^1.2", - "php": "^7.2 || ~8.0, <8.1", + "php": "^7.2 || ~8.0, <8.2", "phpdocumentor/reflection-docblock": "^5.2", "sebastian/comparator": "^3.0 || ^4.0", "sebastian/recursion-context": "^3.0 || ^4.0" }, "require-dev": { - "phpspec/phpspec": "^6.0", + "phpspec/phpspec": "^6.0 || ^7.0", "phpunit/phpunit": "^8.0 || ^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { @@ -2578,7 +2685,11 @@ "spy", "stub" ], - "time": "2021-03-17T13:42:18+00:00" + "support": { + "issues": "https://github.com/phpspec/prophecy/issues", + "source": "https://github.com/phpspec/prophecy/tree/v1.15.0" + }, + "time": "2021-12-08T12:19:24+00:00" }, { "name": "phpstan/extension-installer", @@ -2619,20 +2730,24 @@ "MIT" ], "description": "Composer plugin for automatic installation of PHPStan extensions", + "support": { + "issues": "https://github.com/phpstan/extension-installer/issues", + "source": "https://github.com/phpstan/extension-installer/tree/1.1.0" + }, "time": "2020-12-13T13:06:13+00:00" }, { "name": "phpstan/phpstan", - "version": "0.12.81", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "0dd5b0ebeff568f7000022ea5f04aa86ad3124b8" + "reference": "cbe085f9fdead5b6d62e4c022ca52dc9427a10ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0dd5b0ebeff568f7000022ea5f04aa86ad3124b8", - "reference": "0dd5b0ebeff568f7000022ea5f04aa86ad3124b8", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/cbe085f9fdead5b6d62e4c022ca52dc9427a10ee", + "reference": "cbe085f9fdead5b6d62e4c022ca52dc9427a10ee", "shasum": "" }, "require": { @@ -2648,7 +2763,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "0.12-dev" + "dev-master": "1.2-dev" } }, "autoload": { @@ -2661,11 +2776,19 @@ "MIT" ], "description": "PHPStan - PHP Static Analysis Tool", + "support": { + "issues": "https://github.com/phpstan/phpstan/issues", + "source": "https://github.com/phpstan/phpstan/tree/1.2.0" + }, "funding": [ { "url": "https://github.com/ondrejmirtes", "type": "github" }, + { + "url": "https://github.com/phpstan", + "type": "github" + }, { "url": "https://www.patreon.com/phpstan", "type": "patreon" @@ -2675,54 +2798,7 @@ "type": "tidelift" } ], - "time": "2021-03-08T22:03:02+00:00" - }, - { - "name": "phpstan/phpstan-deprecation-rules", - "version": "0.12.6", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpstan-deprecation-rules.git", - "reference": "46dbd43c2db973d2876d6653e53f5c2cc3a01fbb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/46dbd43c2db973d2876d6653e53f5c2cc3a01fbb", - "reference": "46dbd43c2db973d2876d6653e53f5c2cc3a01fbb", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0", - "phpstan/phpstan": "^0.12.60" - }, - "require-dev": { - "phing/phing": "^2.16.3", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan-phpunit": "^0.12", - "phpunit/phpunit": "^7.5.20" - }, - "type": "phpstan-extension", - "extra": { - "branch-alias": { - "dev-master": "0.12-dev" - }, - "phpstan": { - "includes": [ - "rules.neon" - ] - } - }, - "autoload": { - "psr-4": { - "PHPStan\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.", - "time": "2020-12-13T10:20:54+00:00" + "time": "2021-11-18T14:09:01+00:00" }, { "name": "phpunit/php-code-coverage", @@ -2785,20 +2861,24 @@ "testing", "xunit" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/master" + }, "time": "2018-10-31T16:06:48+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "2.0.3", + "version": "2.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "4b49fb70f067272b659ef0174ff9ca40fdaa6357" + "reference": "42c5ba5220e6904cbfe8b1a1bda7c0cfdc8c12f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/4b49fb70f067272b659ef0174ff9ca40fdaa6357", - "reference": "4b49fb70f067272b659ef0174ff9ca40fdaa6357", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/42c5ba5220e6904cbfe8b1a1bda7c0cfdc8c12f5", + "reference": "42c5ba5220e6904cbfe8b1a1bda7c0cfdc8c12f5", "shasum": "" }, "require": { @@ -2835,13 +2915,17 @@ "filesystem", "iterator" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/2.0.5" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-11-30T08:25:21+00:00" + "time": "2021-12-02T12:42:26+00:00" }, { "name": "phpunit/php-text-template", @@ -2882,6 +2966,10 @@ "keywords": [ "template" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1" + }, "time": "2015-06-21T13:50:34+00:00" }, { @@ -2931,6 +3019,10 @@ "keywords": [ "timer" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/2.1.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2941,16 +3033,16 @@ }, { "name": "phpunit/php-token-stream", - "version": "3.1.2", + "version": "3.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "472b687829041c24b25f475e14c2f38a09edf1c2" + "reference": "9c1da83261628cb24b6a6df371b6e312b3954768" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/472b687829041c24b25f475e14c2f38a09edf1c2", - "reference": "472b687829041c24b25f475e14c2f38a09edf1c2", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/9c1da83261628cb24b6a6df371b6e312b3954768", + "reference": "9c1da83261628cb24b6a6df371b6e312b3954768", "shasum": "" }, "require": { @@ -2986,6 +3078,10 @@ "keywords": [ "tokenizer" ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-token-stream/issues", + "source": "https://github.com/sebastianbergmann/php-token-stream/tree/3.1.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -2993,7 +3089,7 @@ } ], "abandoned": true, - "time": "2020-11-30T08:38:46+00:00" + "time": "2021-07-26T12:15:06+00:00" }, { "name": "phpunit/phpunit", @@ -3077,6 +3173,10 @@ "testing", "xunit" ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/7.5.20" + }, "time": "2020-01-08T08:45:45+00:00" }, { @@ -3126,20 +3226,24 @@ "container-interop", "psr" ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/master" + }, "time": "2017-02-14T16:28:37+00:00" }, { "name": "psr/log", - "version": "1.1.3", + "version": "1.1.4", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", "shasum": "" }, "require": { @@ -3163,7 +3267,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for logging libraries", @@ -3173,7 +3277,10 @@ "psr", "psr-3" ], - "time": "2020-03-23T09:12:05+00:00" + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.4" + }, + "time": "2021-05-03T11:20:27+00:00" }, { "name": "roave/security-advisories", @@ -3181,186 +3288,261 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "fe6ef201f838f07770873731a99f359ebb64fa50" + "reference": "fff53639bf1fa25f311c3e54932ac8c827f9a343" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/fe6ef201f838f07770873731a99f359ebb64fa50", - "reference": "fe6ef201f838f07770873731a99f359ebb64fa50", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/fff53639bf1fa25f311c3e54932ac8c827f9a343", + "reference": "fff53639bf1fa25f311c3e54932ac8c827f9a343", "shasum": "" }, "conflict": { "3f/pygmentize": "<1.2", "adodb/adodb-php": "<5.20.12", + "akaunting/akaunting": "<2.1.13", "alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1", + "amazing/media2click": ">=1,<1.3.3", "amphp/artax": "<1.0.6|>=2,<2.0.6", "amphp/http": "<1.0.1", "amphp/http-client": ">=4,<4.4", "api-platform/core": ">=2.2,<2.2.10|>=2.3,<2.3.6", + "area17/twill": "<1.2.5|>=2,<2.5.3", "asymmetricrypt/asymmetricrypt": ">=0,<9.9.99", "aws/aws-sdk-php": ">=3,<3.2.1", "bagisto/bagisto": "<0.1.5", "barrelstrength/sprout-base-email": "<1.2.7", "barrelstrength/sprout-forms": "<3.9", - "baserproject/basercms": ">=4,<=4.3.6|>=4.4,<4.4.1", - "bolt/bolt": "<3.7.1", + "baserproject/basercms": "<4.5.4", + "billz/raspap-webgui": "<=2.6.6", + "bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3", + "bolt/bolt": "<3.7.2", "bolt/core": "<4.1.13", "brightlocal/phpwhois": "<=4.2.5", - "buddypress/buddypress": "<5.1.2", + "buddypress/buddypress": "<7.2.1", "bugsnag/bugsnag-laravel": ">=2,<2.0.2", + "cachethq/cachet": "<2.5.1", "cakephp/cakephp": ">=1.3,<1.3.18|>=2,<2.4.99|>=2.5,<2.5.99|>=2.6,<2.6.12|>=2.7,<2.7.6|>=3,<3.5.18|>=3.6,<3.6.15|>=3.7,<3.7.7", + "cardgate/magento2": "<2.0.33", "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4", "cartalyst/sentry": "<=2.1.6", - "centreon/centreon": "<18.10.8|>=19,<19.4.5", + "catfan/medoo": "<1.7.5", + "centreon/centreon": "<20.10.7", "cesnet/simplesamlphp-module-proxystatistics": "<3.1", + "codeception/codeception": "<3.1.3|>=4,<4.1.22", "codeigniter/framework": "<=3.0.6", - "composer/composer": "<=1-alpha.11", + "codiad/codiad": "<=2.8.4", + "composer/composer": "<1.10.23|>=2-alpha.1,<2.1.9", + "concrete5/concrete5": "<8.5.5", + "concrete5/core": "<8.5.7", "contao-components/mediaelement": ">=2.14.2,<2.21.1", "contao/core": ">=2,<3.5.39", - "contao/core-bundle": ">=4,<4.4.52|>=4.5,<4.9.6|= 4.10.0", + "contao/core-bundle": ">=4,<4.4.56|>=4.5,<4.9.18|>=4.10,<4.11.7|= 4.10.0", "contao/listing-bundle": ">=4,<4.4.8", + "craftcms/cms": "<3.7.14", + "croogo/croogo": "<3.0.7", "datadog/dd-trace": ">=0.30,<0.30.2", "david-garcia/phpwhois": "<=4.3.1", "derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1", + "directmailteam/direct-mail": "<5.2.4", "doctrine/annotations": ">=1,<1.2.7", "doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2", "doctrine/common": ">=2,<2.4.3|>=2.5,<2.5.1", - "doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2", + "doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2|>=3,<3.1.4", "doctrine/doctrine-bundle": "<1.5.2", "doctrine/doctrine-module": "<=0.7.1", "doctrine/mongodb-odm": ">=1,<1.0.2", "doctrine/mongodb-odm-bundle": ">=2,<3.0.1", - "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1", - "dolibarr/dolibarr": "<11.0.4", + "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1|>=2.8.3,<2.8.4", + "dolibarr/dolibarr": "<14|>= 3.3.beta1, < 13.0.2", "dompdf/dompdf": ">=0.6,<0.6.2", - "drupal/core": ">=7,<7.74|>=8,<8.8.11|>=8.9,<8.9.9|>=9,<9.0.8", - "drupal/drupal": ">=7,<7.74|>=8,<8.8.11|>=8.9,<8.9.9|>=9,<9.0.8", + "drupal/core": ">=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4", + "drupal/drupal": ">=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4", + "dweeves/magmi": "<=0.7.24", + "ecodev/newsletter": "<=4", + "elgg/elgg": "<3.3.23|>=4,<4.0.5", "endroid/qr-code-bundle": "<3.4.2", "enshrined/svg-sanitize": "<0.13.1", "erusev/parsedown": "<1.7.2", + "ether/logs": "<3.0.4", "ezsystems/demobundle": ">=5.4,<5.4.6.1", "ezsystems/ez-support-tools": ">=2.2,<2.2.3", "ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1", "ezsystems/ezfind-ls": ">=5.3,<5.3.6.1|>=5.4,<5.4.11.1|>=2017.12,<2017.12.0.1", - "ezsystems/ezplatform": ">=1.7,<1.7.9.1|>=1.13,<1.13.5.1|>=2.5,<2.5.4", - "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6", + "ezsystems/ezplatform": "<=1.13.6|>=2,<=2.5.24", + "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<=1.5.25", "ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1", - "ezsystems/ezplatform-kernel": ">=1,<1.0.2.1", - "ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<=1.3.1", + "ezsystems/ezplatform-kernel": "<=1.2.5|>=1.3,<=1.3.1", + "ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8", + "ezsystems/ezplatform-richtext": ">=2.3,<=2.3.7", "ezsystems/ezplatform-user": ">=1,<1.0.1", - "ezsystems/ezpublish-kernel": ">=5.3,<5.3.12.1|>=5.4,<5.4.14.2|>=6,<6.7.9.1|>=6.8,<=6.13.8|>=7,<7.2.4.1|>=7.3,<7.3.2.1|>=7.5,<=7.5.15", - "ezsystems/ezpublish-legacy": ">=5.3,<5.3.12.6|>=5.4,<5.4.14.2|>=2011,<2017.12.7.3|>=2018.6,<2018.6.1.4|>=2018.9,<2018.9.1.3|>=2019.3,<2019.3.5.1", + "ezsystems/ezpublish-kernel": "<=6.13.8.1|>=7,<=7.5.15.1", + "ezsystems/ezpublish-legacy": "<=2017.12.7.3|>=2018.6,<=2019.3.5.1", "ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3", "ezsystems/repository-forms": ">=2.3,<2.3.2.1", "ezyang/htmlpurifier": "<4.1.1", - "facade/ignition": "<=2.5.1,>=2.0|<=1.16.13", + "facade/ignition": "<1.16.15|>=2,<2.4.2|>=2.5,<2.5.2", + "feehi/cms": "<=2.1.1", + "feehi/feehicms": "<=0.1.3", "firebase/php-jwt": "<2", + "flarum/core": ">=1,<=1.0.1", "flarum/sticky": ">=0.1-beta.14,<=0.1-beta.15", "flarum/tags": "<=0.1-beta.13", + "fluidtypo3/vhs": "<5.1.1", "fooman/tcpdf": "<6.2.22", + "forkcms/forkcms": "<=5.9.2", "fossar/tcpdf-parser": "<6.2.22", + "francoisjacquet/rosariosis": "<8.1.1", "friendsofsymfony/oauth2-php": "<1.3", "friendsofsymfony/rest-bundle": ">=1.2,<1.2.2", "friendsofsymfony/user-bundle": ">=1.2,<1.3.5", "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", + "froala/wysiwyg-editor": "<3.2.7", "fuel/core": "<1.8.1", - "getgrav/grav": "<1.7-beta.8", - "getkirby/cms": ">=3,<3.4.5", + "getgrav/grav": "<=1.7.24", + "getkirby/cms": "<3.5.8", "getkirby/panel": "<2.5.14", + "gilacms/gila": "<=1.11.4", + "globalpayments/php-sdk": "<2", "gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3", "gree/jose": "<=2.2", "gregwar/rst": "<1.0.3", + "grumpydictator/firefly-iii": "<5.6.5", "guzzlehttp/guzzle": ">=4-rc.2,<4.2.4|>=5,<5.3.1|>=6,<6.2.1", + "helloxz/imgurl": "<=2.31", + "hjue/justwriting": "<=1", + "hov/jobfair": "<1.0.13|>=2,<2.0.2", + "ibexa/post-install": "<=1.0.4", + "icecoder/icecoder": "<=8", "illuminate/auth": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.10", "illuminate/cookie": ">=4,<=4.0.11|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.18.31|>=7,<7.22.4", - "illuminate/database": "<6.20.14|>=7,<7.30.4|>=8,<8.24", + "illuminate/database": "<6.20.26|>=7,<7.30.5|>=8,<8.40", "illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15", - "illuminate/view": ">=7,<7.1.2", + "illuminate/view": "<6.20.42|>=7,<7.30.6|>=8,<8.75", "impresscms/impresscms": "<=1.4.2", + "in2code/femanager": "<5.5.1|>=6,<6.3.1", + "intelliants/subrion": "<=4.2.1", "ivankristianto/phpwhois": "<=4.3", - "james-heinrich/getid3": "<1.9.9", + "jackalope/jackalope-doctrine-dbal": "<1.7.4", + "james-heinrich/getid3": "<1.9.21", "joomla/archive": "<1.1.10", "joomla/session": "<1.3.1", "jsmitty12/phpwhois": "<5.1", "kazist/phpwhois": "<=4.2.6", + "kevinpapst/kimai2": "<1.16.7", "kitodo/presentation": "<3.1.2", + "klaviyo/magento2-extension": ">=1,<3", "kreait/firebase-php": ">=3.2,<3.8.1", "la-haute-societe/tcpdf": "<6.2.22", - "laravel/framework": "<6.20.14|>=7,<7.30.4|>=8,<8.24", + "laminas/laminas-http": "<2.14.2", + "laravel/framework": "<6.20.42|>=7,<7.30.6|>=8,<8.75", "laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10", + "lavalite/cms": "<=5.8", + "lcobucci/jwt": ">=3.4,<3.4.6|>=4,<4.0.4|>=4.1,<4.1.5", "league/commonmark": "<0.18.3", - "librenms/librenms": "<1.53", + "league/flysystem": "<1.1.4|>=2,<2.1.1", + "lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3", + "librenms/librenms": "<=21.11", + "limesurvey/limesurvey": "<3.27.19", "livewire/livewire": ">2.2.4,<2.2.6", + "lms/routes": "<2.1.1", + "localizationteam/l10nmgr": "<7.4|>=8,<8.7|>=9,<9.2", "magento/community-edition": ">=2,<2.2.10|>=2.3,<2.3.3", "magento/magento1ce": "<1.9.4.3", "magento/magento1ee": ">=1,<1.14.4.3", "magento/product-community-edition": ">=2,<2.2.10|>=2.3,<2.3.2-p.2", "marcwillmann/turn": "<0.3.3", - "mautic/core": "<2.16.5|>=3,<3.2.4|= 2.13.1", + "mautic/core": "<4|= 2.13.1", "mediawiki/core": ">=1.27,<1.27.6|>=1.29,<1.29.3|>=1.30,<1.30.2|>=1.31,<1.31.9|>=1.32,<1.32.6|>=1.32.99,<1.33.3|>=1.33.99,<1.34.3|>=1.34.99,<1.35", + "microweber/microweber": "<1.2.8", + "miniorange/miniorange-saml": "<1.4.3", "mittwald/typo3_forum": "<1.2.1", + "modx/revolution": "<2.8", "monolog/monolog": ">=1.8,<1.12", + "moodle/moodle": "<3.5.17|>=3.7,<3.7.9|>=3.8,<3.8.8|>=3.9,<3.9.5|>=3.10-beta,<3.10.2", "namshi/jose": "<2.2", + "neoan3-apps/template": "<1.1.1", + "neos/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", + "neos/form": ">=1.2,<4.3.3|>=5,<5.0.9|>=5.1,<5.1.3", + "neos/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.9.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", + "neos/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", "nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6", "nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13", + "nilsteampassnet/teampass": "<=2.1.27.36", + "nukeviet/nukeviet": "<4.3.4", "nystudio107/craft-seomatic": "<3.3", "nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1", "october/backend": "<1.1.2", - "october/cms": "= 1.0.469|>=1.0.319,<1.0.469", - "october/october": ">=1.0.319,<1.0.466", + "october/cms": "= 1.1.1|= 1.0.471|= 1.0.469|>=1.0.319,<1.0.469", + "october/october": ">=1.0.319,<1.0.466|>=2.1,<2.1.12", "october/rain": "<1.0.472|>=1.1,<1.1.2", + "october/system": "<1.0.472|>=1.1.1,<1.1.5|>=2.1,<2.1.12", "onelogin/php-saml": "<2.10.4", "oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5", + "opencart/opencart": "<=3.0.3.2", "openid/php-openid": "<2.3", - "openmage/magento-lts": "<19.4.8|>=20,<20.0.4", + "openmage/magento-lts": "<19.4.15|>=20,<20.0.13", "orchid/platform": ">=9,<9.4.4", - "oro/crm": ">=1.7,<1.7.4", + "oro/crm": ">=1.7,<1.7.4|>=3.1,<4.1.17|>=4.2,<4.2.7", "oro/platform": ">=1.7,<1.7.4", "padraic/humbug_get_contents": "<1.1.2", "pagarme/pagarme-php": ">=0,<3", + "pagekit/pagekit": "<=1.0.18", "paragonie/random_compat": "<2", "passbolt/passbolt_api": "<2.11", "paypal/merchant-sdk-php": "<3.12", - "pear/archive_tar": "<1.4.12", + "pear/archive_tar": "<1.4.14", + "pegasus/google-for-jobs": "<1.5.1|>=2,<2.1.1", "personnummer/personnummer": "<3.0.2", - "phpfastcache/phpfastcache": ">=5,<5.0.13", - "phpmailer/phpmailer": "<6.1.6", + "phanan/koel": "<5.1.4", + "phpfastcache/phpfastcache": "<6.1.5|>=7,<7.1.2|>=8,<8.0.7", + "phpmailer/phpmailer": "<6.5", "phpmussel/phpmussel": ">=1,<1.6", "phpmyadmin/phpmyadmin": "<4.9.6|>=5,<5.0.3", "phpoffice/phpexcel": "<1.8.2", "phpoffice/phpspreadsheet": "<1.16", + "phpseclib/phpseclib": "<2.0.31|>=3,<3.0.7", + "phpservermon/phpservermon": "<=3.5.2", "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5.0.10,<5.6.3", "phpwhois/phpwhois": "<=4.2.5", "phpxmlrpc/extras": "<0.6.1", - "pimcore/pimcore": "<6.8.8", - "pocketmine/pocketmine-mp": "<3.15.4", + "pimcore/pimcore": "<10.2.6", + "pocketmine/pocketmine-mp": "<4.0.3", + "pressbooks/pressbooks": "<5.18", "prestashop/autoupgrade": ">=4,<4.10.1", "prestashop/contactform": ">1.0.1,<4.3", "prestashop/gamification": "<2.3.2", + "prestashop/prestashop": ">=1.7.5,<=1.7.8.1", "prestashop/productcomments": ">=4,<4.2.1", + "prestashop/ps_emailsubscription": "<2.6.1", "prestashop/ps_facetedsearch": "<3.4.1", + "prestashop/ps_linklist": "<3.1", "privatebin/privatebin": "<1.2.2|>=1.3,<1.3.2", "propel/propel": ">=2-alpha.1,<=2-alpha.7", "propel/propel1": ">=1,<=1.7.1", - "pterodactyl/panel": "<0.7.19|>=1-rc.0,<=1-rc.6", + "pterodactyl/panel": "<1.6.6", "pusher/pusher-php-server": "<2.2.1", + "pwweb/laravel-core": "<=0.3.6-beta", "rainlab/debugbar-plugin": "<3.1", + "remdex/livehelperchat": "<=3.90", + "rmccue/requests": ">=1.6,<1.8", "robrichards/xmlseclibs": "<3.0.4", "sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1", "sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9", "scheb/two-factor-bundle": ">=0,<3.26|>=4,<4.11", "sensiolabs/connect": "<4.2.3", "serluck/phpwhois": "<=4.2.6", - "shopware/core": "<=6.3.4", - "shopware/platform": "<=6.3.5.1", - "shopware/shopware": "<5.6.9", - "silverstripe/admin": ">=1.0.3,<1.0.4|>=1.1,<1.1.1", + "shopware/core": "<=6.4.6", + "shopware/platform": "<=6.4.6", + "shopware/production": "<=6.3.5.2", + "shopware/shopware": "<5.7.6", + "showdoc/showdoc": "<=2.9.13", + "silverstripe/admin": "<4.8.1", "silverstripe/assets": ">=1,<1.4.7|>=1.5,<1.5.2", "silverstripe/cms": "<4.3.6|>=4.4,<4.4.4", "silverstripe/comments": ">=1.3,<1.9.99|>=2,<2.9.99|>=3,<3.1.1", "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3", - "silverstripe/framework": "<4.4.7|>=4.5,<4.5.4", - "silverstripe/graphql": ">=2,<2.0.5|>=3,<3.1.2|>=3.2,<3.2.4", + "silverstripe/framework": "<4.7.4", + "silverstripe/graphql": "<3.5.2|>=4-alpha.1,<4-alpha.2", "silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1", "silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4", "silverstripe/subsites": ">=2,<2.1.1", @@ -3373,80 +3555,104 @@ "simplito/elliptic-php": "<1.0.6", "slim/slim": "<2.6", "smarty/smarty": "<3.1.39", + "snipe/snipe-it": "<5.3.5", "socalnick/scn-social-auth": "<1.15.2", "socialiteproviders/steam": "<1.1", "spoonity/tcpdf": "<6.2.22", "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", - "ssddanbrown/bookstack": "<0.29.2", + "ssddanbrown/bookstack": "<21.11.3", "stormpath/sdk": ">=0,<9.9.99", - "studio-42/elfinder": "<2.1.49", - "sulu/sulu": "<1.6.34|>=2,<2.0.10|>=2.1,<2.1.1", + "studio-42/elfinder": "<2.1.59", + "subrion/cms": "<=4.2.1", + "sulu/sulu": "= 2.4.0-RC1|<1.6.44|>=2,<2.2.18|>=2.3,<2.3.8", "swiftmailer/swiftmailer": ">=4,<5.4.5", "sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2", "sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", "sylius/grid-bundle": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", + "sylius/paypal-plugin": ">=1,<1.2.4|>=1.3,<1.3.1", "sylius/resource-bundle": "<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4", - "sylius/sylius": "<1.6.9|>=1.7,<1.7.9|>=1.8,<1.8.3", + "sylius/sylius": "<1.6.9|>=1.7,<1.7.9|>=1.8,<1.8.3|>=1.9,<1.9.5", "symbiote/silverstripe-multivaluefield": ">=3,<3.0.99", "symbiote/silverstripe-queuedjobs": ">=3,<3.0.2|>=3.1,<3.1.4|>=4,<4.0.7|>=4.1,<4.1.2|>=4.2,<4.2.4|>=4.3,<4.3.3|>=4.4,<4.4.3|>=4.5,<4.5.1|>=4.6,<4.6.4", "symbiote/silverstripe-versionedfiles": "<=2.0.3", + "symfont/process": ">=0,<4", "symfony/cache": ">=3.1,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8", "symfony/dependency-injection": ">=2,<2.0.17|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", "symfony/error-handler": ">=4.4,<4.4.4|>=5,<5.0.4", "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.50|>=2.8,<2.8.49|>=3,<3.4.20|>=4,<4.0.15|>=4.1,<4.1.9|>=4.2,<4.2.1", "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", "symfony/http-foundation": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7", - "symfony/http-kernel": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5", + "symfony/http-kernel": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5|>=5.2,<5.3.12", "symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13", + "symfony/maker-bundle": ">=1.27,<1.29.2|>=1.30,<1.31.1", "symfony/mime": ">=4.3,<4.3.8", "symfony/phpunit-bridge": ">=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", "symfony/polyfill": ">=1,<1.10", "symfony/polyfill-php55": ">=1,<1.10", "symfony/proxy-manager-bridge": ">=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", "symfony/routing": ">=2,<2.0.19", - "symfony/security": ">=2,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7|>=4.4,<4.4.7|>=5,<5.0.7", - "symfony/security-bundle": ">=2,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", - "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<2.8.37|>=3,<3.3.17|>=3.4,<3.4.7|>=4,<4.0.7", + "symfony/security": ">=2,<2.7.51|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.8", + "symfony/security-bundle": ">=2,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11|>=5.3,<5.3.12", + "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.9", "symfony/security-csrf": ">=2.4,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", - "symfony/security-guard": ">=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", - "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7", - "symfony/serializer": ">=2,<2.0.11", - "symfony/symfony": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5", + "symfony/security-guard": ">=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8", + "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8|>=5.3,<5.3.2", + "symfony/serializer": ">=2,<2.0.11|>=4.1,<4.4.35|>=5,<5.3.12", + "symfony/symfony": ">=2,<3.4.49|>=4,<4.4.35|>=5,<5.3.12", "symfony/translation": ">=2,<2.0.17", "symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3", "symfony/var-exporter": ">=4.2,<4.2.12|>=4.3,<4.3.8", "symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4", "symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7", + "t3/dce": ">=2.2,<2.6.2", "t3g/svg-sanitizer": "<1.0.3", "tecnickcom/tcpdf": "<6.2.22", "thelia/backoffice-default-template": ">=2.1,<2.1.2", "thelia/thelia": ">=2.1-beta.1,<2.1.3", "theonedemon/phpwhois": "<=4.2.5", + "tinymce/tinymce": "<5.10", "titon/framework": ">=0,<9.9.99", + "topthink/framework": "<6.0.9", + "topthink/think": "<=6.0.9", + "topthink/thinkphp": "<=3.2.3", + "tribalsystems/zenario": "<8.8.53370", "truckersmp/phpwhois": "<=4.3.1", "twig/twig": "<1.38|>=2,<2.7", - "typo3/cms": ">=6.2,<6.2.30|>=7,<7.6.32|>=8,<8.7.38|>=9,<9.5.25|>=10,<10.4.14|>=11,<11.1.1", - "typo3/cms-core": ">=8,<8.7.38|>=9,<9.5.25|>=10,<10.4.14|>=11,<11.1.1", - "typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.10|>=3.1,<3.1.7|>=3.2,<3.2.7|>=3.3,<3.3.5", - "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4", + "typo3/cms": ">=6.2,<6.2.30|>=7,<7.6.32|>=8,<8.7.38|>=9,<9.5.29|>=10,<10.4.19|>=11,<11.5", + "typo3/cms-backend": ">=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", + "typo3/cms-core": ">=6.2,<=6.2.56|>=7,<=7.6.52|>=8,<=8.7.41|>=9,<9.5.29|>=10,<10.4.19|>=11,<11.5", + "typo3/cms-form": ">=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", + "typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", + "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.3.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", "typo3/phar-stream-wrapper": ">=1,<2.1.1|>=3,<3.1.1", + "typo3/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", "typo3fluid/fluid": ">=2,<2.0.8|>=2.1,<2.1.7|>=2.2,<2.2.4|>=2.3,<2.3.7|>=2.4,<2.4.4|>=2.5,<2.5.11|>=2.6,<2.6.10", "ua-parser/uap-php": "<3.8", "usmanhalalit/pixie": "<1.0.3|>=2,<2.0.2", + "vanilla/safecurl": "<0.9.2", "verot/class.upload.php": "<=1.0.3|>=2,<=2.0.4", "vrana/adminer": "<4.7.9", "wallabag/tcpdf": "<6.2.22", + "wanglelecc/laracms": "<=1.0.3", + "web-auth/webauthn-framework": ">=3.3,<3.3.4", + "webcoast/deferred-image-processing": "<1.0.2", + "wikimedia/parsoid": "<0.12.2", "willdurand/js-translation-bundle": "<2.1.1", + "wp-cli/wp-cli": "<2.5", + "yetiforce/yetiforce-crm": "<=6.3", + "yidashi/yii2cmf": "<=2", "yii2mod/yii2-cms": "<1.9.2", "yiisoft/yii": ">=1.1.14,<1.1.15", "yiisoft/yii2": "<2.0.38", "yiisoft/yii2-bootstrap": "<2.0.4", - "yiisoft/yii2-dev": "<2.0.15", + "yiisoft/yii2-dev": "<2.0.43", "yiisoft/yii2-elasticsearch": "<2.0.5", "yiisoft/yii2-gii": "<2.0.4", "yiisoft/yii2-jui": "<2.0.4", "yiisoft/yii2-redis": "<2.0.8", - "yourls/yourls": "<1.7.4", + "yoast-seo-for-typo3/yoast_seo": "<7.2.3", + "yourls/yourls": "<=1.8.2", + "zendesk/zendesk_api_client_php": "<2.2.11", "zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3", "zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2", "zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2", @@ -3464,14 +3670,15 @@ "zendframework/zend-validator": ">=2.3,<2.3.6", "zendframework/zend-view": ">=2,<2.2.7|>=2.3,<2.3.1", "zendframework/zend-xmlrpc": ">=2.1,<2.1.6|>=2.2,<2.2.6", - "zendframework/zendframework": "<2.5.1", + "zendframework/zendframework": "<=3", "zendframework/zendframework1": "<1.12.20", "zendframework/zendopenid": ">=2,<2.0.2", "zendframework/zendxml": ">=1,<1.0.1", "zetacomponents/mail": "<1.8.2", "zf-commons/zfc-user": "<1.2.2", "zfcampus/zf-apigility-doctrine": ">=1,<1.0.3", - "zfr/zfr-oauth2-server-module": "<0.1.2" + "zfr/zfr-oauth2-server-module": "<0.1.2", + "zoujingli/thinkadmin": "<6.0.22" }, "type": "metapackage", "notification-url": "https://packagist.org/downloads/", @@ -3491,6 +3698,10 @@ } ], "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", + "support": { + "issues": "https://github.com/Roave/SecurityAdvisories/issues", + "source": "https://github.com/Roave/SecurityAdvisories/tree/latest" + }, "funding": [ { "url": "https://github.com/Ocramius", @@ -3501,7 +3712,7 @@ "type": "tidelift" } ], - "time": "2021-03-16T14:08:12+00:00" + "time": "2021-12-17T20:13:17+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -3546,6 +3757,10 @@ ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.2" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -3616,6 +3831,10 @@ "compare", "equality" ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -3678,6 +3897,10 @@ "unidiff", "unified diff" ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/3.0.3" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -3737,6 +3960,10 @@ "environment", "hhvm" ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/4.2.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -3747,16 +3974,16 @@ }, { "name": "sebastian/exporter", - "version": "3.1.3", + "version": "3.1.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "6b853149eab67d4da22291d36f5b0631c0fd856e" + "reference": "0c32ea2e40dbf59de29f3b49bf375176ce7dd8db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/6b853149eab67d4da22291d36f5b0631c0fd856e", - "reference": "6b853149eab67d4da22291d36f5b0631c0fd856e", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/0c32ea2e40dbf59de29f3b49bf375176ce7dd8db", + "reference": "0c32ea2e40dbf59de29f3b49bf375176ce7dd8db", "shasum": "" }, "require": { @@ -3765,7 +3992,7 @@ }, "require-dev": { "ext-mbstring": "*", - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^8.5" }, "type": "library", "extra": { @@ -3810,13 +4037,17 @@ "export", "exporter" ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2020-11-30T07:47:53+00:00" + "time": "2021-11-11T13:51:24+00:00" }, { "name": "sebastian/global-state", @@ -3867,6 +4098,10 @@ "keywords": [ "global state" ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/2.0.0" + }, "time": "2017-04-27T15:39:26+00:00" }, { @@ -3914,6 +4149,10 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/3.0.4" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -3965,6 +4204,10 @@ ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/1.1.2" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -4024,6 +4267,10 @@ ], "description": "Provides functionality to recursively process PHP variables", "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/3.0.1" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -4072,6 +4319,10 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/2.0.2" + }, "funding": [ { "url": "https://github.com/sebastianbergmann", @@ -4121,6 +4372,10 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/master" + }, "time": "2016-10-03T07:35:21+00:00" }, { @@ -4170,6 +4425,10 @@ "parser", "validator" ], + "support": { + "issues": "https://github.com/Seldaek/jsonlint/issues", + "source": "https://github.com/Seldaek/jsonlint/tree/1.8.3" + }, "funding": [ { "url": "https://github.com/Seldaek", @@ -4226,21 +4485,25 @@ } ], "description": "A security checker for your composer.lock", + "support": { + "issues": "https://github.com/sensiolabs/security-checker/issues", + "source": "https://github.com/sensiolabs/security-checker/tree/master" + }, "abandoned": "https://github.com/fabpot/local-php-security-checker", "time": "2018-12-19T17:14:59+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.5.8", + "version": "3.6.2", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "9d583721a7157ee997f235f327de038e7ea6dac4" + "reference": "5e4e71592f69da17871dba6e80dd51bce74a351a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/9d583721a7157ee997f235f327de038e7ea6dac4", - "reference": "9d583721a7157ee997f235f327de038e7ea6dac4", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/5e4e71592f69da17871dba6e80dd51bce74a351a", + "reference": "5e4e71592f69da17871dba6e80dd51bce74a351a", "shasum": "" }, "require": { @@ -4278,38 +4541,44 @@ "phpcs", "standards" ], - "time": "2020-10-23T02:01:07+00:00" + "support": { + "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues", + "source": "https://github.com/squizlabs/PHP_CodeSniffer", + "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" + }, + "time": "2021-12-12T21:44:58+00:00" }, { "name": "symfony/config", - "version": "v5.2.4", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "212d54675bf203ff8aef7d8cee8eecfb72f4a263" + "reference": "e39cf688c80fd79ab0a6a2d05a9facac9b2d534b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/212d54675bf203ff8aef7d8cee8eecfb72f4a263", - "reference": "212d54675bf203ff8aef7d8cee8eecfb72f4a263", + "url": "https://api.github.com/repos/symfony/config/zipball/e39cf688c80fd79ab0a6a2d05a9facac9b2d534b", + "reference": "e39cf688c80fd79ab0a6a2d05a9facac9b2d534b", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/filesystem": "^4.4|^5.0", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/filesystem": "^4.4|^5.0|^6.0", "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16", + "symfony/polyfill-php81": "^1.22" }, "conflict": { "symfony/finder": "<4.4" }, "require-dev": { - "symfony/event-dispatcher": "^4.4|^5.0", - "symfony/finder": "^4.4|^5.0", - "symfony/messenger": "^4.4|^5.0", - "symfony/service-contracts": "^1.1|^2", - "symfony/yaml": "^4.4|^5.0" + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/messenger": "^4.4|^5.0|^6.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/yaml": "^4.4|^5.0|^6.0" }, "suggest": { "symfony/yaml": "To use the yaml reference dumper" @@ -4339,6 +4608,9 @@ ], "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/config/tree/v5.4.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4353,40 +4625,41 @@ "type": "tidelift" } ], - "time": "2021-02-23T23:58:19+00:00" + "time": "2021-11-28T15:25:38+00:00" }, { "name": "symfony/console", - "version": "v4.4.20", + "version": "v4.4.34", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "c98349bda966c70d6c08b4cd8658377c94166492" + "reference": "329b3a75cc6b16d435ba1b1a41df54a53382a3f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c98349bda966c70d6c08b4cd8658377c94166492", - "reference": "c98349bda966c70d6c08b4cd8658377c94166492", + "url": "https://api.github.com/repos/symfony/console/zipball/329b3a75cc6b16d435ba1b1a41df54a53382a3f0", + "reference": "329b3a75cc6b16d435ba1b1a41df54a53382a3f0", "shasum": "" }, "require": { "php": ">=7.1.3", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php73": "^1.8", - "symfony/polyfill-php80": "^1.15", + "symfony/polyfill-php80": "^1.16", "symfony/service-contracts": "^1.1|^2" }, "conflict": { + "psr/log": ">=3", "symfony/dependency-injection": "<3.4", "symfony/event-dispatcher": "<4.3|>=5", "symfony/lock": "<4.4", "symfony/process": "<3.3" }, "provide": { - "psr/log-implementation": "1.0" + "psr/log-implementation": "1.0|2.0" }, "require-dev": { - "psr/log": "~1.0", + "psr/log": "^1|^2", "symfony/config": "^3.4|^4.0|^5.0", "symfony/dependency-injection": "^3.4|^4.0|^5.0", "symfony/event-dispatcher": "^4.3", @@ -4425,68 +4698,9 @@ ], "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-02-22T18:44:15+00:00" - }, - { - "name": "symfony/css-selector", - "version": "v5.2.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/f65f217b3314504a1ec99c2d6ef69016bb13490f", - "reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\CssSelector\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "support": { + "source": "https://github.com/symfony/console/tree/v4.4.34" }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Converts CSS selectors to XPath expressions", - "homepage": "https://symfony.com", "funding": [ { "url": "https://symfony.com/sponsor", @@ -4501,27 +4715,27 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:01:46+00:00" + "time": "2021-11-04T12:23:33+00:00" }, { "name": "symfony/dependency-injection", - "version": "v5.2.5", + "version": "v5.2.12", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "be0c7926f5729b15e4e79fd2bf917cac584b1970" + "reference": "2f0326ab0e142a3600b1b435cb3e852bc96264b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/be0c7926f5729b15e4e79fd2bf917cac584b1970", - "reference": "be0c7926f5729b15e4e79fd2bf917cac584b1970", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/2f0326ab0e142a3600b1b435cb3e852bc96264b6", + "reference": "2f0326ab0e142a3600b1b435cb3e852bc96264b6", "shasum": "" }, "require": { "php": ">=7.2.5", "psr/container": "^1.0", "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-php80": "^1.15", + "symfony/polyfill-php80": "^1.16", "symfony/service-contracts": "^1.1.6|^2" }, "conflict": { @@ -4571,6 +4785,9 @@ ], "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/dependency-injection/tree/v5.2.12" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4585,20 +4802,20 @@ "type": "tidelift" } ], - "time": "2021-03-05T20:13:41+00:00" + "time": "2021-07-23T15:54:19+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.2.0", + "version": "v2.5.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" + "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", - "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8", + "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8", "shasum": "" }, "require": { @@ -4607,7 +4824,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "2.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -4635,6 +4852,9 @@ ], "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4649,28 +4869,29 @@ "type": "tidelift" } ], - "time": "2020-09-07T11:33:47+00:00" + "time": "2021-07-12T14:48:14+00:00" }, { "name": "symfony/dotenv", - "version": "v5.2.4", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "783f12027c6b40ab0e93d6136d9f642d1d67cd6b" + "reference": "9bd173ff68fa90d39c59d91a42ae42b7f11713a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/783f12027c6b40ab0e93d6136d9f642d1d67cd6b", - "reference": "783f12027c6b40ab0e93d6136d9f642d1d67cd6b", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/9bd173ff68fa90d39c59d91a42ae42b7f11713a0", + "reference": "9bd173ff68fa90d39c59d91a42ae42b7f11713a0", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1" + "symfony/deprecation-contracts": "^2.1|^3" }, "require-dev": { - "symfony/process": "^4.4|^5.0" + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0" }, "type": "library", "autoload": { @@ -4702,6 +4923,9 @@ "env", "environment" ], + "support": { + "source": "https://github.com/symfony/dotenv/tree/v5.4.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4716,25 +4940,26 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:01:46+00:00" + "time": "2021-11-23T10:19:22+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.4.20", + "version": "v4.4.34", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "c352647244bd376bf7d31efbd5401f13f50dad0c" + "reference": "1a024b45369c9d55d76b6b8a241bd20c9ea1cbd8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/c352647244bd376bf7d31efbd5401f13f50dad0c", - "reference": "c352647244bd376bf7d31efbd5401f13f50dad0c", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1a024b45369c9d55d76b6b8a241bd20c9ea1cbd8", + "reference": "1a024b45369c9d55d76b6b8a241bd20c9ea1cbd8", "shasum": "" }, "require": { "php": ">=7.1.3", - "symfony/event-dispatcher-contracts": "^1.1" + "symfony/event-dispatcher-contracts": "^1.1", + "symfony/polyfill-php80": "^1.16" }, "conflict": { "symfony/dependency-injection": "<3.4" @@ -4744,7 +4969,7 @@ "symfony/event-dispatcher-implementation": "1.1" }, "require-dev": { - "psr/log": "~1.0", + "psr/log": "^1|^2|^3", "symfony/config": "^3.4|^4.0|^5.0", "symfony/dependency-injection": "^3.4|^4.0|^5.0", "symfony/error-handler": "~3.4|~4.4", @@ -4782,6 +5007,9 @@ ], "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v4.4.34" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4796,20 +5024,20 @@ "type": "tidelift" } ], - "time": "2021-01-27T09:09:26+00:00" + "time": "2021-11-15T14:42:25+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v1.1.9", + "version": "v1.1.11", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "84e23fdcd2517bf37aecbd16967e83f0caee25a7" + "reference": "01e9a4efac0ee33a05dfdf93b346f62e7d0e998c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/84e23fdcd2517bf37aecbd16967e83f0caee25a7", - "reference": "84e23fdcd2517bf37aecbd16967e83f0caee25a7", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/01e9a4efac0ee33a05dfdf93b346f62e7d0e998c", + "reference": "01e9a4efac0ee33a05dfdf93b346f62e7d0e998c", "shasum": "" }, "require": { @@ -4822,7 +5050,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-main": "1.1-dev" }, "thanks": { "name": "symfony/contracts", @@ -4858,6 +5086,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v1.1.11" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4872,25 +5103,27 @@ "type": "tidelift" } ], - "time": "2020-07-06T13:19:58+00:00" + "time": "2021-03-23T15:25:38+00:00" }, { "name": "symfony/filesystem", - "version": "v5.2.4", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "710d364200997a5afde34d9fe57bd52f3cc1e108" + "reference": "731f917dc31edcffec2c6a777f3698c33bea8f01" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/710d364200997a5afde34d9fe57bd52f3cc1e108", - "reference": "710d364200997a5afde34d9fe57bd52f3cc1e108", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/731f917dc31edcffec2c6a777f3698c33bea8f01", + "reference": "731f917dc31edcffec2c6a777f3698c33bea8f01", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8" + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -4917,6 +5150,9 @@ ], "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v5.4.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4931,24 +5167,26 @@ "type": "tidelift" } ], - "time": "2021-02-12T10:38:38+00:00" + "time": "2021-10-28T13:39:27+00:00" }, { "name": "symfony/finder", - "version": "v5.2.4", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "0d639a0943822626290d169965804f79400e6a04" + "reference": "d2f29dac98e96a98be467627bd49c2efb1bc2590" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/0d639a0943822626290d169965804f79400e6a04", - "reference": "0d639a0943822626290d169965804f79400e6a04", + "url": "https://api.github.com/repos/symfony/finder/zipball/d2f29dac98e96a98be467627bd49c2efb1bc2590", + "reference": "d2f29dac98e96a98be467627bd49c2efb1bc2590", "shasum": "" }, "require": { - "php": ">=7.2.5" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -4975,6 +5213,9 @@ ], "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v5.4.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -4989,27 +5230,27 @@ "type": "tidelift" } ], - "time": "2021-02-15T18:55:04+00:00" + "time": "2021-11-28T15:25:38+00:00" }, { "name": "symfony/options-resolver", - "version": "v5.2.4", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "5d0f633f9bbfcf7ec642a2b5037268e61b0a62ce" + "reference": "b0fb78576487af19c500aaddb269fd36701d4847" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/5d0f633f9bbfcf7ec642a2b5037268e61b0a62ce", - "reference": "5d0f633f9bbfcf7ec642a2b5037268e61b0a62ce", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/b0fb78576487af19c500aaddb269fd36701d4847", + "reference": "b0fb78576487af19c500aaddb269fd36701d4847", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-php73": "~1.0", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -5041,6 +5282,9 @@ "configuration", "options" ], + "support": { + "source": "https://github.com/symfony/options-resolver/tree/v5.4.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5055,20 +5299,20 @@ "type": "tidelift" } ], - "time": "2021-01-27T12:56:27+00:00" + "time": "2021-11-23T10:19:22+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "c6c942b1ac76c82448322025e084cadc56048b4e" + "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e", - "reference": "c6c942b1ac76c82448322025e084cadc56048b4e", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce", + "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce", "shasum": "" }, "require": { @@ -5080,7 +5324,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5117,6 +5361,9 @@ "polyfill", "portable" ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5131,20 +5378,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-02-19T12:13:01+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.22.1", + "version": "v1.23.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "5232de97ee3b75b0360528dae24e73db49566ab1" + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1", - "reference": "5232de97ee3b75b0360528dae24e73db49566ab1", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6", "shasum": "" }, "require": { @@ -5156,7 +5403,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5194,6 +5441,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5208,20 +5458,20 @@ "type": "tidelift" } ], - "time": "2021-01-22T09:19:47+00:00" + "time": "2021-05-27T12:26:48+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.22.1", + "version": "v1.23.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2" + "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", - "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010", + "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010", "shasum": "" }, "require": { @@ -5230,7 +5480,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5270,6 +5520,9 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5284,20 +5537,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-02-19T12:13:01+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.22.1", + "version": "v1.23.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91", - "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be", + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be", "shasum": "" }, "require": { @@ -5306,7 +5559,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" + "dev-main": "1.23-dev" }, "thanks": { "name": "symfony/polyfill", @@ -5350,6 +5603,88 @@ "portable", "shim" ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-28T13:41:28+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "e66119f3de95efc359483f810c4c3e6436279436" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436", + "reference": "e66119f3de95efc359483f810c4c3e6436279436", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.23.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5364,25 +5699,25 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-05-21T13:25:03+00:00" }, { "name": "symfony/process", - "version": "v5.2.4", + "version": "v5.4.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f" + "reference": "5be20b3830f726e019162b26223110c8f47cf274" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/313a38f09c77fbcdc1d223e57d368cea76a2fd2f", - "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f", + "url": "https://api.github.com/repos/symfony/process/zipball/5be20b3830f726e019162b26223110c8f47cf274", + "reference": "5be20b3830f726e019162b26223110c8f47cf274", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -5409,6 +5744,9 @@ ], "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v5.4.0" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5423,7 +5761,7 @@ "type": "tidelift" } ], - "time": "2021-01-27T10:15:41+00:00" + "time": "2021-11-28T15:25:38+00:00" }, { "name": "symfony/service-contracts", @@ -5485,6 +5823,9 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/master" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5503,16 +5844,16 @@ }, { "name": "symfony/yaml", - "version": "v5.2.5", + "version": "v5.3.11", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "298a08ddda623485208506fcee08817807a251dd" + "reference": "226638aa877bc4104e619a15f27d8141cd6b4e4a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/298a08ddda623485208506fcee08817807a251dd", - "reference": "298a08ddda623485208506fcee08817807a251dd", + "url": "https://api.github.com/repos/symfony/yaml/zipball/226638aa877bc4104e619a15f27d8141cd6b4e4a", + "reference": "226638aa877bc4104e619a15f27d8141cd6b4e4a", "shasum": "" }, "require": { @@ -5557,6 +5898,9 @@ ], "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v5.3.11" + }, "funding": [ { "url": "https://symfony.com/sponsor", @@ -5571,34 +5915,35 @@ "type": "tidelift" } ], - "time": "2021-03-06T07:59:01+00:00" + "time": "2021-11-20T16:42:42+00:00" }, { "name": "szepeviktor/phpstan-wordpress", - "version": "v0.7.4", + "version": "v1.0.2", "source": { "type": "git", "url": "https://github.com/szepeviktor/phpstan-wordpress.git", - "reference": "c816f18af8644382a3aea7e3b653be5e90d824a7" + "reference": "d44b5abcaa529698e138b2d21bc2a7cf9834039c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/c816f18af8644382a3aea7e3b653be5e90d824a7", - "reference": "c816f18af8644382a3aea7e3b653be5e90d824a7", + "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/d44b5abcaa529698e138b2d21bc2a7cf9834039c", + "reference": "d44b5abcaa529698e138b2d21bc2a7cf9834039c", "shasum": "" }, "require": { "php": "^7.1 || ^8.0", "php-stubs/wordpress-stubs": "^4.7 || ^5.0", - "phpstan/phpstan": "^0.12.26", + "phpstan/phpstan": "^1.0", "symfony/polyfill-php73": "^1.12.0" }, "require-dev": { - "composer/composer": "^1.8.6", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "composer/composer": "^1.10.23", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7", "php-parallel-lint/php-parallel-lint": "^1.1", - "phpstan/phpstan-strict-rules": "^0.12", - "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.4.3" + "phpstan/phpstan-strict-rules": "^1.0", + "phpunit/phpunit": "^7 || ^9", + "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.6" }, "type": "phpstan-extension", "extra": { @@ -5610,7 +5955,7 @@ }, "autoload": { "psr-4": { - "PHPStan\\WordPress\\": "src/" + "SzepeViktor\\PHPStan\\WordPress\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5625,26 +5970,30 @@ "static analysis", "wordpress" ], + "support": { + "issues": "https://github.com/szepeviktor/phpstan-wordpress/issues", + "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v1.0.2" + }, "funding": [ { "url": "https://www.paypal.me/szepeviktor", "type": "custom" } ], - "time": "2021-03-01T18:31:08+00:00" + "time": "2021-11-19T12:47:11+00:00" }, { "name": "theseer/tokenizer", - "version": "1.2.0", + "version": "1.2.1", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "75a63c33a8577608444246075ea0af0d052e452a" + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", - "reference": "75a63c33a8577608444246075ea0af0d052e452a", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", "shasum": "" }, "require": { @@ -5671,13 +6020,17 @@ } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + }, "funding": [ { "url": "https://github.com/theseer", "type": "github" } ], - "time": "2020-07-12T23:59:07+00:00" + "time": "2021-07-28T10:34:58+00:00" }, { "name": "webmozart/assert", @@ -5731,26 +6084,30 @@ "check", "validate" ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.10.0" + }, "time": "2021-03-09T10:59:23+00:00" }, { "name": "woocommerce/action-scheduler", - "version": "3.1.6", + "version": "3.2.1", "source": { "type": "git", "url": "https://github.com/woocommerce/action-scheduler.git", - "reference": "275d0ba54b1c263dfc62688de2fa9a25a373edf8" + "reference": "3c24064f115cd55e972d73d5d48f14133ac60b0d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/275d0ba54b1c263dfc62688de2fa9a25a373edf8", - "reference": "275d0ba54b1c263dfc62688de2fa9a25a373edf8", + "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/3c24064f115cd55e972d73d5d48f14133ac60b0d", + "reference": "3c24064f115cd55e972d73d5d48f14133ac60b0d", "shasum": "" }, "require-dev": { - "phpunit/phpunit": "^5.6", - "woocommerce/woocommerce-sniffs": "0.0.8", - "wp-cli/wp-cli": "~1.5.1" + "phpunit/phpunit": "^7.5", + "woocommerce/woocommerce-sniffs": "0.1.0", + "wp-cli/wp-cli": "~2.5.0" }, "type": "wordpress-plugin", "extra": { @@ -5766,143 +6123,36 @@ ], "description": "Action Scheduler for WordPress and WooCommerce", "homepage": "https://actionscheduler.org/", - "time": "2020-05-12T16:22:33+00:00" - }, - { - "name": "woocommerce/woocommerce", - "version": "4.7.1", - "source": { - "type": "git", - "url": "https://github.com/woocommerce/woocommerce", - "reference": "b12c4fd67e07299e4b2b438217d1ed484136485d" - }, - "require": { - "automattic/jetpack-autoloader": "2.2.0", - "automattic/jetpack-constants": "1.5.0", - "composer/installers": "1.7.0", - "league/container": "3.3.3", - "maxmind-db/reader": "1.6.0", - "pelago/emogrifier": "3.1.0", - "php": ">=7.0", - "psr/container": "1.0.0", - "woocommerce/action-scheduler": "3.1.6", - "woocommerce/woocommerce-admin": "1.6.3", - "woocommerce/woocommerce-blocks": "3.6.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4" - }, - "type": "wordpress-plugin", - "extra": { - "installer-paths": { - "packages/action-scheduler": [ - "woocommerce/action-scheduler" - ], - "packages/woocommerce-rest-api": [ - "woocommerce/woocommerce-rest-api" - ], - "packages/woocommerce-blocks": [ - "woocommerce/woocommerce-blocks" - ], - "packages/woocommerce-admin": [ - "woocommerce/woocommerce-admin" - ] - }, - "scripts-description": { - "test": "Run unit tests", - "phpcs": "Analyze code against the WordPress coding standards with PHP_CodeSniffer", - "phpcbf": "Fix coding standards warnings/errors automatically with PHP Code Beautifier", - "makepot-audit": "Generate i18n/languages/woocommerce.pot file and run audit", - "makepot": "Generate i18n/languages/woocommerce.pot file" - }, - "bamarni-bin": { - "target-directory": "bin/composer" - } - }, - "autoload": { - "exclude-from-classmap": [ - "includes/legacy", - "includes/libraries" - ], - "classmap": [ - "includes/rest-api" - ], - "psr-4": { - "Automattic\\WooCommerce\\": "src/", - "Automattic\\WooCommerce\\Vendor\\League\\Container\\": "vendor/league/container/" - } - }, - "autoload-dev": { - "psr-4": { - "Automattic\\WooCommerce\\Tests\\": "tests/php/src/", - "Automattic\\WooCommerce\\Testing\\Tools\\": "tests/Tools/" - }, - "classmap": [ - "tests/legacy/unit-tests/rest-api/Helpers" - ] - }, - "scripts": { - "post-install-cmd": [ - "@composer bin all install --ansi", - "sh ./bin/prefix-vendor-namespaces.sh", - "sh ./bin/package-update.sh" - ], - "post-update-cmd": [ - "@composer bin all update --ansi", - "sh ./bin/prefix-vendor-namespaces.sh", - "sh ./bin/package-update.sh" - ], - "test": [ - "phpunit" - ], - "phpcs": [ - "phpcs -s -p" - ], - "phpcs-pre-commit": [ - "phpcs -s -p -n" - ], - "phpcbf": [ - "phpcbf -p" - ], - "makepot-audit": [ - "wp --allow-root i18n make-pot . --exclude=\".github,.wordpress-org,bin,sample-data,node_modules,tests\" --slug=woocommerce" - ], - "makepot": [ - "@makepot-audit --skip-audit" - ], - "bin": [ - "echo 'bin not installed'" - ] + "support": { + "issues": "https://github.com/woocommerce/action-scheduler/issues", + "source": "https://github.com/woocommerce/action-scheduler/tree/3.2.1" }, - "license": [ - "GPL-3.0-or-later" - ], - "description": "An eCommerce toolkit that helps you sell anything. Beautifully.", - "homepage": "https://woocommerce.com/", - "time": "2020-11-24T23:53:53+00:00" + "time": "2021-06-21T20:21:35+00:00" }, { "name": "woocommerce/woocommerce-admin", - "version": "1.6.3", + "version": "2.6.5", "source": { "type": "git", "url": "https://github.com/woocommerce/woocommerce-admin.git", - "reference": "3015abbda8657ef097b7763e4c941daa06dab6f7" + "reference": "03d45390fb555d3a649f87c2b3385257c9d7ac02" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/woocommerce/woocommerce-admin/zipball/3015abbda8657ef097b7763e4c941daa06dab6f7", - "reference": "3015abbda8657ef097b7763e4c941daa06dab6f7", + "url": "https://api.github.com/repos/woocommerce/woocommerce-admin/zipball/03d45390fb555d3a649f87c2b3385257c9d7ac02", + "reference": "03d45390fb555d3a649f87c2b3385257c9d7ac02", "shasum": "" }, "require": { - "automattic/jetpack-autoloader": "^2.2.0", - "composer/installers": "1.7.0", - "php": ">=5.6|>=7.0" + "automattic/jetpack-autoloader": "^2.9.1", + "composer/installers": "^1.9.0", + "php": ">=7.0" }, "require-dev": { - "phpunit/phpunit": "7.5.20", - "woocommerce/woocommerce-sniffs": "0.0.9" + "automattic/jetpack-changelogger": "^1.1", + "bamarni/composer-bin-plugin": "^1.4", + "suin/phpcs-psr4-sniff": "^2.2", + "woocommerce/woocommerce-sniffs": "0.1.0" }, "type": "wordpress-plugin", "extra": { @@ -5910,12 +6160,29 @@ "test": "Run unit tests", "phpcs": "Analyze code against the WordPress coding standards with PHP_CodeSniffer", "phpcbf": "Fix coding standards warnings/errors automatically with PHP Code Beautifier" + }, + "bamarni-bin": { + "target-directory": "bin/composer" + }, + "changelogger": { + "changelog": "./changelog.txt", + "formatter": { + "filename": "bin/changelogger/WCAdminFormatter.php" + }, + "versioning": "semver", + "changes-dir": "./changelogs", + "types": [ + "Fix", + "Add", + "Update", + "Dev", + "Tweak", + "Performance", + "Enhancement" + ] } }, "autoload": { - "classmap": [ - "includes/" - ], "psr-4": { "Automattic\\WooCommerce\\Admin\\": "src/" } @@ -5926,29 +6193,33 @@ ], "description": "A modern, javascript-driven WooCommerce Admin experience.", "homepage": "https://github.com/woocommerce/woocommerce-admin", - "time": "2020-10-26T20:25:00+00:00" + "support": { + "issues": "https://github.com/woocommerce/woocommerce-admin/issues", + "source": "https://github.com/woocommerce/woocommerce-admin/tree/v2.6.5" + }, + "time": "2021-09-22T22:45:59+00:00" }, { "name": "woocommerce/woocommerce-blocks", - "version": "v3.6.0", + "version": "v5.5.1", "source": { "type": "git", "url": "https://github.com/woocommerce/woocommerce-gutenberg-products-block.git", - "reference": "1046697451f5e8906e48f0a7532b7637c3ded108" + "reference": "f3d8dbadb745cbb2544e86dfb3864e870146d197" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/woocommerce/woocommerce-gutenberg-products-block/zipball/1046697451f5e8906e48f0a7532b7637c3ded108", - "reference": "1046697451f5e8906e48f0a7532b7637c3ded108", + "url": "https://api.github.com/repos/woocommerce/woocommerce-gutenberg-products-block/zipball/f3d8dbadb745cbb2544e86dfb3864e870146d197", + "reference": "f3d8dbadb745cbb2544e86dfb3864e870146d197", "shasum": "" }, "require": { - "automattic/jetpack-autoloader": "^2.0.0", - "composer/installers": "1.7.0" + "automattic/jetpack-autoloader": "^2.9.1", + "composer/installers": "^1.7.0" }, "require-dev": { - "phpunit/phpunit": "6.5.14", - "woocommerce/woocommerce-sniffs": "0.0.7" + "phpunit/phpunit": "7.5.20", + "woocommerce/woocommerce-sniffs": "0.1.0" }, "type": "wordpress-plugin", "extra": { @@ -5973,60 +6244,31 @@ "gutenberg", "woocommerce" ], - "time": "2020-10-12T15:35:42+00:00" - }, - { - "name": "woocommerce/woocommerce-git-hooks", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/woocommerce/woocommerce-git-hooks.git", - "reference": "1e55118258e8487c68b17c06cfde3b48a692d9d4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/woocommerce/woocommerce-git-hooks/zipball/1e55118258e8487c68b17c06cfde3b48a692d9d4", - "reference": "1e55118258e8487c68b17c06cfde3b48a692d9d4", - "shasum": "" - }, - "type": "scripts", - "autoload": { - "psr-4": { - "WooCommerce\\GitHooks\\": "src/" - } + "support": { + "issues": "https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues", + "source": "https://github.com/woocommerce/woocommerce-gutenberg-products-block/tree/v5.5.1" }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Claudio Sanches", - "email": "claudio@automattic.com" - } - ], - "description": "WooCommerce Git Hooks", - "time": "2017-12-18T16:55:42+00:00" + "time": "2021-07-14T20:59:04+00:00" }, { "name": "woocommerce/woocommerce-sniffs", - "version": "0.1.0", + "version": "0.1.1", "source": { "type": "git", "url": "https://github.com/woocommerce/woocommerce-sniffs.git", - "reference": "b72b7dd2e70aa6aed16f80cdae5b1e6cce2e4c79" + "reference": "eb604d751b61c42f31ff1aa24113c7c0de438553" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/woocommerce/woocommerce-sniffs/zipball/b72b7dd2e70aa6aed16f80cdae5b1e6cce2e4c79", - "reference": "b72b7dd2e70aa6aed16f80cdae5b1e6cce2e4c79", + "url": "https://api.github.com/repos/woocommerce/woocommerce-sniffs/zipball/eb604d751b61c42f31ff1aa24113c7c0de438553", + "reference": "eb604d751b61c42f31ff1aa24113c7c0de438553", "shasum": "" }, "require": { - "dealerdirect/phpcodesniffer-composer-installer": "0.7.0", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", "php": ">=7.0", - "phpcompatibility/phpcompatibility-wp": "2.1.0", - "wp-coding-standards/wpcs": "2.3.0" + "phpcompatibility/phpcompatibility-wp": "^2.1.0", + "wp-coding-standards/wpcs": "^2.3.0" }, "type": "phpcodesniffer-standard", "notification-url": "https://packagist.org/downloads/", @@ -6046,54 +6288,11 @@ "woocommerce", "wordpress" ], - "time": "2020-08-06T18:23:45+00:00" - }, - { - "name": "wordpress/wordpress", - "version": "5.4.4", - "source": { - "type": "git", - "url": "https://github.com/wordpress/wordpress-develop", - "reference": "76f3ae1f48af96a9c7074214195e72dffc74933c" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7.0", - "phpcompatibility/phpcompatibility-wp": "^2.1.0", - "wp-coding-standards/wpcs": "~2.1.0" - }, - "type": "library", - "scripts": { - "compat": [ - "@php ./vendor/squizlabs/php_codesniffer/bin/phpcs --standard=phpcompat.xml.dist --report=summary,source" - ], - "format": [ - "@php ./vendor/squizlabs/php_codesniffer/bin/phpcbf --report=summary,source" - ], - "lint": [ - "@php ./vendor/squizlabs/php_codesniffer/bin/phpcs --report=summary,source" - ], - "lint:errors": [ - "@lint -n" - ] - }, - "license": [ - "GPL-2.0-or-later" - ], - "description": "WordPress is open source software you can use to create a beautiful website, blog, or app.", - "homepage": "https://wordpress.org", - "keywords": [ - "blog", - "cms", - "wordpress", - "wp" - ], "support": { - "issues": "https://core.trac.wordpress.org/" + "issues": "https://github.com/woocommerce/woocommerce-sniffs/issues", + "source": "https://github.com/woocommerce/woocommerce-sniffs/tree/0.1.1" }, - "time": "2020-10-30T20:38:09+00:00" + "time": "2021-07-29T17:25:16+00:00" }, { "name": "wp-coding-standards/wpcs", @@ -6139,7 +6338,78 @@ "standards", "wordpress" ], + "support": { + "issues": "https://github.com/WordPress/WordPress-Coding-Standards/issues", + "source": "https://github.com/WordPress/WordPress-Coding-Standards", + "wiki": "https://github.com/WordPress/WordPress-Coding-Standards/wiki" + }, "time": "2020-05-13T23:57:56+00:00" + }, + { + "name": "wp-phpunit/wp-phpunit", + "version": "5.7.4", + "source": { + "type": "git", + "url": "https://github.com/wp-phpunit/wp-phpunit.git", + "reference": "d97ece673cc78aa9835f87d937f86b1bf8e0fc8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-phpunit/wp-phpunit/zipball/d97ece673cc78aa9835f87d937f86b1bf8e0fc8c", + "reference": "d97ece673cc78aa9835f87d937f86b1bf8e0fc8c", + "shasum": "" + }, + "type": "library", + "autoload": { + "files": [ + "__loaded.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Evan Mattson", + "email": "me@aaemnnost.tv" + }, + { + "name": "WordPress Community", + "homepage": "https://wordpress.org/about/" + } + ], + "description": "WordPress core PHPUnit library", + "homepage": "https://github.com/wp-phpunit", + "keywords": [ + "phpunit", + "test", + "wordpress" + ], + "support": { + "docs": "https://github.com/wp-phpunit/docs", + "issues": "https://github.com/wp-phpunit/issues", + "source": "https://github.com/wp-phpunit/wp-phpunit" + }, + "time": "2021-11-10T19:49:28+00:00" + }, + { + "name": "wpackagist-plugin/woocommerce", + "version": "5.7.1", + "source": { + "type": "svn", + "url": "https://plugins.svn.wordpress.org/woocommerce/", + "reference": "tags/5.7.1" + }, + "dist": { + "type": "zip", + "url": "https://downloads.wordpress.org/plugin/woocommerce.5.7.1.zip" + }, + "require": { + "composer/installers": "^1.0 || ^2.0" + }, + "type": "wordpress-plugin", + "homepage": "https://wordpress.org/plugins/woocommerce/" } ], "aliases": [], @@ -6149,12 +6419,14 @@ }, "prefer-stable": false, "prefer-lowest": false, - "platform": [], + "platform": { + "php": ">=7.3.0" + }, "platform-dev": { "php": ">=7.3.0" }, "platform-overrides": { - "php": "7.3" + "php": "7.4" }, - "plugin-api-version": "1.1.0" + "plugin-api-version": "2.1.0" } diff --git a/docker-compose.override.yml b/docker-compose.wp-env.yml similarity index 60% rename from docker-compose.override.yml rename to docker-compose.wp-env.yml index f17a603..0073cd3 100644 --- a/docker-compose.override.yml +++ b/docker-compose.wp-env.yml @@ -6,15 +6,15 @@ services: - mailhog environment: - LOCAL_DIR: ${LOCAL_DIR-src} + LOCAL_DIR: ${LOCAL_DIR-build} SMTP_HOST: ${SMTP_HOST-mailhog} SMTP_PORT: ${SMTP_PORT-1025} volumes: - ../tools/local-env/default.template:/etc/nginx/conf.d/default.template - - ..:/var/www/${LOCAL_DIR-src}/wp-content/plugins/woocommerce-local-pickup-time-select - - ../vendor/woocommerce/woocommerce:/var/www/${LOCAL_DIR-src}/wp-content/plugins/woocommerce - - ../tools/local-env/mu-plugins:/var/www/${LOCAL_DIR-src}/wp-content/mu-plugins + - ..:/var/www/${LOCAL_DIR-build}/wp-content/plugins/woocommerce-local-pickup-time-select + - ../vendor/woocommerce/woocommerce:/var/www/${LOCAL_DIR-build}/wp-content/plugins/woocommerce + - ../tools/local-env/mu-plugins:/var/www/${LOCAL_DIR-build}/wp-content/mu-plugins # Load our config file, substituning environment variables into the config. command: /bin/sh -c "envsubst '$$LOCAL_DIR $$LOCAL_HOSTNAME' < /etc/nginx/conf.d/default.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'" @@ -29,9 +29,9 @@ services: SMTP_PORT: ${SMTP_PORT-1025} volumes: - - ..:/var/www/${LOCAL_DIR-src}/wp-content/plugins/woocommerce-local-pickup-time-select - - ../vendor/woocommerce/woocommerce:/var/www/${LOCAL_DIR-src}/wp-content/plugins/woocommerce - - ../tools/local-env/mu-plugins:/var/www/${LOCAL_DIR-src}/wp-content/mu-plugins + - ..:/var/www/${LOCAL_DIR-build}/wp-content/plugins/woocommerce-local-pickup-time-select + - ../vendor/woocommerce/woocommerce:/var/www/${LOCAL_DIR-build}/wp-content/plugins/woocommerce + - ../tools/local-env/mu-plugins:/var/www/${LOCAL_DIR-build}/wp-content/mu-plugins cli: environment: @@ -43,15 +43,15 @@ services: SMTP_PORT: ${SMTP_PORT-1025} volumes: - - ..:/var/www/${LOCAL_DIR-src}/wp-content/plugins/woocommerce-local-pickup-time-select - - ../vendor/woocommerce/woocommerce:/var/www/${LOCAL_DIR-src}/wp-content/plugins/woocommerce - - ../tools/local-env/mu-plugins:/var/www/${LOCAL_DIR-src}/wp-content/mu-plugins + - ..:/var/www/${LOCAL_DIR-build}/wp-content/plugins/woocommerce-local-pickup-time-select + - ../vendor/woocommerce/woocommerce:/var/www/${LOCAL_DIR-build}/wp-content/plugins/woocommerce + - ../tools/local-env/mu-plugins:/var/www/${LOCAL_DIR-build}/wp-content/mu-plugins phpunit: environment: LOCAL_PHP_XDEBUG: ${LOCAL_PHP_XDEBUG-false} LOCAL_PHP_MEMCACHED: ${LOCAL_PHP_MEMCACHED-false} - LOCAL_DIR: ${LOCAL_DIR-src} + LOCAL_DIR: ${LOCAL_DIR-build} WP_MULTISITE: ${WP_MULTISITE-false} PHP_FPM_UID: ${PHP_FPM_UID-1000} PHP_FPM_GID: ${PHP_FPM_GID-1000} @@ -61,9 +61,9 @@ services: SMTP_PORT: ${SMTP_PORT-1025} volumes: - - ..:/var/www/${LOCAL_DIR-src}/wp-content/plugins/woocommerce-local-pickup-time-select - - ../vendor/woocommerce/woocommerce:/var/www/${LOCAL_DIR-src}/wp-content/plugins/woocommerce - - ../tools/local-env/mu-plugins:/var/www/${LOCAL_DIR-src}/wp-content/mu-plugins + - ..:/var/www/${LOCAL_DIR-build}/wp-content/plugins/woocommerce-local-pickup-time-select + - ../vendor/woocommerce/woocommerce:/var/www/${LOCAL_DIR-build}/wp-content/plugins/woocommerce + - ../tools/local-env/mu-plugins:/var/www/${LOCAL_DIR-build}/wp-content/mu-plugins ## SMTP Server + Web Interface for viewing and testing emails during development. ## http://danfarrelly.nyc/MailDev/ diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..eea2e11 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,21 @@ +# This is the Compose file for command-line services. +# Anything that doesn't need to be run as part of the main `docker-compose up' +# command should reside in here and be invoked by a helper script. +version: "3.7" +services: + dev: + build: .devcontainer + working_dir: /app + user: 1000:1000 + volumes: + - .:/app:cached + composer: + build: ./tools/docker/composer + entrypoint: composer + working_dir: /app + user: 1000:1000 + volumes: + - .:/app:cached + - ~/.composer:/root/.composer:cached +volumes: + {} diff --git a/package-lock.json b/package-lock.json index e451f5b..ccf36fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,497 +5,510 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "dev": true, "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.12.13" } }, "@babel/compat-data": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.11.0.tgz", - "integrity": "sha512-TPSvJfv73ng0pfnEOh17bYMPQbI95+nGWc71Ss4vZdRBHTDqmM9Z8ZV4rYz8Ks7sfzc95n30k6ODIq5UGnXcYQ==", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } + "version": "7.13.15", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.13.15.tgz", + "integrity": "sha512-ltnibHKR1VnrU4ymHyQ/CXtNXI6yZC0oJThyW78Hft8XndANwi+9H+UIklBDraIjFEJzw8wmcM427oDd9KS5wA==", + "dev": true }, "@babel/core": { - "version": "7.11.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.11.6.tgz", - "integrity": "sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.11.6", - "@babel/helper-module-transforms": "^7.11.0", - "@babel/helpers": "^7.10.4", - "@babel/parser": "^7.11.5", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.11.5", - "@babel/types": "^7.11.5", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.13.16.tgz", + "integrity": "sha512-sXHpixBiWWFti0AV2Zq7avpTasr6sIAu7Y396c608541qAU2ui4a193m0KSQmfPSKFZLnQ3cvlKDOm3XkuXm3Q==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.16", + "@babel/helper-compilation-targets": "^7.13.16", + "@babel/helper-module-transforms": "^7.13.14", + "@babel/helpers": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.15", + "@babel/types": "^7.13.16", "convert-source-map": "^1.7.0", "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", + "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", + "semver": "^6.3.0", "source-map": "^0.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } } }, "@babel/generator": { - "version": "7.11.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz", - "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.13.16.tgz", + "integrity": "sha512-grBBR75UnKOcUWMp8WoDxNsWCFl//XCK6HWTrBQKTr5SV9f5g0pNOjdyzi/DTBv12S9GnYPInIXQBTky7OXEMg==", "dev": true, "requires": { - "@babel/types": "^7.11.5", + "@babel/types": "^7.13.16", "jsesc": "^2.5.1", "source-map": "^0.5.0" } }, "@babel/helper-annotate-as-pure": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", - "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz", + "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.13" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-builder-react-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.10.4.tgz", - "integrity": "sha512-5nPcIZ7+KKDxT1427oBivl9V9YTal7qk0diccnh7RrcgrT/pGFOjgGw1dgryyx1GvHEpXVfoDF6Ak3rTiWh8Rg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-builder-react-jsx-experimental": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.11.5.tgz", - "integrity": "sha512-Vc4aPJnRZKWfzeCBsqTBnzulVNjABVdahSPhtdMD3Vs80ykx4a87jTHtF/VR+alSrDmNvat7l13yrRHauGcHVw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz", + "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-module-imports": "^7.10.4", - "@babel/types": "^7.11.5" + "@babel/helper-explode-assignable-expression": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-compilation-targets": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz", - "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", + "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", "dev": true, "requires": { - "@babel/compat-data": "^7.10.4", - "browserslist": "^4.12.0", - "invariant": "^2.2.4", - "levenary": "^1.1.1", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "@babel/compat-data": "^7.13.15", + "@babel/helper-validator-option": "^7.12.17", + "browserslist": "^4.14.5", + "semver": "^6.3.0" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz", - "integrity": "sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==", + "version": "7.13.11", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz", + "integrity": "sha512-ays0I7XYq9xbjCSvT+EvysLgfc3tOkwCULHjrnscGT3A9qD4sk3wXnJ3of0MAWsWGjdinFvajHU2smYuqXKMrw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.10.5", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-member-expression-to-functions": "^7.13.0", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-split-export-declaration": "^7.12.13" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz", - "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==", + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz", + "integrity": "sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-regex": "^7.10.4", - "regexpu-core": "^4.7.0" + "@babel/helper-annotate-as-pure": "^7.12.13", + "regexpu-core": "^4.7.1" } }, - "@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "@babel/helper-define-polyfill-provider": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.0.tgz", + "integrity": "sha512-JT8tHuFjKBo8NnaUbblz7mIu1nnvUDiHVjXXkulZULyidvo/7P6TY7+YqpV37IfF+KUFxmlK04elKtGKXaiVgw==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" } }, "@babel/helper-explode-assignable-expression": { - "version": "7.11.4", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz", - "integrity": "sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz", + "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.13.0" } }, "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz", + "integrity": "sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-get-function-arity": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz", + "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.13" } }, "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz", + "integrity": "sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/traverse": "^7.13.15", + "@babel/types": "^7.13.16" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz", - "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz", + "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==", "dev": true, "requires": { - "@babel/types": "^7.11.0" + "@babel/types": "^7.13.12" } }, "@babel/helper-module-imports": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz", - "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz", + "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.13.12" } }, "@babel/helper-module-transforms": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz", - "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==", + "version": "7.13.14", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.13.14.tgz", + "integrity": "sha512-QuU/OJ0iAOSIatyVZmfqB0lbkVP0kDRiKj34xy+QNsnVZi/PA6BoSoreeqnxxa9EHFAIL0R9XOaAR/G9WlIy5g==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/template": "^7.10.4", - "@babel/types": "^7.11.0", - "lodash": "^4.17.19" + "@babel/helper-module-imports": "^7.13.12", + "@babel/helper-replace-supers": "^7.13.12", + "@babel/helper-simple-access": "^7.13.12", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/helper-validator-identifier": "^7.12.11", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.13", + "@babel/types": "^7.13.14" } }, "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz", + "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==", "dev": true, "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.12.13" } }, "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz", + "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==", "dev": true }, - "@babel/helper-regex": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz", - "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==", - "dev": true, - "requires": { - "lodash": "^4.17.19" - } - }, "@babel/helper-remap-async-to-generator": { - "version": "7.11.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.11.4.tgz", - "integrity": "sha512-tR5vJ/vBa9wFy3m5LLv2faapJLnDFxNWff2SAYkSE4rLUdbp7CdObYFgI7wK4T/Mj4UzpjPwzR8Pzmr5m7MHGA==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz", + "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-wrap-function": "^7.13.0", + "@babel/types": "^7.13.0" } }, "@babel/helper-replace-supers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz", - "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", + "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-member-expression-to-functions": "^7.13.12", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.12" } }, "@babel/helper-simple-access": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz", - "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz", + "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==", "dev": true, "requires": { - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/types": "^7.13.12" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz", - "integrity": "sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", "dev": true, "requires": { - "@babel/types": "^7.11.0" + "@babel/types": "^7.12.1" } }, "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz", + "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==", "dev": true, "requires": { - "@babel/types": "^7.11.0" + "@babel/types": "^7.12.13" } }, "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz", + "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz", - "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz", + "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.0", + "@babel/types": "^7.13.0" } }, "@babel/helpers": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz", - "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==", + "version": "7.13.17", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.13.17.tgz", + "integrity": "sha512-Eal4Gce4kGijo1/TGJdqp3WuhllaMLSrW6XcL0ulyUAQOuxHcCafZE8KHg9857gcTehsm/v7RcOx2+jp0Ryjsg==", "dev": true, "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/template": "^7.12.13", + "@babel/traverse": "^7.13.17", + "@babel/types": "^7.13.17" } }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "@babel/parser": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz", - "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.13.16.tgz", + "integrity": "sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw==", "dev": true }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz", + "integrity": "sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-proposal-optional-chaining": "^7.13.12" + } + }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz", - "integrity": "sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg==", + "version": "7.13.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.15.tgz", + "integrity": "sha512-VapibkWzFeoa6ubXy/NgV5U2U4MVnUlvnx6wo1XhlsaTrLYWE0UFpDQsVrmn22q5CzeloqJ8gEMHSKxuee6ZdA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.10.4", - "@babel/plugin-syntax-async-generators": "^7.8.0" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-remap-async-to-generator": "^7.13.0", + "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz", - "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz", + "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz", - "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz", + "integrity": "sha512-ONWKj0H6+wIRCkZi9zSbZtE/r73uOhMVHh256ys0UzfM7I3d4n+spZNWjOnJv2gzopumP2Wxi186vI8N0Y2JyQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.4.tgz", - "integrity": "sha512-aNdf0LY6/3WXkhh0Fdb6Zk9j1NMD8ovj3F6r0+3j837Pn1S1PdNtcwJ5EG9WkVPNHPxyJDaxMaAOVq4eki0qbg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz", + "integrity": "sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz", - "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz", + "integrity": "sha512-w4zOPKUFPX1mgvTmL/fcEqy34hrQ1CRcGxdphBc6snDnnqJ47EZDIyop6IwXzAC8G916hsIuXB2ZMBCExC5k7Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.11.0.tgz", - "integrity": "sha512-/f8p4z+Auz0Uaf+i8Ekf1iM7wUNLcViFUGiPxKeXvxTSl63B875YPiVdUDdem7hREcI0E0kSpEhS8tF5RphK7Q==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz", + "integrity": "sha512-aul6znYB4N4HGweImqKn59Su9RS8lbUIqxtXTOcAGtNIDczoEFv+l1EhmX8rUBp3G1jMjKJm8m0jXVp63ZpS4A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz", - "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz", + "integrity": "sha512-iePlDPBn//UhxExyS9KyeYU7RM9WScAG+D3Hhno0PLJebAEpDZMocbDe64eqynhNAnwz/vZoL/q/QB2T1OH39A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz", - "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz", + "integrity": "sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-plugin-utils": "^7.12.13", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz", - "integrity": "sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz", + "integrity": "sha512-DhB2EuB1Ih7S3/IRX5AFVgZ16k3EzfRbq97CxAVI1KSYcW+lexV8VZb7G7L8zuPVSdQMRn0kiBpf/Yzu9ZKH0g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.10.4" + "@babel/compat-data": "^7.13.8", + "@babel/helper-compilation-targets": "^7.13.8", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.13.0" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz", - "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz", + "integrity": "sha512-0wS/4DUF1CuTmGo+NiaHfHcVSeSLj5S3e6RivPTg/2k3wOv3jO35tZ6/ZWsQhQMvdgI7CwphjQa/ccarLymHVA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz", - "integrity": "sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz", + "integrity": "sha512-fcEdKOkIB7Tf4IxrgEVeFC4zeJSTr78no9wTdBuZZbqF64kzllU0ybo2zrzm7gUQfxGhBgq4E39oRs8Zx/RMYQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz", - "integrity": "sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz", + "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-class-features-plugin": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz", - "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz", + "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-async-generators": { @@ -507,13 +520,22 @@ "@babel/helper-plugin-utils": "^7.8.0" } }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, "@babel/plugin-syntax-class-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz", - "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-dynamic-import": { @@ -534,6 +556,15 @@ "@babel/helper-plugin-utils": "^7.8.3" } }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, "@babel/plugin-syntax-json-strings": { "version": "7.8.3", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", @@ -544,12 +575,12 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.4.tgz", - "integrity": "sha512-KCg9mio9jwiARCB7WAcQ7Y1q+qicILjoK8LP/VkPkEKaf5dkaZZK1EcTe91a3JJlZ3qy6L5s9X52boEYi8DM9g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz", + "integrity": "sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-logical-assignment-operators": { @@ -607,309 +638,287 @@ } }, "@babel/plugin-syntax-top-level-await": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz", - "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz", + "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz", - "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz", + "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz", - "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz", + "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.10.4" + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-remap-async-to-generator": "^7.13.0" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz", - "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz", + "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz", - "integrity": "sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew==", + "version": "7.13.16", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.13.16.tgz", + "integrity": "sha512-ad3PHUxGnfWF4Efd3qFuznEtZKoBp0spS+DgqzVzRPV7urEBvPLue3y2j80w4Jf2YLzZHj8TOv/Lmvdmh3b2xg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-classes": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz", - "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz", + "integrity": "sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.10.4", + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-optimise-call-expression": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-replace-supers": "^7.13.0", + "@babel/helper-split-export-declaration": "^7.12.13", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz", - "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz", + "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-destructuring": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz", - "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==", + "version": "7.13.17", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz", + "integrity": "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz", - "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz", + "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz", - "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz", + "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz", - "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz", + "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-for-of": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz", - "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz", + "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz", - "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz", + "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz", - "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz", + "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz", - "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz", + "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz", - "integrity": "sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz", + "integrity": "sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.10.5", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz", - "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz", + "integrity": "sha512-9QiOx4MEGglfYZ4XOnU79OHr6vIWUakIj9b4mioN8eQIoEh+pf5p/zEB36JpDFWA12nNMiRf7bfoRvl9Rn79Bw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.10.4", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-simple-access": "^7.12.13", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz", - "integrity": "sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw==", + "version": "7.13.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz", + "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.10.5", - "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-hoist-variables": "^7.13.0", + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-identifier": "^7.12.11", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz", - "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz", + "integrity": "sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-module-transforms": "^7.13.0", + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz", - "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz", + "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13" } }, "@babel/plugin-transform-new-target": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz", - "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz", + "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-object-super": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz", - "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz", + "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13", + "@babel/helper-replace-supers": "^7.12.13" } }, "@babel/plugin-transform-parameters": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz", - "integrity": "sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz", + "integrity": "sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-property-literals": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz", - "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz", + "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-react-constant-elements": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.10.4.tgz", - "integrity": "sha512-cYmQBW1pXrqBte1raMkAulXmi7rjg3VI6ZLg9QIic8Hq7BtYXaWuZSxsr2siOMI6SWwpxjWfnwhTUrd7JlAV7g==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.13.13.tgz", + "integrity": "sha512-SNJU53VM/SjQL0bZhyU+f4kJQz7bQQajnrZRSaU21hruG/NWY41AEM9AWXeXX90pYr/C2yAmTgI6yW3LlLrAUQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-react-display-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.10.4.tgz", - "integrity": "sha512-Zd4X54Mu9SBfPGnEcaGcOrVAYOtjT2on8QZkLKEq1S/tHexG39d9XXGZv19VfRrDjPJzFmPfTAqOQS1pfFOujw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.13.tgz", + "integrity": "sha512-MprESJzI9O5VnJZrL7gg1MpdqmiFcUv41Jc7SahxYsNP2kDkFqClxxTZq+1Qv4AFCamm+GXMRDQINNn+qrxmiA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.4.tgz", - "integrity": "sha512-L+MfRhWjX0eI7Js093MM6MacKU4M6dnCRa/QPDwYMxjljzSCzzlzKzj9Pk4P3OtrPcxr2N3znR419nr3Xw+65A==", + "version": "7.13.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.13.12.tgz", + "integrity": "sha512-jcEI2UqIcpCqB5U5DRxIl0tQEProI2gcu+g8VTIqxLO5Iidojb4d77q+fwGseCvd8af/lJ9masp4QWzBXFE2xA==", "dev": true, "requires": { - "@babel/helper-builder-react-jsx": "^7.10.4", - "@babel/helper-builder-react-jsx-experimental": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.10.4" + "@babel/helper-annotate-as-pure": "^7.12.13", + "@babel/helper-module-imports": "^7.13.12", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/plugin-syntax-jsx": "^7.12.13", + "@babel/types": "^7.13.12" } }, "@babel/plugin-transform-react-jsx-development": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.11.5.tgz", - "integrity": "sha512-cImAmIlKJ84sDmpQzm4/0q/2xrXlDezQoixy3qoz1NJeZL/8PRon6xZtluvr4H4FzwlDGI5tCcFupMnXGtr+qw==", - "dev": true, - "requires": { - "@babel/helper-builder-react-jsx-experimental": "^7.11.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.10.4" - } - }, - "@babel/plugin-transform-react-jsx-self": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.10.4.tgz", - "integrity": "sha512-yOvxY2pDiVJi0axdTWHSMi5T0DILN+H+SaeJeACHKjQLezEzhLx9nEF9xgpBLPtkZsks9cnb5P9iBEi21En3gg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.10.4" - } - }, - "@babel/plugin-transform-react-jsx-source": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.10.5.tgz", - "integrity": "sha512-wTeqHVkN1lfPLubRiZH3o73f4rfon42HpgxUSs86Nc+8QIcm/B9s8NNVXu/gwGcOyd7yDib9ikxoDLxJP0UiDA==", + "version": "7.12.17", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.17.tgz", + "integrity": "sha512-BPjYV86SVuOaudFhsJR1zjgxxOhJDt6JHNoD48DxWEIxUCAMjV1ys6DYw4SDYZh0b1QsS2vfIA9t/ZsQGsDOUQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.10.4" + "@babel/plugin-transform-react-jsx": "^7.12.17" } }, "@babel/plugin-transform-react-pure-annotations": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.10.4.tgz", - "integrity": "sha512-+njZkqcOuS8RaPakrnR9KvxjoG1ASJWpoIv/doyWngId88JoFlPlISenGXjrVacZUIALGUr6eodRs1vmPnF23A==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz", + "integrity": "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.10.4", @@ -917,192 +926,177 @@ } }, "@babel/plugin-transform-regenerator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz", - "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==", + "version": "7.13.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz", + "integrity": "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz", - "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz", + "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-runtime": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.11.5.tgz", - "integrity": "sha512-9aIoee+EhjySZ6vY5hnLjigHzunBlscx9ANKutkeWTJTx6m5Rbq6Ic01tLvO54lSusR+BxV7u4UDdCmXv5aagg==", + "version": "7.13.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.13.15.tgz", + "integrity": "sha512-d+ezl76gx6Jal08XngJUkXM4lFXK/5Ikl9Mh4HKDxSfGJXmZ9xG64XT2oivBzfxb/eQ62VfvoMkaCZUKJMVrBA==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "resolve": "^1.8.1", - "semver": "^5.5.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "@babel/helper-module-imports": "^7.13.12", + "@babel/helper-plugin-utils": "^7.13.0", + "babel-plugin-polyfill-corejs2": "^0.2.0", + "babel-plugin-polyfill-corejs3": "^0.2.0", + "babel-plugin-polyfill-regenerator": "^0.2.0", + "semver": "^6.3.0" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz", - "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz", + "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-spread": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz", - "integrity": "sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz", + "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz", - "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz", + "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-regex": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-template-literals": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz", - "integrity": "sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz", + "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz", - "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz", + "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz", - "integrity": "sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz", + "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz", - "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz", + "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-create-regexp-features-plugin": "^7.12.13", + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/preset-env": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.11.5.tgz", - "integrity": "sha512-kXqmW1jVcnB2cdueV+fyBM8estd5mlNfaQi6lwLgRwCby4edpavgbFhiBNjmWA3JpB/yZGSISa7Srf+TwxDQoA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.11.0", - "@babel/helper-compilation-targets": "^7.10.4", - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-proposal-async-generator-functions": "^7.10.4", - "@babel/plugin-proposal-class-properties": "^7.10.4", - "@babel/plugin-proposal-dynamic-import": "^7.10.4", - "@babel/plugin-proposal-export-namespace-from": "^7.10.4", - "@babel/plugin-proposal-json-strings": "^7.10.4", - "@babel/plugin-proposal-logical-assignment-operators": "^7.11.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4", - "@babel/plugin-proposal-numeric-separator": "^7.10.4", - "@babel/plugin-proposal-object-rest-spread": "^7.11.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.10.4", - "@babel/plugin-proposal-optional-chaining": "^7.11.0", - "@babel/plugin-proposal-private-methods": "^7.10.4", - "@babel/plugin-proposal-unicode-property-regex": "^7.10.4", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "version": "7.13.15", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.13.15.tgz", + "integrity": "sha512-D4JAPMXcxk69PKe81jRJ21/fP/uYdcTZ3hJDF5QX2HSI9bBxxYw/dumdR6dGumhjxlprHPE4XWoPaqzZUVy2MA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.15", + "@babel/helper-compilation-targets": "^7.13.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-option": "^7.12.17", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", + "@babel/plugin-proposal-async-generator-functions": "^7.13.15", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-dynamic-import": "^7.13.8", + "@babel/plugin-proposal-export-namespace-from": "^7.12.13", + "@babel/plugin-proposal-json-strings": "^7.13.8", + "@babel/plugin-proposal-logical-assignment-operators": "^7.13.8", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-numeric-separator": "^7.12.13", + "@babel/plugin-proposal-object-rest-spread": "^7.13.8", + "@babel/plugin-proposal-optional-catch-binding": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-proposal-private-methods": "^7.13.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.12.13", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.10.4", - "@babel/plugin-transform-arrow-functions": "^7.10.4", - "@babel/plugin-transform-async-to-generator": "^7.10.4", - "@babel/plugin-transform-block-scoped-functions": "^7.10.4", - "@babel/plugin-transform-block-scoping": "^7.10.4", - "@babel/plugin-transform-classes": "^7.10.4", - "@babel/plugin-transform-computed-properties": "^7.10.4", - "@babel/plugin-transform-destructuring": "^7.10.4", - "@babel/plugin-transform-dotall-regex": "^7.10.4", - "@babel/plugin-transform-duplicate-keys": "^7.10.4", - "@babel/plugin-transform-exponentiation-operator": "^7.10.4", - "@babel/plugin-transform-for-of": "^7.10.4", - "@babel/plugin-transform-function-name": "^7.10.4", - "@babel/plugin-transform-literals": "^7.10.4", - "@babel/plugin-transform-member-expression-literals": "^7.10.4", - "@babel/plugin-transform-modules-amd": "^7.10.4", - "@babel/plugin-transform-modules-commonjs": "^7.10.4", - "@babel/plugin-transform-modules-systemjs": "^7.10.4", - "@babel/plugin-transform-modules-umd": "^7.10.4", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.4", - "@babel/plugin-transform-new-target": "^7.10.4", - "@babel/plugin-transform-object-super": "^7.10.4", - "@babel/plugin-transform-parameters": "^7.10.4", - "@babel/plugin-transform-property-literals": "^7.10.4", - "@babel/plugin-transform-regenerator": "^7.10.4", - "@babel/plugin-transform-reserved-words": "^7.10.4", - "@babel/plugin-transform-shorthand-properties": "^7.10.4", - "@babel/plugin-transform-spread": "^7.11.0", - "@babel/plugin-transform-sticky-regex": "^7.10.4", - "@babel/plugin-transform-template-literals": "^7.10.4", - "@babel/plugin-transform-typeof-symbol": "^7.10.4", - "@babel/plugin-transform-unicode-escapes": "^7.10.4", - "@babel/plugin-transform-unicode-regex": "^7.10.4", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.11.5", - "browserslist": "^4.12.0", - "core-js-compat": "^3.6.2", - "invariant": "^2.2.2", - "levenary": "^1.1.1", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.12.13", + "@babel/plugin-transform-arrow-functions": "^7.13.0", + "@babel/plugin-transform-async-to-generator": "^7.13.0", + "@babel/plugin-transform-block-scoped-functions": "^7.12.13", + "@babel/plugin-transform-block-scoping": "^7.12.13", + "@babel/plugin-transform-classes": "^7.13.0", + "@babel/plugin-transform-computed-properties": "^7.13.0", + "@babel/plugin-transform-destructuring": "^7.13.0", + "@babel/plugin-transform-dotall-regex": "^7.12.13", + "@babel/plugin-transform-duplicate-keys": "^7.12.13", + "@babel/plugin-transform-exponentiation-operator": "^7.12.13", + "@babel/plugin-transform-for-of": "^7.13.0", + "@babel/plugin-transform-function-name": "^7.12.13", + "@babel/plugin-transform-literals": "^7.12.13", + "@babel/plugin-transform-member-expression-literals": "^7.12.13", + "@babel/plugin-transform-modules-amd": "^7.13.0", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/plugin-transform-modules-systemjs": "^7.13.8", + "@babel/plugin-transform-modules-umd": "^7.13.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.13", + "@babel/plugin-transform-new-target": "^7.12.13", + "@babel/plugin-transform-object-super": "^7.12.13", + "@babel/plugin-transform-parameters": "^7.13.0", + "@babel/plugin-transform-property-literals": "^7.12.13", + "@babel/plugin-transform-regenerator": "^7.13.15", + "@babel/plugin-transform-reserved-words": "^7.12.13", + "@babel/plugin-transform-shorthand-properties": "^7.12.13", + "@babel/plugin-transform-spread": "^7.13.0", + "@babel/plugin-transform-sticky-regex": "^7.12.13", + "@babel/plugin-transform-template-literals": "^7.13.0", + "@babel/plugin-transform-typeof-symbol": "^7.12.13", + "@babel/plugin-transform-unicode-escapes": "^7.12.13", + "@babel/plugin-transform-unicode-regex": "^7.12.13", + "@babel/preset-modules": "^0.1.4", + "@babel/types": "^7.13.14", + "babel-plugin-polyfill-corejs2": "^0.2.0", + "babel-plugin-polyfill-corejs3": "^0.2.0", + "babel-plugin-polyfill-regenerator": "^0.2.0", + "core-js-compat": "^3.9.0", + "semver": "^6.3.0" } }, "@babel/preset-modules": { @@ -1119,33 +1113,32 @@ } }, "@babel/preset-react": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.10.4.tgz", - "integrity": "sha512-BrHp4TgOIy4M19JAfO1LhycVXOPWdDbTRep7eVyatf174Hff+6Uk53sDyajqZPu8W1qXRBiYOfIamek6jA7YVw==", + "version": "7.13.13", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.13.13.tgz", + "integrity": "sha512-gx+tDLIE06sRjKJkVtpZ/t3mzCDOnPG+ggHZG9lffUbX8+wC739x20YQc9V35Do6ZAxaUc/HhVHIiOzz5MvDmA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-react-display-name": "^7.10.4", - "@babel/plugin-transform-react-jsx": "^7.10.4", - "@babel/plugin-transform-react-jsx-development": "^7.10.4", - "@babel/plugin-transform-react-jsx-self": "^7.10.4", - "@babel/plugin-transform-react-jsx-source": "^7.10.4", - "@babel/plugin-transform-react-pure-annotations": "^7.10.4" + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/helper-validator-option": "^7.12.17", + "@babel/plugin-transform-react-display-name": "^7.12.13", + "@babel/plugin-transform-react-jsx": "^7.13.12", + "@babel/plugin-transform-react-jsx-development": "^7.12.17", + "@babel/plugin-transform-react-pure-annotations": "^7.12.1" } }, "@babel/runtime": { - "version": "7.11.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz", - "integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==", + "version": "7.13.17", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.17.tgz", + "integrity": "sha512-NCdgJEelPTSh+FEFylhnP1ylq848l1z9t9N0j1Lfbcw0+KXGjsTvUmkxy+voLLXB5SOKMbLLx4jxYliGrYQseA==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/runtime-corejs3": { - "version": "7.11.2", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.11.2.tgz", - "integrity": "sha512-qh5IR+8VgFz83VBa6OkaET6uN/mJOhHONuy3m1sgF0CV6mXdPSEBdA7e1eUbVvyNtANjMbg22JUv71BaDXLY6A==", + "version": "7.13.17", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.13.17.tgz", + "integrity": "sha512-RGXINY1YvduBlGrP+vHjJqd/nK7JVpfM4rmZLGMx77WoL3sMrhheA0qxii9VNn1VHnxJLEyxmvCB+Wqc+x/FMw==", "dev": true, "requires": { "core-js-pure": "^3.0.0", @@ -1153,44 +1146,48 @@ } }, "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz", + "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" + "@babel/code-frame": "^7.12.13", + "@babel/parser": "^7.12.13", + "@babel/types": "^7.12.13" } }, "@babel/traverse": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz", - "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==", + "version": "7.13.17", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.13.17.tgz", + "integrity": "sha512-BMnZn0R+X6ayqm3C3To7o1j7Q020gWdqdyP50KEoVqaCO2c/Im7sYZSmVgvefp8TTMQ+9CtwuBp0Z1CZ8V3Pvg==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.11.5", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.11.5", - "@babel/types": "^7.11.5", + "@babel/code-frame": "^7.12.13", + "@babel/generator": "^7.13.16", + "@babel/helper-function-name": "^7.12.13", + "@babel/helper-split-export-declaration": "^7.12.13", + "@babel/parser": "^7.13.16", + "@babel/types": "^7.13.17", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.11.5.tgz", - "integrity": "sha512-bvM7Qz6eKnJVFIn+1LPtjlBFPVN5jNDc1XmN15vWe7Q3DPBufWWsLiIvUu7xW87uTG6QoggpIDnUgLQvPheU+Q==", + "version": "7.13.17", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.17.tgz", + "integrity": "sha512-RawydLgxbOPDlTLJNtoIypwdmAy//uQIzlKt2+iBiJaRlVuI6QLUxVAyWGNfOzp8Yu4L4lLIacoCyTNtpb4wiA==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", + "@babel/helper-validator-identifier": "^7.12.11", "to-fast-properties": "^2.0.0" } }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, "@cnakazawa/watch": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", @@ -1201,29 +1198,63 @@ "minimist": "^1.2.0" } }, - "@floatwork/grunt-po2mo": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@floatwork/grunt-po2mo/-/grunt-po2mo-0.3.0.tgz", - "integrity": "sha512-0Lddmz7B0HogQvYcQl8SmszEHgsm++I4U16f+qo4yWS+JR/QSrjLsAJZ7EN1SWp/wBDPeCi0HPH7LLhhl28z3A==", - "dev": true - }, - "@hapi/address": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", - "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", - "dev": true - }, - "@hapi/bourne": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", - "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", - "dev": true - }, - "@hapi/hoek": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", - "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", - "dev": true + "@eslint/eslintrc": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", + "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "@floatwork/grunt-po2mo": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@floatwork/grunt-po2mo/-/grunt-po2mo-0.3.0.tgz", + "integrity": "sha512-0Lddmz7B0HogQvYcQl8SmszEHgsm++I4U16f+qo4yWS+JR/QSrjLsAJZ7EN1SWp/wBDPeCi0HPH7LLhhl28z3A==", + "dev": true + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "dev": true + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "dev": true + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", + "dev": true }, "@hapi/joi": { "version": "15.1.1", @@ -1246,113 +1277,227 @@ "@hapi/hoek": "^8.3.0" } }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, "@jest/console": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.9.0.tgz", - "integrity": "sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", "dev": true, "requires": { - "@jest/source-map": "^24.9.0", - "chalk": "^2.0.1", - "slash": "^2.0.0" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, "@jest/core": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-24.9.0.tgz", - "integrity": "sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A==", - "dev": true, - "requires": { - "@jest/console": "^24.7.1", - "@jest/reporters": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", + "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", + "dev": true, + "requires": { + "@jest/console": "^25.5.0", + "@jest/reporters": "^25.5.1", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-changed-files": "^24.9.0", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-resolve-dependencies": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "jest-watcher": "^24.9.0", - "micromatch": "^3.1.10", - "p-each-series": "^1.0.0", - "realpath-native": "^1.1.0", - "rimraf": "^2.5.4", - "slash": "^2.0.0", - "strip-ansi": "^5.0.0" + "graceful-fs": "^4.2.4", + "jest-changed-files": "^25.5.0", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-resolve-dependencies": "^25.5.4", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "jest-watcher": "^25.5.0", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "realpath-native": "^2.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } } } }, "@jest/environment": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-24.9.0.tgz", - "integrity": "sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", "dev": true, "requires": { - "@jest/fake-timers": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0" + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" } }, "@jest/fake-timers": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-24.9.0.tgz", - "integrity": "sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + } + }, + "@jest/globals": { + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", + "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", "dev": true, "requires": { - "@jest/types": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0" + "@jest/environment": "^25.5.0", + "@jest/types": "^25.5.0", + "expect": "^25.5.0" } }, "@jest/reporters": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-24.9.0.tgz", - "integrity": "sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw==", + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", + "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", "dev": true, "requires": { - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", "glob": "^7.1.2", - "istanbul-lib-coverage": "^2.0.2", - "istanbul-lib-instrument": "^3.0.1", - "istanbul-lib-report": "^2.0.4", - "istanbul-lib-source-maps": "^3.0.1", - "istanbul-reports": "^2.2.6", - "jest-haste-map": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", - "node-notifier": "^5.4.2", - "slash": "^2.0.0", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^25.5.1", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "node-notifier": "^6.0.0", + "slash": "^3.0.0", "source-map": "^0.6.0", - "string-length": "^2.0.0" + "string-length": "^3.1.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^4.1.3" }, "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -1362,22 +1507,16 @@ } }, "@jest/source-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-24.9.0.tgz", - "integrity": "sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", "dev": true, "requires": { "callsites": "^3.0.0", - "graceful-fs": "^4.1.15", + "graceful-fs": "^4.2.4", "source-map": "^0.6.0" }, "dependencies": { - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -1387,52 +1526,64 @@ } }, "@jest/test-result": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-24.9.0.tgz", - "integrity": "sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", "dev": true, "requires": { - "@jest/console": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/istanbul-lib-coverage": "^2.0.0" + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz", - "integrity": "sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A==", + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", + "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", "dev": true, "requires": { - "@jest/test-result": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-runner": "^24.9.0", - "jest-runtime": "^24.9.0" + "@jest/test-result": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4" } }, "@jest/transform": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-24.9.0.tgz", - "integrity": "sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ==", + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", + "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/types": "^24.9.0", - "babel-plugin-istanbul": "^5.1.0", - "chalk": "^2.0.1", + "@jest/types": "^25.5.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^3.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.1.15", - "jest-haste-map": "^24.9.0", - "jest-regex-util": "^24.9.0", - "jest-util": "^24.9.0", - "micromatch": "^3.1.10", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-regex-util": "^25.2.6", + "jest-util": "^25.5.0", + "micromatch": "^4.0.2", "pirates": "^4.0.1", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", "source-map": "^0.6.1", - "write-file-atomic": "2.4.1" + "write-file-atomic": "^3.0.0" }, "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -1442,26 +1593,44 @@ } }, "@jest/types": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-24.9.0.tgz", - "integrity": "sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^13.0.0" + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", - "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", "dev": true, "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" + "debug": "^4.1.1" } }, + "@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", + "dev": true + }, "@ndigitals/grunt-checkrepo": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/@ndigitals/grunt-checkrepo/-/grunt-checkrepo-0.2.2.tgz", @@ -1473,158 +1642,242 @@ } }, "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", + "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.3", + "@nodelib/fs.stat": "2.0.4", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", + "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", "dev": true }, "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", + "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.3", + "@nodelib/fs.scandir": "2.1.4", "fastq": "^1.6.0" } }, + "@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "dev": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "@sindresorhus/is": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-2.1.1.tgz", + "integrity": "sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==", + "dev": true + }, + "@sinonjs/commons": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", + "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@stylelint/postcss-css-in-js": { + "version": "0.37.2", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz", + "integrity": "sha512-nEhsFoJurt8oUmieT8qy4nk81WRHmJynmVwn/Vts08PL9fhgIsMhk1GId5yAN643OzqEEb5S/6At2TZW7pqPDA==", + "dev": true, + "requires": { + "@babel/core": ">=7.9.0" + } + }, + "@stylelint/postcss-markdown": { + "version": "0.36.2", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz", + "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==", + "dev": true, + "requires": { + "remark": "^13.0.0", + "unist-util-find-all-after": "^3.0.2" + } + }, "@svgr/babel-plugin-add-jsx-attribute": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz", - "integrity": "sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", "dev": true }, "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz", - "integrity": "sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", "dev": true }, "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz", - "integrity": "sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", "dev": true }, "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz", - "integrity": "sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", "dev": true }, "@svgr/babel-plugin-svg-dynamic-title": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz", - "integrity": "sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", "dev": true }, "@svgr/babel-plugin-svg-em-dimensions": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz", - "integrity": "sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", "dev": true }, "@svgr/babel-plugin-transform-react-native-svg": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz", - "integrity": "sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", "dev": true }, "@svgr/babel-plugin-transform-svg-component": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz", - "integrity": "sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", "dev": true }, "@svgr/babel-preset": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-4.3.3.tgz", - "integrity": "sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", "dev": true, "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^4.2.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^4.2.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^4.2.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^4.2.0", - "@svgr/babel-plugin-svg-dynamic-title": "^4.3.3", - "@svgr/babel-plugin-svg-em-dimensions": "^4.2.0", - "@svgr/babel-plugin-transform-react-native-svg": "^4.2.0", - "@svgr/babel-plugin-transform-svg-component": "^4.2.0" + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" } }, "@svgr/core": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-4.3.3.tgz", - "integrity": "sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", "dev": true, "requires": { - "@svgr/plugin-jsx": "^4.3.3", - "camelcase": "^5.3.1", - "cosmiconfig": "^5.2.1" + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "dependencies": { + "camelcase": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", + "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", + "dev": true + } } }, "@svgr/hast-util-to-babel-ast": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz", - "integrity": "sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", "dev": true, "requires": { - "@babel/types": "^7.4.4" + "@babel/types": "^7.12.6" } }, "@svgr/plugin-jsx": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz", - "integrity": "sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", "dev": true, "requires": { - "@babel/core": "^7.4.5", - "@svgr/babel-preset": "^4.3.3", - "@svgr/hast-util-to-babel-ast": "^4.3.2", - "svg-parser": "^2.0.0" + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" } }, "@svgr/plugin-svgo": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz", - "integrity": "sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", "dev": true, "requires": { - "cosmiconfig": "^5.2.1", - "merge-deep": "^3.0.2", + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", "svgo": "^1.2.2" } }, "@svgr/webpack": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-4.3.3.tgz", - "integrity": "sha512-bjnWolZ6KVsHhgyCoYRFmbd26p8XVbulCzSG53BDQqAr+JOAderYK7CuYrB3bDjHJuF6LJ7Wrr42+goLRV9qIg==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + } + }, + "@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", "dev": true, "requires": { - "@babel/core": "^7.4.5", - "@babel/plugin-transform-react-constant-elements": "^7.0.0", - "@babel/preset-env": "^7.4.5", - "@babel/preset-react": "^7.0.0", - "@svgr/core": "^4.3.3", - "@svgr/plugin-jsx": "^4.3.3", - "@svgr/plugin-svgo": "^4.3.1", - "loader-utils": "^1.2.3" + "defer-to-connect": "^2.0.0" } }, + "@types/anymatch": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", + "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", + "dev": true + }, "@types/babel__core": { - "version": "7.1.10", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.10.tgz", - "integrity": "sha512-x8OM8XzITIMyiwl5Vmo2B1cR1S1Ipkyv4mdlbJjMa1lmuKvKY9FrBbEANIaMlnWn5Rf7uO+rC/VgYabNkE17Hw==", + "version": "7.1.14", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz", + "integrity": "sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -1644,9 +1897,9 @@ } }, "@types/babel__template": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.0.3.tgz", - "integrity": "sha512-uCoznIPDmnickEi6D0v11SBpW0OuVqHJCa7syXqQHy5uktSCreIlt0iglsCnmvz8yCb38hGcWeseA8cWJSwv5Q==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.0.tgz", + "integrity": "sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -1654,18 +1907,30 @@ } }, "@types/babel__traverse": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.15.tgz", - "integrity": "sha512-Pzh9O3sTK8V6I1olsXpCfj2k/ygO2q1X0vhhnDrEQyYLHZesWz+zMZMVcwXLCYf0U36EtmyYaFGPfXlTtDHe3A==", + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.11.1.tgz", + "integrity": "sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw==", "dev": true, "requires": { "@babel/types": "^7.3.0" } }, + "@types/cacheable-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", + "integrity": "sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA==", + "dev": true, + "requires": { + "@types/http-cache-semantics": "*", + "@types/keyv": "*", + "@types/node": "*", + "@types/responselike": "*" + } + }, "@types/cheerio": { - "version": "0.22.22", - "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.22.tgz", - "integrity": "sha512-05DYX4zU96IBfZFY+t3Mh88nlwSMtmmzSYaQkKN48T495VV1dkHSah6qYyDTN5ngaS0i0VonH37m+RuzSM0YiA==", + "version": "0.22.28", + "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.28.tgz", + "integrity": "sha512-ehUMGSW5IeDxJjbru4awKYMlKGmo1wSSGUVqXtYwlgmUM8X1a0PZttEIm6yEY7vHsY/hh6iPnklF213G0UColw==", "dev": true, "requires": { "@types/node": "*" @@ -1681,6 +1946,21 @@ "@types/node": "*" } }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/http-cache-semantics": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz", + "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==", + "dev": true + }, "@types/istanbul-lib-coverage": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", @@ -1707,33 +1987,51 @@ } }, "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", "dev": true }, + "@types/keyv": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz", + "integrity": "sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/mdast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.3.tgz", + "integrity": "sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==", + "dev": true, + "requires": { + "@types/unist": "*" + } + }, "@types/mime-types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.0.tgz", - "integrity": "sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.1.tgz", + "integrity": "sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==", "dev": true }, "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==", "dev": true }, "@types/minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", + "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", "dev": true }, "@types/node": { - "version": "14.11.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.11.5.tgz", - "integrity": "sha512-jVFzDV6NTbrLMxm4xDSIW/gKnk8rQLF9wAzLWIOg+5nU6ACrIMndeBdXci0FGtqJbP9tQvm6V39eshc96TO2wQ==", + "version": "14.14.41", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.41.tgz", + "integrity": "sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g==", "dev": true }, "@types/normalize-package-data": { @@ -1742,6 +2040,18 @@ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", "dev": true }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", + "dev": true + }, "@types/prop-types": { "version": "15.7.3", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", @@ -1755,97 +2065,182 @@ "dev": true }, "@types/react": { - "version": "16.9.51", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.51.tgz", - "integrity": "sha512-lQa12IyO+DMlnSZ3+AGHRUiUcpK47aakMMoBG8f7HGxJT8Yfe+WE128HIXaHOHVPReAW0oDS3KAI0JI2DDe1PQ==", + "version": "16.14.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.5.tgz", + "integrity": "sha512-YRRv9DNZhaVTVRh9Wmmit7Y0UFhEVqXqCSw3uazRWMxa2x85hWQZ5BN24i7GXZbaclaLXEcodEeIHsjBA8eAMw==", "dev": true, "requires": { "@types/prop-types": "*", + "@types/scheduler": "*", "csstype": "^3.0.2" } }, "@types/react-dom": { - "version": "16.9.8", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.8.tgz", - "integrity": "sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA==", + "version": "16.9.12", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.12.tgz", + "integrity": "sha512-i7NPZZpPte3jtVOoW+eLB7G/jsX5OM6GqQnH+lC0nq0rqwlK0x8WcMEvYDgFWqWhWMlTltTimzdMax6wYfZssA==", + "dev": true, + "requires": { + "@types/react": "^16" + } + }, + "@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", "dev": true, "requires": { - "@types/react": "*" + "@types/node": "*" } }, + "@types/scheduler": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.1.tgz", + "integrity": "sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==", + "dev": true + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, "@types/stack-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", "dev": true }, + "@types/tapable": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.7.tgz", + "integrity": "sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ==", + "dev": true + }, + "@types/uglify-js": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.0.tgz", + "integrity": "sha512-EGkrJD5Uy+Pg0NUR8uA4bJ5WMfljyad0G+784vLCNUkD+QwOJXUbBYExXfVGf7YtyzdQp3L/XMYcliB987kL5Q==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "@types/unist": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==", "dev": true }, - "@types/vfile": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz", - "integrity": "sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==", + "@types/webpack": { + "version": "4.41.27", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.27.tgz", + "integrity": "sha512-wK/oi5gcHi72VMTbOaQ70VcDxSQ1uX8S2tukBK9ARuGXrYM/+u4ou73roc7trXDNmCxCoerE8zruQqX/wuHszA==", "dev": true, "requires": { + "@types/anymatch": "*", "@types/node": "*", - "@types/unist": "*", - "@types/vfile-message": "*" + "@types/tapable": "^1", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, - "@types/vfile-message": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-2.0.0.tgz", - "integrity": "sha512-GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw==", + "@types/webpack-sources": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", + "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", "dev": true, "requires": { - "vfile-message": "*" + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } } }, "@types/yargs": { - "version": "13.0.11", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.11.tgz", - "integrity": "sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ==", + "version": "15.0.13", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz", + "integrity": "sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==", "dev": true, "requires": { "@types/yargs-parser": "*" } }, "@types/yargs-parser": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz", - "integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==", + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", "dev": true }, + "@types/yauzl": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", + "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@typescript-eslint/experimental-utils": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-1.13.0.tgz", - "integrity": "sha512-zmpS6SyqG4ZF64ffaJ6uah6tWWWgZ8m+c54XXgwFtUv0jNz8aJAVx8chMCvnk7yl6xwn8d+d96+tWp7fXzTuDg==", + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "1.13.0", - "eslint-scope": "^4.0.0" + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" } }, "@typescript-eslint/typescript-estree": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-1.13.0.tgz", - "integrity": "sha512-b5rCmd2e6DCC6tCTN9GSUAuxdYwCM/k/2wdjHGrIRGPSJotWMCe/dGpi66u42bhuh8q3QBzqM4TMA1GUUCJvdw==", + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", "dev": true, "requires": { - "lodash.unescape": "4.0.1", - "semver": "5.5.0" + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" }, "dependencies": { "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, @@ -2031,23 +2426,29 @@ "dev": true }, "@wordpress/babel-preset-default": { - "version": "4.19.0", - "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-4.19.0.tgz", - "integrity": "sha512-b/DQ17UGqWm5Z/c1j+wF8kW3Sqeg7e0CVFKeNd+uoI6wH+ruRsOcS7e0iutjQcwOLmvaZ3TYh48jjfkMBnLBqA==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-4.20.0.tgz", + "integrity": "sha512-VKPoC5We2GNxon5umOeZ7NIP4CfP7X5gqslSnNrLW4kD1XgmbVaCs2ISFF8+mObVVb6KAzbaUjI6OWljcUb5UA==", "dev": true, "requires": { - "@babel/core": "^7.11.6", - "@babel/plugin-transform-react-jsx": "^7.10.4", - "@babel/plugin-transform-runtime": "^7.11.5", - "@babel/preset-env": "^7.11.5", - "@babel/runtime": "^7.11.2", + "@babel/core": "^7.12.9", + "@babel/plugin-transform-react-jsx": "^7.12.7", + "@babel/plugin-transform-runtime": "^7.12.1", + "@babel/preset-env": "^7.12.7", + "@babel/runtime": "^7.12.5", "@wordpress/babel-plugin-import-jsx-pragma": "^2.7.0", "@wordpress/browserslist-config": "^2.7.0", - "@wordpress/element": "^2.18.0", + "@wordpress/element": "^2.19.0", "@wordpress/warning": "^1.3.0", "core-js": "^3.6.4" } }, + "@wordpress/base-styles": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-3.4.2.tgz", + "integrity": "sha512-aXNV+87AgCDzTtr3Cnx8T7IDivzWCuGeebl+ntjm+Gls0HqNRWrVu2r8SRgenQmlVMhhleFoVk+O4QC1NUZKjQ==", + "dev": true + }, "@wordpress/browserslist-config": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-2.7.0.tgz", @@ -2055,56 +2456,88 @@ "dev": true }, "@wordpress/dependency-extraction-webpack-plugin": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/@wordpress/dependency-extraction-webpack-plugin/-/dependency-extraction-webpack-plugin-2.8.0.tgz", - "integrity": "sha512-fEOsSl1kYY8gkiAe7OM9IopmSOtaAug37OQwKVeda5fK6xLsnpqprP5iwHHOApNWMEzgmVGS6/iW5IZoi7qv/A==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@wordpress/dependency-extraction-webpack-plugin/-/dependency-extraction-webpack-plugin-2.9.0.tgz", + "integrity": "sha512-Eo8ByPd3iZ6az4UmdLD2xYLp1/7os/H80l28Y5OlS4DozkD3vcWCBReynWoBax74u3oJ9wWN5b/8oSxGwIKXYQ==", "dev": true, "requires": { "json2php": "^0.0.4", - "webpack": "^4.8.3", "webpack-sources": "^1.3.0" } }, "@wordpress/element": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.18.0.tgz", - "integrity": "sha512-aR1gOXFxIDcrLCSANe5PwOwYH40n29LzjqBascNkFo6f0LBekCZPbI3Bqq4EtoH/zjq2RKAO9PVPlQRDoQUlmA==", + "version": "2.20.2", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-2.20.2.tgz", + "integrity": "sha512-WeV1ke1fV5sT5nGYzaYMp62/zxQOI8tJfLK3iFDpg8Gp3Uz6BxiGIdnTcO6Q5rbD85fwHph+7MuJVtDc5me6yw==", "dev": true, "requires": { - "@babel/runtime": "^7.11.2", + "@babel/runtime": "^7.13.10", "@types/react": "^16.9.0", "@types/react-dom": "^16.9.0", - "@wordpress/escape-html": "^1.10.0", + "@wordpress/escape-html": "^1.12.2", "lodash": "^4.17.19", "react": "^16.13.1", "react-dom": "^16.13.1" } }, + "@wordpress/env": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@wordpress/env/-/env-4.0.5.tgz", + "integrity": "sha512-Z0ZHj2M0v7RMS59qIKdvfOkIGKKuNAcrQ6cCqY2IU4JVsDJEDjrjGV2uTj2oLuwwFKOb/cIDGZabDIsiBXw9AQ==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "copy-dir": "^1.3.0", + "docker-compose": "^0.22.2", + "extract-zip": "^1.6.7", + "got": "^10.7.0", + "inquirer": "^7.1.0", + "js-yaml": "^3.13.1", + "ora": "^4.0.2", + "rimraf": "^3.0.2", + "simple-git": "^2.35.0", + "terminal-link": "^2.0.0", + "yargs": "^14.0.0" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "@wordpress/escape-html": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-1.10.0.tgz", - "integrity": "sha512-peG+Ypnw8L3YiUWSe/3Nmyzlaoqqbn5JaBaLpL0o6pBxFvGwKr00fFJoi+Yq2yZ3LEFDrHBHlVYAB6A2aYIbew==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-1.12.2.tgz", + "integrity": "sha512-FabgSwznhdaUwe6hr1CsGpgxQbzqEoGevv73WIL1B9GvlZ6csRWodgHfWh4P6fYqpzxFL4WYB8wPJ1PdO32XFA==", "dev": true, "requires": { - "@babel/runtime": "^7.11.2" + "@babel/runtime": "^7.13.10" } }, "@wordpress/eslint-plugin": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-4.1.0.tgz", - "integrity": "sha512-AHkpSPECN9WRZPgcf1PXey23z1uDreH0siespO7K32wAIqiCXz2PS9Qs06K5BE+9jnjYOy+40krdbHYWVIZqKQ==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-7.4.0.tgz", + "integrity": "sha512-HJpDYz2drtC9rY8MiYtYJ3cimioEIweGyb3P2DQTjUZ3sC4AGg+97PhXLHUdKfsFQ31JRxyLS9kKuGdDVBwWww==", "dev": true, "requires": { - "babel-eslint": "^10.0.3", - "eslint-config-prettier": "^6.10.0", - "eslint-plugin-jest": "^22.15.1", - "eslint-plugin-jsdoc": "^15.8.0", + "@wordpress/prettier-config": "^0.4.0", + "babel-eslint": "^10.1.0", + "cosmiconfig": "^7.0.0", + "eslint-config-prettier": "^6.10.1", + "eslint-plugin-jest": "^23.8.2", + "eslint-plugin-jsdoc": "^30.2.2", "eslint-plugin-jsx-a11y": "^6.2.3", "eslint-plugin-prettier": "^3.1.2", - "eslint-plugin-react": "^7.14.3", - "eslint-plugin-react-hooks": "^1.6.1", + "eslint-plugin-react": "^7.20.0", + "eslint-plugin-react-hooks": "^4.0.4", "globals": "^12.0.0", - "prettier": "npm:wp-prettier@1.19.1", + "prettier": "npm:wp-prettier@2.2.1-beta-1", "requireindex": "^1.2.0" }, "dependencies": { @@ -2118,256 +2551,254 @@ } }, "prettier": { - "version": "npm:wp-prettier@1.19.1", - "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-1.19.1.tgz", - "integrity": "sha512-mqAC2r1NDmRjG+z3KCJ/i61tycKlmADIjxnDhQab+KBxSAGbF/W7/zwB2guy/ypIeKrrftNsIYkNZZQKf3vJcg==", + "version": "npm:wp-prettier@2.2.1-beta-1", + "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.2.1-beta-1.tgz", + "integrity": "sha512-+JHkqs9LC/JPp51yy1hzs3lQ7qeuWCwOcSzpQNeeY/G7oSpnF61vxt7hRh87zNRTr6ob2ndy0W8rVzhgrcA+Gw==", + "dev": true + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true } } }, "@wordpress/jest-console": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/@wordpress/jest-console/-/jest-console-3.9.0.tgz", - "integrity": "sha512-SJU78Gku3BC5iXrcEAAkER/sBkguYAhaA+HVI4FARklsOfmdBbElrA5wjU0lY54CGTSqWHLy0YZJkaZ5V/YWXA==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/@wordpress/jest-console/-/jest-console-3.10.0.tgz", + "integrity": "sha512-iS1GSO+o7+p2PhvScOquD+IK7WqmVxa2s9uTUQyNEo06f9EUv6KNw0B1iZ00DpbgLqDCiczfdCNapC816UXIIA==", "dev": true, "requires": { - "@babel/runtime": "^7.11.2", + "@babel/runtime": "^7.12.5", "jest-matcher-utils": "^25.3.0", "lodash": "^4.17.19" + } + }, + "@wordpress/jest-preset-default": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@wordpress/jest-preset-default/-/jest-preset-default-6.6.0.tgz", + "integrity": "sha512-9HbKUNRMUCooXAKt+6jj5SZjDMtWoR9yMb9bJ5eCd9wUfrfQ/x2nUJK/RXiv1aI85HHmzl5KfQquZF76lYEkcw==", + "dev": true, + "requires": { + "@jest/reporters": "^25.3.0", + "@wordpress/jest-console": "^3.10.0", + "babel-jest": "^25.3.0", + "enzyme": "^3.11.0", + "enzyme-adapter-react-16": "^1.15.2", + "enzyme-to-json": "^3.4.4" + } + }, + "@wordpress/npm-package-json-lint-config": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/npm-package-json-lint-config/-/npm-package-json-lint-config-3.1.0.tgz", + "integrity": "sha512-SYRWpzpQaSsBUiRO+ssqg6AHjgCF4j2npstGTGaKdVs/B720fLFzeyONuMmo1ZtMb9v6MyEWxVz5ON6dDgmVYg==", + "dev": true + }, + "@wordpress/postcss-plugins-preset": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@wordpress/postcss-plugins-preset/-/postcss-plugins-preset-1.6.0.tgz", + "integrity": "sha512-WPToVlX99PiUSSxSbwAR2wJtIpbcnnRkB48sIIkDvw7rCpSWkh6OLuzfj0o5g+JCYuNL1OnQXFA8EtydNEZ9Sw==", + "dev": true, + "requires": { + "@wordpress/base-styles": "^3.3.0", + "@wordpress/postcss-themes": "^2.6.0", + "autoprefixer": "^9.8.6", + "postcss-custom-properties": "^10.0.0" + } + }, + "@wordpress/postcss-themes": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@wordpress/postcss-themes/-/postcss-themes-2.6.0.tgz", + "integrity": "sha512-Q22s1KSVdtoK0Z0ND06V2QwTx/U4KvJhWFmoI8IzYW/LGlk8BkQJhHH157Y9vFliwpMlQpqfXW6/zOg2XtvHzQ==", + "dev": true, + "requires": { + "postcss": "^7.0.32" + } + }, + "@wordpress/prettier-config": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/prettier-config/-/prettier-config-0.4.0.tgz", + "integrity": "sha512-7c4VeugkCwDkaHSD7ffxoP0VC5c///gCTEAT032OhI5Rik2dPxE3EkNAB2NhotGE8M4dMAg4g5Wj2OWZIn8TFw==", + "dev": true + }, + "@wordpress/scripts": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/@wordpress/scripts/-/scripts-12.6.1.tgz", + "integrity": "sha512-pDLtACFrP5gUA414qrE49dUrR7yMy40+//1e/5Nx821lnmDb7GAGWGo1gX4lJ2gbfSjePwmRoZe6Mph87vSnLQ==", + "dev": true, + "requires": { + "@svgr/webpack": "^5.2.0", + "@wordpress/babel-preset-default": "^4.20.0", + "@wordpress/dependency-extraction-webpack-plugin": "^2.9.0", + "@wordpress/eslint-plugin": "^7.4.0", + "@wordpress/jest-preset-default": "^6.6.0", + "@wordpress/npm-package-json-lint-config": "^3.1.0", + "@wordpress/postcss-plugins-preset": "^1.6.0", + "@wordpress/prettier-config": "^0.4.0", + "babel-jest": "^25.3.0", + "babel-loader": "^8.1.0", + "chalk": "^4.0.0", + "check-node-version": "^3.1.1", + "clean-webpack-plugin": "^3.0.0", + "cross-spawn": "^5.1.0", + "css-loader": "^3.5.2", + "dir-glob": "^3.0.1", + "eslint": "^7.1.0", + "eslint-plugin-markdown": "^1.0.2", + "ignore-emit-webpack-plugin": "^2.0.6", + "jest": "^25.3.0", + "jest-puppeteer": "^4.4.0", + "markdownlint": "^0.18.0", + "markdownlint-cli": "^0.21.0", + "mini-css-extract-plugin": "^0.9.0", + "minimist": "^1.2.0", + "npm-package-json-lint": "^5.0.0", + "postcss-loader": "^3.0.0", + "prettier": "npm:wp-prettier@2.2.1-beta-1", + "puppeteer": "npm:puppeteer-core@3.0.0", + "read-pkg-up": "^1.0.1", + "resolve-bin": "^0.4.0", + "sass": "^1.26.11", + "sass-loader": "^8.0.2", + "source-map-loader": "^0.2.4", + "stylelint": "^13.6.0", + "stylelint-config-wordpress": "^17.0.0", + "terser-webpack-plugin": "^3.0.3", + "thread-loader": "^2.1.3", + "url-loader": "^3.0.0", + "webpack": "^4.42.0", + "webpack-bundle-analyzer": "^3.6.1", + "webpack-cli": "^3.3.11", + "webpack-livereload-plugin": "^2.3.0" }, "dependencies": { - "@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - } - }, - "@types/yargs": { - "version": "15.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.7.tgz", - "integrity": "sha512-Gf4u3EjaPNcC9cTu4/j2oN14nSVhr8PQ+BvBcBQHAhDZfl0bVIiLgvnRXv/dn58XhTm9UXvBpvJpDlwV65QxOA==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^2.0.1" + "color-convert": "^1.9.0" } }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "check-node-version": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/check-node-version/-/check-node-version-3.3.0.tgz", + "integrity": "sha512-OAtp7prQf+8YYKn2UB/fK1Ppb9OT+apW56atoKYUvucYLPq69VozOY0B295okBwCKymk2cictrS3qsdcZwyfzw==", "dev": true, "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "chalk": "^2.3.0", + "map-values": "^1.0.1", + "minimist": "^1.2.0", + "object-filter": "^1.0.2", + "object.assign": "^4.0.4", + "run-parallel": "^1.1.4", + "semver": "^5.0.3" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } } }, "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { - "color-name": "~1.1.4" + "color-name": "1.1.3" } }, "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", "dev": true, "requires": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" } }, - "jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "jest-matcher-utils": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", - "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", + "puppeteer": { + "version": "npm:puppeteer-core@3.0.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-3.0.0.tgz", + "integrity": "sha512-oWjZFGMc0q2ak+8OxdmMffS79LIT0UEtmpV4h1/AARvESIqqKljf8mrfP+dQ2kas7XttsAZIxRBuWu7Y5JH8KQ==", "dev": true, "requires": { - "chalk": "^3.0.0", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" + "@types/mime-types": "^2.1.0", + "debug": "^4.1.0", + "extract-zip": "^2.0.0", + "https-proxy-agent": "^4.0.0", + "mime": "^2.0.3", + "mime-types": "^2.1.25", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", + "rimraf": "^3.0.2", + "tar-fs": "^2.0.0", + "unbzip2-stream": "^1.3.3", + "ws": "^7.2.3" } }, - "pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" + "glob": "^7.1.3" } }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "has-flag": "^3.0.0" } } } }, - "@wordpress/jest-preset-default": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@wordpress/jest-preset-default/-/jest-preset-default-5.5.0.tgz", - "integrity": "sha512-LlO+cfKLN+insAcd1elXk5WIuXZBnBOeUQ/lnuOsd2cQfH5/y6ZvvBx1B3GSJJII8DM+SxAfi+I9f6HH8Fu3iw==", - "dev": true, - "requires": { - "@jest/reporters": "^24.8.0", - "@wordpress/jest-console": "^3.5.0", - "babel-jest": "^24.9.0", - "enzyme": "^3.9.0", - "enzyme-adapter-react-16": "^1.10.0", - "enzyme-to-json": "^3.3.5" - } + "@wordpress/warning": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@wordpress/warning/-/warning-1.4.2.tgz", + "integrity": "sha512-MjrkSp6Jyfx+92AE32A83P503noUtGb6//BYUH4GiWzzzSNhDHgbQ0UcOJwJaEYK166DxSNpMk/JXc4YENi1Cw==", + "dev": true }, - "@wordpress/npm-package-json-lint-config": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@wordpress/npm-package-json-lint-config/-/npm-package-json-lint-config-2.2.0.tgz", - "integrity": "sha512-8Td9vWekCwZCPfWkVWKQllim/F/m0uN1cma3KkBsKxi0liftj/iXpDBDH6wDxsv8z1Gbwq+H9a4D6w7Ob8SqtQ==", - "dev": true - }, - "@wordpress/scripts": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@wordpress/scripts/-/scripts-7.1.4.tgz", - "integrity": "sha512-+tka5NhWpGqXJ8+ouiip5NweI51hWJ0/n0sC3jek7yIEqv9UBMsjCrQuF7gDec+4cH5Fq6b50jliiGiK9fwxFw==", - "dev": true, - "requires": { - "@svgr/webpack": "^4.3.3", - "@wordpress/babel-preset-default": "^4.10.0", - "@wordpress/dependency-extraction-webpack-plugin": "^2.4.0", - "@wordpress/eslint-plugin": "^4.0.0", - "@wordpress/jest-preset-default": "^5.4.0", - "@wordpress/npm-package-json-lint-config": "^2.2.0", - "babel-jest": "^24.9.0", - "babel-loader": "^8.0.6", - "chalk": "^2.4.2", - "check-node-version": "^3.1.1", - "command-exists": "^1.2.8", - "cross-spawn": "^5.1.0", - "decompress-zip": "^0.2.2", - "dir-glob": "^3.0.1", - "eslint": "^6.1.0", - "eslint-plugin-markdown": "1.0.1", - "jest": "^24.9.0", - "jest-puppeteer": "^4.3.0", - "js-yaml": "^3.13.1", - "lodash": "^4.17.15", - "markdownlint": "^0.18.0", - "markdownlint-cli": "^0.21.0", - "minimist": "^1.2.0", - "npm-package-json-lint": "^4.0.3", - "prettier": "npm:wp-prettier@1.19.1", - "puppeteer": "^2.0.0", - "read-pkg-up": "^1.0.1", - "request": "^2.88.0", - "resolve-bin": "^0.4.0", - "source-map-loader": "^0.2.4", - "sprintf-js": "^1.1.1", - "stylelint": "^9.10.1", - "stylelint-config-wordpress": "^13.1.0", - "thread-loader": "^2.1.2", - "url-loader": "^3.0.0", - "webpack": "^4.41.0", - "webpack-bundle-analyzer": "^3.3.2", - "webpack-cli": "^3.1.2", - "webpack-livereload-plugin": "^2.2.0" - }, - "dependencies": { - "puppeteer": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-2.1.1.tgz", - "integrity": "sha512-LWzaDVQkk1EPiuYeTOj+CZRIjda4k2s5w4MK4xoH2+kgWV/SDlkYHmxatDdtYrciHUKSXTsGgPgPP8ILVdBsxg==", - "dev": true, - "requires": { - "@types/mime-types": "^2.1.0", - "debug": "^4.1.0", - "extract-zip": "^1.6.6", - "https-proxy-agent": "^4.0.0", - "mime": "^2.0.3", - "mime-types": "^2.1.25", - "progress": "^2.0.1", - "proxy-from-env": "^1.0.0", - "rimraf": "^2.6.1", - "ws": "^6.1.0" - } - }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "@wordpress/warning": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@wordpress/warning/-/warning-1.3.0.tgz", - "integrity": "sha512-xwvgwqugc3zQawSPMMA09knAgap7IGgp0PxTXpFqizGFRIohoXFWERnPBZT0VsSCovqYS0ADcH+ZZgQ+BKAzLA==", - "dev": true - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, "@xtuc/long": { @@ -2399,9 +2830,9 @@ } }, "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, "acorn-globals": { @@ -2412,6 +2843,14 @@ "requires": { "acorn": "^6.0.1", "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + } } }, "acorn-jsx": { @@ -2432,6 +2871,16 @@ "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", "dev": true }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, "airbnb-prop-types": { "version": "2.16.0", "resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.16.0.tgz", @@ -2450,9 +2899,9 @@ } }, "ajv": { - "version": "6.12.5", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz", - "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -2473,42 +2922,48 @@ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "requires": { - "type-fest": "^0.11.0" + "type-fest": "^0.21.3" }, "dependencies": { "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true } } }, "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" } }, "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "requires": { "normalize-path": "^3.0.0", @@ -2590,12 +3045,6 @@ "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", "dev": true }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -2603,35 +3052,16 @@ "dev": true }, "array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", "dev": true, "requires": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", + "es-abstract": "^1.18.0-next.2", + "get-intrinsic": "^1.1.1", "is-string": "^1.0.5" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } } }, "array-slice": { @@ -2641,10 +3071,13 @@ "dev": true }, "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } }, "array-uniq": { "version": "1.0.3", @@ -2666,90 +3099,29 @@ "requires": { "define-properties": "^1.1.3", "es-abstract": "^1.17.4" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } } }, "array.prototype.flat": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", - "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } + "es-abstract": "^1.18.0-next.1" } }, "array.prototype.flatmap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz", - "integrity": "sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", + "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", + "es-abstract": "^1.18.0-next.1", "function-bind": "^1.1.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } } }, "arrify": { @@ -2780,9 +3152,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -2885,14 +3257,6 @@ "num2fraction": "^1.2.2", "postcss": "^7.0.32", "postcss-value-parser": "^4.1.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - } } }, "aws-sign2": { @@ -2902,15 +3266,15 @@ "dev": true }, "aws4": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz", - "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, "axe-core": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-3.5.5.tgz", - "integrity": "sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.1.4.tgz", + "integrity": "sha512-Pdgfv6iP0gNx9ejRGa3zE7Xgkj/iclXqLfe7BnatdZz0QnLZ3jrRHUVH8wNSdN68w05Sk3ShGTb3ydktMTooig==", "dev": true }, "axobject-query": { @@ -2934,42 +3298,63 @@ } }, "babel-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-24.9.0.tgz", - "integrity": "sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw==", + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", + "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", "dev": true, "requires": { - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/babel__core": "^7.1.0", - "babel-plugin-istanbul": "^5.1.0", - "babel-preset-jest": "^24.9.0", - "chalk": "^2.4.2", - "slash": "^2.0.0" + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, "babel-loader": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", - "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", + "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", "dev": true, "requires": { - "find-cache-dir": "^2.1.0", + "find-cache-dir": "^3.3.1", "loader-utils": "^1.4.0", - "mkdirp": "^0.5.3", - "pify": "^4.0.1", + "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, "dependencies": { - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" } } } @@ -2984,34 +3369,86 @@ } }, "babel-plugin-istanbul": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz", - "integrity": "sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz", + "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "find-up": "^3.0.0", - "istanbul-lib-instrument": "^3.3.0", - "test-exclude": "^5.2.3" + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^4.0.0", + "test-exclude": "^6.0.0" } }, "babel-plugin-jest-hoist": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz", - "integrity": "sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", + "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", "dev": true, "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", "@types/babel__traverse": "^7.0.6" } }, + "babel-plugin-polyfill-corejs2": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.0.tgz", + "integrity": "sha512-9bNwiR0dS881c5SHnzCmmGlMkJLl0OUZvxrxHo9w/iNoRuqaPjqlvBf4HrovXtQs/au5yKkpcdgfT1cC5PAZwg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.0", + "semver": "^6.1.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.0.tgz", + "integrity": "sha512-zZyi7p3BCUyzNxLx8KV61zTINkkV65zVkDAFNZmrTCRVhjo1jAS+YLvDJ9Jgd/w2tsAviCwFHReYfxO3Iql8Yg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.0", + "core-js-compat": "^3.9.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.0.tgz", + "integrity": "sha512-J7vKbCuD2Xi/eEHxquHN14bXAW9CXtecwuLrOIDJtcZzTaPzV1VdEfoUf9AzcRBMolKUQKM9/GVojeh0hFiqMg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.0" + } + }, + "babel-preset-current-node-syntax": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", + "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, "babel-preset-jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz", - "integrity": "sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", + "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", "dev": true, "requires": { - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^24.9.0" + "babel-plugin-jest-hoist": "^25.5.0", + "babel-preset-current-node-syntax": "^0.1.2" } }, "bail": { @@ -3078,19 +3515,13 @@ "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true } } }, "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, "bcrypt-pbkdf": { @@ -3120,23 +3551,36 @@ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, - "binary": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", - "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, "requires": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, - "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "dev": true, - "optional": true - }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -3144,9 +3588,9 @@ "dev": true }, "bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", "dev": true }, "body": { @@ -3243,32 +3687,12 @@ } }, "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "fill-range": "^7.0.1" } }, "brorand": { @@ -3338,21 +3762,13 @@ } }, "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "requires": { - "bn.js": "^4.1.0", + "bn.js": "^5.0.0", "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } } }, "browserify-sign": { @@ -3401,15 +3817,16 @@ } }, "browserslist": { - "version": "4.14.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.5.tgz", - "integrity": "sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA==", + "version": "4.16.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.5.tgz", + "integrity": "sha512-C2HAjrM1AI/djrpAUU/tr4pml1DqLIzJKSLDBXBrNErl9ZCCTXdhwxdJjYc16953+mBWf7Lw+uUJgpgb8cN71A==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001135", - "electron-to-chromium": "^1.3.571", - "escalade": "^3.1.0", - "node-releases": "^1.1.61" + "caniuse-lite": "^1.0.30001214", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.719", + "escalade": "^3.1.1", + "node-releases": "^1.1.71" } }, "bser": { @@ -3422,14 +3839,13 @@ } }, "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, "buffer-crc32": { @@ -3450,12 +3866,6 @@ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", "dev": true }, - "buffers": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", - "dev": true - }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", @@ -3469,58 +3879,129 @@ "dev": true }, "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "version": "15.0.6", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.6.tgz", + "integrity": "sha512-g1WYDMct/jzW+JdWEyjaX2zoBkZ6ZT9VpOyp2I/VMtDsNLffNat3kqPFfi1eDRSK9/SuKGyORDHcQMcPF8sQ/w==", "dev": true, "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", - "dev": true - }, - "caller-callsite": { - "version": "2.0.0", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cacheable-lookup": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-2.0.1.tgz", + "integrity": "sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==", + "dev": true, + "requires": { + "@types/keyv": "^3.1.1", + "keyv": "^4.0.0" + } + }, + "cacheable-request": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", + "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caller-callsite": { + "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "dev": true, "requires": { "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } } }, "caller-path": { @@ -3533,9 +4014,9 @@ } }, "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "camelcase": { @@ -3556,9 +4037,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001144", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001144.tgz", - "integrity": "sha512-4GQTEWNMnVZVOFG3BK0xvGeaDAtiPAbG2N8yuMXuXzx/c2Vd4XoMPO8+E918zeXn5IF0FRVtGShBfkfQea2wHQ==", + "version": "1.0.30001214", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001214.tgz", + "integrity": "sha512-O2/SCpuaU3eASWVaesQirZv1MSjUNOvmugaD8zNSJqw6Vv5SGwoOpA9LJs3pNPfM745nxqPvfZY3MQKY4AKHYg==", "dev": true }, "capture-exit": { @@ -3576,30 +4057,14 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, - "ccount": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.5.tgz", - "integrity": "sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==", - "dev": true - }, - "chainsaw": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", - "dev": true, - "requires": { - "traverse": ">=0.3.0 <0.4" - } - }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, "character-entities": { @@ -3608,12 +4073,6 @@ "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", "dev": true }, - "character-entities-html4": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", - "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==", - "dev": true - }, "character-entities-legacy": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", @@ -3633,25 +4092,28 @@ "dev": true }, "check-node-version": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/check-node-version/-/check-node-version-3.3.0.tgz", - "integrity": "sha512-OAtp7prQf+8YYKn2UB/fK1Ppb9OT+apW56atoKYUvucYLPq69VozOY0B295okBwCKymk2cictrS3qsdcZwyfzw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/check-node-version/-/check-node-version-4.1.0.tgz", + "integrity": "sha512-TSXGsyfW5/xY2QseuJn8/hleO2AU7HxVCdkc900jp1vcfzF840GkjvRT7CHl8sRtWn23n3X3k0cwH9RXeRwhfw==", "dev": true, "requires": { - "chalk": "^2.3.0", + "chalk": "^3.0.0", "map-values": "^1.0.1", "minimist": "^1.2.0", "object-filter": "^1.0.2", - "object.assign": "^4.0.4", "run-parallel": "^1.1.4", - "semver": "^5.0.3" + "semver": "^6.3.0" }, "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } } } }, @@ -3662,128 +4124,123 @@ "dev": true }, "cheerio": { - "version": "1.0.0-rc.3", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", - "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", + "version": "1.0.0-rc.6", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.6.tgz", + "integrity": "sha512-hjx1XE1M/D5pAtMgvWwE21QClmAEeGHOIDfycgmndisdNgI6PE1cGRQkMGBcsbUbmEQyWu5PJLUcAOjtQS8DWw==", + "dev": true, + "requires": { + "cheerio-select": "^1.3.0", + "dom-serializer": "^1.3.1", + "domhandler": "^4.1.0", + "htmlparser2": "^6.1.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1" + }, + "dependencies": { + "dom-serializer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.1.tgz", + "integrity": "sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + } + } + }, + "cheerio-select": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.4.0.tgz", + "integrity": "sha512-sobR3Yqz27L553Qa7cK6rtJlMDbiKPdNywtR95Sj/YgfpLfy0u6CGJuaBKe5YE/vTc23SCRKxWSdlon/w6I/Ew==", "dev": true, "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.1", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" + "css-select": "^4.1.2", + "css-what": "^5.0.0", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0" }, "dependencies": { "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.2.tgz", + "integrity": "sha512-nu5ye2Hg/4ISq4XqdLY2bEatAcLIdt3OYGFc9Tm9n7VSlFBcfRv0gBNksHRgSdUDQGtN3XrZ94ztW+NfzkFSUw==", "dev": true, "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" } }, "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", "dev": true }, "dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.1.tgz", + "integrity": "sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q==", "dev": true, "requires": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "entities": "^2.0.0" } }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + }, "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz", + "integrity": "sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==", "dev": true, "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" } }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "parse5": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", - "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", "dev": true, "requires": { - "@types/node": "*" + "boolbase": "^1.0.0" } } } }, "chokidar": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", - "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "dev": true, - "optional": true, "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "optional": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "optional": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "optional": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "optional": true, - "requires": { - "is-number": "^7.0.0" - } - } + "readdirp": "~3.5.0" } }, "chownr": { @@ -3793,13 +4250,10 @@ "dev": true }, "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true }, "ci-info": { "version": "2.0.0", @@ -3840,6 +4294,22 @@ } } }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "clean-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==", + "dev": true, + "requires": { + "@types/webpack": "^4.4.31", + "del": "^4.1.1" + } + }, "cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -3849,10 +4319,16 @@ "restore-cursor": "^3.1.0" } }, + "cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "dev": true + }, "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", "dev": true }, "cliui": { @@ -3864,8 +4340,54 @@ "string-width": "^3.1.0", "strip-ansi": "^5.2.0", "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } } }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, "clone-deep": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", @@ -3877,16 +4399,43 @@ "kind-of": "^3.0.2", "lazy-cache": "^1.0.3", "shallow-clone": "^0.1.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, "clone-regexp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.1.tgz", - "integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", + "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", + "dev": true, + "requires": { + "is-regexp": "^2.0.0" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", "dev": true, "requires": { - "is-regexp": "^1.0.0", - "is-supported-regexp-flag": "^1.0.0" + "mimic-response": "^1.0.0" + }, + "dependencies": { + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + } } }, "co": { @@ -3904,43 +4453,101 @@ "@types/q": "^1.5.1", "chalk": "^2.4.1", "q": "^1.1.2" - } - }, - "collapse-white-space": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", + "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", "dev": true }, "colors": { @@ -3958,12 +4565,6 @@ "delayed-stream": "~1.0.0" } }, - "command-exists": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", - "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", - "dev": true - }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -3971,9 +4572,9 @@ "dev": true }, "comment-parser": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.6.2.tgz", - "integrity": "sha512-Wdms0Q8d4vvb2Yk72OwZjwNWtMklbC5Re7lD9cjCP/AG1fhocmc0TrxGBBAXPLy8fZQPrfHGgyygwI0lA7pbzA==", + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.6.tgz", + "integrity": "sha512-GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg==", "dev": true }, "commondir": { @@ -4080,19 +4681,25 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, + "copy-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/copy-dir/-/copy-dir-1.3.0.tgz", + "integrity": "sha512-Q4+qBFnN4bwGwvtXXzbp4P/4iNk0MaiGAzvQ8OiMtlLjkIKjmNN689uVzShSM0908q7GoFHXIPx4zi75ocoaHw==", + "dev": true + }, "core-js": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", - "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.11.0.tgz", + "integrity": "sha512-bd79DPpx+1Ilh9+30aT5O1sgpQd4Ttg8oqkqi51ZzhedMM1omD2e6IOF48Z/DzDCZ2svp49tN/3vneTK6ZBkXw==", "dev": true }, "core-js-compat": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", - "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.11.0.tgz", + "integrity": "sha512-3wsN9YZJohOSDCjVB0GequOyHax8zFiogSX3XWLE28M1Ew7dTU57tgHjIylSBKSIouwmLBp3g61sKMz/q3xEGA==", "dev": true, "requires": { - "browserslist": "^4.8.5", + "browserslist": "^4.16.4", "semver": "7.0.0" }, "dependencies": { @@ -4105,9 +4712,9 @@ } }, "core-js-pure": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz", - "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.11.0.tgz", + "integrity": "sha512-PxEiQGjzC+5qbvE7ZIs5Zn6BynNeZO9zHhrrWmkRff2SZLq0CE/H5LuZOJHhmOQ8L38+eMzEHAmPYWrUtDfuDQ==", "dev": true }, "core-util-is": { @@ -4117,15 +4724,16 @@ "dev": true }, "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", + "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", "dev": true, "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" } }, "create-ecdh": { @@ -4139,9 +4747,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -4221,6 +4829,49 @@ "randomfill": "^1.0.3" } }, + "css-loader": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", + "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.32", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.0", + "semver": "^6.3.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, "css-select": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", @@ -4258,9 +4909,9 @@ } }, "css-what": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.1.tgz", - "integrity": "sha512-wHOppVDKl4vTAOWzJt5Ek37Sgd9qq1Bmj/T1OjvicWbU5W7ru7Pqbn0Jdqii3Drx/h+dixHKXNhZYx7blthL7g==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", "dev": true }, "cssesc": { @@ -4270,28 +4921,28 @@ "dev": true }, "csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dev": true, "requires": { - "css-tree": "1.0.0-alpha.39" + "css-tree": "^1.1.2" }, "dependencies": { "css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dev": true, "requires": { - "mdn-data": "2.0.6", + "mdn-data": "2.0.14", "source-map": "^0.6.1" } }, "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true }, "source-map": { @@ -4303,35 +4954,34 @@ } }, "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", "dev": true }, "cssstyle": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", - "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dev": true, "requires": { - "cssom": "0.3.x" + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } } }, "csstype": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.3.tgz", - "integrity": "sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", + "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==", "dev": true }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, "cwd": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/cwd/-/cwd-0.10.0.tgz", @@ -4372,19 +5022,6 @@ "abab": "^2.0.0", "whatwg-mimetype": "^2.2.0", "whatwg-url": "^7.0.0" - }, - "dependencies": { - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - } } }, "dateformat": { @@ -4432,45 +5069,13 @@ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, - "decompress-zip": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.2.2.tgz", - "integrity": "sha512-v+Na3Ck86Px7s2ix+f77pMQC3GlkxHHN+YyvnkEW7+xX5F39pcDpIV/VFvGYk8MznTFcMoPjL3XNWEJLXWoSPw==", + "decompress-response": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-5.0.0.tgz", + "integrity": "sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==", "dev": true, "requires": { - "binary": "^0.3.0", - "graceful-fs": "^4.1.3", - "mkpath": "^0.1.0", - "nopt": "^3.0.1", - "q": "^1.1.2", - "readable-stream": "^1.1.8", - "touch": "0.0.3" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } + "mimic-response": "^2.0.0" } }, "deep-extend": { @@ -4485,6 +5090,27 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "dev": true + }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", @@ -4532,15 +5158,24 @@ "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true } } }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -4576,9 +5211,9 @@ "dev": true }, "detect-newline": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", - "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true }, "dev-require": { @@ -4587,9 +5222,9 @@ "integrity": "sha1-N0sFA0//trfxH9y6kl4rYppI6q8=" }, "diff-sequences": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-24.9.0.tgz", - "integrity": "sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", "dev": true }, "diffie-hellman": { @@ -4604,9 +5239,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -4618,14 +5253,6 @@ "dev": true, "requires": { "path-type": "^4.0.0" - }, - "dependencies": { - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - } } }, "discontinuous-range": { @@ -4634,6 +5261,12 @@ "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=", "dev": true }, + "docker-compose": { + "version": "0.22.2", + "resolved": "https://registry.npmjs.org/docker-compose/-/docker-compose-0.22.2.tgz", + "integrity": "sha512-iXWb5+LiYmylIMFXvGTYsjI1F+Xyx78Jm/uj1dxwwZLbWkUdH6yOXY5Nr3RjbYX15EgbGJCq78d29CmWQQQMPg==", + "dev": true + }, "doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -4654,9 +5287,9 @@ }, "dependencies": { "domelementtype": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz", - "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", "dev": true } } @@ -4683,12 +5316,20 @@ } }, "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", + "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", "dev": true, "requires": { - "domelementtype": "1" + "domelementtype": "^2.2.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + } } }, "domutils": { @@ -4701,21 +5342,18 @@ "domelementtype": "1" } }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, "duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, "duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", @@ -4751,38 +5389,38 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.577", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.577.tgz", - "integrity": "sha512-dSb64JQSFif/pD8mpVAgSFkbVi6YHbK6JeEziwNNmXlr/Ne2rZtseFK5SM7JoWSLf6gP0gVvRGi4/2ZRhSX/rA==", + "version": "1.3.720", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.720.tgz", + "integrity": "sha512-B6zLTxxaOFP4WZm6DrvgRk8kLFYWNhQ5TrHMC0l5WtkMXhU5UbnvWoTfeEwqOruUSlNMhVLfYak7REX6oC5Yfw==", "dev": true }, "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } }, "emoji-regex": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.0.0.tgz", - "integrity": "sha512-6p1NII1Vm62wni/VR/cUMauVQoxmLVb9csqQlvLz+hO2gk8U2UYDfXHQSUYIBKmZwAKz867IDqG7B+u0mj+M6w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "emojis-list": { @@ -4816,9 +5454,9 @@ } }, "enhanced-resolve": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", - "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -4838,10 +5476,19 @@ } } }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, "entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true }, "enzyme": { @@ -4875,16 +5522,16 @@ } }, "enzyme-adapter-react-16": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.5.tgz", - "integrity": "sha512-33yUJGT1nHFQlbVI5qdo5Pfqvu/h4qPwi1o0a6ZZsjpiqq92a3HjynDhwd1IeED+Su60HDWV8mxJqkTnLYdGkw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.6.tgz", + "integrity": "sha512-yFlVJCXh8T+mcQo8M6my9sPgeGzj85HSHi6Apgf1Cvq/7EL/J9+1JoJmJsRxZgyTvPMAqOEpRSu/Ii/ZpyOk0g==", "dev": true, "requires": { - "enzyme-adapter-utils": "^1.13.1", + "enzyme-adapter-utils": "^1.14.0", "enzyme-shallow-equal": "^1.0.4", "has": "^1.0.3", - "object.assign": "^4.1.0", - "object.values": "^1.1.1", + "object.assign": "^4.1.2", + "object.values": "^1.1.2", "prop-types": "^15.7.2", "react-is": "^16.13.1", "react-test-renderer": "^16.0.0-0", @@ -4900,15 +5547,16 @@ } }, "enzyme-adapter-utils": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.13.1.tgz", - "integrity": "sha512-5A9MXXgmh/Tkvee3bL/9RCAAgleHqFnsurTYCbymecO4ohvtNO5zqIhHxV370t7nJAwaCfkgtffarKpC0GPt0g==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.14.0.tgz", + "integrity": "sha512-F/z/7SeLt+reKFcb7597IThpDp0bmzcH1E9Oabqv+o01cID2/YInlqHbFl7HzWBl4h3OdZYedtwNDOmSKkk0bg==", "dev": true, "requires": { "airbnb-prop-types": "^2.16.0", - "function.prototype.name": "^1.1.2", - "object.assign": "^4.1.0", - "object.fromentries": "^2.0.2", + "function.prototype.name": "^1.1.3", + "has": "^1.0.3", + "object.assign": "^4.1.2", + "object.fromentries": "^2.0.3", "prop-types": "^15.7.2", "semver": "^5.7.1" }, @@ -4932,20 +5580,28 @@ } }, "enzyme-to-json": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/enzyme-to-json/-/enzyme-to-json-3.6.1.tgz", - "integrity": "sha512-15tXuONeq5ORoZjV/bUo2gbtZrN2IH+Z6DvL35QmZyKHgbY1ahn6wcnLd9Xv9OjiwbAXiiP8MRZwbZrCv1wYNg==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/enzyme-to-json/-/enzyme-to-json-3.6.2.tgz", + "integrity": "sha512-Ynm6Z6R6iwQ0g2g1YToz6DWhxVnt8Dy1ijR2zynRKxTyBGA8rCDXU3rs2Qc4OKvUvc2Qoe1bcFK6bnPs20TrTg==", "dev": true, "requires": { "@types/cheerio": "^0.22.22", - "lodash": "^4.17.15", + "lodash": "^4.17.21", "react-is": "^16.12.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + } } }, "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, "requires": { "prr": "~1.0.1" @@ -4970,23 +5626,27 @@ } }, "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", "dev": true, "requires": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", + "object-inspect": "^1.9.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" } }, "es-to-primitive": { @@ -5016,9 +5676,9 @@ } }, "escalade": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.0.tgz", - "integrity": "sha512-mAk+hPSO8fLDkhV7V0dXazH5pDc6MrjBTPyD3VeKzxnVFjH1MIxbCdqGZB9O8+EwWakZs3ZCbDS4IpRt79V1ig==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, "escape-html": { @@ -5046,79 +5706,117 @@ "source-map": "~0.6.1" }, "dependencies": { + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "optional": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } } } }, "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.24.0.tgz", + "integrity": "sha512-k9gaHeHiFmGCDQ2rEfvULlSLruz6tgfA8DEn+rY9/oYPFFTlz55mM/Q/Rij1b2Y42jwZiK3lXvNTw6w6TXzcKQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.0", "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", "debug": "^4.0.1", "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", + "enquirer": "^2.3.5", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", + "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", - "globals": "^12.1.0", + "globals": "^13.6.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", "is-glob": "^4.0.0", "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", + "levn": "^0.4.1", + "lodash": "^4.17.21", "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", "natural-compare": "^1.4.0", - "optionator": "^0.8.3", + "optionator": "^0.9.1", "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.4", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "@babel/highlight": "^7.10.4" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" } }, "doctrine": { @@ -5130,98 +5828,164 @@ "esutils": "^2.0.2" } }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "eslint-visitor-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", + "dev": true + }, + "globals": { + "version": "13.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.8.0.tgz", + "integrity": "sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q==", "dev": true, "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "type-fest": "^0.20.2" } }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "lru-cache": "^6.0.0" } }, - "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "shebang-regex": "^3.0.0" } }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, "eslint-config-prettier": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.12.0.tgz", - "integrity": "sha512-9jWPlFlgNwRUYVoujvWTQ1aMO8o6648r+K7qU7K5Jmkbyqav1fuEZC0COYpGBxyiAJb65Ra9hrmFx19xRGwXWw==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", + "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", "dev": true, "requires": { "get-stdin": "^6.0.0" } }, "eslint-plugin-jest": { - "version": "22.21.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.21.0.tgz", - "integrity": "sha512-OaqnSS7uBgcGiqXUiEnjoqxPNKvR4JWG5mSRkzVoR6+vDwlqqp11beeql1hYs0HTbdhiwrxWLxbX0Vx7roG3Ew==", + "version": "23.20.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-23.20.0.tgz", + "integrity": "sha512-+6BGQt85OREevBDWCvhqj1yYA4+BFK4XnRZSGJionuEYmcglMZYLNNBBemwzbqUAckURaHdJSBcjHPyrtypZOw==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "^1.13.0" + "@typescript-eslint/experimental-utils": "^2.5.0" } }, "eslint-plugin-jsdoc": { - "version": "15.12.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-15.12.2.tgz", - "integrity": "sha512-QHzPc3VKTEbTn369/HpqDjl/czv3fCei/bZg5NA5tu9Od10MfpTH4kc1xnRDobhQoDs3AMz9wuaI4coHWRzMQw==", - "dev": true, - "requires": { - "comment-parser": "^0.6.2", - "debug": "^4.1.1", - "jsdoctypeparser": "^5.1.1", - "lodash": "^4.17.15", - "object.entries-ponyfill": "^1.0.1", - "regextras": "^0.6.1" + "version": "30.7.13", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.13.tgz", + "integrity": "sha512-YM4WIsmurrp0rHX6XiXQppqKB8Ne5ATiZLJe2+/fkp9l9ExXFr43BbAbjZaVrpCT+tuPYOZ8k1MICARHnURUNQ==", + "dev": true, + "requires": { + "comment-parser": "^0.7.6", + "debug": "^4.3.1", + "jsdoctypeparser": "^9.0.0", + "lodash": "^4.17.20", + "regextras": "^0.7.1", + "semver": "^7.3.4", + "spdx-expression-parse": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } } }, "eslint-plugin-jsx-a11y": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.3.1.tgz", - "integrity": "sha512-i1S+P+c3HOlBJzMFORRbC58tHa65Kbo8b52/TwCwSKLohwvpfT5rm2GjGWzOHTEuq4xxf2aRlHHTtmExDQOP+g==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz", + "integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==", "dev": true, "requires": { - "@babel/runtime": "^7.10.2", + "@babel/runtime": "^7.11.2", "aria-query": "^4.2.2", "array-includes": "^3.1.1", "ast-types-flow": "^0.0.7", - "axe-core": "^3.5.4", - "axobject-query": "^2.1.2", + "axe-core": "^4.0.2", + "axobject-query": "^2.2.0", "damerau-levenshtein": "^1.0.6", "emoji-regex": "^9.0.0", "has": "^1.0.3", - "jsx-ast-utils": "^2.4.1", + "jsx-ast-utils": "^3.1.0", "language-tags": "^1.0.5" + }, + "dependencies": { + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + } } }, "eslint-plugin-markdown": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-markdown/-/eslint-plugin-markdown-1.0.1.tgz", - "integrity": "sha512-nAUURNHJGPooBMZMP23FmTbh3LTdgoSqeFBv9FA3fYrJ+vDUJxrp6nKiQF4iDNAmnWQnmnrDvV61BmIF4X9QAQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-markdown/-/eslint-plugin-markdown-1.0.2.tgz", + "integrity": "sha512-BfvXKsO0K+zvdarNc801jsE/NTLmig4oKhZ1U3aSUgTf2dB/US5+CrfGxMsCK2Ki1vS1R3HPok+uYpufFndhzw==", "dev": true, "requires": { "object-assign": "^4.0.1", @@ -5230,64 +5994,66 @@ } }, "eslint-plugin-prettier": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.4.tgz", - "integrity": "sha512-jZDa8z76klRqo+TdGDTFJSavwbnWK2ZpqGKNZ+VvweMW516pDUMmQ2koXvxEE4JhzNvTv+radye/bWGBmA6jmg==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.0.tgz", + "integrity": "sha512-UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" } }, "eslint-plugin-react": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.21.3.tgz", - "integrity": "sha512-OI4GwTCqyIb4ipaOEGLWdaOHCXZZydStAsBEPB2e1ZfNM37bojpgO1BoOQbFb0eLVz3QLDx7b+6kYcrxCuJfhw==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz", + "integrity": "sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw==", "dev": true, "requires": { - "array-includes": "^3.1.1", - "array.prototype.flatmap": "^1.2.3", + "array-includes": "^3.1.3", + "array.prototype.flatmap": "^1.2.4", "doctrine": "^2.1.0", "has": "^1.0.3", - "jsx-ast-utils": "^2.4.1", - "object.entries": "^1.1.2", - "object.fromentries": "^2.0.2", - "object.values": "^1.1.1", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.0.4", + "object.entries": "^1.1.3", + "object.fromentries": "^2.0.4", + "object.values": "^1.1.3", "prop-types": "^15.7.2", - "resolve": "^1.17.0", - "string.prototype.matchall": "^4.0.2" + "resolve": "^2.0.0-next.3", + "string.prototype.matchall": "^4.0.4" }, "dependencies": { "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "version": "2.0.0-next.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", "dev": true, "requires": { + "is-core-module": "^2.2.0", "path-parse": "^1.0.6" } } } }, "eslint-plugin-react-hooks": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz", - "integrity": "sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz", + "integrity": "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==", "dev": true }, "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { - "esrecurse": "^4.1.0", + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" } }, "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" @@ -5300,22 +6066,14 @@ "dev": true }, "espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - } + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" } }, "esprima": { @@ -5325,9 +6083,9 @@ "dev": true }, "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -5383,9 +6141,9 @@ "dev": true }, "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, "evp_bytestokey": { @@ -5399,9 +6157,9 @@ } }, "exec-sh": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.4.tgz", - "integrity": "sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", "dev": true }, "execa": { @@ -5432,6 +6190,15 @@ "which": "^1.2.9" } }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -5441,12 +6208,12 @@ } }, "execall": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz", - "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", + "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", "dev": true, "requires": { - "clone-regexp": "^1.0.0" + "clone-regexp": "^2.1.0" } }, "exit": { @@ -5515,17 +6282,17 @@ } }, "expect": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-24.9.0.tgz", - "integrity": "sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", + "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", "dev": true, "requires": { - "@jest/types": "^24.9.0", - "ansi-styles": "^3.2.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-regex-util": "^24.9.0" + "@jest/types": "^25.5.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6" } }, "expect-puppeteer": { @@ -5695,12 +6462,6 @@ "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true } } }, @@ -5752,9 +6513,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -5763,51 +6524,6 @@ "merge2": "^1.3.0", "micromatch": "^4.0.2", "picomatch": "^2.2.1" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } } }, "fast-json-stable-stringify": { @@ -5822,10 +6538,16 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "dev": true + }, "fastq": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz", - "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", + "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -5874,12 +6596,12 @@ } }, "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { - "flat-cache": "^2.0.1" + "flat-cache": "^3.0.4" } }, "file-sync-cmp": { @@ -5895,26 +6617,12 @@ "dev": true }, "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "to-regex-range": "^5.0.1" } }, "finalhandler": { @@ -5950,14 +6658,14 @@ } }, "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", "dev": true, "requires": { "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" } }, "find-file-up": { @@ -5986,29 +6694,20 @@ } }, "find-process": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/find-process/-/find-process-1.4.3.tgz", - "integrity": "sha512-+IA+AUsQCf3uucawyTwMWcY+2M3FXq3BRvw3S+j5Jvydjk31f/+NPWpYZOJs+JUs2GvxH4Yfr6Wham0ZtRLlPA==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/find-process/-/find-process-1.4.4.tgz", + "integrity": "sha512-rRSuT1LE4b+BFK588D2V8/VG9liW0Ark1XJgroxZXI0LtwmQJOb490DvDYvbm+Hek9ETFzTutGfJ90gumITPhQ==", "dev": true, "requires": { - "chalk": "^2.0.1", - "commander": "^2.11.0", - "debug": "^2.6.8" + "chalk": "^4.0.0", + "commander": "^5.1.0", + "debug": "^4.1.1" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", "dev": true } } @@ -6034,6 +6733,35 @@ "resolve-dir": "^1.0.1" }, "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -6043,6 +6771,29 @@ "homedir-polyfill": "^1.0.1" } }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", @@ -6067,6 +6818,47 @@ "which": "^1.2.14" } }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, "resolve-dir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", @@ -6076,6 +6868,16 @@ "expand-tilde": "^2.0.0", "global-modules": "^1.0.0" } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } } } }, @@ -6110,20 +6912,19 @@ "dev": true }, "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "dependencies": { "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" @@ -6132,9 +6933,9 @@ } }, "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "dev": true }, "flush-write-stream": { @@ -6210,12 +7011,27 @@ "readable-stream": "^2.0.0" } }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, "fs-exists-sync": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", "dev": true }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, "fs-write-stream-atomic": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", @@ -6235,9 +7051,9 @@ "dev": true }, "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "optional": true }, @@ -6248,35 +7064,15 @@ "dev": true }, "function.prototype.name": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.2.tgz", - "integrity": "sha512-C8A+LlHBJjB2AdcRPorc5JvJ5VUoWlXdEHLOJdCI7kjHEtGTpHQUiqMvCIKUwIsGwZX2jZJy761AXsn356bJQg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.4.tgz", + "integrity": "sha512-iqy1pIotY/RmhdFZygSSlW0wko2yxkSCKqsuv4pr8QESohpYyG/Z7B/XXvPRKTJS//960rgguE5mSRUsDdaJrQ==", "dev": true, "requires": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "functions-have-names": "^1.2.0" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } + "es-abstract": "^1.18.0-next.2", + "functions-have-names": "^1.2.2" } }, "functional-red-black-tree": { @@ -6286,15 +7082,15 @@ "dev": true }, "functions-have-names": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.1.tgz", - "integrity": "sha512-j48B/ZI7VKs3sgeI2cZp7WXWmZXu7Iq5pl5/vptV5N2mq+DGFuS/ulaDjtaoLpYzuD6u8UgrUKHfgo7fDTSiBA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.2.tgz", + "integrity": "sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA==", "dev": true }, "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, "get-caller-file": { @@ -6303,16 +7099,33 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, - "get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "requires": { "pump": "^3.0.0" @@ -6378,20 +7191,14 @@ } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" } }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", - "dev": true - }, "global-modules": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", @@ -6437,31 +7244,22 @@ "dev": true }, "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "dependencies": { - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true } } @@ -6481,10 +7279,33 @@ "minimist": "^1.2.5" } }, + "got": { + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/got/-/got-10.7.0.tgz", + "integrity": "sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==", + "dev": true, + "requires": { + "@sindresorhus/is": "^2.0.0", + "@szmarczak/http-timer": "^4.0.0", + "@types/cacheable-request": "^6.0.1", + "cacheable-lookup": "^2.0.0", + "cacheable-request": "^7.0.1", + "decompress-response": "^5.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^5.0.0", + "lowercase-keys": "^2.0.0", + "mimic-response": "^2.1.0", + "p-cancelable": "^2.0.0", + "p-event": "^4.0.0", + "responselike": "^2.0.0", + "to-readable-stream": "^2.0.0", + "type-fest": "^0.10.0" + } + }, "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", "dev": true }, "graceful-readlink": { @@ -6497,12 +7318,13 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", - "dev": true + "dev": true, + "optional": true }, "grunt": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.3.0.tgz", - "integrity": "sha512-6ILlMXv11/4cxuhSMfSU+SfvbxrPuqZrAtLN64+tZpQ3DAKfSQPQHRbTjSbdtxfyQhGZPtN0bDZJ/LdCM5WXXA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.4.1.tgz", + "integrity": "sha512-ZXIYXTsAVrA7sM+jZxjQdrBOAg7DyMUplOMhTaspMRExei+fD0BTwdWXnn0W5SXqhb/Q/nlkzXclSi3IH55PIA==", "dev": true, "requires": { "dateformat": "~3.0.3", @@ -6510,10 +7332,10 @@ "exit": "~0.1.2", "findup-sync": "~0.3.0", "glob": "~7.1.6", - "grunt-cli": "~1.3.2", - "grunt-known-options": "~1.1.0", + "grunt-cli": "~1.4.2", + "grunt-known-options": "~2.0.0", "grunt-legacy-log": "~3.0.0", - "grunt-legacy-util": "~2.0.0", + "grunt-legacy-util": "~2.0.1", "iconv-lite": "~0.4.13", "js-yaml": "~3.14.0", "minimatch": "~3.0.4", @@ -6546,16 +7368,6 @@ } } }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -6624,16 +7436,16 @@ } }, "grunt-cli": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz", - "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", + "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", "dev": true, "requires": { - "grunt-known-options": "~1.1.0", + "grunt-known-options": "~2.0.0", "interpret": "~1.1.0", - "liftoff": "~2.5.0", + "liftup": "~3.0.1", "nopt": "~4.0.1", - "v8flags": "~3.1.1" + "v8flags": "~3.2.0" }, "dependencies": { "interpret": { @@ -6736,9 +7548,9 @@ } }, "grunt-known-options": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz", - "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz", + "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==", "dev": true }, "grunt-legacy-log": { @@ -6761,85 +7573,49 @@ "requires": { "chalk": "~4.1.0", "lodash": "~4.17.19" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "grunt-legacy-util": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.0.tgz", - "integrity": "sha512-ZEmYFB44bblwPE2oz3q3ygfF6hseQja9tx8I3UZIwbUik32FMWewA+d1qSFicMFB+8dNXDkh35HcDCWlpRsGlA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz", + "integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==", "dev": true, "requires": { - "async": "~1.5.2", - "exit": "~0.1.1", - "getobject": "~0.1.0", + "async": "~3.2.0", + "exit": "~0.1.2", + "getobject": "~1.0.0", "hooker": "~0.2.3", - "lodash": "~4.17.20", + "lodash": "~4.17.21", "underscore.string": "~3.3.5", - "which": "~1.3.0" + "which": "~2.0.2" }, "dependencies": { "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz", + "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==", + "dev": true + }, + "getobject": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz", + "integrity": "sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg==", "dev": true }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, @@ -6905,120 +7681,6 @@ "semver": "^6.3.0" } }, - "grunt-wp-deploy": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/grunt-wp-deploy/-/grunt-wp-deploy-2.1.2.tgz", - "integrity": "sha512-n+x1WBCmLHF5P1aDY29CoF8jdLHnRKX4VDIZhiM0sbZ58vSBTFedajcZrP1CEqJ7suiv0/o/c6xmR1BiPEzaQg==", - "dev": true, - "requires": { - "inquirer": "^6.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - } - } - }, "grunt-wp-i18n": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/grunt-wp-i18n/-/grunt-wp-i18n-1.0.3.tgz", @@ -7030,9 +7692,9 @@ } }, "grunt-wp-readme-to-markdown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/grunt-wp-readme-to-markdown/-/grunt-wp-readme-to-markdown-2.0.1.tgz", - "integrity": "sha1-QGzV6YmIWA3B0W6AXE4uYJJWhVI=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/grunt-wp-readme-to-markdown/-/grunt-wp-readme-to-markdown-2.1.0.tgz", + "integrity": "sha512-32OYDYNaKgykI2vxVsbqzvYBA9xHJI3XqXHSwXbLzUd1wa0ZepoceHYCs4rYFLo3ZxKpPExxvVuH3gLUS/Fq1Q==", "dev": true }, "gzip-size": { @@ -7093,6 +7755,12 @@ } } }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, "has-color": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", @@ -7100,15 +7768,15 @@ "dev": true }, "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true }, "has-value": { @@ -7132,6 +7800,26 @@ "kind-of": "^4.0.0" }, "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", @@ -7216,18 +7904,19 @@ "dev": true }, "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "html-element-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.2.0.tgz", - "integrity": "sha512-0uXq8HsuG1v2TmQ8QkIhzbrqeskE4kn52Q18QJ9iAA/SnHoEKXWiUxHQtclRsCFWEUD2So34X+0+pZZu862nnw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.3.0.tgz", + "integrity": "sha512-AqCt/m9YaiMwaaAyOPdq4Ga0cM+jdDWWGueUMkdROZcTeClaGpN0AQeyGchZhTegQoABmc6+IqH7oCR/8vhQYg==", "dev": true, "requires": { - "array-filter": "^1.0.0" + "array-filter": "^1.0.0", + "call-bind": "^1.0.2" } }, "html-encoding-sniffer": { @@ -7246,44 +7935,59 @@ "dev": true }, "html-tags": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", - "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", "dev": true }, "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "dev": true, "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" }, "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dom-serializer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.1.tgz", + "integrity": "sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", "dev": true }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "domutils": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz", + "integrity": "sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==", "dev": true, "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" } } } }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, "http-errors": { "version": "1.7.2", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", @@ -7306,9 +8010,9 @@ } }, "http-parser-js": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", - "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", "dev": true }, "http-signature": { @@ -7338,6 +8042,12 @@ "debug": "4" } }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -7347,10 +8057,19 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true }, "iferr": { @@ -7365,30 +8084,62 @@ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, + "ignore-emit-webpack-plugin": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/ignore-emit-webpack-plugin/-/ignore-emit-webpack-plugin-2.0.6.tgz", + "integrity": "sha512-/zC18RWCC2wz4ZwnS4UoujGWzvSKy28DLjtE+jrGBOXej6YdmityhBDzE8E0NlktEqi4tgdNbydX8B6G4haHSQ==", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", "dev": true, "requires": { - "caller-path": "^2.0.0", "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } } }, "import-lazy": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz", - "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", "dev": true }, "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", "dev": true, "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" } }, "imurmurhash": { @@ -7403,12 +8154,6 @@ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, "infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", @@ -7432,9 +8177,9 @@ "dev": true }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, "inquirer": { @@ -7456,142 +8201,17 @@ "string-width": "^4.1.0", "strip-ansi": "^6.0.0", "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } } }, "internal-slot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", - "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", "dev": true, "requires": { - "es-abstract": "^1.17.0-next.1", + "get-intrinsic": "^1.1.0", "has": "^1.0.3", - "side-channel": "^1.0.2" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } + "side-channel": "^1.0.4" } }, "interpret": { @@ -7600,14 +8220,11 @@ "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", "dev": true }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true }, "ipaddr.js": { "version": "1.9.1", @@ -7616,9 +8233,9 @@ "dev": true }, "irregular-plurals": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz", - "integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.3.0.tgz", + "integrity": "sha512-MVBLKUTangM3EfRPFROhmWQQKRDsrgI83J8GS3jXy+OwYqiR2/aoWndYQ5416jLE3uaGgLH7ncme3X9y09gZ3g==", "dev": true }, "is-absolute": { @@ -7638,6 +8255,17 @@ "dev": true, "requires": { "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, "is-alphabetical": { @@ -7646,12 +8274,6 @@ "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", "dev": true }, - "is-alphanumeric": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", - "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=", - "dev": true - }, "is-alphanumerical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", @@ -7668,21 +8290,29 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "is-bigint": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", + "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", + "dev": true + }, "is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "optional": true, "requires": { "binary-extensions": "^2.0.0" } }, "is-boolean-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.1.tgz", - "integrity": "sha512-TqZuVwa/sppcrhUCAYkGBk7w0yxfQQnxq28fjkO53tnK9FQXmdwz2JS5+GjsWQ6RByES1K40nI+yDic5c9/aAQ==", - "dev": true + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", + "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } }, "is-buffer": { "version": "1.1.6", @@ -7691,9 +8321,9 @@ "dev": true }, "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true }, "is-ci": { @@ -7705,6 +8335,15 @@ "ci-info": "^2.0.0" } }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -7712,6 +8351,17 @@ "dev": true, "requires": { "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, "is-date-object": { @@ -7751,6 +8401,13 @@ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "optional": true + }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -7764,9 +8421,9 @@ "dev": true }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "is-generator-fn": { @@ -7790,20 +8447,23 @@ "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", "dev": true }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, "is-negative-zero": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", - "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", "dev": true }, "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true }, "is-number-object": { "version": "1.0.4", @@ -7811,12 +8471,30 @@ "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", "dev": true }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", "dev": true }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", @@ -7832,25 +8510,20 @@ "isobject": "^3.0.1" } }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "dev": true, "requires": { + "call-bind": "^1.0.2", "has-symbols": "^1.0.1" } }, "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", + "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", "dev": true }, "is-relative": { @@ -7880,12 +8553,6 @@ "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", "dev": true }, - "is-supported-regexp-flag": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz", - "integrity": "sha512-3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ==", - "dev": true - }, "is-symbol": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", @@ -7910,6 +8577,18 @@ "unc-path-regex": "^0.1.2" } }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-url-superb": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-url-superb/-/is-url-superb-4.0.0.tgz", + "integrity": "sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==", + "dev": true + }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", @@ -7935,10 +8614,14 @@ "dev": true }, "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "optional": true, + "requires": { + "is-docker": "^2.0.0" + } }, "isarray": { "version": "1.0.0", @@ -7965,58 +8648,42 @@ "dev": true }, "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", + "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", "dev": true }, "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" } }, "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" } }, "istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", + "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", "dev": true, "requires": { "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", + "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" }, "dependencies": { @@ -8029,107 +8696,26 @@ } }, "istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", "dev": true, "requires": { - "html-escaper": "^2.0.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" } }, "jest": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-24.9.0.tgz", - "integrity": "sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw==", - "dev": true, - "requires": { - "import-local": "^2.0.0", - "jest-cli": "^24.9.0" - }, - "dependencies": { - "jest-cli": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-24.9.0.tgz", - "integrity": "sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg==", - "dev": true, - "requires": { - "@jest/core": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "exit": "^0.1.2", - "import-local": "^2.0.0", - "is-ci": "^2.0.0", - "jest-config": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "prompts": "^2.0.1", - "realpath-native": "^1.1.0", - "yargs": "^13.3.0" - } - } - } - }, - "jest-changed-files": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-24.9.0.tgz", - "integrity": "sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg==", - "dev": true, - "requires": { - "@jest/types": "^24.9.0", - "execa": "^1.0.0", - "throat": "^4.0.0" - } - }, - "jest-config": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-24.9.0.tgz", - "integrity": "sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^24.9.0", - "@jest/types": "^24.9.0", - "babel-jest": "^24.9.0", - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^24.9.0", - "jest-environment-node": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "micromatch": "^3.1.10", - "pretty-format": "^24.9.0", - "realpath-native": "^1.1.0" - } - }, - "jest-dev-server": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/jest-dev-server/-/jest-dev-server-4.4.0.tgz", - "integrity": "sha512-STEHJ3iPSC8HbrQ3TME0ozGX2KT28lbT4XopPxUm2WimsX3fcB3YOptRh12YphQisMhfqNSNTZUmWyT3HEXS2A==", + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", + "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", "dev": true, "requires": { - "chalk": "^3.0.0", - "cwd": "^0.10.0", - "find-process": "^1.4.3", - "prompts": "^2.3.0", - "spawnd": "^4.4.0", - "tree-kill": "^1.2.2", - "wait-on": "^3.3.0" + "@jest/core": "^25.5.4", + "import-local": "^3.0.2", + "jest-cli": "^25.5.4" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -8140,97 +8726,358 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "requires": { - "color-name": "~1.1.4" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "jest-cli": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", + "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", + "dev": true, + "requires": { + "@jest/core": "^25.5.4", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^25.5.4", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "prompts": "^2.0.1", + "realpath-native": "^2.0.0", + "yargs": "^15.3.1" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "jest-changed-files": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", + "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "execa": "^3.2.0", + "throat": "^5.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "jest-config": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", + "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^25.5.4", + "@jest/types": "^25.5.0", + "babel-jest": "^25.5.1", + "chalk": "^3.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^25.5.0", + "jest-environment-node": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-jasmine2": "^25.5.4", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "micromatch": "^4.0.2", + "pretty-format": "^25.5.0", + "realpath-native": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-dev-server": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/jest-dev-server/-/jest-dev-server-4.4.0.tgz", + "integrity": "sha512-STEHJ3iPSC8HbrQ3TME0ozGX2KT28lbT4XopPxUm2WimsX3fcB3YOptRh12YphQisMhfqNSNTZUmWyT3HEXS2A==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "cwd": "^0.10.0", + "find-process": "^1.4.3", + "prompts": "^2.3.0", + "spawnd": "^4.4.0", + "tree-kill": "^1.2.2", + "wait-on": "^3.3.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } } } }, "jest-diff": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-24.9.0.tgz", - "integrity": "sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", "dev": true, "requires": { - "chalk": "^2.0.1", - "diff-sequences": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, "jest-docblock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-24.9.0.tgz", - "integrity": "sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA==", + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", + "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", "dev": true, "requires": { - "detect-newline": "^2.1.0" + "detect-newline": "^3.0.0" } }, "jest-each": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-24.9.0.tgz", - "integrity": "sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", + "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", "dev": true, "requires": { - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, "jest-environment-jsdom": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz", - "integrity": "sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", + "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", "dev": true, "requires": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0", - "jsdom": "^11.5.1" + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "jsdom": "^15.2.1" } }, "jest-environment-node": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-24.9.0.tgz", - "integrity": "sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", + "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", "dev": true, "requires": { - "@jest/environment": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/types": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-util": "^24.9.0" + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "semver": "^6.3.0" } }, "jest-environment-puppeteer": { @@ -8245,15 +9092,6 @@ "merge-deep": "^3.0.2" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -8263,162 +9101,153 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } } } }, "jest-get-type": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-24.9.0.tgz", - "integrity": "sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true }, "jest-haste-map": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-24.9.0.tgz", - "integrity": "sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ==", + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", "dev": true, "requires": { - "@jest/types": "^24.9.0", - "anymatch": "^2.0.0", + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", - "fsevents": "^1.2.7", - "graceful-fs": "^4.1.15", - "invariant": "^2.2.4", - "jest-serializer": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.9.0", - "micromatch": "^3.1.10", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", "sane": "^4.0.3", - "walker": "^1.0.7" + "walker": "^1.0.7", + "which": "^2.0.2" }, "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "isexe": "^2.0.0" } } } }, "jest-jasmine2": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz", - "integrity": "sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw==", + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", + "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", "dev": true, "requires": { "@babel/traverse": "^7.1.0", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", + "@jest/environment": "^25.5.0", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", "co": "^4.6.0", - "expect": "^24.9.0", + "expect": "^25.5.0", "is-generator-fn": "^2.0.0", - "jest-each": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "pretty-format": "^24.9.0", - "throat": "^4.0.0" + "jest-each": "^25.5.0", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0", + "throat": "^5.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, "jest-leak-detector": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz", - "integrity": "sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", + "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", "dev": true, "requires": { - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" } }, "jest-matcher-utils": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz", - "integrity": "sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA==", - "dev": true, - "requires": { - "chalk": "^2.0.1", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "pretty-format": "^24.9.0" - } - }, - "jest-message-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-24.9.0.tgz", - "integrity": "sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^2.0.1", - "micromatch": "^3.1.10", - "slash": "^2.0.0", - "stack-utils": "^1.0.1" - } - }, - "jest-mock": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-24.9.0.tgz", - "integrity": "sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w==", + "chalk": "^3.0.0", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", "dev": true, "requires": { - "@jest/types": "^24.9.0" + "@jest/types": "^25.5.0" } }, "jest-pnp-resolver": { @@ -8438,212 +9267,413 @@ } }, "jest-regex-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-24.9.0.tgz", - "integrity": "sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", "dev": true }, "jest-resolve": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-24.9.0.tgz", - "integrity": "sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ==", + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", + "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", "dev": true, "requires": { - "@jest/types": "^24.9.0", + "@jest/types": "^25.5.0", "browser-resolve": "^1.11.3", - "chalk": "^2.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", "jest-pnp-resolver": "^1.2.1", - "realpath-native": "^1.1.0" + "read-pkg-up": "^7.0.1", + "realpath-native": "^2.0.0", + "resolve": "^1.17.0", + "slash": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } } }, "jest-resolve-dependencies": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz", - "integrity": "sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g==", + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", + "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", "dev": true, "requires": { - "@jest/types": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-snapshot": "^24.9.0" + "@jest/types": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-snapshot": "^25.5.1" } }, "jest-runner": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-24.9.0.tgz", - "integrity": "sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg==", + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", + "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", "dev": true, "requires": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "chalk": "^2.4.2", + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", "exit": "^0.1.2", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-docblock": "^24.3.0", - "jest-haste-map": "^24.9.0", - "jest-jasmine2": "^24.9.0", - "jest-leak-detector": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "jest-runtime": "^24.9.0", - "jest-util": "^24.9.0", - "jest-worker": "^24.6.0", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-docblock": "^25.3.0", + "jest-haste-map": "^25.5.1", + "jest-jasmine2": "^25.5.4", + "jest-leak-detector": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "jest-runtime": "^25.5.4", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", "source-map-support": "^0.5.6", - "throat": "^4.0.0" + "throat": "^5.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, "jest-runtime": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-24.9.0.tgz", - "integrity": "sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw==", - "dev": true, - "requires": { - "@jest/console": "^24.7.1", - "@jest/environment": "^24.9.0", - "@jest/source-map": "^24.3.0", - "@jest/transform": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "chalk": "^2.0.1", + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", + "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", + "dev": true, + "requires": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/globals": "^25.5.2", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "jest-config": "^24.9.0", - "jest-haste-map": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-mock": "^24.9.0", - "jest-regex-util": "^24.3.0", - "jest-resolve": "^24.9.0", - "jest-snapshot": "^24.9.0", - "jest-util": "^24.9.0", - "jest-validate": "^24.9.0", - "realpath-native": "^1.1.0", - "slash": "^2.0.0", - "strip-bom": "^3.0.0", - "yargs": "^13.3.0" + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.3.1" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } } }, "jest-serializer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-24.9.0.tgz", - "integrity": "sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ==", - "dev": true + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4" + } }, "jest-snapshot": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-24.9.0.tgz", - "integrity": "sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew==", + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", + "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", "dev": true, "requires": { "@babel/types": "^7.0.0", - "@jest/types": "^24.9.0", - "chalk": "^2.0.1", - "expect": "^24.9.0", - "jest-diff": "^24.9.0", - "jest-get-type": "^24.9.0", - "jest-matcher-utils": "^24.9.0", - "jest-message-util": "^24.9.0", - "jest-resolve": "^24.9.0", - "mkdirp": "^0.5.1", + "@jest/types": "^25.5.0", + "@types/prettier": "^1.19.0", + "chalk": "^3.0.0", + "expect": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "make-dir": "^3.0.0", "natural-compare": "^1.4.0", - "pretty-format": "^24.9.0", - "semver": "^6.2.0" + "pretty-format": "^25.5.0", + "semver": "^6.3.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, "jest-util": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-24.9.0.tgz", - "integrity": "sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", "dev": true, "requires": { - "@jest/console": "^24.9.0", - "@jest/fake-timers": "^24.9.0", - "@jest/source-map": "^24.9.0", - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "callsites": "^3.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.15", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", "is-ci": "^2.0.0", - "mkdirp": "^0.5.1", - "slash": "^2.0.0", - "source-map": "^0.6.0" + "make-dir": "^3.0.0" }, "dependencies": { - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } } } }, "jest-validate": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-24.9.0.tgz", - "integrity": "sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", "dev": true, "requires": { - "@jest/types": "^24.9.0", + "@jest/types": "^25.5.0", "camelcase": "^5.3.1", - "chalk": "^2.0.1", - "jest-get-type": "^24.9.0", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", "leven": "^3.1.0", - "pretty-format": "^24.9.0" - } - }, - "jest-watcher": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-24.9.0.tgz", - "integrity": "sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw==", - "dev": true, - "requires": { - "@jest/test-result": "^24.9.0", - "@jest/types": "^24.9.0", - "@types/yargs": "^13.0.0", - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "jest-util": "^24.9.0", - "string-length": "^2.0.0" + "pretty-format": "^25.5.0" }, "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } } } }, - "jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "jest-watcher": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", + "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", "dev": true, "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-util": "^25.5.0", + "string-length": "^3.1.0" }, "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } } } }, + "jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -8651,9 +9681,9 @@ "dev": true }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -8667,49 +9697,49 @@ "dev": true }, "jsdoctypeparser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-5.1.1.tgz", - "integrity": "sha512-APGygIJrT5bbz5lsVt8vyLJC0miEbQf/z9ZBfTr4RYvdia8AhWMRlYgivvwHG5zKD/VW3d6qpChCy64hpQET3A==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz", + "integrity": "sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==", "dev": true }, "jsdom": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz", - "integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==", + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", + "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", "dev": true, "requires": { "abab": "^2.0.0", - "acorn": "^5.5.3", - "acorn-globals": "^4.1.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", "array-equal": "^1.0.0", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": "^1.0.0", - "data-urls": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", "domexception": "^1.0.1", - "escodegen": "^1.9.1", + "escodegen": "^1.11.1", "html-encoding-sniffer": "^1.0.2", - "left-pad": "^1.3.0", - "nwsapi": "^2.0.7", - "parse5": "4.0.0", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", "pn": "^1.1.0", - "request": "^2.87.0", - "request-promise-native": "^1.0.5", - "sax": "^1.2.4", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", "symbol-tree": "^3.2.2", - "tough-cookie": "^2.3.4", + "tough-cookie": "^3.0.1", "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.3", - "whatwg-mimetype": "^2.1.0", - "whatwg-url": "^6.4.1", - "ws": "^5.2.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", "xml-name-validator": "^3.0.0" }, "dependencies": { - "acorn": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", - "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", "dev": true } } @@ -8720,6 +9750,12 @@ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -8733,9 +9769,9 @@ "dev": true }, "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "dev": true }, "json-schema-traverse": { @@ -8763,9 +9799,9 @@ "dev": true }, "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "requires": { "minimist": "^1.2.5" @@ -8778,36 +9814,42 @@ "dev": true }, "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" } }, "jsx-ast-utils": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz", - "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", + "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", "dev": true, "requires": { - "array-includes": "^3.1.1", - "object.assign": "^4.1.0" + "array-includes": "^3.1.2", + "object.assign": "^4.1.2" } }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "keyv": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz", + "integrity": "sha512-vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "json-buffer": "3.0.1" } }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, "kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -8815,15 +9857,15 @@ "dev": true }, "known-css-properties": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.11.0.tgz", - "integrity": "sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w==", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", + "integrity": "sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==", "dev": true }, "language-subtag-registry": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz", - "integrity": "sha512-KPMwROklF4tEx283Xw0pNKtfTj1gZ4UByp4EsIFWLgBavJltF4TiYPc39k06zSTsLzxTVXXDSpbwaQXaFB4Qeg==", + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", + "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", "dev": true }, "language-tags": { @@ -8841,51 +9883,36 @@ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", "dev": true }, - "left-pad": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-1.3.0.tgz", - "integrity": "sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==", - "dev": true - }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true }, - "levenary": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", - "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", - "dev": true, - "requires": { - "leven": "^3.1.0" - } - }, "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" } }, - "liftoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", - "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", + "liftup": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz", + "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==", "dev": true, "requires": { - "extend": "^3.0.0", - "findup-sync": "^2.0.0", - "fined": "^1.0.1", - "flagged-respawn": "^1.0.0", + "extend": "^3.0.2", + "findup-sync": "^4.0.0", + "fined": "^1.2.0", + "flagged-respawn": "^1.0.1", "is-plain-object": "^2.0.4", - "object.map": "^1.0.0", - "rechoir": "^0.6.2", - "resolve": "^1.1.7" + "object.map": "^1.0.1", + "rechoir": "^0.7.0", + "resolve": "^1.19.0" }, "dependencies": { "expand-tilde": { @@ -8898,14 +9925,14 @@ } }, "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", "dev": true, "requires": { "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", "resolve-dir": "^1.0.1" } }, @@ -8933,13 +9960,23 @@ "which": "^1.2.14" } }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", "dev": true, "requires": { - "is-extglob": "^2.1.0" + "resolve": "^1.9.0" + } + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" } }, "resolve-dir": { @@ -9018,22 +10055,41 @@ } }, "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" }, "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } } } }, @@ -9044,25 +10100,14 @@ "dev": true }, "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } + "json5": "^2.1.2" } }, "locate-path": { @@ -9076,9 +10121,21 @@ } }, "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, "lodash.differencewith": { @@ -9117,10 +10174,10 @@ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", "dev": true }, - "lodash.unescape": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz", - "integrity": "sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw=", + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", "dev": true }, "log-symbols": { @@ -9130,6 +10187,67 @@ "dev": true, "requires": { "chalk": "^2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "lolex": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", + "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" } }, "longest-streak": { @@ -9147,41 +10265,28 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true }, "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "yallist": "^3.0.2" + "yallist": "^4.0.0" } }, "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "semver": "^6.0.0" } }, "make-iterator": { @@ -9191,14 +10296,6 @@ "dev": true, "requires": { "kind-of": "^6.0.2" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } } }, "makeerror": { @@ -9217,9 +10314,9 @@ "dev": true }, "map-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz", - "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.2.1.tgz", + "integrity": "sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ==", "dev": true }, "map-values": { @@ -9254,14 +10351,16 @@ "linkify-it": "^2.0.0", "mdurl": "^1.0.1", "uc.micro": "^1.0.5" + }, + "dependencies": { + "entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "dev": true + } } }, - "markdown-table": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", - "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", - "dev": true - }, "markdownlint": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.18.0.tgz", @@ -9312,6 +10411,16 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } } } }, @@ -9338,15 +10447,80 @@ "safe-buffer": "^5.1.2" } }, - "mdast-util-compact": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz", - "integrity": "sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==", + "mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", "dev": true, "requires": { - "unist-util-visit": "^1.1.0" + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "dependencies": { + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "requires": { + "@types/unist": "^2.0.2" + } + } + } + }, + "mdast-util-to-markdown": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", + "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "longest-streak": "^2.0.0", + "mdast-util-to-string": "^2.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.0.0", + "zwitch": "^1.0.0" + }, + "dependencies": { + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + } } }, + "mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true + }, "mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", @@ -9422,44 +10596,12 @@ "p-limit": "^2.2.0" } }, - "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } - } - }, "read-pkg-up": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", @@ -9498,14 +10640,25 @@ } }, "merge-deep": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.2.tgz", - "integrity": "sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.3.tgz", + "integrity": "sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==", "dev": true, "requires": { "arr-union": "^3.1.0", "clone-deep": "^0.2.4", "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, "merge-descriptors": { @@ -9532,31 +10685,46 @@ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", "dev": true }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "debug": "^4.0.0", + "parse-entities": "^2.0.0" }, "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + } + } + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "dependencies": { + "picomatch": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", + "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", "dev": true } } @@ -9572,9 +10740,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -9586,18 +10754,18 @@ "dev": true }, "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", "dev": true }, "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", "dev": true, "requires": { - "mime-db": "1.44.0" + "mime-db": "1.47.0" } }, "mimic-fn": { @@ -9606,12 +10774,75 @@ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, + "mimic-response": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", + "dev": true + }, "min-indent": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true }, + "mini-css-extract-plugin": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", + "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -9648,14 +10879,52 @@ "arrify": "^1.0.1", "is-plain-obj": "^1.1.0", "kind-of": "^6.0.3" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } + } + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" } }, "mississippi": { @@ -9724,10 +10993,10 @@ "minimist": "^1.2.5" } }, - "mkpath": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz", - "integrity": "sha1-dVSm+Nhxg0zJe1RisSLEwSTW3pE=", + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "dev": true }, "moo": { @@ -9802,14 +11071,6 @@ "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" - }, - "dependencies": { - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - } } }, "natural-compare": { @@ -9819,24 +11080,15 @@ "dev": true }, "nearley": { - "version": "2.19.7", - "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.19.7.tgz", - "integrity": "sha512-Y+KNwhBPcSJKeyQCFjn8B/MIe+DDlhaaDgjVldhy5xtFewIbiQgcbZV8k2gCVwkI1ZsKCnjIYZbR+0Fim5QYgg==", + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz", + "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==", "dev": true, "requires": { "commander": "^2.19.0", "moo": "^0.5.0", "railroad-diagrams": "^1.0.0", - "randexp": "0.4.6", - "semver": "^5.4.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "randexp": "0.4.6" } }, "negotiator": { @@ -9857,6 +11109,21 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node": { + "version": "14.19.1", + "resolved": "https://registry.npmjs.org/node/-/node-14.19.1.tgz", + "integrity": "sha512-v0l0rw07F0J9oMgiHRyI2wJegrXdNzio7FPV0vd1FahfvIz3fVU0RED0tDSeeytKn+uQX1QxgFyw9qNAaHqXHg==", + "dev": true, + "requires": { + "node-bin-setup": "^1.0.0" + } + }, + "node-bin-setup": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/node-bin-setup/-/node-bin-setup-1.1.0.tgz", + "integrity": "sha512-pTeU6NgUrexiLNtd+AKwvg6cngHMvj5FZ5e2bbv2ogBSIc9yhkXSSaTScfSRZnwHIh5YFmYSYlemLWkiKD7rog==", + "dev": true + }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -9894,172 +11161,3714 @@ "vm-browserify": "^1.0.1" }, "dependencies": { + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true - } - } - }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "dev": true - }, - "node-notifier": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", - "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", - "dev": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^1.1.0", - "semver": "^5.5.0", - "shellwords": "^0.1.1", - "which": "^1.3.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + } + } + }, + "node-modules-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", + "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", + "dev": true + }, + "node-notifier": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", + "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", + "dev": true, + "optional": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.1.1", + "semver": "^6.3.0", + "shellwords": "^0.1.1", + "which": "^1.3.1" + } + }, + "node-releases": { + "version": "1.1.71", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "dev": true + }, + "node-wp-i18n": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/node-wp-i18n/-/node-wp-i18n-1.2.3.tgz", + "integrity": "sha512-YMzMcsjXbGYDB9vHyb289CYXAGmXhcNLbeTlOnWgPNkZd9xrovcbRd7cQyKd9BQHOjS7Nw8WCbJ7nvtR7rc0rg==", + "dev": true, + "requires": { + "bluebird": "^3.4.1", + "gettext-parser": "^3.1.0", + "glob": "^7.0.5", + "lodash": "^4.14.2", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "tmp": "^0.0.33" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-selector": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", + "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", + "dev": true + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "npm": { + "version": "6.14.16", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.14.16.tgz", + "integrity": "sha512-LMiLGYsVNJfVPlQg7v2NYjG7iRIapcLv+oMunlq7fkXVx0BATCjRu7XyWl0G+iuZzHy4CjtM32QB8ox8juTgaw==", + "dev": true, + "requires": { + "JSONStream": "^1.3.5", + "abbrev": "~1.1.1", + "ansicolors": "~0.3.2", + "ansistyles": "~0.1.3", + "aproba": "^2.0.0", + "archy": "~1.0.0", + "bin-links": "^1.1.8", + "bluebird": "^3.5.5", + "byte-size": "^5.0.1", + "cacache": "^12.0.3", + "call-limit": "^1.1.1", + "chownr": "^1.1.4", + "ci-info": "^2.0.0", + "cli-columns": "^3.1.2", + "cli-table3": "^0.5.1", + "cmd-shim": "^3.0.3", + "columnify": "~1.5.4", + "config-chain": "^1.1.12", + "debuglog": "*", + "detect-indent": "~5.0.0", + "detect-newline": "^2.1.0", + "dezalgo": "~1.0.3", + "editor": "~1.0.0", + "figgy-pudding": "^3.5.1", + "find-npm-prefix": "^1.0.2", + "fs-vacuum": "~1.2.10", + "fs-write-stream-atomic": "~1.0.10", + "gentle-fs": "^2.3.1", + "glob": "^7.1.6", + "graceful-fs": "^4.2.4", + "has-unicode": "~2.0.1", + "hosted-git-info": "^2.8.9", + "iferr": "^1.0.2", + "imurmurhash": "*", + "infer-owner": "^1.0.4", + "inflight": "~1.0.6", + "inherits": "^2.0.4", + "ini": "^1.3.8", + "init-package-json": "^1.10.3", + "is-cidr": "^3.0.0", + "json-parse-better-errors": "^1.0.2", + "lazy-property": "~1.0.0", + "libcipm": "^4.0.8", + "libnpm": "^3.0.1", + "libnpmaccess": "^3.0.2", + "libnpmhook": "^5.0.3", + "libnpmorg": "^1.0.1", + "libnpmsearch": "^2.0.2", + "libnpmteam": "^1.0.2", + "libnpx": "^10.2.4", + "lock-verify": "^2.1.0", + "lockfile": "^1.0.4", + "lodash._baseindexof": "*", + "lodash._baseuniq": "~4.6.0", + "lodash._bindcallback": "*", + "lodash._cacheindexof": "*", + "lodash._createcache": "*", + "lodash._getnative": "*", + "lodash.clonedeep": "~4.5.0", + "lodash.restparam": "*", + "lodash.union": "~4.6.0", + "lodash.uniq": "~4.5.0", + "lodash.without": "~4.4.0", + "lru-cache": "^5.1.1", + "meant": "^1.0.2", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.5", + "move-concurrently": "^1.0.1", + "node-gyp": "^5.1.0", + "nopt": "^4.0.3", + "normalize-package-data": "^2.5.0", + "npm-audit-report": "^1.3.3", + "npm-cache-filename": "~1.0.2", + "npm-install-checks": "^3.0.2", + "npm-lifecycle": "^3.1.5", + "npm-package-arg": "^6.1.1", + "npm-packlist": "^1.4.8", + "npm-pick-manifest": "^3.0.2", + "npm-profile": "^4.0.4", + "npm-registry-fetch": "^4.0.7", + "npm-user-validate": "^1.0.1", + "npmlog": "~4.1.2", + "once": "~1.4.0", + "opener": "^1.5.2", + "osenv": "^0.1.5", + "pacote": "^9.5.12", + "path-is-inside": "~1.0.2", + "promise-inflight": "~1.0.1", + "qrcode-terminal": "^0.12.0", + "query-string": "^6.8.2", + "qw": "~1.0.1", + "read": "~1.0.7", + "read-cmd-shim": "^1.0.5", + "read-installed": "~4.0.3", + "read-package-json": "^2.1.1", + "read-package-tree": "^5.3.1", + "readable-stream": "^3.6.0", + "readdir-scoped-modules": "^1.1.0", + "request": "^2.88.0", + "retry": "^0.12.0", + "rimraf": "^2.7.1", + "safe-buffer": "^5.1.2", + "semver": "^5.7.1", + "sha": "^3.0.0", + "slide": "~1.1.6", + "sorted-object": "~2.0.1", + "sorted-union-stream": "~2.1.3", + "ssri": "^6.0.2", + "stringify-package": "^1.0.1", + "tar": "^4.4.19", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "uid-number": "0.0.6", + "umask": "~1.1.0", + "unique-filename": "^1.1.1", + "unpipe": "~1.0.0", + "update-notifier": "^2.5.0", + "uuid": "^3.3.3", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "~3.0.0", + "which": "^1.3.1", + "worker-farm": "^1.7.0", + "write-file-atomic": "^2.4.3" + }, + "dependencies": { + "JSONStream": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "agent-base": { + "version": "4.3.0", + "bundled": true, + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "agentkeepalive": { + "version": "3.5.2", + "bundled": true, + "dev": true, + "requires": { + "humanize-ms": "^1.2.1" + } + }, + "ansi-align": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^2.0.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "bundled": true, + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "ansicolors": { + "version": "0.3.2", + "bundled": true, + "dev": true + }, + "ansistyles": { + "version": "0.1.3", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "archy": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "asap": { + "version": "2.0.6", + "bundled": true, + "dev": true + }, + "asn1": { + "version": "0.2.4", + "bundled": true, + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "bundled": true, + "dev": true + }, + "aws4": { + "version": "1.8.0", + "bundled": true, + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bin-links": { + "version": "1.1.8", + "bundled": true, + "dev": true, + "requires": { + "bluebird": "^3.5.3", + "cmd-shim": "^3.0.0", + "gentle-fs": "^2.3.0", + "graceful-fs": "^4.1.15", + "npm-normalize-package-bin": "^1.0.0", + "write-file-atomic": "^2.3.0" + } + }, + "bluebird": { + "version": "3.5.5", + "bundled": true, + "dev": true + }, + "boxen": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-from": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "builtins": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "byline": { + "version": "5.0.0", + "bundled": true, + "dev": true + }, + "byte-size": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "cacache": { + "version": "12.0.3", + "bundled": true, + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "call-limit": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "capture-stack-trace": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "dev": true + }, + "chalk": { + "version": "2.4.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chownr": { + "version": "1.1.4", + "bundled": true, + "dev": true + }, + "ci-info": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "cidr-regex": { + "version": "2.0.10", + "bundled": true, + "dev": true, + "requires": { + "ip-regex": "^2.1.0" + } + }, + "cli-boxes": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "cli-columns": { + "version": "3.1.2", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^2.0.0", + "strip-ansi": "^3.0.1" + } + }, + "cli-table3": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + } + }, + "cliui": { + "version": "5.0.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "bundled": true, + "dev": true + }, + "cmd-shim": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "mkdirp": "~0.5.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "color-convert": { + "version": "1.9.1", + "bundled": true, + "dev": true, + "requires": { + "color-name": "^1.1.1" + } + }, + "color-name": { + "version": "1.1.3", + "bundled": true, + "dev": true + }, + "colors": { + "version": "1.3.3", + "bundled": true, + "dev": true, + "optional": true + }, + "columnify": { + "version": "1.5.4", + "bundled": true, + "dev": true, + "requires": { + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" + } + }, + "combined-stream": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "bundled": true, + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "config-chain": { + "version": "1.1.12", + "bundled": true, + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "configstore": { + "version": "3.1.5", + "bundled": true, + "dev": true, + "requires": { + "dot-prop": "^4.2.1", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "iferr": { + "version": "0.1.5", + "bundled": true, + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "create-error-class": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "bundled": true, + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "bundled": true, + "dev": true + } + } + }, + "crypto-random-string": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "cyclist": { + "version": "0.2.2", + "bundled": true, + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true + } + } + }, + "debuglog": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true + }, + "defaults": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "detect-indent": { + "version": "5.0.0", + "bundled": true, + "dev": true + }, + "detect-newline": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "dezalgo": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "dot-prop": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "dotenv": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "duplexer3": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "duplexify": { + "version": "3.6.0", + "bundled": true, + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "editor": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "bundled": true, + "dev": true + }, + "encoding": { + "version": "0.1.12", + "bundled": true, + "dev": true, + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "env-paths": { + "version": "2.2.0", + "bundled": true, + "dev": true + }, + "err-code": { + "version": "1.1.2", + "bundled": true, + "dev": true + }, + "errno": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "es-abstract": { + "version": "1.12.0", + "bundled": true, + "dev": true, + "requires": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-promise": { + "version": "4.2.8", + "bundled": true, + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "execa": { + "version": "0.7.0", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "bundled": true, + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "bundled": true, + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "figgy-pudding": { + "version": "3.5.1", + "bundled": true, + "dev": true + }, + "find-npm-prefix": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "flush-write-stream": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true + }, + "form-data": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + } + }, + "from2": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs-minipass": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "requires": { + "minipass": "^2.6.0" + }, + "dependencies": { + "minipass": { + "version": "2.9.0", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + } + } + }, + "fs-vacuum": { + "version": "1.2.10", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "path-is-inside": "^1.0.1", + "rimraf": "^2.5.2" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + }, + "dependencies": { + "iferr": { + "version": "0.1.5", + "bundled": true, + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "genfun": { + "version": "5.0.0", + "bundled": true, + "dev": true + }, + "gentle-fs": { + "version": "2.3.1", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.1.2", + "chownr": "^1.1.2", + "cmd-shim": "^3.0.3", + "fs-vacuum": "^1.2.10", + "graceful-fs": "^4.1.11", + "iferr": "^0.1.5", + "infer-owner": "^1.0.4", + "mkdirp": "^0.5.1", + "path-is-inside": "^1.0.2", + "read-cmd-shim": "^1.0.1", + "slide": "^1.1.6" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "iferr": { + "version": "0.1.5", + "bundled": true, + "dev": true + } + } + }, + "get-caller-file": { + "version": "2.0.5", + "bundled": true, + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "global-dirs": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "requires": { + "ini": "^1.3.4" + } + }, + "got": { + "version": "6.7.1", + "bundled": true, + "dev": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "bundled": true, + "dev": true + } + } + }, + "graceful-fs": { + "version": "4.2.4", + "bundled": true, + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "bundled": true, + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "bundled": true, + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "bundled": true, + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "bundled": true, + "dev": true + } + } + }, + "has": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "has-symbols": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "hosted-git-info": { + "version": "2.8.9", + "bundled": true, + "dev": true + }, + "http-cache-semantics": { + "version": "3.8.1", + "bundled": true, + "dev": true + }, + "http-proxy-agent": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "agent-base": "4", + "debug": "3.1.0" + } + }, + "http-signature": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + }, + "humanize-ms": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.23", + "bundled": true, + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "iferr": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "ignore-walk": { + "version": "3.0.3", + "bundled": true, + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "import-lazy": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "bundled": true, + "dev": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.8", + "bundled": true, + "dev": true + }, + "init-package-json": { + "version": "1.10.3", + "bundled": true, + "dev": true, + "requires": { + "glob": "^7.1.1", + "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "1 || 2", + "semver": "2.x || 3.x || 4 || 5", + "validate-npm-package-license": "^3.0.1", + "validate-npm-package-name": "^3.0.0" + } + }, + "ip": { + "version": "1.1.5", + "bundled": true, + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "is-callable": { + "version": "1.1.4", + "bundled": true, + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "requires": { + "ci-info": "^1.5.0" + }, + "dependencies": { + "ci-info": { + "version": "1.6.0", + "bundled": true, + "dev": true + } + } + }, + "is-cidr": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "cidr-regex": "^2.0.10" + } + }, + "is-date-object": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-npm": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-obj": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "is-path-inside": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-redirect": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-retry-allowed": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "is-symbol": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "has-symbols": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "json-schema": { + "version": "0.4.0", + "bundled": true, + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "jsonparse": { + "version": "1.3.1", + "bundled": true, + "dev": true + }, + "jsprim": { + "version": "1.4.2", + "bundled": true, + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "latest-version": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "package-json": "^4.0.0" + } + }, + "lazy-property": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "libcipm": { + "version": "4.0.8", + "bundled": true, + "dev": true, + "requires": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.1", + "figgy-pudding": "^3.5.1", + "find-npm-prefix": "^1.0.2", + "graceful-fs": "^4.1.11", + "ini": "^1.3.5", + "lock-verify": "^2.1.0", + "mkdirp": "^0.5.1", + "npm-lifecycle": "^3.0.0", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "pacote": "^9.1.0", + "read-package-json": "^2.0.13", + "rimraf": "^2.6.2", + "worker-farm": "^1.6.0" + } + }, + "libnpm": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.3", + "find-npm-prefix": "^1.0.2", + "libnpmaccess": "^3.0.2", + "libnpmconfig": "^1.2.1", + "libnpmhook": "^5.0.3", + "libnpmorg": "^1.0.1", + "libnpmpublish": "^1.1.2", + "libnpmsearch": "^2.0.2", + "libnpmteam": "^1.0.2", + "lock-verify": "^2.0.2", + "npm-lifecycle": "^3.0.0", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "npm-profile": "^4.0.2", + "npm-registry-fetch": "^4.0.0", + "npmlog": "^4.1.2", + "pacote": "^9.5.3", + "read-package-json": "^2.0.13", + "stringify-package": "^1.0.0" + } + }, + "libnpmaccess": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^2.0.0", + "get-stream": "^4.0.0", + "npm-package-arg": "^6.1.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpmconfig": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", + "find-up": "^3.0.0", + "ini": "^1.3.5" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "bundled": true, + "dev": true + } + } + }, + "libnpmhook": { + "version": "5.0.3", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpmorg": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpmpublish": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "lodash.clonedeep": "^4.5.0", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^6.1.0", + "npm-registry-fetch": "^4.0.0", + "semver": "^5.5.1", + "ssri": "^6.0.1" + } + }, + "libnpmsearch": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpmteam": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "libnpx": { + "version": "10.2.4", + "bundled": true, + "dev": true, + "requires": { + "dotenv": "^5.0.1", + "npm-package-arg": "^6.0.0", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.0", + "update-notifier": "^2.3.0", + "which": "^1.3.0", + "y18n": "^4.0.0", + "yargs": "^14.2.3" + } + }, + "lock-verify": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "npm-package-arg": "^6.1.0", + "semver": "^5.4.1" + } + }, + "lockfile": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "requires": { + "signal-exit": "^3.0.2" + } + }, + "lodash._baseindexof": { + "version": "3.1.0", + "bundled": true, + "dev": true + }, + "lodash._baseuniq": { + "version": "4.6.0", + "bundled": true, + "dev": true, + "requires": { + "lodash._createset": "~4.0.0", + "lodash._root": "~3.0.0" + } + }, + "lodash._bindcallback": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "lodash._cacheindexof": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "lodash._createcache": { + "version": "3.1.2", + "bundled": true, + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0" + } + }, + "lodash._createset": { + "version": "4.0.3", + "bundled": true, + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "bundled": true, + "dev": true + }, + "lodash._root": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "bundled": true, + "dev": true + }, + "lodash.restparam": { + "version": "3.6.1", + "bundled": true, + "dev": true + }, + "lodash.union": { + "version": "4.6.0", + "bundled": true, + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "bundled": true, + "dev": true + }, + "lodash.without": { + "version": "4.4.0", + "bundled": true, + "dev": true + }, + "lowercase-keys": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "bundled": true, + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "make-fetch-happen": { + "version": "5.0.2", + "bundled": true, + "dev": true, + "requires": { + "agentkeepalive": "^3.4.1", + "cacache": "^12.0.0", + "http-cache-semantics": "^3.8.1", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "node-fetch-npm": "^2.0.2", + "promise-retry": "^1.1.1", + "socks-proxy-agent": "^4.0.0", + "ssri": "^6.0.0" + } + }, + "meant": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "mime-db": { + "version": "1.35.0", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.19", + "bundled": true, + "dev": true, + "requires": { + "mime-db": "~1.35.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "bundled": true, + "dev": true + }, + "minizlib": { + "version": "1.3.3", + "bundled": true, + "dev": true, + "requires": { + "minipass": "^2.9.0" + }, + "dependencies": { + "minipass": { + "version": "2.9.0", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + } + } + }, + "mississippi": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mkdirp": { + "version": "0.5.5", + "bundled": true, + "dev": true, + "requires": { + "minimist": "^1.2.5" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "bundled": true, + "dev": true + } + } + }, + "move-concurrently": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true + } + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "bundled": true, + "dev": true + }, + "node-fetch-npm": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "encoding": "^0.1.11", + "json-parse-better-errors": "^1.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node-gyp": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "mkdirp": "^0.5.1", + "nopt": "^4.0.1", + "npmlog": "^4.1.2", + "request": "^2.88.0", + "rimraf": "^2.6.3", + "semver": "^5.7.1", + "tar": "^4.4.12", + "which": "^1.3.1" + } + }, + "nopt": { + "version": "4.0.3", + "bundled": true, + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "bundled": true, + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "resolve": { + "version": "1.10.0", + "bundled": true, + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + } + } + }, + "npm-audit-report": { + "version": "1.3.3", + "bundled": true, + "dev": true, + "requires": { + "cli-table3": "^0.5.0", + "console-control-strings": "^1.1.0" + } + }, + "npm-bundled": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-cache-filename": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "npm-install-checks": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "semver": "^2.3.0 || 3.x || 4 || 5" + } + }, + "npm-lifecycle": { + "version": "3.1.5", + "bundled": true, + "dev": true, + "requires": { + "byline": "^5.0.0", + "graceful-fs": "^4.1.15", + "node-gyp": "^5.0.2", + "resolve-from": "^4.0.0", + "slide": "^1.1.6", + "uid-number": "0.0.6", + "umask": "^1.1.0", + "which": "^1.3.1" + } + }, + "npm-logical-tree": { + "version": "1.2.1", + "bundled": true, + "dev": true + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "npm-package-arg": { + "version": "6.1.1", + "bundled": true, + "dev": true, + "requires": { + "hosted-git-info": "^2.7.1", + "osenv": "^0.1.5", + "semver": "^5.6.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "npm-packlist": { + "version": "1.4.8", + "bundled": true, + "dev": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-pick-manifest": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", + "npm-package-arg": "^6.0.0", + "semver": "^5.4.1" + } + }, + "npm-profile": { + "version": "4.0.4", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.1.2 || 2", + "figgy-pudding": "^3.4.1", + "npm-registry-fetch": "^4.0.0" + } + }, + "npm-registry-fetch": { + "version": "4.0.7", + "bundled": true, + "dev": true, + "requires": { + "JSONStream": "^1.3.4", + "bluebird": "^3.5.1", + "figgy-pudding": "^3.4.1", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "npm-package-arg": "^6.1.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "bundled": true, + "dev": true + } + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npm-user-validate": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true + }, + "object-keys": { + "version": "1.0.12", + "bundled": true, + "dev": true + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "opener": { + "version": "1.5.2", + "bundled": true, + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "package-json": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + } + }, + "pacote": { + "version": "9.5.12", + "bundled": true, + "dev": true, + "requires": { + "bluebird": "^3.5.3", + "cacache": "^12.0.2", + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.1.0", + "glob": "^7.1.3", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "minimatch": "^3.0.4", + "minipass": "^2.3.5", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "normalize-package-data": "^2.4.0", + "npm-normalize-package-bin": "^1.0.0", + "npm-package-arg": "^6.1.0", + "npm-packlist": "^1.1.12", + "npm-pick-manifest": "^3.0.0", + "npm-registry-fetch": "^4.0.0", + "osenv": "^0.1.5", + "promise-inflight": "^1.0.1", + "promise-retry": "^1.1.1", + "protoduck": "^5.0.1", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.2", + "semver": "^5.6.0", + "ssri": "^6.0.1", + "tar": "^4.4.10", + "unique-filename": "^1.1.1", + "which": "^1.3.1" + }, + "dependencies": { + "minipass": { + "version": "2.9.0", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + } + } + }, + "parallel-transform": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "path-exists": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "pify": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "bundled": true, + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "promise-retry": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "err-code": "^1.0.0", + "retry": "^0.10.0" + }, + "dependencies": { + "retry": { + "version": "0.10.1", + "bundled": true, + "dev": true + } + } + }, + "promzard": { + "version": "0.3.0", + "bundled": true, + "dev": true, + "requires": { + "read": "1" + } + }, + "proto-list": { + "version": "1.2.4", + "bundled": true, + "dev": true + }, + "protoduck": { + "version": "5.0.1", + "bundled": true, + "dev": true, + "requires": { + "genfun": "^5.0.0" + } + }, + "prr": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "psl": { + "version": "1.1.29", + "bundled": true, + "dev": true + }, + "pump": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "bundled": true, + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "dev": true + }, + "qrcode-terminal": { + "version": "0.12.0", + "bundled": true, + "dev": true + }, + "qs": { + "version": "6.5.2", + "bundled": true, + "dev": true + }, + "query-string": { + "version": "6.8.2", + "bundled": true, + "dev": true, + "requires": { + "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "qw": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "read": { + "version": "1.0.7", + "bundled": true, + "dev": true, + "requires": { + "mute-stream": "~0.0.4" + } + }, + "read-cmd-shim": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2" + } + }, + "read-installed": { + "version": "4.0.3", + "bundled": true, + "dev": true, + "requires": { + "debuglog": "^1.0.1", + "graceful-fs": "^4.1.2", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "slide": "~1.1.3", + "util-extend": "^1.0.1" + } + }, + "read-package-json": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "json-parse-better-errors": "^1.0.1", + "normalize-package-data": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0" + } + }, + "read-package-tree": { + "version": "5.3.1", + "bundled": true, + "dev": true, + "requires": { + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "util-promisify": "^2.1.0" + } + }, + "readable-stream": { + "version": "3.6.0", + "bundled": true, + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdir-scoped-modules": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "registry-auth-token": { + "version": "3.4.0", + "bundled": true, + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "request": { + "version": "2.88.0", + "bundled": true, + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "retry": { + "version": "0.12.0", + "bundled": true, + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "bundled": true, + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-queue": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.1.1" + }, + "dependencies": { + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.7.1", + "bundled": true, + "dev": true + }, + "semver-diff": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "semver": "^5.0.3" + } + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "sha": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "slide": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "smart-buffer": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "socks": { + "version": "2.3.3", + "bundled": true, + "dev": true, + "requires": { + "ip": "1.1.5", + "smart-buffer": "^4.1.0" + } + }, + "socks-proxy-agent": { + "version": "4.0.2", + "bundled": true, + "dev": true, + "requires": { + "agent-base": "~4.2.1", + "socks": "~2.3.2" + }, + "dependencies": { + "agent-base": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + } + } + }, + "sorted-object": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "sorted-union-stream": { + "version": "2.1.3", + "bundled": true, + "dev": true, + "requires": { + "from2": "^1.3.0", + "stream-iterate": "^1.1.0" + }, + "dependencies": { + "from2": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~1.1.10" + } + }, + "isarray": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true, + "dev": true + } + } + }, + "spdx-correct": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "bundled": true, + "dev": true + }, + "split-on-first": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "sshpk": { + "version": "1.14.2", + "bundled": true, + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.2", + "bundled": true, + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stream-each": { + "version": "1.2.2", + "bundled": true, + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-iterate": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "readable-stream": "^2.1.5", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-shift": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "strict-uri-encode": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string_decoder": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.0", + "bundled": true, + "dev": true + } + } + }, + "stringify-package": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "bundled": true, + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "tar": { + "version": "4.4.19", + "bundled": true, + "dev": true, + "requires": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + }, + "dependencies": { + "minipass": { + "version": "2.9.0", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.1.1", + "bundled": true, + "dev": true + } + } + }, + "term-size": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "execa": "^0.7.0" + } + }, + "text-table": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "through": { + "version": "2.3.8", + "bundled": true, + "dev": true + }, + "through2": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "timed-out": { + "version": "4.0.1", + "bundled": true, + "dev": true + }, + "tiny-relative-date": { + "version": "1.3.0", + "bundled": true, + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "bundled": true, + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "dev": true, + "optional": true + }, + "typedarray": { + "version": "0.0.6", + "bundled": true, + "dev": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true + }, + "umask": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "unpipe": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "unzip-response": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "update-notifier": { + "version": "2.5.0", + "bundled": true, + "dev": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "uri-js": { + "version": "4.4.0", + "bundled": true, + "dev": true, + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "bundled": true, + "dev": true + } + } + }, + "url-parse-lax": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "util-extend": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "util-promisify": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "uuid": { + "version": "3.3.3", + "bundled": true, + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "builtins": "^1.0.3" + } + }, + "verror": { + "version": "1.10.0", + "bundled": true, + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "which": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^1.0.2" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "widest-line": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^2.1.1" + } + }, + "worker-farm": { + "version": "1.7.0", + "bundled": true, + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "write-file-atomic": { + "version": "2.4.3", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "bundled": true, "dev": true - } - } - }, - "node-releases": { - "version": "1.1.61", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.61.tgz", - "integrity": "sha512-DD5vebQLg8jLCOzwupn954fbIiZht05DAZs0k2u8NStSe6h9XdsuIQL8hSRKYiU8WUQRznmSDrKGbv3ObOmC7g==", - "dev": true - }, - "node-wp-i18n": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/node-wp-i18n/-/node-wp-i18n-1.2.3.tgz", - "integrity": "sha512-YMzMcsjXbGYDB9vHyb289CYXAGmXhcNLbeTlOnWgPNkZd9xrovcbRd7cQyKd9BQHOjS7Nw8WCbJ7nvtR7rc0rg==", - "dev": true, - "requires": { - "bluebird": "^3.4.1", - "gettext-parser": "^3.1.0", - "glob": "^7.0.5", - "lodash": "^4.14.2", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", - "tmp": "^0.0.33" - } - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + }, + "xtend": { + "version": "4.0.1", + "bundled": true, + "dev": true + }, + "y18n": { + "version": "4.0.1", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, "dev": true + }, + "yargs": { + "version": "14.2.3", + "bundled": true, + "dev": true, + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "find-up": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "15.0.1", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "bundled": true, + "dev": true + } + } } } }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-selector": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", - "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", - "dev": true - }, "npm-package-json-lint": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/npm-package-json-lint/-/npm-package-json-lint-4.6.0.tgz", - "integrity": "sha512-opoykADMeyGN2UuvypIYpysUXO4wdAYc8DPklO86kxF1YfxHnTXdEzm0K7BGE5CbEu6lweELQgvFej53din5xg==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-package-json-lint/-/npm-package-json-lint-5.1.0.tgz", + "integrity": "sha512-gPGpoFTbt0H4uPlubAKqHORg4+GObXqeYJh5ovkkSv76ua+t29vzRP4Qhm+9N/Q59Z3LT0tCmpoDlbTcNB7Jcg==", "dev": true, "requires": { - "ajv": "^6.11.0", + "ajv": "^6.12.2", "ajv-errors": "^1.0.1", - "chalk": "^3.0.0", - "cosmiconfig": "^5.2.1", + "chalk": "^4.0.0", + "cosmiconfig": "^6.0.0", "debug": "^4.1.1", - "globby": "^10.0.1", + "globby": "^11.0.0", "ignore": "^5.1.4", "is-plain-obj": "^2.1.0", - "jsonc-parser": "^2.2.0", - "log-symbols": "^3.0.0", - "meow": "^6.0.0", - "plur": "^3.1.1", - "semver": "^7.1.2", + "jsonc-parser": "^2.2.1", + "log-symbols": "^4.0.0", + "meow": "^6.1.0", + "plur": "^4.0.0", + "semver": "^7.3.2", "slash": "^3.0.0", - "strip-json-comments": "^3.0.1" + "strip-json-comments": "^3.1.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", "dev": true, "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "globby": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", + "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", "dev": true, "requires": { - "color-name": "~1.1.4" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, "ignore": { "version": "5.1.8", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", @@ -10072,25 +14881,23 @@ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "lru-cache": "^6.0.0" } } } @@ -10156,6 +14963,15 @@ "requires": { "is-descriptor": "^0.1.0" } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } } } }, @@ -10166,19 +14982,19 @@ "dev": true }, "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.2.tgz", + "integrity": "sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA==", "dev": true }, "object-is": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.3.tgz", - "integrity": "sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, "object-keys": { @@ -10197,13 +15013,13 @@ } }, "object.assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", - "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0", "has-symbols": "^1.0.1", "object-keys": "^1.1.1" } @@ -10232,105 +15048,38 @@ } }, "object.entries": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", - "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", + "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", + "es-abstract": "^1.18.0-next.1", "has": "^1.0.3" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } } }, - "object.entries-ponyfill": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.entries-ponyfill/-/object.entries-ponyfill-1.0.1.tgz", - "integrity": "sha1-Kavfd8v70mVm3RqiTp2I9lQz0lY=", - "dev": true - }, "object.fromentries": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", - "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz", + "integrity": "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==", "dev": true, "requires": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", + "es-abstract": "^1.18.0-next.2", "has": "^1.0.3" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } } }, "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", + "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", "dev": true, "requires": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } + "es-abstract": "^1.18.0-next.2" } }, "object.map": { @@ -10364,36 +15113,15 @@ } }, "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", + "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", "dev": true, "requires": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", + "es-abstract": "^1.18.0-next.2", "has": "^1.0.3" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } } }, "on-finished": { @@ -10430,17 +15158,45 @@ "dev": true }, "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "ora": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", + "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.2.0", + "is-interactive": "^1.0.0", + "log-symbols": "^3.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, "os-browserify": { @@ -10471,13 +15227,25 @@ "os-tmpdir": "^1.0.0" } }, + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "dev": true + }, "p-each-series": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-1.0.0.tgz", - "integrity": "sha1-kw89Et0fUOdDRFeiLNbwSsatf3E=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true + }, + "p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", "dev": true, "requires": { - "p-reduce": "^1.0.0" + "p-timeout": "^3.1.0" } }, "p-finally": { @@ -10504,12 +15272,21 @@ "p-limit": "^2.0.0" } }, - "p-reduce": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", - "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", "dev": true }, + "p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -10540,14 +15317,6 @@ "dev": true, "requires": { "callsites": "^3.0.0" - }, - "dependencies": { - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - } } }, "parse-asn1": { @@ -10589,13 +15358,15 @@ } }, "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { + "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" } }, "parse-passwd": { @@ -10605,11 +15376,20 @@ "dev": true }, "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "dev": true }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + } + }, "parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -10632,7 +15412,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true + "dev": true, + "optional": true }, "path-exists": { "version": "3.0.0", @@ -10646,6 +15427,12 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -10653,9 +15440,9 @@ "dev": true }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-root": { @@ -10680,26 +15467,15 @@ "dev": true }, "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true }, "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "requires": { "create-hash": "^1.1.2", @@ -10721,10 +15497,16 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", + "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", "dev": true }, "pify": { @@ -10758,21 +15540,57 @@ } }, "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { - "find-up": "^3.0.0" + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + } } }, "plur": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/plur/-/plur-3.1.1.tgz", - "integrity": "sha512-t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/plur/-/plur-4.0.0.tgz", + "integrity": "sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==", "dev": true, "requires": { - "irregular-plurals": "^2.0.0" + "irregular-plurals": "^3.2.0" } }, "pn": { @@ -10793,9 +15611,9 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -10819,14 +15637,13 @@ "dev": true }, "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "dependencies": { "source-map": { @@ -10834,18 +15651,19 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, + "postcss-custom-properties": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-10.0.0.tgz", + "integrity": "sha512-55BPj5FudpCiPZzBaO+MOeqmwMDa+nV9/0QBJBfhZjYg6D9hE+rW9lpMBLTJoF4OTXnS5Po4yM1nMlgkPbCxFg==", + "dev": true, + "requires": { + "postcss": "^7.0.17", + "postcss-values-parser": "^4.0.0" + } + }, "postcss-html": { "version": "0.36.0", "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", @@ -10853,15 +15671,48 @@ "dev": true, "requires": { "htmlparser2": "^3.10.0" - } - }, - "postcss-jsx": { - "version": "0.36.4", - "resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.36.4.tgz", - "integrity": "sha512-jwO/7qWUvYuWYnpOb0+4bIIgJt7003pgU3P6nETBLaOyBXuTD55ho21xnals5nBrlpTIFodyd3/jBi6UO3dHvA==", - "dev": true, - "requires": { - "@babel/core": ">=7.2.2" + }, + "dependencies": { + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "postcss-less": { @@ -10873,45 +15724,148 @@ "postcss": "^7.0.14" } }, - "postcss-markdown": { - "version": "0.36.0", - "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.36.0.tgz", - "integrity": "sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ==", + "postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", "dev": true, "requires": { - "remark": "^10.0.1", - "unist-util-find-all-after": "^1.0.2" + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } } }, - "postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", - "dev": true - }, - "postcss-reporter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz", - "integrity": "sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw==", + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", "dev": true, "requires": { - "chalk": "^2.4.1", - "lodash": "^4.17.11", - "log-symbols": "^2.2.0", - "postcss": "^7.0.7" + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" }, "dependencies": { - "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "requires": { - "chalk": "^2.0.1" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" } } } }, + "postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", + "dev": true + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", + "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", + "dev": true, + "requires": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "dev": true, + "requires": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, "postcss-resolve-nested-selector": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", @@ -10928,13 +15882,13 @@ } }, "postcss-sass": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.5.tgz", - "integrity": "sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz", + "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==", "dev": true, "requires": { - "gonzales-pe": "^4.2.3", - "postcss": "^7.0.1" + "gonzales-pe": "^4.3.0", + "postcss": "^7.0.21" } }, "postcss-scss": { @@ -10947,14 +15901,13 @@ } }, "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.5.tgz", + "integrity": "sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg==", "dev": true, "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" } }, "postcss-syntax": { @@ -10964,21 +15917,38 @@ "dev": true }, "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "postcss-values-parser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-4.0.0.tgz", + "integrity": "sha512-R9x2D87FcbhwXUmoCXJR85M1BLII5suXRuXibGYyBJ7lVDEpRIdKZh4+8q5S+/+A4m0IoG1U5tFw39asyhX/Hw==", + "dev": true, + "requires": { + "color-name": "^1.1.4", + "is-url-superb": "^4.0.0", + "postcss": "^7.0.5" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true }, "prettier": { - "version": "npm:wp-prettier@1.19.1", - "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-1.19.1.tgz", - "integrity": "sha512-mqAC2r1NDmRjG+z3KCJ/i61tycKlmADIjxnDhQab+KBxSAGbF/W7/zwB2guy/ypIeKrrftNsIYkNZZQKf3vJcg==", + "version": "npm:wp-prettier@2.2.1-beta-1", + "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.2.1-beta-1.tgz", + "integrity": "sha512-+JHkqs9LC/JPp51yy1hzs3lQ7qeuWCwOcSzpQNeeY/G7oSpnF61vxt7hRh87zNRTr6ob2ndy0W8rVzhgrcA+Gw==", "dev": true }, "prettier-linter-helpers": { @@ -10991,15 +15961,15 @@ } }, "pretty-format": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-24.9.0.tgz", - "integrity": "sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==", + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", "dev": true, "requires": { - "@jest/types": "^24.9.0", - "ansi-regex": "^4.0.0", - "ansi-styles": "^3.2.0", - "react-is": "^16.8.4" + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" } }, "process": { @@ -11027,13 +15997,13 @@ "dev": true }, "prompts": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", - "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", + "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", "dev": true, "requires": { "kleur": "^3.0.3", - "sisteransi": "^1.0.4" + "sisteransi": "^1.0.5" } }, "prop-types": { @@ -11107,9 +16077,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true } } @@ -11222,6 +16192,16 @@ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", @@ -11234,6 +16214,12 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "dev": true }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, "quick-lru": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", @@ -11329,9 +16315,9 @@ } }, "react": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", - "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -11340,9 +16326,9 @@ } }, "react-dom": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", - "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -11358,9 +16344,9 @@ "dev": true }, "react-test-renderer": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.13.1.tgz", - "integrity": "sha512-Sn2VRyOK2YJJldOqoh8Tn/lWQ+ZiKhyZTPtaO0Q6yNj+QDbmRkVFap6pZPy3YQk8DScRDfyqm/KxKYP9gCMRiQ==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.14.0.tgz", + "integrity": "sha512-L8yPjqPE5CZO6rKsKXRO/rVPiaCOy0tQQJbC+UjPNlobl5mad59lvPjwFsQHTvL03caVDIVr9x9/OSgDe6I5Eg==", "dev": true, "requires": { "object-assign": "^4.1.1", @@ -11370,14 +16356,23 @@ } }, "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } } }, "read-pkg-up": { @@ -11400,28 +16395,6 @@ "pinkie-promise": "^2.0.0" } }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, "path-exists": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", @@ -11458,15 +16431,6 @@ "normalize-package-data": "^2.3.2", "path-type": "^1.0.0" } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } } } }, @@ -11486,23 +16450,19 @@ } }, "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", "dev": true, - "optional": true, "requires": { "picomatch": "^2.2.1" } }, "realpath-native": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.1.0.tgz", - "integrity": "sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==", - "dev": true, - "requires": { - "util.promisify": "^1.0.0" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz", + "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==", + "dev": true }, "rechoir": { "version": "0.6.2", @@ -11530,9 +16490,9 @@ "dev": true }, "regenerate": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", - "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, "regenerate-unicode-properties": { @@ -11570,40 +16530,19 @@ } }, "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", "dev": true }, "regexpu-core": { @@ -11621,9 +16560,9 @@ } }, "regextras": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.6.1.tgz", - "integrity": "sha512-EzIHww9xV2Kpqx+corS/I7OBmf2rZ0pKKJPsw5Dc+l6Zq1TslDmtRIP9maVn3UH+72MIXmn8zzDgP07ihQogUA==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.7.1.tgz", + "integrity": "sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==", "dev": true }, "regjsgen": { @@ -11633,9 +16572,9 @@ "dev": true }, "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", + "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -11650,71 +16589,80 @@ } }, "remark": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz", - "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", + "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==", "dev": true, "requires": { - "remark-parse": "^6.0.0", - "remark-stringify": "^6.0.0", - "unified": "^7.0.0" + "remark-parse": "^9.0.0", + "remark-stringify": "^9.0.0", + "unified": "^9.1.0" }, "dependencies": { "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true }, "remark-parse": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz", - "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", + "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==", "dev": true, "requires": { - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^1.1.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^1.0.0", - "vfile-location": "^2.0.0", - "xtend": "^4.0.1" + "mdast-util-from-markdown": "^0.8.0" } }, "unified": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz", - "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.1.tgz", + "integrity": "sha512-juWjuI8Z4xFg8pJbnEZ41b5xjGUWGHqXALmBZ3FC3WX0PIx1CZBIIJ6mXbYMcf6Yw4Fi0rFUTA1cdz/BglbOhA==", "dev": true, "requires": { - "@types/unist": "^2.0.0", - "@types/vfile": "^3.0.0", "bail": "^1.0.0", "extend": "^3.0.0", - "is-plain-obj": "^1.1.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", "trough": "^1.0.0", - "vfile": "^3.0.0", - "x-is-string": "^0.1.0" + "vfile": "^4.0.0" + } + }, + "unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "requires": { + "@types/unist": "^2.0.2" } }, "vfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz", - "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", "dev": true, "requires": { + "@types/unist": "^2.0.0", "is-buffer": "^2.0.0", - "replace-ext": "1.0.0", - "unist-util-stringify-position": "^1.0.0", - "vfile-message": "^1.0.0" + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + } + }, + "vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" } } } @@ -11743,25 +16691,12 @@ } }, "remark-stringify": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz", - "integrity": "sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz", + "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==", "dev": true, "requires": { - "ccount": "^1.0.0", - "is-alphanumeric": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "longest-streak": "^2.0.1", - "markdown-escapes": "^1.0.0", - "markdown-table": "^1.1.0", - "mdast-util-compact": "^1.0.0", - "parse-entities": "^1.0.2", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "stringify-entities": "^1.0.1", - "unherit": "^1.0.4", - "xtend": "^4.0.1" + "mdast-util-to-markdown": "^0.6.0" } }, "remove-trailing-separator": { @@ -11771,9 +16706,9 @@ "dev": true }, "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true }, "repeat-string": { @@ -11814,6 +16749,18 @@ "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } } }, "request-promise-core": { @@ -11834,6 +16781,18 @@ "request-promise-core": "1.1.4", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } } }, "require-directory": { @@ -11842,6 +16801,12 @@ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", "dev": true }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", @@ -11873,12 +16838,20 @@ } }, "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } } }, "resolve-dir": { @@ -11892,9 +16865,9 @@ } }, "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "resolve-pkg": { @@ -11920,6 +16893,15 @@ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, + "responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "dev": true, + "requires": { + "lowercase-keys": "^2.0.0" + } + }, "restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", @@ -11978,20 +16960,20 @@ "dev": true }, "run-async": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz", - "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "requires": { - "is-promise": "^2.1.0" + "queue-microtask": "^1.2.2" } }, - "run-parallel": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", - "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==", - "dev": true - }, "run-queue": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", @@ -12008,9 +16990,9 @@ "dev": true }, "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -12070,6 +17052,99 @@ "normalize-path": "^2.1.1" } }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", @@ -12078,6 +17153,80 @@ "requires": { "remove-trailing-separator": "^1.0.1" } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "sass": { + "version": "1.32.11", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.11.tgz", + "integrity": "sha512-O9tRcob/fegUVSIV1ihLLZcftIOh0AF1VpKgusUfLqnb2jQ0GLDwI5ivv1FYWivGv8eZ/AwntTyTzjcHu0c/qw==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0" + } + }, + "sass-loader": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", + "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.2.3", + "neo-async": "^2.6.1", + "schema-utils": "^2.6.1", + "semver": "^6.3.0" + }, + "dependencies": { + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } } } }, @@ -12087,6 +17236,15 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true }, + "saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "dev": true, + "requires": { + "xmlchars": "^2.1.1" + } + }, "scheduler": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", @@ -12098,14 +17256,14 @@ } }, "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" } }, "semver": { @@ -12297,24 +17455,48 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true + "dev": true, + "optional": true }, "side-channel": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.3.tgz", - "integrity": "sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, "requires": { - "es-abstract": "^1.18.0-next.0", - "object-inspect": "^1.8.0" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" } }, "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, + "simple-git": { + "version": "2.48.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-2.48.0.tgz", + "integrity": "sha512-z4qtrRuaAFJS4PUd0g+xy7aN4y+RvEt/QTJpR184lhJguBA1S/LsVlvE/CM95RsYMOFJG3NGGDjqFCzKU19S/A==", + "dev": true, + "requires": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.3.2" + }, + "dependencies": { + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + } + } + }, "sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -12322,20 +17504,28 @@ "dev": true }, "slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + } } }, "snapdragon": { @@ -12437,12 +17627,6 @@ "is-data-descriptor": "^1.0.0", "kind-of": "^6.0.2" } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true } } }, @@ -12453,6 +17637,26 @@ "dev": true, "requires": { "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" } }, "source-list-map": { @@ -12475,6 +17679,28 @@ "requires": { "async": "^2.5.0", "loader-utils": "^1.1.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } } }, "source-map-resolve": { @@ -12509,9 +17735,9 @@ } }, "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, "spawnd": { @@ -12527,9 +17753,9 @@ } }, "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -12537,15 +17763,15 @@ } }, "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -12553,9 +17779,9 @@ } }, "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, "specificity": { @@ -12597,12 +17823,12 @@ } }, "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", "dev": true, "requires": { - "figgy-pudding": "^3.5.1" + "minipass": "^3.1.1" } }, "stable": { @@ -12612,10 +17838,21 @@ "dev": true }, "stack-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", - "dev": true + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } }, "state-toggle": { "version": "1.0.3", @@ -12695,29 +17932,35 @@ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, "string-length": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", - "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", "dev": true, "requires": { "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" + "strip-ansi": "^5.2.0" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^4.1.0" } } } @@ -12729,129 +17972,60 @@ "dev": true }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "dependencies": { - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" } }, "string.prototype.matchall": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", - "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz", + "integrity": "sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ==", "dev": true, "requires": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", + "es-abstract": "^1.18.0-next.2", "has-symbols": "^1.0.1", - "internal-slot": "^1.0.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.2" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.3.1", + "side-channel": "^1.0.4" } }, "string.prototype.trim": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.2.tgz", - "integrity": "sha512-b5yrbl3BXIjHau9Prk7U0RRYcUYdN4wGSVaqoBQS50CCE3KBuYU0TYRNPFCP7aVoNMX87HKThdMRVIP3giclKg==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.4.tgz", + "integrity": "sha512-hWCk/iqf7lp0/AgTF7/ddO1IWtSNPASjlzCicV5irAVdE1grjsneK26YG6xACMBEdCvO8fUST0UzDMh/2Qy+9Q==", "dev": true, "requires": { + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0" + "es-abstract": "^1.18.0-next.2" } }, "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, "string_decoder": { @@ -12863,31 +18037,19 @@ "safe-buffer": "~5.1.0" } }, - "stringify-entities": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz", - "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==", - "dev": true, - "requires": { - "character-entities-html4": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-hexadecimal": "^1.0.0" - } - }, "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^5.0.0" } }, "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true }, "strip-eof": { @@ -12896,6 +18058,12 @@ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", "dev": true }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, "strip-indent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", @@ -12918,153 +18086,91 @@ "dev": true }, "stylelint": { - "version": "9.10.1", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.10.1.tgz", - "integrity": "sha512-9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ==", + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.12.0.tgz", + "integrity": "sha512-P8O1xDy41B7O7iXaSlW+UuFbE5+ZWQDb61ndGDxKIt36fMH50DtlQTbwLpFLf8DikceTAb3r6nPrRv30wBlzXw==", "dev": true, "requires": { - "autoprefixer": "^9.0.0", + "@stylelint/postcss-css-in-js": "^0.37.2", + "@stylelint/postcss-markdown": "^0.36.2", + "autoprefixer": "^9.8.6", "balanced-match": "^1.0.0", - "chalk": "^2.4.1", - "cosmiconfig": "^5.0.0", - "debug": "^4.0.0", - "execall": "^1.0.0", - "file-entry-cache": "^4.0.0", - "get-stdin": "^6.0.0", + "chalk": "^4.1.0", + "cosmiconfig": "^7.0.0", + "debug": "^4.3.1", + "execall": "^2.0.0", + "fast-glob": "^3.2.5", + "fastest-levenshtein": "^1.0.12", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", "global-modules": "^2.0.0", - "globby": "^9.0.0", + "globby": "^11.0.2", "globjoin": "^0.1.4", - "html-tags": "^2.0.0", - "ignore": "^5.0.4", - "import-lazy": "^3.1.0", + "html-tags": "^3.1.0", + "ignore": "^5.1.8", + "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", - "known-css-properties": "^0.11.0", - "leven": "^2.1.0", - "lodash": "^4.17.4", - "log-symbols": "^2.0.0", - "mathml-tag-names": "^2.0.1", - "meow": "^5.0.0", - "micromatch": "^3.1.10", + "known-css-properties": "^0.21.0", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.2", "normalize-selector": "^0.2.0", - "pify": "^4.0.0", - "postcss": "^7.0.13", + "postcss": "^7.0.35", "postcss-html": "^0.36.0", - "postcss-jsx": "^0.36.0", - "postcss-less": "^3.1.0", - "postcss-markdown": "^0.36.0", + "postcss-less": "^3.1.4", "postcss-media-query-parser": "^0.2.3", - "postcss-reporter": "^6.0.0", "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^4.0.0", - "postcss-sass": "^0.3.5", - "postcss-scss": "^2.0.0", - "postcss-selector-parser": "^3.1.0", + "postcss-safe-parser": "^4.0.2", + "postcss-sass": "^0.4.4", + "postcss-scss": "^2.1.1", + "postcss-selector-parser": "^6.0.4", "postcss-syntax": "^0.36.2", - "postcss-value-parser": "^3.3.0", - "resolve-from": "^4.0.0", - "signal-exit": "^3.0.2", - "slash": "^2.0.0", + "postcss-value-parser": "^4.1.0", + "resolve-from": "^5.0.0", + "slash": "^3.0.0", "specificity": "^0.4.1", - "string-width": "^3.0.0", + "string-width": "^4.2.2", + "strip-ansi": "^6.0.0", "style-search": "^0.1.0", "sugarss": "^2.0.0", "svg-tags": "^1.0.0", - "table": "^5.0.0" + "table": "^6.0.7", + "v8-compile-cache": "^2.2.0", + "write-file-atomic": "^3.0.3" }, "dependencies": { - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", - "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", - "dev": true - }, "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, - "camelcase-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", - "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", - "dev": true, - "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" - } - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", - "dev": true, - "requires": { - "path-type": "^3.0.0" - } - }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", - "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", - "dev": true, - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - } - }, - "file-entry-cache": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-4.0.0.tgz", - "integrity": "sha512-AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA==", + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "flat-cache": "^2.0.1" + "ms": "2.1.2" } }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" } }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } + "get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true }, "global-modules": { "version": "2.0.0", @@ -13087,27 +18193,26 @@ } }, "globby": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", - "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", + "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", "dev": true, "requires": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - }, - "dependencies": { - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - } + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" } }, "ignore": { @@ -13116,185 +18221,166 @@ "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", "dev": true }, - "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=", - "dev": true - }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "^4.1.0" } }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "requires": { - "chalk": "^2.0.1" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" } }, - "map-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", - "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", - "dev": true - }, "meow": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz", - "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", "dev": true, "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0", - "yargs-parser": "^10.0.0" + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" } }, - "minimist-options": { + "normalize-package-data": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", - "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.2.tgz", + "integrity": "sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg==", "dev": true, "requires": { - "p-try": "^1.0.0" + "hosted-git-info": "^4.0.1", + "resolve": "^1.20.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "^2.2.0" } }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "quick-lru": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", - "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "read-pkg-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", - "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } } }, - "redent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", - "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" } }, "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, - "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } }, - "trim-newlines": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", - "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "dev": true }, "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } + "version": "20.2.7", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", + "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==", + "dev": true } } }, "stylelint-config-recommended": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-2.2.0.tgz", - "integrity": "sha512-bZ+d4RiNEfmoR74KZtCKmsABdBJr4iXRiCso+6LtMJPw5rd/KnxUWTxht7TbafrTJK1YRjNgnN0iVZaJfc3xJA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz", + "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==", "dev": true }, "stylelint-config-recommended-scss": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-3.3.0.tgz", - "integrity": "sha512-BvuuLYwoet8JutOP7K1a8YaiENN+0HQn390eDi0SWe1h7Uhx6O3GUQ6Ubgie9b/AmHX4Btmp+ZzVGbzriFTBcA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-4.2.0.tgz", + "integrity": "sha512-4bI5BYbabo/GCQ6LbRZx/ZlVkK65a1jivNNsD+ix/Lw0U3iAch+jQcvliGnnAX8SUPaZ0UqzNVNNAF3urswa7g==", "dev": true, "requires": { - "stylelint-config-recommended": "^2.2.0" + "stylelint-config-recommended": "^3.0.0" } }, "stylelint-config-wordpress": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/stylelint-config-wordpress/-/stylelint-config-wordpress-13.1.0.tgz", - "integrity": "sha512-dpKj2/d3/XjDVoOvQzd54GoM8Rj5zldluOZKkVhBCc4JYMc6r1VYL5hpcgIjqy/i2Hyqg4Rh7zTafE/2AWq//w==", + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-wordpress/-/stylelint-config-wordpress-17.0.0.tgz", + "integrity": "sha512-qUU2kVMd2ezIV9AzRdgietIfnavRRENt4180A1OMoVXIowRjjhohZgBiyVPV5EtNKo3GTO63l8g/QGNG27/h9g==", "dev": true, "requires": { - "stylelint-config-recommended": "^2.1.0", - "stylelint-config-recommended-scss": "^3.2.0", - "stylelint-scss": "^3.3.0" + "stylelint-config-recommended": "^3.0.0", + "stylelint-config-recommended-scss": "^4.2.0", + "stylelint-scss": "^3.17.2" } }, "stylelint-scss": { - "version": "3.18.0", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.18.0.tgz", - "integrity": "sha512-LD7+hv/6/ApNGt7+nR/50ft7cezKP2HM5rI8avIdGaUWre3xlHfV4jKO/DRZhscfuN+Ewy9FMhcTq0CcS0C/SA==", + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.19.0.tgz", + "integrity": "sha512-Ic5bsmpS4wVucOw44doC1Yi9f5qbeVL4wPFiEOaUElgsOuLEN6Ofn/krKI8BeNL2gAn53Zu+IcVV4E345r6rBw==", "dev": true, "requires": { "lodash": "^4.17.15", @@ -13302,26 +18388,6 @@ "postcss-resolve-nested-selector": "^0.1.1", "postcss-selector-parser": "^6.0.2", "postcss-value-parser": "^4.1.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", - "util-deprecate": "^1.0.2" - } - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - } } }, "sugarss": { @@ -13334,12 +18400,22 @@ } }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", + "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" } }, "svg-parser": { @@ -13373,6 +18449,58 @@ "stable": "^0.1.8", "unquote": "~1.1.1", "util.promisify": "~1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "symbol-tree": { @@ -13382,15 +18510,37 @@ "dev": true }, "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/table/-/table-6.3.3.tgz", + "integrity": "sha512-zAplNl1IDQIzlGbqfVg3/pS9bb7RaUgaNd0Qzwt/0oPlzEZZGYQIb+A1Gh8TBU3mzs2E5HfWWqT3Oj0oIup+pw==", "dev": true, "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ajv": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.1.0.tgz", + "integrity": "sha512-B/Sk2Ix7A36fs/ZkuGLIR86EdjbgR6fsAcbx9lOP/QBSXujDNbVmIS/U4Itz5k8fPFDeVZl/zQ/gJW4Jrq6XjQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } } }, "tapable": { @@ -13399,6 +18549,82 @@ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true }, + "tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + } + } + }, + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, "terser": { "version": "4.8.0", "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", @@ -13419,22 +18645,42 @@ } }, "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.1.0.tgz", + "integrity": "sha512-cjdZte66fYkZ65rQ2oJfrdCAkkhJA7YLYk5eGOcGCSGlq0ieZupRdjedSQXYknMPo2IveQL+tPdrxUkERENCFA==", "dev": true, "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", + "cacache": "^15.0.5", + "find-cache-dir": "^3.3.1", + "jest-worker": "^26.2.1", + "p-limit": "^3.0.2", + "schema-utils": "^2.6.6", "serialize-javascript": "^4.0.0", "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" + "terser": "^4.8.0", + "webpack-sources": "^1.4.3" }, "dependencies": { + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -13444,27 +18690,14 @@ } }, "test-exclude": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "requires": { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0" - }, - "dependencies": { - "read-pkg-up": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "dev": true, - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0" - } - } + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" } }, "text-table": { @@ -13482,12 +18715,34 @@ "loader-runner": "^2.3.1", "loader-utils": "^1.1.0", "neo-async": "^2.6.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } } }, "throat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", - "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", "dev": true }, "through": { @@ -13507,9 +18762,9 @@ } }, "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "requires": { "setimmediate": "^1.0.4" @@ -13530,9 +18785,9 @@ }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { "ms": "^2.1.1" @@ -13550,9 +18805,9 @@ } }, "tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz", - "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", "dev": true }, "to-arraybuffer": { @@ -13574,8 +18829,25 @@ "dev": true, "requires": { "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, + "to-readable-stream": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-2.1.0.tgz", + "integrity": "sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==", + "dev": true + }, "to-regex": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", @@ -13589,13 +18861,12 @@ } }, "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "^7.0.0" } }, "toidentifier": { @@ -13604,32 +18875,13 @@ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", "dev": true }, - "touch": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/touch/-/touch-0.0.3.tgz", - "integrity": "sha1-Ua7z1ElXHU8oel2Hyci0kYGg2x0=", - "dev": true, - "requires": { - "nopt": "~1.0.10" - }, - "dependencies": { - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", - "dev": true, - "requires": { - "abbrev": "1" - } - } - } - }, "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", "dev": true, "requires": { + "ip-regex": "^2.1.0", "psl": "^1.1.28", "punycode": "^2.1.1" } @@ -13643,12 +18895,6 @@ "punycode": "^2.1.0" } }, - "traverse": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", - "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", - "dev": true - }, "tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -13662,15 +18908,15 @@ "dev": true }, "trim-newlines": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz", - "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true }, "trim-trailing-lines": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz", - "integrity": "sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", + "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", "dev": true }, "trough": { @@ -13686,11 +18932,20 @@ "dev": true }, "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", @@ -13713,18 +18968,24 @@ "dev": true }, "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "^1.2.1" } }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.10.0.tgz", + "integrity": "sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==", "dev": true }, "type-is": { @@ -13743,12 +19004,49 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", + "dev": true + }, "uc.micro": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", "dev": true }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, "unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", @@ -13829,12 +19127,6 @@ "set-value": "^2.0.1" } }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, "unique-filename": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", @@ -13854,12 +19146,20 @@ } }, "unist-util-find-all-after": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.5.tgz", - "integrity": "sha512-lWgIc3rrTMTlK1Y0hEuL+k+ApzFk78h+lsaa2gHf63Gp5Ww+mt11huDniuaoq1H+XMK2lIIjjPkncxXcDp3QDw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz", + "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==", "dev": true, "requires": { - "unist-util-is": "^3.0.0" + "unist-util-is": "^4.0.0" + }, + "dependencies": { + "unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true + } } }, "unist-util-is": { @@ -13961,9 +19261,9 @@ "optional": true }, "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -14004,15 +19304,24 @@ "schema-utils": "^2.5.0" }, "dependencies": { - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "dev": true, "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" } } } @@ -14056,27 +19365,6 @@ "es-abstract": "^1.17.2", "has-symbols": "^1.0.1", "object.getownpropertydescriptors": "^2.1.0" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } } }, "utils-merge": { @@ -14092,15 +19380,34 @@ "dev": true }, "v8-compile-cache": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", - "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, + "v8-to-istanbul": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", + "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, "v8flags": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", - "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", "dev": true, "requires": { "homedir-polyfill": "^1.0.1" @@ -14175,6 +19482,17 @@ "browser-process-hrtime": "^1.0.0" } }, + "w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "dev": true, + "requires": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, "wait-on": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-3.3.0.tgz", @@ -14189,9 +19507,9 @@ }, "dependencies": { "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", "dev": true } } @@ -14207,11 +19525,61 @@ "debug": "^4.1.1" }, "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, "commander": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -14225,21 +19593,21 @@ } }, "watchpack": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", - "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "requires": { "chokidar": "^3.4.1", "graceful-fs": "^4.1.2", "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.0" + "watchpack-chokidar2": "^2.0.1" } }, "watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, "optional": true, "requires": { @@ -14276,6 +19644,37 @@ "dev": true, "optional": true }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -14297,6 +19696,31 @@ "upath": "^1.1.1" } }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, "fsevents": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", @@ -14337,6 +19761,50 @@ "binary-extensions": "^1.0.0" } }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "optional": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, "readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", @@ -14348,9 +19816,29 @@ "micromatch": "^3.1.10", "readable-stream": "^2.0.2" } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } } } }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, "webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", @@ -14358,9 +19846,9 @@ "dev": true }, "webpack": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", - "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -14371,7 +19859,7 @@ "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", + "enhanced-resolve": "^4.5.0", "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", "loader-runner": "^2.4.0", @@ -14386,6 +19874,270 @@ "terser-webpack-plugin": "^1.4.3", "watchpack": "^1.7.4", "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } } }, "webpack-bundle-analyzer": { @@ -14409,18 +20161,62 @@ "ws": "^6.0.0" }, "dependencies": { - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, "acorn-walk": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "dev": true }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, "ws": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", @@ -14451,6 +20247,58 @@ "yargs": "^13.3.2" }, "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, "cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -14464,6 +20312,12 @@ "which": "^1.2.9" } }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, "global-modules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", @@ -14484,16 +20338,76 @@ "which": "^1.3.1" } }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, "interpret": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true }, "semver": { @@ -14502,6 +20416,26 @@ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", @@ -14510,6 +20444,34 @@ "requires": { "has-flag": "^3.0.0" } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, @@ -14575,9 +20537,9 @@ "dev": true }, "whatwg-url": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz", - "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", "dev": true, "requires": { "lodash.sortby": "^4.7.0", @@ -14594,6 +20556,19 @@ "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", @@ -14624,6 +20599,70 @@ "ansi-styles": "^3.2.0", "string-width": "^3.0.0", "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } } }, "wrappy": { @@ -14632,34 +20671,23 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, "write-file-atomic": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.1.tgz", - "integrity": "sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", + "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", + "dev": true }, "x-is-string": { "version": "0.1.0", @@ -14673,6 +20701,12 @@ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "dev": true }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", @@ -14680,24 +20714,31 @@ "dev": true }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true }, "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", "dev": true, "requires": { "cliui": "^5.0.0", + "decamelize": "^1.2.0", "find-up": "^3.0.0", "get-caller-file": "^2.0.1", "require-directory": "^2.1.1", @@ -14706,13 +20747,53 @@ "string-width": "^3.0.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" + "yargs-parser": "^15.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } } }, "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", + "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -14728,6 +20809,18 @@ "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, + "zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", + "dev": true } } } diff --git a/package.json b/package.json index eda40e6..7abdce5 100644 --- a/package.json +++ b/package.json @@ -20,24 +20,32 @@ "dependencies": { "dev-require": "^0.1.0" }, + "engines": { + "node": "~14.19.1", + "npm": "~6.14.16" + }, "devDependencies": { "@floatwork/grunt-po2mo": "^0.3.0", "@ndigitals/grunt-checkrepo": "^0.2.0", - "@wordpress/scripts": "~7.1.0", - "grunt": "1.3.0", + "@wordpress/env": "4.0.5", + "@wordpress/scripts": "~12.6.1", + "check-node-version": "~4.1.0", + "grunt": "1.4.1", "grunt-checkbranch": "^1.0.4", "grunt-checktextdomain": "^1.0.1", - "grunt-cli": "^1.3.2", + "grunt-cli": "1.4.3", "grunt-contrib-clean": "^2.0.0", "grunt-contrib-copy": "^1.0.0", "grunt-gitinfo": "^0.1.9", "grunt-shell": "^2.1.0", - "grunt-version": "2.0.0", - "grunt-wp-deploy": "^2.1.2", + "grunt-version": "~2.0.0", "grunt-wp-i18n": "^1.0.3", - "grunt-wp-readme-to-markdown": "^2.0.0", + "grunt-wp-readme-to-markdown": "2.1.0", "load-grunt-tasks": "^3.5", - "puppeteer": "^1.20.0" + "node": "~14.19.1", + "npm": "~6.14.16", + "puppeteer": "^1.20.0", + "typescript": "3.9.10" }, "wp-env": { "plugin-dir": "woocommerce-local-pickup-time-select", @@ -64,28 +72,33 @@ }, "scripts": { "setup": "npm run setup:npm && npm run setup:composer", - "setup:npm": "npm install", - "setup:composer": "composer install", + "setup:npm": "npm ci", + "setup:composer": "npm run composer install", + "setup:wp": "wp-env start && npm run setup:wp-core && npm run setup:wp-plugins && npm run setup:wp-config", + "setup:wp-core": "npm run wp -- \"core install --title='OpenID Connect WP - Development' --admin_user=admin --admin_password=password --admin_email=wordpress@example.com\"", + "setup:wp-plugins": "npm run wp plugin activate wp-cfm", + "setup:wp-config": "npm run wp config pull all", "build": "npm run grunt build", "build:i18n": "npm run grunt i18n", - "build:wordpress": "cd wordpress && npm install && npm run build && cd ..", - "build:woocommerce": "cd vendor/woocommerce/woocommerce && npm install && npm run build && cd ../../../", + "release": "npm run grunt release", "version": "npm run grunt version", "version:bump": "npm version --no-git-tag-version", - "release": "npm run grunt release", - "start": "npm run env start", - "stop": "npm run env stop", - "restart": "npm run wp-env stop && npm run wp-env start", + "start": "wp-env start", + "stop": "wp-env stop", + "restart": "npm stop && npm start", "grunt": "node_modules/.bin/grunt", "check:engines": "wp-scripts check-engines", "check:licenses": "wp-scripts check-licenses", "check:i18n": "npm run grunt checktextdomain", - "env": "wp-scripts env", + "composer": "docker-compose run composer", + "wp-env": "wp-env", + "wp": "wp-env run cli wp", + "wp:test": "wp-env run tests-cli wp", "test": "npm run grunt test", "lint": "npm run lint:php", - "lint:php": "composer run-script phpcs -- --report=full .", - "lint:php:fix": "composer run-script phpcbf .", + "lint:php": "docker-compose run composer lint", + "lint:php:fix": "docker-compose run composer lint-fix", "analyze": "npm run analyze:php", - "analyze:php": "composer run-script phpstan analyze ." + "analyze:php": "docker-compose run composer analyze" } } diff --git a/phpcs.xml.dist b/phpcs.xml.dist index 8aca806..388ff10 100644 --- a/phpcs.xml.dist +++ b/phpcs.xml.dist @@ -1,33 +1,117 @@ + + + + + Generally-applicable sniffs for WordPress plugins - - - - - - + + + + + + - + + + + . - - - */dist/* */node_modules/* */tests/* + */tools/* */vendor/* - */wpcs/* */wordpress/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + tests/ + + + + tests/* + + + + + + diff --git a/phpmd.xml.dist b/phpmd.xml.dist new file mode 100644 index 0000000..e7c5155 --- /dev/null +++ b/phpmd.xml.dist @@ -0,0 +1,48 @@ + + + PHPMD Ruleset for a WordPress Project + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/phpstan.neon.dist b/phpstan.neon.dist index 72ee2f8..8dbc868 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -24,7 +24,7 @@ parameters: - admin/ - public/ - ./ - excludes_analyse: + excludePaths: - node_modules/ - scripts/ - tests/ @@ -32,18 +32,18 @@ parameters: - vendor/ - wordpress/ scanFiles: - - vendor/woocommerce/woocommerce/includes/wc-core-functions.php - - vendor/woocommerce/woocommerce/includes/wc-formatting-functions.php - - vendor/woocommerce/woocommerce/includes/wc-conditional-functions.php - - vendor/woocommerce/woocommerce/includes/wc-attribute-functions.php - - vendor/woocommerce/woocommerce/includes/wc-cart-functions.php - - vendor/woocommerce/woocommerce/includes/wc-order-functions.php - - vendor/woocommerce/woocommerce/includes/wc-order-item-functions.php - - vendor/woocommerce/woocommerce/includes/wc-template-functions.php - - vendor/woocommerce/woocommerce/includes/wc-notice-functions.php + - wordpress/wp-content/plugins/woocommerce/includes/wc-core-functions.php + - wordpress/wp-content/plugins/woocommerce/includes/wc-formatting-functions.php + - wordpress/wp-content/plugins/woocommerce/includes/wc-conditional-functions.php + - wordpress/wp-content/plugins/woocommerce/includes/wc-attribute-functions.php + - wordpress/wp-content/plugins/woocommerce/includes/wc-cart-functions.php + - wordpress/wp-content/plugins/woocommerce/includes/wc-order-functions.php + - wordpress/wp-content/plugins/woocommerce/includes/wc-order-item-functions.php + - wordpress/wp-content/plugins/woocommerce/includes/wc-template-functions.php + - wordpress/wp-content/plugins/woocommerce/includes/wc-notice-functions.php scanDirectories: - - wordpress/src/ - - vendor/woocommerce/woocommerce/includes/ + - wordpress/ + - wordpress/wp-content/plugins/woocommerce/includes/ ignoreErrors: # Uses func_get_args() - '#^Function apply_filters(_ref_array)? invoked with [34567] parameters, 2 required\.$#' diff --git a/public/class-local-pickup-time.php b/public/class-local-pickup-time.php index b4cf7ae..957a6e4 100644 --- a/public/class-local-pickup-time.php +++ b/public/class-local-pickup-time.php @@ -139,10 +139,10 @@ class Local_Pickup_Time { private function __construct() { // Load WordPress date/time formats. - $this->date_format = get_option( 'date_format', $this->date_format ); - $this->time_format = get_option( 'time_format', $this->time_format ); - $this->gmt_offset = get_option( 'gmt_offset', $this->gmt_offset ); - $this->timezone = get_option( 'timezone_string', $this->timezone ); + $this->date_format = strval( get_option( 'date_format', $this->date_format ) ); + $this->time_format = strval( get_option( 'time_format', $this->time_format ) ); + $this->gmt_offset = intval( get_option( 'gmt_offset', $this->gmt_offset ) ); + $this->timezone = strval( get_option( 'timezone_string', $this->timezone ) ); // Make sure we have a time zone set. if ( empty( $this->timezone ) ) { @@ -498,7 +498,7 @@ public function load_plugin_textdomain() { */ public static function plugin_version_check() { - return version_compare( self::VERSION, get_option( self::DB_VERSION_META_KEY ), '>=' ); + return version_compare( self::VERSION, strval( get_option( self::DB_VERSION_META_KEY ) ), '>=' ); } @@ -512,7 +512,7 @@ public static function plugin_version_check() { public function get_pickup_time_options() { // Get dates closed from settings and explode into an array. - $dates_closed = preg_replace( '/\v(?:[\v\h]+)/', "\n", trim( get_option( 'local_pickup_hours_closings', '' ) ) ); + $dates_closed = preg_replace( '/\v(?:[\v\h]+)/', "\n", trim( strval( get_option( 'local_pickup_hours_closings', '' ) ) ) ); $dates_closed = ( ! empty( $dates_closed ) ) ? $dates_closed : ''; $dates_closed = explode( "\n", $dates_closed ); @@ -522,13 +522,13 @@ public function get_pickup_time_options() { $num_days_ahead = get_option( 'local_pickup_days_ahead', 1 ); // Translateble days. - __( 'Monday', 'woocommerce-local-pickup-time' ); - __( 'Tuesday', 'woocommerce-local-pickup-time' ); - __( 'Wednesday', 'woocommerce-local-pickup-time' ); - __( 'Thursday', 'woocommerce-local-pickup-time' ); - __( 'Friday', 'woocommerce-local-pickup-time' ); - __( 'Saturday', 'woocommerce-local-pickup-time' ); - __( 'Sunday', 'woocommerce-local-pickup-time' ); + __( 'Monday', 'woocommerce-local-pickup-time-select' ); + __( 'Tuesday', 'woocommerce-local-pickup-time-select' ); + __( 'Wednesday', 'woocommerce-local-pickup-time-select' ); + __( 'Thursday', 'woocommerce-local-pickup-time-select' ); + __( 'Friday', 'woocommerce-local-pickup-time-select' ); + __( 'Saturday', 'woocommerce-local-pickup-time-select' ); + __( 'Sunday', 'woocommerce-local-pickup-time-select' ); // Get the current WordPress-based date/time. $current_wp_datetime = new DateTime( 'now', $this->get_wp_timezone() ); @@ -545,14 +545,14 @@ public function get_pickup_time_options() { // Make sure we start at the next interval past the current time. while ( $pickup_datetime->getTimestamp() <= $current_datetime->getTimestamp() ) { // Adjust to next interval past the current time. - $pickup_datetime->modify( "+$minutes_interval minute" ); + $pickup_datetime->modify( '+' . strval( $minutes_interval ) . ' minute' ); } // Adjust for time delay. - $pickup_datetime->modify( "+$delay_minutes minute" ); + $pickup_datetime->modify( '+' . strval( $delay_minutes ) . ' minute' ); // Setup options array with empty first item. - $pickup_options[''] = __( 'Select time', 'woocommerce-local-pickup-time' ); + $pickup_options[''] = __( 'Select time', 'woocommerce-local-pickup-time-select' ); // Initialize firt interval state. $first_interval = true; @@ -576,9 +576,9 @@ public function get_pickup_time_options() { $pickup_options, $this->get_pickup_time_intervals( $pickup_datetime->getTimestamp(), - $minutes_interval, - $pickup_day_open_time, - $pickup_day_close_time, + intval( $minutes_interval ), + strval( $pickup_day_open_time ), + strval( $pickup_day_close_time ), $first_interval ) ); @@ -689,14 +689,14 @@ public function time_select( $checkout ) { 'h2' => array(), ); - echo wp_kses( '

' . __( 'Pickup Time', 'woocommerce-local-pickup-time' ) . '

', $allowed_html ); + echo wp_kses( '

' . __( 'Pickup Time', 'woocommerce-local-pickup-time-select' ) . '

', $allowed_html ); woocommerce_form_field( $this->get_order_post_key(), array( 'type' => 'select', 'class' => array( 'local-pickup-time-select-field form-row-wide' ), - 'label' => __( 'Pickup Time', 'woocommerce-local-pickup-time' ), + 'label' => __( 'Pickup Time', 'woocommerce-local-pickup-time-select' ), 'required' => true, 'options' => $this->get_pickup_time_options(), ), @@ -713,14 +713,7 @@ public function time_select( $checkout ) { ), ); - echo wp_kses( - '', - $allowed_html - ); + wp_nonce_field( $this->get_order_pickup_time_action_key(), $this->get_order_pickup_time_nonce_key() ); echo '
'; @@ -735,14 +728,14 @@ public function time_select( $checkout ) { */ public function field_process() { - if ( ! empty( $_REQUEST[ $this->get_order_pickup_time_nonce_key() ] ) && - wp_verify_nonce( sanitize_text_field( stripslashes_from_strings_only( $_REQUEST[ $this->get_order_pickup_time_nonce_key() ] ) ), $this->get_order_pickup_time_action_key() ) == 1 ) { + $nonce = strval( wc_get_post_data_by_key( $this->get_order_pickup_time_nonce_key() ) ); + if ( ! empty( $nonce ) && wp_verify_nonce( $nonce, $this->get_order_pickup_time_action_key() ) == 1 ) { // Check if set, if its not set add an error. if ( empty( wc_get_post_data_by_key( $this->get_order_post_key() ) ) ) { - wc_add_notice( __( 'Please select a pickup time.', 'woocommerce-local-pickup-time' ), 'error' ); + wc_add_notice( __( 'Please select a pickup time.', 'woocommerce-local-pickup-time-select' ), 'error' ); } } else { - wc_add_notice( __( 'Expired or invalid submission!.', 'woocommerce-local-pickup-time' ), 'error' ); + wc_add_notice( __( 'Expired or invalid submission!.', 'woocommerce-local-pickup-time-select' ), 'error' ); } } @@ -758,14 +751,14 @@ public function field_process() { */ public function update_order_meta( $order_id ) { - if ( ! empty( $_REQUEST[ $this->get_order_pickup_time_nonce_key() ] ) && - wp_verify_nonce( sanitize_text_field( stripslashes_from_strings_only( $_REQUEST[ $this->get_order_pickup_time_nonce_key() ] ) ), $this->get_order_pickup_time_action_key() ) == 1 ) { + $nonce = strval( wc_get_post_data_by_key( $this->get_order_pickup_time_nonce_key() ) ); + if ( ! empty( $nonce ) && wp_verify_nonce( $nonce, $this->get_order_pickup_time_action_key() ) == 1 ) { // Update the order pickup time if set. if ( ! empty( wc_get_post_data_by_key( $this->get_order_post_key() ) ) ) { update_post_meta( $order_id, $this->get_order_meta_key(), wc_get_post_data_by_key( $this->get_order_post_key() ) ); } } else { - wc_add_notice( __( 'Expired or invalid submission!.', 'woocommerce-local-pickup-time' ), 'error' ); + wc_add_notice( __( 'Expired or invalid submission!.', 'woocommerce-local-pickup-time-select' ), 'error' ); } } @@ -775,16 +768,17 @@ public function update_order_meta( $order_id ) { * * @since 1.3.0 * - * @param array $fields The array of pickup time fields. - * @param boolean $sent_to_admin Flag that indicates whether the email is being sent to an admin user or not. - * @param WC_Order $order The order object that holds all the order attributes. - * @return array The array of order email fields including the pickup time field. + * @param array $fields The array of pickup time fields. + * @param boolean $sent_to_admin Flag that indicates whether the email is being sent to an admin user or not. + * @param WC_Order $order The order object that holds all the order attributes. + * + * @return array The array of order email fields including the pickup time field. */ public function update_order_email_fields( $fields, $sent_to_admin, $order ) { - $value = $this->pickup_time_select_translatable( get_post_meta( $order->get_id(), $this->get_order_meta_key(), true ) ); + $value = $this->pickup_time_select_translatable( strval( get_post_meta( $order->get_id(), $this->get_order_meta_key(), true ) ) ); $fields['meta_key'] = array( - 'label' => __( 'Pickup Time', 'woocommerce-local-pickup-time' ), + 'label' => __( 'Pickup Time', 'woocommerce-local-pickup-time-select' ), 'value' => $value, ); @@ -804,7 +798,7 @@ public function pickup_time_select_translatable( $value, $separator = ' ' ) { // Only attempt date/time adjustments when a value is set. if ( empty( $value ) ) { - return __( 'None', 'woocommerce-local-pickup-time' ); + return __( 'None', 'woocommerce-local-pickup-time-select' ); } // This match is specifically to address the bug introduced in 1.3.1. diff --git a/tests/phpstan-bootstrap.php b/tests/phpstan-bootstrap.php index b91815c..046788e 100644 --- a/tests/phpstan-bootstrap.php +++ b/tests/phpstan-bootstrap.php @@ -10,7 +10,7 @@ */ // Define WooCommerce path for autoloading in phpstan. -defined( 'WC_ABSPATH' ) || define( 'WC_ABSPATH', 'vendor/woocommerce/woocommerce/' ); +defined( 'WC_ABSPATH' ) || define( 'WC_ABSPATH', 'wordpress/wp-content/plugins/woocommerce/' ); // Define WordPress language directory. -defined( 'WP_LANG_DIR' ) || define( 'WP_LANG_DIR', 'wordpress/src/wp-includes/languages/' ); +defined( 'WP_LANG_DIR' ) || define( 'WP_LANG_DIR', 'wordpress/wp-includes/languages/' ); diff --git a/tools/docker/composer/Dockerfile b/tools/docker/composer/Dockerfile new file mode 100644 index 0000000..21c3949 --- /dev/null +++ b/tools/docker/composer/Dockerfile @@ -0,0 +1,24 @@ +# Start with the official PHP CLI image. +FROM php:7.4-cli + +# Increase the memory limit to allow for large processes, such as PHPStan. +RUN cd /usr/local/etc/php/conf.d/ && \ + echo 'memory_limit = -1' >> /usr/local/etc/php/conf.d/docker-php-ram-limit.ini + +# Copy the Composer PHAR from the official Composer image to the PHP CLI image. +COPY --from=composer:2 /usr/bin/composer /usr/bin/composer + +# Setup permission for Composer cache. +RUN mkdir -p /.composer/cache/vcs \ + && chmod -R 777 /.composer/cache + +# Install additional packages required for Composer +RUN apt-get update \ + && apt-get install -y git zip unzip zlib1g-dev libzip-dev \ + && apt-get -y autoremove \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +RUN docker-php-ext-install zip \ + && docker-php-ext-install pcntl \ + && docker-php-ext-install bcmath diff --git a/tools/local-env/backups/.gitignore b/tools/local-env/backups/.gitignore new file mode 100644 index 0000000..d1b811b --- /dev/null +++ b/tools/local-env/backups/.gitignore @@ -0,0 +1 @@ +*.sql diff --git a/tools/local-env/backups/.gitkeep b/tools/local-env/backups/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tools/local-env/config/.gitkeep b/tools/local-env/config/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tools/local-env/config/active_plugins.yaml b/tools/local-env/config/active_plugins.yaml new file mode 100644 index 0000000..3a16171 --- /dev/null +++ b/tools/local-env/config/active_plugins.yaml @@ -0,0 +1,13 @@ +active_plugins: + - query-monitor/query-monitor.php + - action-scheduler/action-scheduler.php + - debug-bar-post-meta/debug-bar-post-meta.php + - debug-bar/debug-bar.php + - transients-manager/transients-manager.php + - woocommerce-admin/woocommerce-admin.php + - woocommerce-blocks/woocommerce-gutenberg-products-block.php + - woocommerce-local-pickup-time/woocommerce-local-pickup-time.php + - woocommerce/woocommerce.php + - wp-cfm/wp-cfm.php +.label: 'Active Plugins' +.active_plugins_format: serialized diff --git a/tools/local-env/config/active_theme.yaml b/tools/local-env/config/active_theme.yaml new file mode 100644 index 0000000..56c5d1d --- /dev/null +++ b/tools/local-env/config/active_theme.yaml @@ -0,0 +1,2 @@ +current_theme: Storefront +.label: 'Active Theme' diff --git a/tools/local-env/mu-plugins/wp-cfm.php b/tools/local-env/mu-plugins/wp-cfm.php new file mode 100644 index 0000000..905cc39 --- /dev/null +++ b/tools/local-env/mu-plugins/wp-cfm.php @@ -0,0 +1,28 @@ + Date: Mon, 4 Apr 2022 01:04:30 -0400 Subject: [PATCH 04/18] Adds Pickup Time Required & Local Pickup Link Capabilities (#150) * Updates NPM & Composer dependencies. * Moves the plugins settings to WooCommerce->Settings->Shipping->Local Pickup Time settings. * Reformats some of the plugin settings display. * Adds new settings screenshots. * Removes checks that prevent loading the Admin class during AJAX calls. * Adds the ability to change whether the Pickup Time is required on checkout via a plugin setting. Closes #71 * Adds the ability to link Pickup Time to a Local Pickup Shipping Method. Closes #23 / Closes #94 * Changes output of Pickup Time selection. Closes #103 / Closed #104 * Changes the Pickup Time select field options to use a blank entry for the default upon load. Closes #123 --- .wordpress-org/screenshot-2.png | Bin 156986 -> 371034 bytes .wordpress-org/screenshot-3.png | Bin 107389 -> 44461 bytes .wp-env.json | 3 +- README.md | 12 +- admin/class-local-pickup-time-admin.php | 606 +++++++++++------- composer.json | 18 +- composer.lock | 26 +- package-lock.json | 36 +- package.json | 1 + phpstan.neon.dist | 28 +- public/class-local-pickup-time.php | 190 +++++- readme.txt | 10 +- tests/phpstan-bootstrap.php | 3 + tools/local-env/config/active_plugins.yaml | 1 + tools/local-env/config/active_theme.yaml | 19 + .../mu-plugins/phpmailer-mailhog.php | 8 +- woocommerce-local-pickup-time.php | 8 +- 17 files changed, 669 insertions(+), 300 deletions(-) diff --git a/.wordpress-org/screenshot-2.png b/.wordpress-org/screenshot-2.png index db373be7b5ba48a54ab39f303a9928360ff91e71..b43165b2753923be69104f20fce6f93956adb65d 100644 GIT binary patch literal 371034 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 z%0D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 z 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 UoLB`w4ERSzO7T{n#Qlf=7fJBZZ~y=R literal 107389 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 diff --git a/.wp-env.json b/.wp-env.json index c26a286..b811b35 100644 --- a/.wp-env.json +++ b/.wp-env.json @@ -15,7 +15,8 @@ "https://downloads.wordpress.org/plugin/query-monitor.zip", "https://downloads.wordpress.org/plugin/debug-bar-post-meta.zip", "https://downloads.wordpress.org/plugin/transients-manager.zip", - "https://downloads.wordpress.org/plugin/wp-cfm.zip" + "https://downloads.wordpress.org/plugin/wp-cfm.zip", + "https://downloads.wordpress.org/plugin/wordpress-importer.zip" ], "themes": ["https://downloads.wordpress.org/theme/storefront.zip"] }, diff --git a/README.md b/README.md index e0e2ed5..1cfeafe 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # WooCommerce Local Pickup Time Select # -**Contributors:** [tnolte](https://profiles.wordpress.org/tnolte), [mjbanks](https://profiles.wordpress.org/mjbanks), [vyskoczilova](https://profiles.wordpress.org/vyskoczilova) +**Contributors:** [tnolte](https://profiles.wordpress.org/tnolte/), [mjbanks](https://profiles.wordpress.org/mjbanks/), [vyskoczilova](https://profiles.wordpress.org/vyskoczilova/) **Donate link:** https://www.ndigitals.com/donate/ **Tags:** woocommcerce, shipping, local pickup, checkout fields, ecommerce, e-commerce, wordpress ecommerce **Requires at least:** 4.9 -**Tested up to:** 5.6.0 +**Tested up to:** 5.7.4 **Stable tag:** 1.3.13 **Requires PHP:** 7.2 **License:** GPLv2 or later @@ -66,10 +66,10 @@ The location, by default, is hooked to `woocommerce_admin_order_data_after_billi ## Screenshots ## 1. Frontend Display on Checkout Page -2. Backend Settings Screen - Part 1 -3. Backend Settings Screen - Part 2 -4. Backend Order Listing Includes Pickup Date/Time -5. Backend Order Details Screen Includes Pickup Date/Time +2. Shipping Settings -> Local Pickup Time Settings Screen +3. Local Pickup Shipping Method Settings Screen +4. Order Listing Includes Pickup Date/Time +5. Order Details Screen Includes Pickup Date/Time ## Changelog ## diff --git a/admin/class-local-pickup-time-admin.php b/admin/class-local-pickup-time-admin.php index ebb61f6..47e8693 100644 --- a/admin/class-local-pickup-time-admin.php +++ b/admin/class-local-pickup-time-admin.php @@ -42,9 +42,25 @@ private function __construct() { $this->plugin = Local_Pickup_Time::get_instance(); /* - * Show Pickup Time Settings in the WooCommerce -> General Admin Screen + * Add settings quicklink to plugin entry in the plugins list. */ - add_filter( 'woocommerce_general_settings', array( $this, 'add_hours_and_closings_options' ) ); + add_filter( 'plugin_action_links_' . WCLOCALPICKUPTIME_PLUGIN_BASE, array( $this, 'plugin_action_links' ) ); + + /* + * Show Pickup Time Settings in the WooCommerce -> Shipping Screen + */ + add_filter( 'woocommerce_get_sections_shipping', array( $this, 'plugin_add_settings_section' ) ); + add_filter( 'woocommerce_get_settings_shipping', array( $this, 'plugin_settings' ), 10, 2 ); + + /* + * Add Local Pickup Time enabled argument to Local Pickup Shipping methods. + */ + add_filter( 'woocommerce_shipping_method_add_rate_args', array( $this, 'shipping_method_add_rate_pickup_time_args' ) ); + + /* + * Add an option to bind the Local Pickup Time to Local Pickup shipping methods. + */ + add_filter( 'woocommerce_shipping_methods', array( $this, 'shipping_methods_settings_override' ) ); /* * Show Pickup Time in the Order Details in the Admin Screen @@ -79,235 +95,395 @@ public static function get_instance() { return self::$instance; } + /** + * Add plugin Settings page link to plugin actions. + * + * @link https://developer.wordpress.org/reference/hooks/plugin_action_links_plugin_file/ + * + * @since 0.0.0 + * + * @param string[] $actions The plugin action links. + * + * @return string[] + */ + public function plugin_action_links( $actions ) { + + $settings_link = '' . __( 'Settings', 'woocommerce-local-pickup-time-select' ) . ''; + + array_unshift( $actions, $settings_link ); + + return $actions; + + } + + /** + * Add Pickup Time Settings section on the WooCommerce->Shipping settings Admin screen. + * + * @link https://woocommerce.com/document/adding-a-section-to-a-settings-tab/ + * + * @since 0.0.0 + * + * @param array $sections The array of Settings screen sections. + * + * @return array + */ + public function plugin_add_settings_section( $sections ) { + + $sections[ $this->plugin->get_plugin_slug() ] = __( 'Local Pickup Time settings', 'woocommerce-local-pickup-time-select' ); + + return $sections; + + } + /** * Show Pickup Time Settings in the WooCommerce -> General Admin Screen * * @since 1.0.0 * - * @param array $settings The array of WooCommerce General Plugin Settings. + * @param array $settings The array of WooCommerce General Plugin Settings. + * @param string $current_section The plugin settings section. * * @return array */ - public function add_hours_and_closings_options( $settings ) { - $updated_settings = array(); - - $updated_settings[] = array( - array( - 'title' => __( 'Store Hours and Closings for Local Pickup', 'woocommerce-local-pickup-time-select' ), - 'type' => 'title', - 'desc' => __( 'The following options affect when order pickups begin and end each day, and which days to not allow order pickups.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours', - ), - array( - 'title' => __( 'Monday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'This sets the pickup start time for Monday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours_monday_start', - 'css' => 'width:120px;', - 'default' => '10:00', - 'type' => 'time', - 'desc_tip' => true, - ), - array( - 'title' => __( 'Monday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'This sets the pickup end time for Monday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours_monday_end', - 'css' => 'width:120px;', - 'default' => '19:00', - 'type' => 'time', - 'desc_tip' => true, - ), - array( - 'title' => __( 'Tuesday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'This sets the pickup start time for Tuesday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours_tuesday_start', - 'css' => 'width:120px;', - 'default' => '10:00', - 'type' => 'time', - 'desc_tip' => true, - ), - array( - 'title' => __( 'Tuesday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'This sets the pickup end time for Tuesday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours_tuesday_end', - 'css' => 'width:120px;', - 'default' => '19:00', - 'type' => 'time', - 'desc_tip' => true, - ), - array( - 'title' => __( 'Wednesday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'This sets the pickup start time for Wednesday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours_wednesday_start', - 'css' => 'width:120px;', - 'default' => '10:00', - 'type' => 'time', - 'desc_tip' => true, - ), - array( - 'title' => __( 'Wednesday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'This sets the pickup end time for Wednesday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours_wednesday_end', - 'css' => 'width:120px;', - 'default' => '19:00', - 'type' => 'time', - 'desc_tip' => true, - ), - array( - 'title' => __( 'Thursday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'This sets the pickup start time for Thursday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours_thursday_start', - 'css' => 'width:120px;', - 'default' => '10:00', - 'type' => 'time', - 'desc_tip' => true, - ), - array( - 'title' => __( 'Thursday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'This sets the pickup end time for Thursday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours_thursday_end', - 'css' => 'width:120px;', - 'default' => '19:00', - 'type' => 'time', - 'desc_tip' => true, - ), - array( - 'title' => __( 'Friday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'This sets the pickup start time for Friday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours_friday_start', - 'css' => 'width:120px;', - 'default' => '10:00', - 'type' => 'time', - 'desc_tip' => true, - ), - array( - 'title' => __( 'Friday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'This sets the pickup end time for Friday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours_friday_end', - 'css' => 'width:120px;', - 'default' => '19:00', - 'type' => 'time', - 'desc_tip' => true, - ), - array( - 'title' => __( 'Saturday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'This sets the pickup start time for Saturday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours_saturday_start', - 'css' => 'width:120px;', - 'default' => '10:00', - 'type' => 'time', - 'desc_tip' => true, - ), - array( - 'title' => __( 'Saturday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'This sets the pickup end time for Saturday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours_saturday_end', - 'css' => 'width:120px;', - 'default' => '19:00', - 'type' => 'time', - 'desc_tip' => true, - ), - array( - 'title' => __( 'Sunday Pickup Start Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'This sets the pickup start time for Sunday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours_sunday_start', - 'css' => 'width:120px;', - 'default' => '10:00', - 'type' => 'time', - 'desc_tip' => true, - ), - array( - 'title' => __( 'Sunday Pickup End Time (use 24-hour time)', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'This sets the pickup end time for Sunday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours_sunday_end', - 'css' => 'width:120px;', - 'default' => '19:00', - 'type' => 'time', - 'desc_tip' => true, - ), - array( - 'title' => __( 'Store Closing Days (use MM/DD/YYYY format)', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'This sets the days the store is closed. Enter one date per line, in format MM/DD/YYYY.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours_closings', - 'css' => 'width:250px;height:150px;', - 'default' => '01/01/2014', - 'type' => 'textarea', - 'desc_tip' => true, - ), - array( - 'title' => __( 'Pickup Time Interval', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'Choose the time interval for allowing local pickup orders.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_hours_interval', - 'css' => 'width:100px;', - 'default' => '30', - 'type' => 'select', - 'class' => 'chosen_select', - 'desc_tip' => true, - 'options' => array( - '5' => __( '5 minutes', 'woocommerce-local-pickup-time-select' ), - '10' => __( '10 minutes', 'woocommerce-local-pickup-time-select' ), - '15' => __( '15 minutes', 'woocommerce-local-pickup-time-select' ), - '20' => __( '20 minutes', 'woocommerce-local-pickup-time-select' ), - '30' => __( '30 minutes', 'woocommerce-local-pickup-time-select' ), - '45' => __( '45 minutes', 'woocommerce-local-pickup-time-select' ), - '60' => __( '1 hour', 'woocommerce-local-pickup-time-select' ), - '120' => __( '2 hours', 'woocommerce-local-pickup-time-select' ), + public function plugin_settings( $settings, $current_section ) { + + if ( $this->plugin->get_plugin_slug() === $current_section ) { + $plugin_settings = array(); + + $plugin_settings = array( + array( + 'title' => __( 'Store Hours for Local Pickup', 'woocommerce-local-pickup-time-select' ), + 'type' => 'title', + 'desc' => __( 'The following options affect when order pickups begin and end each day, and which days to not allow order pickups.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours', + ), + array( + 'title' => __( 'Monday Pickup Start Time', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup start time for Monday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours_monday_start', + 'css' => 'width:120px;', + 'default' => '10:00', + 'type' => 'time', + 'desc_tip' => true, + ), + array( + 'title' => __( 'Monday Pickup End Time', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup end time for Monday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours_monday_end', + 'css' => 'width:120px;', + 'default' => '19:00', + 'type' => 'time', + 'desc_tip' => true, + ), + array( + 'title' => __( 'Tuesday Pickup Start Time', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup start time for Tuesday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours_tuesday_start', + 'css' => 'width:120px;', + 'default' => '10:00', + 'type' => 'time', + 'desc_tip' => true, + ), + array( + 'title' => __( 'Tuesday Pickup End Time', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup end time for Tuesday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours_tuesday_end', + 'css' => 'width:120px;', + 'default' => '19:00', + 'type' => 'time', + 'desc_tip' => true, + ), + array( + 'title' => __( 'Wednesday Pickup Start Time', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup start time for Wednesday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours_wednesday_start', + 'css' => 'width:120px;', + 'default' => '10:00', + 'type' => 'time', + 'desc_tip' => true, + ), + array( + 'title' => __( 'Wednesday Pickup End Time', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup end time for Wednesday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours_wednesday_end', + 'css' => 'width:120px;', + 'default' => '19:00', + 'type' => 'time', + 'desc_tip' => true, + ), + array( + 'title' => __( 'Thursday Pickup Start Time', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup start time for Thursday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours_thursday_start', + 'css' => 'width:120px;', + 'default' => '10:00', + 'type' => 'time', + 'desc_tip' => true, + ), + array( + 'title' => __( 'Thursday Pickup End Time', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup end time for Thursday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours_thursday_end', + 'css' => 'width:120px;', + 'default' => '19:00', + 'type' => 'time', + 'desc_tip' => true, + ), + array( + 'title' => __( 'Friday Pickup Start Time', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup start time for Friday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours_friday_start', + 'css' => 'width:120px;', + 'default' => '10:00', + 'type' => 'time', + 'desc_tip' => true, + ), + array( + 'title' => __( 'Friday Pickup End Time', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup end time for Friday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours_friday_end', + 'css' => 'width:120px;', + 'default' => '19:00', + 'type' => 'time', + 'desc_tip' => true, + ), + array( + 'title' => __( 'Saturday Pickup Start Time', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup start time for Saturday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours_saturday_start', + 'css' => 'width:120px;', + 'default' => '10:00', + 'type' => 'time', + 'desc_tip' => true, + ), + array( + 'title' => __( 'Saturday Pickup End Time', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup end time for Saturday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours_saturday_end', + 'css' => 'width:120px;', + 'default' => '19:00', + 'type' => 'time', + 'desc_tip' => true, + ), + array( + 'title' => __( 'Sunday Pickup Start Time', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup start time for Sunday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours_sunday_start', + 'css' => 'width:120px;', + 'default' => '10:00', + 'type' => 'time', + 'desc_tip' => true, + ), + array( + 'title' => __( 'Sunday Pickup End Time', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the pickup end time for Sunday. Use 24-hour time format.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours_sunday_end', + 'css' => 'width:120px;', + 'default' => '19:00', + 'type' => 'time', + 'desc_tip' => true, ), - ), - array( - 'title' => __( 'Pickup Time Delay', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'Choose the time delay from the time of ordering for allowing local pickup orders.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_delay_minutes', - 'css' => 'width:100px;', - 'default' => '60', - 'type' => 'select', - 'class' => 'chosen_select', - 'desc_tip' => true, - 'options' => array( - '5' => __( '5 minutes', 'woocommerce-local-pickup-time-select' ), - '10' => __( '10 minutes', 'woocommerce-local-pickup-time-select' ), - '15' => __( '15 minutes', 'woocommerce-local-pickup-time-select' ), - '20' => __( '20 minutes', 'woocommerce-local-pickup-time-select' ), - '30' => __( '30 minutes', 'woocommerce-local-pickup-time-select' ), - '45' => __( '45 minutes', 'woocommerce-local-pickup-time-select' ), - '60' => __( '1 hour', 'woocommerce-local-pickup-time-select' ), - '120' => __( '2 hours', 'woocommerce-local-pickup-time-select' ), - '240' => __( '4 hours', 'woocommerce-local-pickup-time-select' ), - '480' => __( '8 hours', 'woocommerce-local-pickup-time-select' ), - '960' => __( '16 hours', 'woocommerce-local-pickup-time-select' ), - '1440' => __( '24 hours', 'woocommerce-local-pickup-time-select' ), - '2160' => __( '36 hours', 'woocommerce-local-pickup-time-select' ), - '2880' => __( '48 hours', 'woocommerce-local-pickup-time-select' ), - '4320' => __( '3 days', 'woocommerce-local-pickup-time-select' ), - '7200' => __( '5 days', 'woocommerce-local-pickup-time-select' ), - '10080' => __( '1 week', 'woocommerce-local-pickup-time-select' ), + array( + 'type' => 'sectionend', + 'id' => 'local_pickup_hours', ), - ), - array( - 'title' => __( 'Pickup Time Open Days Ahead', 'woocommerce-local-pickup-time-select' ), - 'desc' => __( 'Choose the number of open days ahead for allowing local pickup orders. This is inclusive of the current day, if timeslots are still available.', 'woocommerce-local-pickup-time-select' ), - 'id' => 'local_pickup_days_ahead', - 'css' => 'width:100px;', - 'default' => '1', - 'type' => 'number', - 'input_attrs' => array( - 'min' => 0, - 'step' => 1, + array( + 'title' => __( 'Store Closed for Local Pickup', 'woocommerce-local-pickup-time-select' ), + 'type' => 'title', + 'desc' => __( 'The following options affect which days to not allow order pickups.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_closed', ), - 'desc_tip' => true, - ), - array( - 'type' => 'sectionend', - 'id' => 'pricing_options', - ), + array( + 'title' => __( 'Store Closing Days (use MM/DD/YYYY format)', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This sets the days the store is closed. Enter one date per line, in format MM/DD/YYYY.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours_closings', + 'css' => 'width:250px;height:150px;', + 'default' => '01/01/2014', + 'type' => 'textarea', + 'desc_tip' => true, + ), + array( + 'type' => 'sectionend', + 'id' => 'local_pickup_closed', + ), + array( + 'title' => __( 'Order Pickup Intervals & Delays', 'woocommerce-local-pickup-time-select' ), + 'type' => 'title', + 'desc' => __( 'The following options are used to calculate the available time slots for pickup.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_time_slots', + ), + array( + 'title' => __( 'Pickup Time Interval', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'Choose the time interval for allowing local pickup orders.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_hours_interval', + 'css' => 'width:100px;', + 'default' => '30', + 'type' => 'select', + 'class' => 'chosen_select', + 'desc_tip' => true, + 'options' => array( + '5' => __( '5 minutes', 'woocommerce-local-pickup-time-select' ), + '10' => __( '10 minutes', 'woocommerce-local-pickup-time-select' ), + '15' => __( '15 minutes', 'woocommerce-local-pickup-time-select' ), + '20' => __( '20 minutes', 'woocommerce-local-pickup-time-select' ), + '30' => __( '30 minutes', 'woocommerce-local-pickup-time-select' ), + '45' => __( '45 minutes', 'woocommerce-local-pickup-time-select' ), + '60' => __( '1 hour', 'woocommerce-local-pickup-time-select' ), + '120' => __( '2 hours', 'woocommerce-local-pickup-time-select' ), + ), + ), + array( + 'title' => __( 'Pickup Time Delay', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'Choose the time delay from the time of ordering for allowing local pickup orders.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_delay_minutes', + 'css' => 'width:100px;', + 'default' => '60', + 'type' => 'select', + 'class' => 'chosen_select', + 'desc_tip' => true, + 'options' => array( + '5' => __( '5 minutes', 'woocommerce-local-pickup-time-select' ), + '10' => __( '10 minutes', 'woocommerce-local-pickup-time-select' ), + '15' => __( '15 minutes', 'woocommerce-local-pickup-time-select' ), + '20' => __( '20 minutes', 'woocommerce-local-pickup-time-select' ), + '30' => __( '30 minutes', 'woocommerce-local-pickup-time-select' ), + '45' => __( '45 minutes', 'woocommerce-local-pickup-time-select' ), + '60' => __( '1 hour', 'woocommerce-local-pickup-time-select' ), + '120' => __( '2 hours', 'woocommerce-local-pickup-time-select' ), + '240' => __( '4 hours', 'woocommerce-local-pickup-time-select' ), + '480' => __( '8 hours', 'woocommerce-local-pickup-time-select' ), + '960' => __( '16 hours', 'woocommerce-local-pickup-time-select' ), + '1440' => __( '24 hours', 'woocommerce-local-pickup-time-select' ), + '2160' => __( '36 hours', 'woocommerce-local-pickup-time-select' ), + '2880' => __( '48 hours', 'woocommerce-local-pickup-time-select' ), + '4320' => __( '3 days', 'woocommerce-local-pickup-time-select' ), + '7200' => __( '5 days', 'woocommerce-local-pickup-time-select' ), + '10080' => __( '1 week', 'woocommerce-local-pickup-time-select' ), + ), + ), + array( + 'title' => __( 'Pickup Time Open Days Ahead', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'Choose the number of open days ahead for allowing local pickup orders. This is inclusive of the current day, if timeslots are still available.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_days_ahead', + 'css' => 'width:100px;', + 'default' => '1', + 'type' => 'number', + 'input_attrs' => array( + 'min' => 0, + 'step' => 1, + ), + 'desc_tip' => true, + ), + array( + 'type' => 'sectionend', + 'id' => 'local_pickup_time_slots', + ), + array( + 'title' => __( 'Additional Settings', 'woocommerce-local-pickup-time-select' ), + 'type' => 'title', + 'desc' => __( 'The following options provide additional capabilities for customization.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_additional', + ), + array( + 'title' => __( 'Require Checkout Pickup Time?', 'woocommerce-local-pickup-time-select' ), + 'label' => __( 'Required', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This controls whether a Pickup Time is required during checkout.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'checkout_time_req', + 'type' => 'checkbox', + 'checkboxgroup' => 'start', + 'default' => 'yes', + 'desc_tip' => true, + ), + array( + 'title' => __( 'Limit to Local Pickup Shipping Methods?', 'woocommerce-local-pickup-time-select' ), + 'label' => __( 'Limit', 'woocommerce-local-pickup-time-select' ), + 'desc' => __( 'This controls whether Local Pickup Times are restricted to Local Shipping methods. This requires enabling "Pickup Time" on each individual Local Pickup Shipping method, within each Shiping Zone.', 'woocommerce-local-pickup-time-select' ), + 'id' => 'local_pickup_only', + 'type' => 'checkbox', + 'checkboxgroup' => 'start', + 'default' => 'no', + 'desc_tip' => true, + ), + array( + 'type' => 'sectionend', + 'id' => 'local_pickup_additional', + ), + ); + + return $plugin_settings; + + } + + return $settings; + + } + + /** + * Optionally adds the Local Pickup Time enabling option to a Local Pickup Shipping method. + * + * @since 0.0.0 + * + * @param array $shipping_methods An array of WC_Shipping methods. + * + * @return array + */ + public function shipping_methods_settings_override( $shipping_methods ) { + + if ( 'yes' === $this->plugin->get_local_pickup_only() ) { + foreach ( $shipping_methods as $shipping_method => $class_name ) { + if ( 'local_pickup' === $shipping_method ) { + add_filter( 'woocommerce_shipping_instance_form_fields_' . $shipping_method, array( $this, 'shipping_instance_form_add_extra_fields' ) ); + } + } + } + + return $shipping_methods; + + } + + /** + * Adds a Local Pickup Time flag to a shipping method. + * + * @since 0.0.0 + * + * @param array $fields The array of settings fields. + * + * @return array + */ + public function shipping_instance_form_add_extra_fields( $fields ) { + + $fields['wclpt_shipping_method_enabled'] = array( + 'title' => __( 'Pickup Time', 'woocommerce-local-pickup-time-select' ), + 'label' => __( 'Enable', 'woocommerce-local-pickup-time-select' ), + 'description' => __( 'This controls whether a Pickup Time is tied to the shipping method.', 'woocommerce-local-pickup-time-select' ), + 'type' => 'checkbox', + 'checkboxgroup' => 'start', + 'default' => 'no', + 'desc_tip' => true, ); - $merge = array(); + return $fields; + + } - foreach ( $updated_settings as $new_setting ) { - $merge = array_merge( $settings, $new_setting ); + /** + * Support processing the Local Pickup Time enabled option on Local Pickup shipping instances. + * + * @since 0.0.0 + * + * @param array $args The shipping method arguments. + * @param WC_Shipping_Method $shipping_method The WC_Shipping_Method instance object. + * + * @return array + */ + public function shipping_method_add_rate_pickup_time_args( $args, $shipping_method ) { + + if ( 'local_pickup' === $shipping_method->get_rate_id() ) { + $args['meta_data']['wclpt_shipping_method_enabled'] = $shipping_method->get_option( 'wclpt_shipping_method_enabled' ); } - return $merge; + return $args; + } /** diff --git a/composer.json b/composer.json index 250f38a..f6bd1bb 100644 --- a/composer.json +++ b/composer.json @@ -43,11 +43,11 @@ } ], "require": { - "php": ">=7.3.0", + "php": ">=7.4", "composer/installers": "~1.0" }, "require-dev": { - "php": ">=7.3.0", + "php": ">=7.4", "brain/monkey": "^2.4", "dealerdirect/phpcodesniffer-composer-installer": "~0.7", "johnpbloch/wordpress-core": "~5.7.0", @@ -75,20 +75,16 @@ }, "autoload": { "exclude-from-classmap": [ - "wordpress/wp-content/plugins/woocommerce/includes/legacy", - "wordpress/wp-content/plugins/woocommerce/includes/libraries/wp-async-request.php", - "wordpress/wp-content/plugins/woocommerce/packages", - "wordpress/wp-content/plugins/woocommerce/vendor", - "wordpress/wp-content/plugins/woocommerce-admin/vendor", - "wordpress/wp-content/plugins/woocommerce-blocks/vendor" + "wordpress/wp-content/plugins/" ] }, "autoload-dev": { "classmap": [ "woocommerce-local-pickup-time.php", - "admin/class-local-pickup-time-admin.php", - "public/class-local-pickup-time.php", - "wordpress/" + "admin/", + "public/", + "wordpress/", + "wordpress/wp-content/plugins/woocommerce/" ] }, "scripts": { diff --git a/composer.lock b/composer.lock index 41e4d71..bdf0d94 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "14c520f8b27d633049128ef85eaa912a", + "content-hash": "5269e8daf73229b39c64d601a1caccfd", "packages": [ { "name": "composer/installers", @@ -1414,16 +1414,16 @@ }, { "name": "johnpbloch/wordpress-core", - "version": "5.7.4", + "version": "5.7.6", "source": { "type": "git", "url": "https://github.com/johnpbloch/wordpress-core.git", - "reference": "08bd602d5d4fdd218570b77cd3a32558c949debd" + "reference": "8238ab07c57090815de2500a43f05e7790e9a6a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/johnpbloch/wordpress-core/zipball/08bd602d5d4fdd218570b77cd3a32558c949debd", - "reference": "08bd602d5d4fdd218570b77cd3a32558c949debd", + "url": "https://api.github.com/repos/johnpbloch/wordpress-core/zipball/8238ab07c57090815de2500a43f05e7790e9a6a3", + "reference": "8238ab07c57090815de2500a43f05e7790e9a6a3", "shasum": "" }, "require": { @@ -1431,7 +1431,7 @@ "php": ">=5.6.20" }, "provide": { - "wordpress/core-implementation": "5.7.4" + "wordpress/core-implementation": "5.7.6" }, "type": "wordpress-core", "notification-url": "https://packagist.org/downloads/", @@ -1458,7 +1458,7 @@ "source": "https://core.trac.wordpress.org/browser", "wiki": "https://codex.wordpress.org/" }, - "time": "2021-11-10T17:28:09+00:00" + "time": "2022-03-11T00:51:28+00:00" }, { "name": "johnpbloch/wordpress-core-installer", @@ -6395,15 +6395,15 @@ }, { "name": "wpackagist-plugin/woocommerce", - "version": "5.7.1", + "version": "5.7.2", "source": { "type": "svn", "url": "https://plugins.svn.wordpress.org/woocommerce/", - "reference": "tags/5.7.1" + "reference": "tags/5.7.2" }, "dist": { "type": "zip", - "url": "https://downloads.wordpress.org/plugin/woocommerce.5.7.1.zip" + "url": "https://downloads.wordpress.org/plugin/woocommerce.5.7.2.zip" }, "require": { "composer/installers": "^1.0 || ^2.0" @@ -6420,13 +6420,13 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=7.3.0" + "php": ">=7.4" }, "platform-dev": { - "php": ">=7.3.0" + "php": ">=7.4" }, "platform-overrides": { "php": "7.4" }, - "plugin-api-version": "2.1.0" + "plugin-api-version": "2.2.0" } diff --git a/package-lock.json b/package-lock.json index ccf36fe..2b030cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3557,6 +3557,16 @@ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, "bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -6610,6 +6620,13 @@ "integrity": "sha1-peeo/7+kk7Q7kju9TKiaU7Y7YSs=", "dev": true }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, "filesize": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", @@ -11054,6 +11071,13 @@ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, + "nan": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", + "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "dev": true, + "optional": true + }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -17441,9 +17465,9 @@ "dev": true }, "shelljs": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz", - "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", + "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", "dev": true, "requires": { "glob": "^7.0.0", @@ -19726,7 +19750,11 @@ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", "dev": true, - "optional": true + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } }, "glob-parent": { "version": "3.1.0", diff --git a/package.json b/package.json index 7abdce5..f6b9145 100644 --- a/package.json +++ b/package.json @@ -78,6 +78,7 @@ "setup:wp-core": "npm run wp -- \"core install --title='OpenID Connect WP - Development' --admin_user=admin --admin_password=password --admin_email=wordpress@example.com\"", "setup:wp-plugins": "npm run wp plugin activate wp-cfm", "setup:wp-config": "npm run wp config pull all", + "setup:wc-data": "npm run wp -- \"import wp-content/plugins/woocommerce/sample-data/sample_products.xml --authors=create\"", "build": "npm run grunt build", "build:i18n": "npm run grunt i18n", "release": "npm run grunt release", diff --git a/phpstan.neon.dist b/phpstan.neon.dist index 8dbc868..e8bec28 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -25,26 +25,16 @@ parameters: - public/ - ./ excludePaths: - - node_modules/ - - scripts/ - - tests/ - - tools/ - - vendor/ - - wordpress/ - scanFiles: - - wordpress/wp-content/plugins/woocommerce/includes/wc-core-functions.php - - wordpress/wp-content/plugins/woocommerce/includes/wc-formatting-functions.php - - wordpress/wp-content/plugins/woocommerce/includes/wc-conditional-functions.php - - wordpress/wp-content/plugins/woocommerce/includes/wc-attribute-functions.php - - wordpress/wp-content/plugins/woocommerce/includes/wc-cart-functions.php - - wordpress/wp-content/plugins/woocommerce/includes/wc-order-functions.php - - wordpress/wp-content/plugins/woocommerce/includes/wc-order-item-functions.php - - wordpress/wp-content/plugins/woocommerce/includes/wc-template-functions.php - - wordpress/wp-content/plugins/woocommerce/includes/wc-notice-functions.php - scanDirectories: - - wordpress/ - - wordpress/wp-content/plugins/woocommerce/includes/ + analyse: + - node_modules/ + - scripts/ + - tests/ + - tools/ + - vendor/ + - wordpress/ ignoreErrors: + # Not able to properly typecast in public/class-local-pickup-time.php:834 + - '#^Cannot access offset .*wclpt_shipping.* on mixed\.$#' # Uses func_get_args() - '#^Function apply_filters(_ref_array)? invoked with [34567] parameters, 2 required\.$#' # Fixed in WordPress 5.3 diff --git a/public/class-local-pickup-time.php b/public/class-local-pickup-time.php index 957a6e4..716819e 100644 --- a/public/class-local-pickup-time.php +++ b/public/class-local-pickup-time.php @@ -94,6 +94,33 @@ class Local_Pickup_Time { */ protected $wp_timezone = null; + /** + * Configured checkout time selection required setting. Default: 'yes'. + * + * @since 0.0.0 + * + * @var string + */ + protected $checkout_time_req = 'yes'; + + /** + * Configured Local Pickup Shipping method only setting. Default: 'no'. + * + * @since 0.0.0 + * + * @var string + */ + protected $local_pickup_only = 'no'; + + /** + * Legacy Local Pickup Time checkout display flag. Default: false. + * + * @since 0.0.0 + * + * @var boolean + */ + protected $is_legacy_local_pickup_display = false; + /** * Order meta key for storing Local Pickup Time. * @@ -139,10 +166,12 @@ class Local_Pickup_Time { private function __construct() { // Load WordPress date/time formats. - $this->date_format = strval( get_option( 'date_format', $this->date_format ) ); - $this->time_format = strval( get_option( 'time_format', $this->time_format ) ); - $this->gmt_offset = intval( get_option( 'gmt_offset', $this->gmt_offset ) ); - $this->timezone = strval( get_option( 'timezone_string', $this->timezone ) ); + $this->date_format = strval( get_option( 'date_format', $this->date_format ) ); + $this->time_format = strval( get_option( 'time_format', $this->time_format ) ); + $this->gmt_offset = intval( get_option( 'gmt_offset', $this->gmt_offset ) ); + $this->timezone = strval( get_option( 'timezone_string', $this->timezone ) ); + $this->checkout_time_req = strval( get_option( 'checkout_time_req', $this->checkout_time_req ) ); + $this->local_pickup_only = strval( get_option( 'local_pickup_only', $this->local_pickup_only ) ); // Make sure we have a time zone set. if ( empty( $this->timezone ) ) { @@ -162,8 +191,14 @@ private function __construct() { add_action( 'wpmu_new_blog', array( $this, 'activate_new_site' ) ); // Add the local pickup time field to the checkout page. - $public_hooked_location = apply_filters( 'local_pickup_time_select_location', 'woocommerce_after_order_notes' ); - add_action( $public_hooked_location, array( $this, 'time_select' ) ); + // Legacy plugin fallback will be to put the Pickup Time selextion after the Order Notes, or where a filter dictates. + if ( 'no' === $this->local_pickup_only ) { + $this->is_legacy_local_pickup_display = true; + $public_hooked_location = apply_filters( 'local_pickup_time_select_location', 'woocommerce_after_order_notes' ); + add_action( $public_hooked_location, array( $this, 'time_select' ) ); + } else { + add_action( 'woocommerce_after_shipping_rate', array( $this, 'add_checkout_local_pickup_time' ) ); + } // Process the checkout. add_action( 'woocommerce_checkout_process', array( $this, 'field_process' ) ); @@ -259,7 +294,7 @@ public function get_timezone() { } /** - * Return the plugin timezone as a DateTimeZone object.. + * Return the plugin timezone as a DateTimeZone object. * * @since 1.3.12 * @@ -271,6 +306,44 @@ public function get_wp_timezone() { } + /** + * Return the plugin pickup time required during checkout setting. + * + * @since 0.0.0 + * + * @return string + */ + public function get_checkout_time_required() { + + return $this->checkout_time_req; + + } + + /** + * Return the plugin pickup time only on Local Pickup Shipping methods setting. + * + * @since 0.0.0 + * + * @return string + */ + public function get_local_pickup_only() { + + return $this->local_pickup_only; + + } + + /** Return the plugin checkout pickup time legacy display flag. + * + * @since 0.0.0 + * + * @return boolean + */ + public function get_is_legacy_local_pickup_display() { + + return $this->is_legacy_local_pickup_display; + + } + /** * Return the plugin order meta key used for storing the Local Pickup Time. * @@ -552,7 +625,7 @@ public function get_pickup_time_options() { $pickup_datetime->modify( '+' . strval( $delay_minutes ) . ' minute' ); // Setup options array with empty first item. - $pickup_options[''] = __( 'Select time', 'woocommerce-local-pickup-time-select' ); + $pickup_options[''] = ''; // Initialize firt interval state. $first_interval = true; @@ -672,7 +745,7 @@ public function get_pickup_time_intervals( $pickup_timestamp, $minutes_interval, } /** - * Add the local pickup time field to the checkout page. + * Add the local pickup time field to the checkout page. (Legacy Method) * * @since 1.0.0 * @@ -682,37 +755,108 @@ public function get_pickup_time_intervals( $pickup_timestamp, $minutes_interval, */ public function time_select( $checkout ) { + _deprecated_function( __FUNCTION__, '1.4.0', 'add_checkout_local_pickup_time()' ); + + $checkout_shipping_method = null; + $is_local_shipping = false; + + // @var string|array $chosen_shipping_methods + $chosen_shipping_methods = WC()->session->get( 'chosen_shipping_methods' ); + if ( ! empty( $chosen_shipping_methods ) ) { + if ( ! is_array( $chosen_shipping_methods ) ) { + $chosen_shipping_methods = array( $chosen_shipping_methods ); + } + foreach ( $chosen_shipping_methods as $shipping_method ) { + if ( strpos( $shipping_method, 'local_pickup' ) !== false ) { + $checkout_shipping_method = new WC_Shipping_Rate( explode( ':', $shipping_method )[1] ); + $is_local_shipping = true; + } + } + } + + if ( 'yes' === $this->get_local_pickup_only() && ! $is_local_shipping ) { + return; + } + + $this->add_checkout_local_pickup_time( $checkout_shipping_method ); + + } + + /** + * Add the local pickup time field to the checkout page. + * + * @since 0.0.0 + * + * @param WC_Shipping_Rate|null $rate The shipping rate object. + * + * @return void + */ + public function add_checkout_local_pickup_time( $rate ) { + + if ( ! $this->get_is_legacy_local_pickup_display() && ! empty( $rate ) ) { + + // We don't want to output the pickup time in the cart. + if ( is_cart() ) { + return; + } + + if ( did_action( 'woocommerce_review_order_after_shipping' ) > 1 ) { + return; + } + + if ( strpos( $rate->get_id(), 'local_pickup' ) === false ) { + return; + } + + $is_local_shipping = false; + + // @var string|array $chosen_shipping_methods + $chosen_shipping_methods = WC()->session->get( 'chosen_shipping_methods' ); + if ( ! empty( $chosen_shipping_methods ) ) { + if ( ! is_array( $chosen_shipping_methods ) ) { + $chosen_shipping_methods = array( $chosen_shipping_methods ); + } + foreach ( $chosen_shipping_methods as $shipping_method ) { + if ( strpos( $shipping_method, 'local_pickup' ) !== false ) { + $is_local_shipping = true; + } + } + } + + if ( 'yes' === $this->get_local_pickup_only() && ! $is_local_shipping ) { + return; + } + + $rate_settings = get_option( 'woocommerce_' . $rate->get_method_id() . '_' . $rate->get_instance_id() . '_settings', array() ); + $is_local_pickup_time_enabled = ! empty( $rate_settings['wclpt_shipping_method_enabled'] ) ? $rate_settings['wclpt_shipping_method_enabled'] : 'no'; + + if ( 'yes' === $this->get_local_pickup_only() && 'yes' !== $is_local_pickup_time_enabled ) { + return; + } + } + + $checkout = WC()->checkout(); + $allowed_html = array( 'div' => array( 'id' => array(), ), - 'h2' => array(), ); - echo wp_kses( '

' . __( 'Pickup Time', 'woocommerce-local-pickup-time-select' ) . '

', $allowed_html ); + echo wp_kses( '
', $allowed_html ); woocommerce_form_field( $this->get_order_post_key(), array( 'type' => 'select', - 'class' => array( 'local-pickup-time-select-field form-row-wide' ), + 'class' => array( 'local-pickup-time-select-field', 'form-row-wide' ), 'label' => __( 'Pickup Time', 'woocommerce-local-pickup-time-select' ), - 'required' => true, + 'required' => ( 'yes' === $this->get_checkout_time_required() ) ? true : false, 'options' => $this->get_pickup_time_options(), ), $checkout->get_value( $this->get_order_post_key() ) ); - $allowed_html = array( - 'input' => array( - 'type' => array(), - 'class' => array(), - 'name' => array(), - 'id' => array(), - 'value' => array(), - ), - ); - wp_nonce_field( $this->get_order_pickup_time_action_key(), $this->get_order_pickup_time_nonce_key() ); echo '
'; diff --git a/readme.txt b/readme.txt index b9c98a2..2a36832 100644 --- a/readme.txt +++ b/readme.txt @@ -3,7 +3,7 @@ Contributors: tnolte, mjbanks, vyskoczilova Donate link: https://www.ndigitals.com/donate/ Tags: woocommcerce, shipping, local pickup, checkout fields, ecommerce, e-commerce, wordpress ecommerce Requires at least: 4.9 -Tested up to: 5.6.0 +Tested up to: 5.7.4 Stable tag: 1.3.13 Requires PHP: 7.2 License: GPLv2 or later @@ -66,10 +66,10 @@ The location, by default, is hooked to `woocommerce_admin_order_data_after_billi == Screenshots == 1. Frontend Display on Checkout Page -2. Backend Settings Screen - Part 1 -3. Backend Settings Screen - Part 2 -4. Backend Order Listing Includes Pickup Date/Time -5. Backend Order Details Screen Includes Pickup Date/Time +2. Shipping Settings -> Local Pickup Time Settings Screen +3. Local Pickup Shipping Method Settings Screen +4. Order Listing Includes Pickup Date/Time +5. Order Details Screen Includes Pickup Date/Time == Changelog == diff --git a/tests/phpstan-bootstrap.php b/tests/phpstan-bootstrap.php index 046788e..fdb9498 100644 --- a/tests/phpstan-bootstrap.php +++ b/tests/phpstan-bootstrap.php @@ -14,3 +14,6 @@ // Define WordPress language directory. defined( 'WP_LANG_DIR' ) || define( 'WP_LANG_DIR', 'wordpress/wp-includes/languages/' ); + +// Define Plugin base directory. +defined( 'WCLOCALPICKUPTIME_PLUGIN_BASE' ) || define( 'WCLOCALPICKUPTIME_PLUGIN_BASE', '.' ); diff --git a/tools/local-env/config/active_plugins.yaml b/tools/local-env/config/active_plugins.yaml index 3a16171..eeb0666 100644 --- a/tools/local-env/config/active_plugins.yaml +++ b/tools/local-env/config/active_plugins.yaml @@ -8,6 +8,7 @@ active_plugins: - woocommerce-blocks/woocommerce-gutenberg-products-block.php - woocommerce-local-pickup-time/woocommerce-local-pickup-time.php - woocommerce/woocommerce.php + - wordpress-importer/wordpress-importer.php - wp-cfm/wp-cfm.php .label: 'Active Plugins' .active_plugins_format: serialized diff --git a/tools/local-env/config/active_theme.yaml b/tools/local-env/config/active_theme.yaml index 56c5d1d..87913ef 100644 --- a/tools/local-env/config/active_theme.yaml +++ b/tools/local-env/config/active_theme.yaml @@ -1,2 +1,21 @@ current_theme: Storefront +current_theme_supports_woocommerce: 'yes' +stylesheet: storefront +theme_mods_storefront: + 0: false + nav_menu_locations: { } + custom_css_post_id: -1 + sidebars_widgets: + time: 1649018746 + data: + wp_inactive_widgets: { } + sidebar-1: + - search-2 + - recent-posts-2 + - recent-comments-2 + - archives-2 + - categories-2 + - meta-2 + sidebar-2: { } .label: 'Active Theme' +.theme_mods_storefront_format: serialized diff --git a/tools/local-env/mu-plugins/phpmailer-mailhog.php b/tools/local-env/mu-plugins/phpmailer-mailhog.php index 590a4ed..4913396 100644 --- a/tools/local-env/mu-plugins/phpmailer-mailhog.php +++ b/tools/local-env/mu-plugins/phpmailer-mailhog.php @@ -34,4 +34,10 @@ function mailhog_phpmailer_setup( PHPMailer $phpmailer ) { } -add_action( 'phpmailer_init', 'mailhog_phpmailer_setup', 10, 2 ); +/** + * Disabled due to the limitation of setting up a MailHog Docker container with @wordpress/env. + * + * @todo Figure out a way to attach a MailHog Docker container to the @wordpress/env Docker containers. + * + * add_action( 'phpmailer_init', 'mailhog_phpmailer_setup', 10, 2 ); + */ diff --git a/woocommerce-local-pickup-time.php b/woocommerce-local-pickup-time.php index ea94d64..4b32a5e 100644 --- a/woocommerce-local-pickup-time.php +++ b/woocommerce-local-pickup-time.php @@ -13,6 +13,8 @@ * Plugin URI: https://github.com/WC-Local-Pickup/woocommerce-local-pickup-time * Description: Add an an option to WooCommerce checkout pages for Local Pickup that allows the user to choose a pickup time. * Version: 1.3.13 + * Requires at least: 4.9 + * Requires PHP: 7.2 * Author: Tim Nolte * Author URI: https://www.ndigitals.com/ * Text Domain: woocommerce-local-pickup-time-select @@ -21,7 +23,7 @@ * Domain Path: /languages * GitHub Plugin URI: https://github.com/WC-Local-Pickup/woocommerce-local-pickup-time * WC requires at least: 4.0.0 - * WC tested up to: 4.7.2 + * WC tested up to: 5.7.2 */ /** @@ -37,6 +39,8 @@ */ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ), true ) ) { + defined( 'WCLOCALPICKUPTIME_PLUGIN_BASE' ) || define( 'WCLOCALPICKUPTIME_PLUGIN_BASE', plugin_basename( __FILE__ ) ); + /** * ---------------------------------------------------------------------------- * Public-Facing Functionality @@ -69,7 +73,7 @@ /** * Require admin functionality */ - if ( is_admin() && ( ! defined( 'DOING_AJAX' ) || ! DOING_AJAX ) ) { + if ( is_admin() ) { require_once( plugin_dir_path( __FILE__ ) . 'admin/class-local-pickup-time-admin.php' ); add_action( 'plugins_loaded', array( 'Local_Pickup_Time_Admin', 'get_instance' ) ); From f833f23a3291494b2940e0ac8f5aaf2be169422d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Apr 2022 01:15:54 -0400 Subject: [PATCH 05/18] Bump hosted-git-info from 2.8.8 to 2.8.9 (#130) Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9. - [Release notes](https://github.com/npm/hosted-git-info/releases) - [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md) - [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> From 2f5d6ad789efc55d43e7dcd47c017a7503bf737b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Apr 2022 01:16:37 -0400 Subject: [PATCH 06/18] Bump minimist from 1.2.5 to 1.2.6 (#146) Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6. - [Release notes](https://github.com/substack/minimist/releases) - [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6) --- updated-dependencies: - dependency-name: minimist dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2b030cb..4fefb69 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10882,9 +10882,9 @@ } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "minimist-options": { @@ -13244,11 +13244,6 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.5", - "bundled": true, - "dev": true - }, "minizlib": { "version": "1.3.3", "bundled": true, @@ -13291,13 +13286,6 @@ "dev": true, "requires": { "minimist": "^1.2.5" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "bundled": true, - "dev": true - } } }, "move-concurrently": { From 67330a407b2d2201adf994467c20bc31af74f1a8 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 4 Apr 2022 01:33:15 -0400 Subject: [PATCH 07/18] Update @ndigitals/grunt-checkrepo to version 0.2.3 (#143) Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> --- package-lock.json | 126 ++++++++++++++++++++++++---------------------- package.json | 2 +- 2 files changed, 66 insertions(+), 62 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4fefb69..b3e2f4a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1632,13 +1632,13 @@ "dev": true }, "@ndigitals/grunt-checkrepo": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@ndigitals/grunt-checkrepo/-/grunt-checkrepo-0.2.2.tgz", - "integrity": "sha512-08yofdHGqB6kzmKMIzwvJvVDPWtCxZBWSR30mxKnYMzEzee5RI3zImbNHNgwrjRK31y1pyGaZm9Gz0W1hsttvQ==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@ndigitals/grunt-checkrepo/-/grunt-checkrepo-0.2.3.tgz", + "integrity": "sha512-YkIoweeYRA5UkgAQ0jkoewC51o/vGYNLL1HoDYgYtVdVEDGIdOzSJ+H4euYmzuhiVn9ixQnqpNpzqFaVjrdjYw==", "dev": true, "requires": { "semver": "~6.3.0", - "shelljs": "~0.8.0" + "shelljs": "^0.8.5" } }, "@nodelib/fs.scandir": { @@ -2010,12 +2010,6 @@ "@types/unist": "*" } }, - "@types/mime-types": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.1.tgz", - "integrity": "sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==", - "dev": true - }, "@types/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", @@ -2196,16 +2190,6 @@ "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", "dev": true }, - "@types/yauzl": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", - "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", - "dev": true, - "optional": true, - "requires": { - "@types/node": "*" - } - }, "@typescript-eslint/experimental-utils": { "version": "2.34.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", @@ -2735,6 +2719,18 @@ "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" + }, + "dependencies": { + "@types/yauzl": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", + "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + } } }, "has-flag": { @@ -2743,6 +2739,12 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "prettier": { + "version": "npm:wp-prettier@2.2.1-beta-1", + "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.2.1-beta-1.tgz", + "integrity": "sha512-+JHkqs9LC/JPp51yy1hzs3lQ7qeuWCwOcSzpQNeeY/G7oSpnF61vxt7hRh87zNRTr6ob2ndy0W8rVzhgrcA+Gw==", + "dev": true + }, "puppeteer": { "version": "npm:puppeteer-core@3.0.0", "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-3.0.0.tgz", @@ -2761,6 +2763,46 @@ "tar-fs": "^2.0.0", "unbzip2-stream": "^1.3.3", "ws": "^7.2.3" + }, + "dependencies": { + "@types/mime-types": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.1.tgz", + "integrity": "sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==", + "dev": true + }, + "https-proxy-agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", + "dev": true, + "requires": { + "agent-base": "5", + "debug": "4" + } + }, + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + } } }, "rimraf": { @@ -8049,16 +8091,6 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, - "https-proxy-agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", - "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", - "dev": true, - "requires": { - "agent-base": "5", - "debug": "4" - } - }, "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -15957,12 +15989,6 @@ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true }, - "prettier": { - "version": "npm:wp-prettier@2.2.1-beta-1", - "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.2.1-beta-1.tgz", - "integrity": "sha512-+JHkqs9LC/JPp51yy1hzs3lQ7qeuWCwOcSzpQNeeY/G7oSpnF61vxt7hRh87zNRTr6ob2ndy0W8rVzhgrcA+Gw==", - "dev": true - }, "prettier-linter-helpers": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", @@ -17453,9 +17479,9 @@ "dev": true }, "shelljs": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", - "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "dev": true, "requires": { "glob": "^7.0.0", @@ -18589,18 +18615,6 @@ } } }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, "tar-stream": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", @@ -19049,16 +19063,6 @@ "which-boxed-primitive": "^1.0.2" } }, - "unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dev": true, - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, "unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", diff --git a/package.json b/package.json index f6b9145..42de9b3 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ }, "devDependencies": { "@floatwork/grunt-po2mo": "^0.3.0", - "@ndigitals/grunt-checkrepo": "^0.2.0", + "@ndigitals/grunt-checkrepo": "^0.2.3", "@wordpress/env": "4.0.5", "@wordpress/scripts": "~12.6.1", "check-node-version": "~4.1.0", From 45c1b5354a839a2222247a2476f70f2eb9e8a8d3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Apr 2022 01:46:27 -0400 Subject: [PATCH 08/18] Bump ws from 6.2.1 to 6.2.2 (#147) Bumps [ws](https://github.com/websockets/ws) from 6.2.1 to 6.2.2. - [Release notes](https://github.com/websockets/ws/releases) - [Commits](https://github.com/websockets/ws/compare/6.2.1...6.2.2) --- updated-dependencies: - dependency-name: ws dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index b3e2f4a..29f11aa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16208,9 +16208,9 @@ } }, "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", "dev": true, "requires": { "async-limiter": "~1.0.0" @@ -20238,9 +20238,9 @@ } }, "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", "dev": true, "requires": { "async-limiter": "~1.0.0" @@ -20704,9 +20704,9 @@ } }, "ws": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", - "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", + "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", "dev": true }, "x-is-string": { From d0f56d754231bcf67ec6b6ddea0a18165d167e82 Mon Sep 17 00:00:00 2001 From: Tim Nolte Date: Mon, 4 Apr 2022 21:57:12 -0400 Subject: [PATCH 09/18] Upgrades PHPStan & Fixes New Static Analysis Issues --- composer.lock | 19 +++++++------------ phpstan.neon.dist | 2 -- public/class-local-pickup-time.php | 15 +++++++++++++-- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/composer.lock b/composer.lock index bdf0d94..dad1562 100644 --- a/composer.lock +++ b/composer.lock @@ -2738,20 +2738,20 @@ }, { "name": "phpstan/phpstan", - "version": "1.2.0", + "version": "1.5.4", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "cbe085f9fdead5b6d62e4c022ca52dc9427a10ee" + "reference": "bbf68cae24f6dc023c607ea0f87da55dd9d55c2b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/cbe085f9fdead5b6d62e4c022ca52dc9427a10ee", - "reference": "cbe085f9fdead5b6d62e4c022ca52dc9427a10ee", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/bbf68cae24f6dc023c607ea0f87da55dd9d55c2b", + "reference": "bbf68cae24f6dc023c607ea0f87da55dd9d55c2b", "shasum": "" }, "require": { - "php": "^7.1|^8.0" + "php": "^7.2|^8.0" }, "conflict": { "phpstan/phpstan-shim": "*" @@ -2761,11 +2761,6 @@ "phpstan.phar" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2-dev" - } - }, "autoload": { "files": [ "bootstrap.php" @@ -2778,7 +2773,7 @@ "description": "PHPStan - PHP Static Analysis Tool", "support": { "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.2.0" + "source": "https://github.com/phpstan/phpstan/tree/1.5.4" }, "funding": [ { @@ -2798,7 +2793,7 @@ "type": "tidelift" } ], - "time": "2021-11-18T14:09:01+00:00" + "time": "2022-04-03T12:39:00+00:00" }, { "name": "phpunit/php-code-coverage", diff --git a/phpstan.neon.dist b/phpstan.neon.dist index e8bec28..6a645ed 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -33,8 +33,6 @@ parameters: - vendor/ - wordpress/ ignoreErrors: - # Not able to properly typecast in public/class-local-pickup-time.php:834 - - '#^Cannot access offset .*wclpt_shipping.* on mixed\.$#' # Uses func_get_args() - '#^Function apply_filters(_ref_array)? invoked with [34567] parameters, 2 required\.$#' # Fixed in WordPress 5.3 diff --git a/public/class-local-pickup-time.php b/public/class-local-pickup-time.php index 716819e..add6fb2 100644 --- a/public/class-local-pickup-time.php +++ b/public/class-local-pickup-time.php @@ -630,7 +630,11 @@ public function get_pickup_time_options() { // Initialize firt interval state. $first_interval = true; - // Build options. + /* + * Build options. + * + * @var integer $days + */ for ( $days = 1; $days <= $num_days_ahead; $days++ ) { // Get the day's opening and closing times. @@ -659,6 +663,7 @@ public function get_pickup_time_options() { } else { // Rollback the days counter to ensure the number of days ahead reflect number of open days. + /* @phpstan-ignore-next-line */ $days = ( $days < 1 ) ? 0 : $days - 1; } @@ -734,9 +739,13 @@ public function get_pickup_time_intervals( $pickup_timestamp, $minutes_interval, ? new DatePeriod( $pickup_start_datetime, ( new DateInterval( 'PT' . $minutes_interval . 'M' ) ), $pickup_end_datetime ) : new DatePeriod( $pickup_open_datetime, ( new DateInterval( 'PT' . $minutes_interval . 'M' ) ), $pickup_end_datetime ); + /* + * @var DatePeriod $pickup_dateperiod + * @var DateTime $pickup_datetime + */ foreach ( $pickup_dateperiod as $pickup_datetime ) { - $pickup_day_options[ "{$pickup_datetime->getTimestamp()}" ] = $this->pickup_time_select_translatable( $pickup_datetime->getTimestamp(), ' @ ' ); + $pickup_day_options[ "{$pickup_datetime->getTimestamp()}" ] = $this->pickup_time_select_translatable( strval( $pickup_datetime->getTimestamp() ), ' @ ' ); } @@ -828,6 +837,7 @@ public function add_checkout_local_pickup_time( $rate ) { } $rate_settings = get_option( 'woocommerce_' . $rate->get_method_id() . '_' . $rate->get_instance_id() . '_settings', array() ); + /* @phpstan-ignore-next-line */ $is_local_pickup_time_enabled = ! empty( $rate_settings['wclpt_shipping_method_enabled'] ) ? $rate_settings['wclpt_shipping_method_enabled'] : 'no'; if ( 'yes' === $this->get_local_pickup_only() && 'yes' !== $is_local_pickup_time_enabled ) { @@ -936,6 +946,7 @@ public function update_order_email_fields( $fields, $sent_to_admin, $order ) { * * @param string $value The pickup time meta value for an order. * @param string $separator The separator to use between the date & the time. (Default = ' '). + * * @return string The translated value of the order pickup time. */ public function pickup_time_select_translatable( $value, $separator = ' ' ) { From 17d3c7a028979565466ac4c206863e3287cec313 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 5 Apr 2022 21:03:49 -0400 Subject: [PATCH 10/18] Update szepeviktor/phpstan-wordpress to version 1.0.4 (#149) Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> --- composer.lock | 49 +++++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/composer.lock b/composer.lock index dad1562..e6fb6b6 100644 --- a/composer.lock +++ b/composer.lock @@ -2052,24 +2052,25 @@ }, { "name": "php-stubs/wordpress-stubs", - "version": "v5.7.4", + "version": "v5.7.5", "source": { "type": "git", "url": "https://github.com/php-stubs/wordpress-stubs.git", - "reference": "9d8e09f3c6e099f11b98551412f8bb4239a43f8e" + "reference": "b7aba1025517470210e031028a83bf70f9902836" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/9d8e09f3c6e099f11b98551412f8bb4239a43f8e", - "reference": "9d8e09f3c6e099f11b98551412f8bb4239a43f8e", + "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/b7aba1025517470210e031028a83bf70f9902836", + "reference": "b7aba1025517470210e031028a83bf70f9902836", "shasum": "" }, "replace": { "giacocorsiglia/wordpress-stubs": "*" }, "require-dev": { - "giacocorsiglia/stubs-generator": "^0.5.0", - "php": "~7.1" + "nikic/php-parser": "< 4.12.0", + "php": "~7.3 || ~8.0", + "php-stubs/generator": "^0.7.0" }, "suggest": { "paragonie/sodium_compat": "Pure PHP implementation of libsodium", @@ -2090,9 +2091,9 @@ ], "support": { "issues": "https://github.com/php-stubs/wordpress-stubs/issues", - "source": "https://github.com/php-stubs/wordpress-stubs/tree/v5.7.4" + "source": "https://github.com/php-stubs/wordpress-stubs/tree/v5.7.5" }, - "time": "2021-11-11T13:56:27+00:00" + "time": "2022-01-18T13:17:29+00:00" }, { "name": "phpcompatibility/php-compatibility", @@ -5457,16 +5458,16 @@ }, { "name": "symfony/polyfill-php73", - "version": "v1.23.0", + "version": "v1.25.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010" + "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010", - "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/cc5db0e22b3cb4111010e48785a97f670b350ca5", + "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5", "shasum": "" }, "require": { @@ -5483,12 +5484,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -5516,7 +5517,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.25.0" }, "funding": [ { @@ -5532,7 +5533,7 @@ "type": "tidelift" } ], - "time": "2021-02-19T12:13:01+00:00" + "time": "2021-06-05T21:20:04+00:00" }, { "name": "symfony/polyfill-php80", @@ -5914,16 +5915,16 @@ }, { "name": "szepeviktor/phpstan-wordpress", - "version": "v1.0.2", + "version": "v1.0.4", "source": { "type": "git", "url": "https://github.com/szepeviktor/phpstan-wordpress.git", - "reference": "d44b5abcaa529698e138b2d21bc2a7cf9834039c" + "reference": "42d1c4c9bf440919c0b1585d9ae75f5c8eebf02b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/d44b5abcaa529698e138b2d21bc2a7cf9834039c", - "reference": "d44b5abcaa529698e138b2d21bc2a7cf9834039c", + "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/42d1c4c9bf440919c0b1585d9ae75f5c8eebf02b", + "reference": "42d1c4c9bf440919c0b1585d9ae75f5c8eebf02b", "shasum": "" }, "require": { @@ -5933,7 +5934,7 @@ "symfony/polyfill-php73": "^1.12.0" }, "require-dev": { - "composer/composer": "^1.10.23", + "composer/composer": "^2.1.12", "dealerdirect/phpcodesniffer-composer-installer": "^0.7", "php-parallel-lint/php-parallel-lint": "^1.1", "phpstan/phpstan-strict-rules": "^1.0", @@ -5967,7 +5968,7 @@ ], "support": { "issues": "https://github.com/szepeviktor/phpstan-wordpress/issues", - "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v1.0.2" + "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v1.0.4" }, "funding": [ { @@ -5975,7 +5976,7 @@ "type": "custom" } ], - "time": "2021-11-19T12:47:11+00:00" + "time": "2022-04-02T19:52:14+00:00" }, { "name": "theseer/tokenizer", From d881964b8f3b6662e27f05c063353ccce37aa935 Mon Sep 17 00:00:00 2001 From: Tim Nolte Date: Fri, 29 Apr 2022 23:34:01 -0400 Subject: [PATCH 11/18] Adds New Ready for Pickup Order Status & Customer Email (#154) * Adds a new Order Status of "Ready for Pickup". * Adds a new email actions & email templates used when an order is marked "Ready for Pickup". * Updates code quality checks & local development tooling. * Updates GitHub workflow jobs names. --- .github/workflows/i18n.yml | 3 +- .github/workflows/linting.yml | 3 +- .github/workflows/pr-unit-testing.yml | 2 +- .github/workflows/static-analysis.yml | 3 +- .github/workflows/unit-testing.yml | 19 ++- .wp-env.json | 1 + admin/class-local-pickup-time-admin.php | 99 ++++++++++++ ...-email-customer-ready-for-pickup-order.php | 153 ++++++++++++++++++ composer.json | 17 +- composer.lock | 151 +++++++++++------ package.json | 5 +- phpstan.neon.dist | 4 + .../customer-ready-for-pickup-order.php | 77 +++++++++ .../plain/customer-ready-for-pickup-order.php | 67 ++++++++ tests/phpstan-bootstrap.php | 3 + woocommerce-local-pickup-time.php | 1 + 16 files changed, 538 insertions(+), 70 deletions(-) create mode 100644 admin/emails/class-wc-email-customer-ready-for-pickup-order.php create mode 100644 templates/emails/customer-ready-for-pickup-order.php create mode 100644 templates/emails/plain/customer-ready-for-pickup-order.php diff --git a/.github/workflows/i18n.yml b/.github/workflows/i18n.yml index 3e40082..8ac94df 100644 --- a/.github/workflows/i18n.yml +++ b/.github/workflows/i18n.yml @@ -5,7 +5,6 @@ on: push: branches: - develop - - main - 'release/**' - 'feature/**' - 'fix/**' @@ -15,7 +14,7 @@ env: jobs: check: - name: Setup & Check + name: Setup & Check Internationalization runs-on: ubuntu-latest diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index bd3ba51..b05b009 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -5,7 +5,6 @@ on: push: branches: - develop - - main - 'release/**' - 'feature/**' - 'fix/**' @@ -16,7 +15,7 @@ env: jobs: check: - name: Setup & Check + name: Setup & Check Coding Standards runs-on: ubuntu-latest diff --git a/.github/workflows/pr-unit-testing.yml b/.github/workflows/pr-unit-testing.yml index 5df6d60..63819d4 100644 --- a/.github/workflows/pr-unit-testing.yml +++ b/.github/workflows/pr-unit-testing.yml @@ -20,7 +20,7 @@ jobs: fail-fast: false matrix: include: - - job-name: 'Latest Stable Requirements' + - job-name: 'Unit Test Latest Stable Requirements' bleeding-edge: false php-version: '7.4' wordpress-version: '5.7.*' diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml index 66a9d9d..e168933 100644 --- a/.github/workflows/static-analysis.yml +++ b/.github/workflows/static-analysis.yml @@ -5,7 +5,6 @@ on: push: branches: - develop - - main - 'release/**' - 'feature/**' - 'fix/**' @@ -16,7 +15,7 @@ env: jobs: check: - name: Setup & Check + name: Setup & Perform Static Analysis runs-on: ubuntu-latest diff --git a/.github/workflows/unit-testing.yml b/.github/workflows/unit-testing.yml index aa23ce8..466d03d 100644 --- a/.github/workflows/unit-testing.yml +++ b/.github/workflows/unit-testing.yml @@ -7,7 +7,6 @@ on: push: branches: - develop - - main env: PHP_MIN_VERSION: '7.2' @@ -31,37 +30,37 @@ jobs: fail-fast: false matrix: include: - - job-name: 'Latest Stable Requirements' + - job-name: 'Unit Test Latest Stable Requirements' bleeding-edge: false php-version: '7.4' wordpress-version: '5.8.*' wp-multisite-mode: 0 woocommerce-version: '6.*' - - job-name: 'Preferred Stable Requirements' + - job-name: 'Unit Test Preferred Stable Requirements' bleeding-edge: false php-version: '7.4' wordpress-version: '5.7.*' wp-multisite-mode: 0 woocommerce-version: '5.*' - - job-name: 'Preferred Minimum Requirements' + - job-name: 'Unit Test Preferred Minimum Requirements' bleeding-edge: false php-version: '7.3' wordpress-version: '5.6.*' wp-multisite-mode: 0 woocommerce-version: '4.8.*' - - job-name: 'Minimum Requirements' + - job-name: 'Unit Test Minimum Requirements' bleeding-edge: false php-version: '7.2' wordpress-version: '5.5.*' wp-multisite-mode: 0 woocommerce-version: '4.6.*' - - job-name: 'Bleeding Edge Requirements' + - job-name: 'Unit Test Bleeding Edge Requirements' bleeding-edge: true php-version: '7.4' wordpress-version: 'dev-master' wp-multisite-mode: 0 woocommerce-version: 'dev-master' - - job-name: 'Multisite Compatibility Requirements' + - job-name: 'Unit Test Multisite Compatibility Requirements' bleeding-edge: false php-version: '7.4' wordpress-version: '5.7.*' @@ -102,9 +101,15 @@ jobs: - name: Require Specified WordPress Version run: composer require johnpbloch/wordpress-core:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies + - name: Require Specified WordPress Stubs Version + run: composer require php-stubs/wordpress-stubs:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies + - name: Require Specified WooCommerce Version run: composer require woocommerce/woocommerce:${{ matrix.woocommerce-version }} --dev --prefer-source --update-with-all-dependencies + - name: Require Specified WooCommerce Stubs Version + run: composer require php-stubs/woocommerce-stubs:${{ matrix.woocommerce-version }} --dev --prefer-source --update-with-all-dependencies + - name: Require Specified WooCommerce Admin Version if: matrix.woocommerce-version == 'dev-master' run: composer require woocommerce/woocommerce-admin:v1.3.0-beta.1 --dev --prefer-source --update-with-all-dependencies diff --git a/.wp-env.json b/.wp-env.json index b811b35..5f43ff0 100644 --- a/.wp-env.json +++ b/.wp-env.json @@ -16,6 +16,7 @@ "https://downloads.wordpress.org/plugin/debug-bar-post-meta.zip", "https://downloads.wordpress.org/plugin/transients-manager.zip", "https://downloads.wordpress.org/plugin/wp-cfm.zip", + "https://downloads.wordpress.org/plugin/wp-mail-logging.zip", "https://downloads.wordpress.org/plugin/wordpress-importer.zip" ], "themes": ["https://downloads.wordpress.org/theme/storefront.zip"] diff --git a/admin/class-local-pickup-time-admin.php b/admin/class-local-pickup-time-admin.php index 47e8693..3b421cf 100644 --- a/admin/class-local-pickup-time-admin.php +++ b/admin/class-local-pickup-time-admin.php @@ -62,6 +62,15 @@ private function __construct() { */ add_filter( 'woocommerce_shipping_methods', array( $this, 'shipping_methods_settings_override' ) ); + /* + * Add support for a Ready for Pickup Order Status. + */ + add_action( 'init', array( $this, 'register_post_status' ) ); + add_filter( 'wc_order_statuses', array( $this, 'wc_order_statuses' ), 10, 1 ); + add_filter( 'bulk_actions-edit-shop_order', array( $this, 'add_bulk_actions_edit_shop_order' ), 50, 1 ); + add_action( 'woocommerce_email_actions', array( $this, 'woocommerce_email_actions' ) ); + add_action( 'woocommerce_email_classes', array( $this, 'woocommerce_email_classes' ) ); + /* * Show Pickup Time in the Order Details in the Admin Screen */ @@ -486,6 +495,96 @@ public function shipping_method_add_rate_pickup_time_args( $args, $shipping_meth } + /** + * Add a post status for Ready for Pickup for WooCommerce. + * + * @since 0.0.0 + * + * @return void + */ + public function register_post_status() { + register_post_status( + 'wc-ready-for-pickup', + array( + 'label' => _x( 'Ready for Pickup', 'Order status', 'woocommerce-local-pickup-time-select' ), + 'public' => true, + 'exclude_from_search' => false, + 'show_in_admin_all_list' => true, + 'show_in_admin_status_list' => true, + /* translators: %s: number of orders */ + 'label_count' => _n_noop( 'Ready for Pickup (%s)', 'Ready for Pickup (%s)', 'woocommerce-local-pickup-time-select' ), + ) + ); + } + + /** + * Add a Ready for Pickup Order Status to WooCommerce. + * + * @since 0.0.0 + * + * @param array $order_statuses The array of WooCommerce Order Statuses. + * + * @return array + */ + public function wc_order_statuses( $order_statuses ) { + + $order_statuses['wc-ready-for-pickup'] = _x( 'Ready for Pickup', 'Order status', 'woocommerce-local-pickup-time-select' ); + + return $order_statuses; + + } + + /** + * Add a bulk order action to change statuses to Ready for Pickup. + * + * @since 0.0.0 + * + * @param array $actions The array of bulk order actions from the Order listing. + * + * @return array + */ + public function add_bulk_actions_edit_shop_order( $actions ) { + + $actions['mark_ready-for-pickup'] = __( 'Change status to ready for pickup', 'woocommerce-local-pickup-time-select' ); + + return $actions; + + } + + /** + * Add a Ready for Pickup Order Status email action to WooCommerce.. + * + * @since 0.0.0 + * + * @param array $email_actions The array of transactional emails in WooCommerce. + * + * @return array + */ + public function woocommerce_email_actions( $email_actions ) { + + $email_actions[] = 'woocommerce_order_status_ready-for-pickup'; + + return $email_actions; + + } + + /** + * Add a Ready for Pickup Order Status email class to WooCommerce. + * + * @since 0.0.0 + * + * @param array $email_classes The array of email class files. + * + * @return array + */ + public function woocommerce_email_classes( $email_classes ) { + + $email_classes['WC_Email_Customer_Ready_For_Pickup_Order'] = include __DIR__ . '/emails/class-wc-email-customer-ready-for-pickup-order.php'; + + return $email_classes; + + } + /** * Show Pickup Time in the Order Details in the Admin Screen * diff --git a/admin/emails/class-wc-email-customer-ready-for-pickup-order.php b/admin/emails/class-wc-email-customer-ready-for-pickup-order.php new file mode 100644 index 0000000..978fc62 --- /dev/null +++ b/admin/emails/class-wc-email-customer-ready-for-pickup-order.php @@ -0,0 +1,153 @@ +id = 'customer_ready_for_pickup_order'; + $this->customer_email = true; + $this->title = __( 'Ready for Pickup order', 'woocommerce-local-pickup-time-select' ); + $this->description = __( 'Order ready for pickup emails are sent to the customer when the order is marked Ready for Pickup.', 'woocommerce-local-pickup-time-select' ); + $this->template_base = WCLOCALPICKUPTIME_PLUGIN_DIR . 'templates/'; + $this->template_html = 'emails/customer-ready-for-pickup-order.php'; + $this->template_plain = 'emails/plain/customer-ready-for-pickup-order.php'; + $this->placeholders = array( + '{order_date}' => '', + '{order_number}' => '', + ); + + // Triggers for this email. + add_action( 'woocommerce_order_status_ready-for-pickup_notification', array( $this, 'trigger' ), 10, 2 ); + + // Call parent constructor. + parent::__construct(); + } + + /** + * Trigger the sending of this email. + * + * @param int $order_id The order ID. + * @param object|WC_Order|string $order Order object. + * + * @return void + */ + public function trigger( $order_id, $order = '' ) { + $this->setup_locale(); + + if ( $order_id && ! is_a( $order, 'WC_Order' ) ) { + $order = wc_get_order( $order_id ); + } + + /* @phpstan-ignore-next-line */ + if ( is_a( $order, 'WC_Order' ) ) { + $this->object = $order; + $this->recipient = $this->object->get_billing_email(); + /* @phpstan-ignore-next-line */ + $this->placeholders['{order_date}'] = wc_format_datetime( $this->object->get_date_created() ); + $this->placeholders['{order_number}'] = $this->object->get_order_number(); + } + + if ( $this->is_enabled() && $this->get_recipient() ) { + $this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() ); + } + + $this->restore_locale(); + } + + /** + * Get email subject. + * + * @since 3.1.0 + * @return string + */ + public function get_default_subject() { + return __( 'Your {site_title} order is now ready for pickup', 'woocommerce-local-pickup-time-select' ); + } + + /** + * Get email heading. + * + * @since 3.1.0 + * @return string + */ + public function get_default_heading() { + return __( 'We look forward to your arrival', 'woocommerce-local-pickup-time-select' ); + } + + /** + * Get content html. + * + * @return string + */ + public function get_content_html() { + return wc_get_template_html( + $this->template_html, + array( + 'order' => $this->object, + 'email_heading' => $this->get_heading(), + 'additional_content' => $this->get_additional_content(), + 'sent_to_admin' => false, + 'plain_text' => false, + 'email' => $this, + ), + '', + $this->template_base + ); + } + + /** + * Get content plain. + * + * @return string + */ + public function get_content_plain() { + return wc_get_template_html( + $this->template_plain, + array( + 'order' => $this->object, + 'email_heading' => $this->get_heading(), + 'additional_content' => $this->get_additional_content(), + 'sent_to_admin' => false, + 'plain_text' => true, + 'email' => $this, + ), + '', + $this->template_base + ); + } + + /** + * Default content to show below main email content. + * + * @since 3.7.0 + * @return string + */ + public function get_default_additional_content() { + return __( 'We look forward to your pending arrival.', 'woocommerce-local-pickup-time-select' ); + } + } + +} + +return new WC_Email_Customer_Ready_For_Pickup_Order(); diff --git a/composer.json b/composer.json index f6bd1bb..26b55df 100644 --- a/composer.json +++ b/composer.json @@ -50,28 +50,29 @@ "php": ">=7.4", "brain/monkey": "^2.4", "dealerdirect/phpcodesniffer-composer-installer": "~0.7", - "johnpbloch/wordpress-core": "~5.7.0", + "johnpbloch/wordpress-core": "~5.9.0", "johnpbloch/wordpress-core-installer": "^2.0", "mockery/mockery": "^1.3", - "php-stubs/wordpress-stubs": "~5.7.0", + "php-stubs/woocommerce-stubs": "~6.0.0", + "php-stubs/wordpress-stubs": "~5.9.0", "phpcompatibility/php-compatibility": "^9.0", "phpcompatibility/phpcompatibility-wp": "^2.1", "phpmd/phpmd": "^2.6", "phpro/grumphp": "~1.5.0", "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.2", + "phpstan/phpstan": "~1.5.0", "phpunit/phpunit": "^7", "roave/security-advisories": "dev-master", "sensiolabs/security-checker": "^5.0", "squizlabs/php_codesniffer": "^3.3", "szepeviktor/phpstan-wordpress": "^1.0", - "woocommerce/action-scheduler": "~3.2.1", - "woocommerce/woocommerce-admin": "~2.6.0", - "woocommerce/woocommerce-blocks": "~5.5.0", - "woocommerce/woocommerce-sniffs": "^0.1.0", + "woocommerce/action-scheduler": "~3.4.0", + "woocommerce/woocommerce-admin": "~3.3.0", + "woocommerce/woocommerce-blocks": "~7.3.0", + "woocommerce/woocommerce-sniffs": "~0.1.0", "wp-coding-standards/wpcs": "^2.2", "wp-phpunit/wp-phpunit": "~5.7.0", - "wpackagist-plugin/woocommerce": "~5.7.0" + "wpackagist-plugin/woocommerce": "~6.3.0" }, "autoload": { "exclude-from-classmap": [ diff --git a/composer.lock b/composer.lock index e6fb6b6..4bb1bc7 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "5269e8daf73229b39c64d601a1caccfd", + "content-hash": "4f48ff7b4d258b19ffb9d3c9518be774", "packages": [ { "name": "composer/installers", @@ -1414,16 +1414,16 @@ }, { "name": "johnpbloch/wordpress-core", - "version": "5.7.6", + "version": "5.9.3", "source": { "type": "git", "url": "https://github.com/johnpbloch/wordpress-core.git", - "reference": "8238ab07c57090815de2500a43f05e7790e9a6a3" + "reference": "455d38c7b7bcdce3e0a1c6108eccca8de1860361" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/johnpbloch/wordpress-core/zipball/8238ab07c57090815de2500a43f05e7790e9a6a3", - "reference": "8238ab07c57090815de2500a43f05e7790e9a6a3", + "url": "https://api.github.com/repos/johnpbloch/wordpress-core/zipball/455d38c7b7bcdce3e0a1c6108eccca8de1860361", + "reference": "455d38c7b7bcdce3e0a1c6108eccca8de1860361", "shasum": "" }, "require": { @@ -1431,7 +1431,7 @@ "php": ">=5.6.20" }, "provide": { - "wordpress/core-implementation": "5.7.6" + "wordpress/core-implementation": "5.9.3" }, "type": "wordpress-core", "notification-url": "https://packagist.org/downloads/", @@ -1458,7 +1458,7 @@ "source": "https://core.trac.wordpress.org/browser", "wiki": "https://codex.wordpress.org/" }, - "time": "2022-03-11T00:51:28+00:00" + "time": "2022-04-05T19:23:48+00:00" }, { "name": "johnpbloch/wordpress-core-installer", @@ -2050,18 +2050,62 @@ }, "time": "2018-07-08T19:19:57+00:00" }, + { + "name": "php-stubs/woocommerce-stubs", + "version": "v6.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-stubs/woocommerce-stubs.git", + "reference": "65e6be8a1b74b7be5d0d5591262342ff116f93db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-stubs/woocommerce-stubs/zipball/65e6be8a1b74b7be5d0d5591262342ff116f93db", + "reference": "65e6be8a1b74b7be5d0d5591262342ff116f93db", + "shasum": "" + }, + "require": { + "php-stubs/wordpress-stubs": "^5.3.0" + }, + "require-dev": { + "giacocorsiglia/stubs-generator": "^0.5.0", + "php": "~7.1" + }, + "suggest": { + "symfony/polyfill-php73": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "szepeviktor/phpstan-wordpress": "WordPress extensions for PHPStan" + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "WooCommerce function and class declaration stubs for static analysis.", + "homepage": "https://github.com/php-stubs/woocommerce-stubs", + "keywords": [ + "PHPStan", + "static analysis", + "woocommerce", + "wordpress" + ], + "support": { + "issues": "https://github.com/php-stubs/woocommerce-stubs/issues", + "source": "https://github.com/php-stubs/woocommerce-stubs/tree/v6.0.0" + }, + "time": "2022-01-04T22:00:24+00:00" + }, { "name": "php-stubs/wordpress-stubs", - "version": "v5.7.5", + "version": "v5.9.3", "source": { "type": "git", "url": "https://github.com/php-stubs/wordpress-stubs.git", - "reference": "b7aba1025517470210e031028a83bf70f9902836" + "reference": "18d56875e5078a50b8ea4bc4b20b735ca61edeee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/b7aba1025517470210e031028a83bf70f9902836", - "reference": "b7aba1025517470210e031028a83bf70f9902836", + "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/18d56875e5078a50b8ea4bc4b20b735ca61edeee", + "reference": "18d56875e5078a50b8ea4bc4b20b735ca61edeee", "shasum": "" }, "replace": { @@ -2070,7 +2114,9 @@ "require-dev": { "nikic/php-parser": "< 4.12.0", "php": "~7.3 || ~8.0", - "php-stubs/generator": "^0.7.0" + "php-stubs/generator": "^0.8.1", + "phpdocumentor/reflection-docblock": "^5.3", + "phpstan/phpstan": "^1.2" }, "suggest": { "paragonie/sodium_compat": "Pure PHP implementation of libsodium", @@ -2091,9 +2137,9 @@ ], "support": { "issues": "https://github.com/php-stubs/wordpress-stubs/issues", - "source": "https://github.com/php-stubs/wordpress-stubs/tree/v5.7.5" + "source": "https://github.com/php-stubs/wordpress-stubs/tree/v5.9.3" }, - "time": "2022-01-18T13:17:29+00:00" + "time": "2022-04-06T15:33:59+00:00" }, { "name": "phpcompatibility/php-compatibility", @@ -6088,22 +6134,23 @@ }, { "name": "woocommerce/action-scheduler", - "version": "3.2.1", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/woocommerce/action-scheduler.git", - "reference": "3c24064f115cd55e972d73d5d48f14133ac60b0d" + "reference": "3218a33ff14b968f8cb05de9656c2efa1eeb1330" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/3c24064f115cd55e972d73d5d48f14133ac60b0d", - "reference": "3c24064f115cd55e972d73d5d48f14133ac60b0d", + "url": "https://api.github.com/repos/woocommerce/action-scheduler/zipball/3218a33ff14b968f8cb05de9656c2efa1eeb1330", + "reference": "3218a33ff14b968f8cb05de9656c2efa1eeb1330", "shasum": "" }, "require-dev": { "phpunit/phpunit": "^7.5", "woocommerce/woocommerce-sniffs": "0.1.0", - "wp-cli/wp-cli": "~2.5.0" + "wp-cli/wp-cli": "~2.5.0", + "yoast/phpunit-polyfills": "^1.0" }, "type": "wordpress-plugin", "extra": { @@ -6121,22 +6168,22 @@ "homepage": "https://actionscheduler.org/", "support": { "issues": "https://github.com/woocommerce/action-scheduler/issues", - "source": "https://github.com/woocommerce/action-scheduler/tree/3.2.1" + "source": "https://github.com/woocommerce/action-scheduler/tree/3.4.0" }, - "time": "2021-06-21T20:21:35+00:00" + "time": "2021-10-28T17:09:12+00:00" }, { "name": "woocommerce/woocommerce-admin", - "version": "2.6.5", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/woocommerce/woocommerce-admin.git", - "reference": "03d45390fb555d3a649f87c2b3385257c9d7ac02" + "reference": "76eda720ea3ddefe84af8035fbf90bb8bd828236" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/woocommerce/woocommerce-admin/zipball/03d45390fb555d3a649f87c2b3385257c9d7ac02", - "reference": "03d45390fb555d3a649f87c2b3385257c9d7ac02", + "url": "https://api.github.com/repos/woocommerce/woocommerce-admin/zipball/76eda720ea3ddefe84af8035fbf90bb8bd828236", + "reference": "76eda720ea3ddefe84af8035fbf90bb8bd828236", "shasum": "" }, "require": { @@ -6148,7 +6195,8 @@ "automattic/jetpack-changelogger": "^1.1", "bamarni/composer-bin-plugin": "^1.4", "suin/phpcs-psr4-sniff": "^2.2", - "woocommerce/woocommerce-sniffs": "0.1.0" + "woocommerce/woocommerce-sniffs": "0.1.0", + "yoast/phpunit-polyfills": "^1.0" }, "type": "wordpress-plugin", "extra": { @@ -6180,7 +6228,8 @@ }, "autoload": { "psr-4": { - "Automattic\\WooCommerce\\Admin\\": "src/" + "Automattic\\WooCommerce\\Admin\\": "src/", + "Automattic\\WooCommerce\\Internal\\Admin\\": "src-internal/Admin/" } }, "notification-url": "https://packagist.org/downloads/", @@ -6191,22 +6240,22 @@ "homepage": "https://github.com/woocommerce/woocommerce-admin", "support": { "issues": "https://github.com/woocommerce/woocommerce-admin/issues", - "source": "https://github.com/woocommerce/woocommerce-admin/tree/v2.6.5" + "source": "https://github.com/woocommerce/woocommerce-admin/tree/v3.3.2" }, - "time": "2021-09-22T22:45:59+00:00" + "time": "2022-04-05T19:45:30+00:00" }, { "name": "woocommerce/woocommerce-blocks", - "version": "v5.5.1", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/woocommerce/woocommerce-gutenberg-products-block.git", - "reference": "f3d8dbadb745cbb2544e86dfb3864e870146d197" + "reference": "2cc1a6db4352177775e60025ec2ba73e8e7607d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/woocommerce/woocommerce-gutenberg-products-block/zipball/f3d8dbadb745cbb2544e86dfb3864e870146d197", - "reference": "f3d8dbadb745cbb2544e86dfb3864e870146d197", + "url": "https://api.github.com/repos/woocommerce/woocommerce-gutenberg-products-block/zipball/2cc1a6db4352177775e60025ec2ba73e8e7607d7", + "reference": "2cc1a6db4352177775e60025ec2ba73e8e7607d7", "shasum": "" }, "require": { @@ -6214,8 +6263,11 @@ "composer/installers": "^1.7.0" }, "require-dev": { - "phpunit/phpunit": "7.5.20", - "woocommerce/woocommerce-sniffs": "0.1.0" + "johnbillion/wp-hooks-generator": "^0.7.0", + "mockery/mockery": "^1.4", + "woocommerce/woocommerce-sniffs": "0.1.0", + "wp-phpunit/wp-phpunit": "^5.4", + "yoast/phpunit-polyfills": "^1.0" }, "type": "wordpress-plugin", "extra": { @@ -6225,8 +6277,13 @@ } }, "autoload": { + "files": [ + "src/StoreApi/deprecated.php", + "src/StoreApi/functions.php" + ], "psr-4": { - "Automattic\\WooCommerce\\Blocks\\": "src/" + "Automattic\\WooCommerce\\Blocks\\": "src/", + "Automattic\\WooCommerce\\StoreApi\\": "src/StoreApi/" } }, "notification-url": "https://packagist.org/downloads/", @@ -6242,22 +6299,22 @@ ], "support": { "issues": "https://github.com/woocommerce/woocommerce-gutenberg-products-block/issues", - "source": "https://github.com/woocommerce/woocommerce-gutenberg-products-block/tree/v5.5.1" + "source": "https://github.com/woocommerce/woocommerce-gutenberg-products-block/tree/v7.3.0" }, - "time": "2021-07-14T20:59:04+00:00" + "time": "2022-03-28T14:43:54+00:00" }, { "name": "woocommerce/woocommerce-sniffs", - "version": "0.1.1", + "version": "0.1.2", "source": { "type": "git", "url": "https://github.com/woocommerce/woocommerce-sniffs.git", - "reference": "eb604d751b61c42f31ff1aa24113c7c0de438553" + "reference": "5566270d280a300bc24bd0cb055a8b9325afdd6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/woocommerce/woocommerce-sniffs/zipball/eb604d751b61c42f31ff1aa24113c7c0de438553", - "reference": "eb604d751b61c42f31ff1aa24113c7c0de438553", + "url": "https://api.github.com/repos/woocommerce/woocommerce-sniffs/zipball/5566270d280a300bc24bd0cb055a8b9325afdd6b", + "reference": "5566270d280a300bc24bd0cb055a8b9325afdd6b", "shasum": "" }, "require": { @@ -6286,9 +6343,9 @@ ], "support": { "issues": "https://github.com/woocommerce/woocommerce-sniffs/issues", - "source": "https://github.com/woocommerce/woocommerce-sniffs/tree/0.1.1" + "source": "https://github.com/woocommerce/woocommerce-sniffs/tree/0.1.2" }, - "time": "2021-07-29T17:25:16+00:00" + "time": "2022-01-21T20:13:23+00:00" }, { "name": "wp-coding-standards/wpcs", @@ -6391,15 +6448,15 @@ }, { "name": "wpackagist-plugin/woocommerce", - "version": "5.7.2", + "version": "6.3.1", "source": { "type": "svn", "url": "https://plugins.svn.wordpress.org/woocommerce/", - "reference": "tags/5.7.2" + "reference": "tags/6.3.1" }, "dist": { "type": "zip", - "url": "https://downloads.wordpress.org/plugin/woocommerce.5.7.2.zip" + "url": "https://downloads.wordpress.org/plugin/woocommerce.6.3.1.zip" }, "require": { "composer/installers": "^1.0 || ^2.0" diff --git a/package.json b/package.json index 42de9b3..1d4a0bb 100644 --- a/package.json +++ b/package.json @@ -98,8 +98,11 @@ "test": "npm run grunt test", "lint": "npm run lint:php", "lint:php": "docker-compose run composer lint", + "phpcs": "docker-compose run composer phpcs", "lint:php:fix": "docker-compose run composer lint-fix", + "phpcbf": "docker-compose run composer phpcbf", "analyze": "npm run analyze:php", - "analyze:php": "docker-compose run composer analyze" + "analyze:php": "docker-compose run composer analyze", + "phpstan": "docker-compose run composer phpstan" } } diff --git a/phpstan.neon.dist b/phpstan.neon.dist index 6a645ed..7a7f8c5 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -11,6 +11,8 @@ parameters: inferPrivatePropertyTypeFromConstructor: true bootstrapFiles: - tests/phpstan-bootstrap.php + - %rootDir%/../../php-stubs/wordpress-stubs/wordpress-stubs.php + - %rootDir%/../../php-stubs/woocommerce-stubs/woocommerce-stubs.php # autoload_files: # Missing constants, function and class stubs # - tests/phpstan/bootstrap.php @@ -32,6 +34,8 @@ parameters: - tools/ - vendor/ - wordpress/ + analyseAndScan: + - wordpress/wp-content/uploads/ ignoreErrors: # Uses func_get_args() - '#^Function apply_filters(_ref_array)? invoked with [34567] parameters, 2 required\.$#' diff --git a/templates/emails/customer-ready-for-pickup-order.php b/templates/emails/customer-ready-for-pickup-order.php new file mode 100644 index 0000000..78e0ec3 --- /dev/null +++ b/templates/emails/customer-ready-for-pickup-order.php @@ -0,0 +1,77 @@ +get_billing_first_name() ) ); /* @phpstan-ignore-line */ +$email_order_note = esc_html__( 'We have finished preparing your order for pickup.', 'woocommerce-local-pickup-time-select' ); + +$email_content = <<{$email_salutation}

+

{$email_order_note}

+HTML; + +echo wp_kses( $email_content, array( array( '

' ) ) ); + +/* + * @hooked WC_Emails::order_details() Shows the order details table. + * @hooked WC_Structured_Data::generate_order_data() Generates structured data. + * @hooked WC_Structured_Data::output_structured_data() Outputs structured data. + * + * @since 0.0.0 + */ +/* @phpstan-ignore-next-line */ +do_action( 'woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email ); + +/* + * @hooked WC_Emails::order_meta() Shows order meta data. + */ +/* @phpstan-ignore-next-line */ +do_action( 'woocommerce_email_order_meta', $order, $sent_to_admin, $plain_text, $email ); + +/* + * @hooked WC_Emails::customer_details() Shows customer details + * @hooked WC_Emails::email_address() Shows email address + */ +/* @phpstan-ignore-next-line */ +do_action( 'woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text, $email ); + +/** + * Show user-defined additional content - this is set in each email's settings. + */ +/* @phpstan-ignore-next-line */ +if ( $additional_content ) { + echo wp_kses_post( wpautop( wptexturize( $additional_content ) ) ); +} + +/* + * @hooked WC_Emails::email_footer() Output the email footer + */ +/* @phpstan-ignore-next-line */ +do_action( 'woocommerce_email_footer', $email ); diff --git a/templates/emails/plain/customer-ready-for-pickup-order.php b/templates/emails/plain/customer-ready-for-pickup-order.php new file mode 100644 index 0000000..a7a81a7 --- /dev/null +++ b/templates/emails/plain/customer-ready-for-pickup-order.php @@ -0,0 +1,67 @@ +get_billing_first_name() ) ) . "\n\n"; /* @phpstan-ignore-line */ +echo esc_html__( 'We have finished preparing your order for pickup.', 'woocommerce-local-pickup-time-select' ) . "\n\n"; + +/* + * @hooked WC_Emails::order_details() Shows the order details table. + * @hooked WC_Structured_Data::generate_order_data() Generates structured data. + * @hooked WC_Structured_Data::output_structured_data() Outputs structured data. + * @since 0.0.0 + */ +/* @phpstan-ignore-next-line */ +do_action( 'woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email ); + +echo "\n----------------------------------------\n\n"; + +/* + * @hooked WC_Emails::order_meta() Shows order meta data. + */ +/* @phpstan-ignore-next-line */ +do_action( 'woocommerce_email_order_meta', $order, $sent_to_admin, $plain_text, $email ); + +/* + * @hooked WC_Emails::customer_details() Shows customer details + * @hooked WC_Emails::email_address() Shows email address + */ +/* @phpstan-ignore-next-line */ +do_action( 'woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text, $email ); + +echo "\n\n----------------------------------------\n\n"; + +/** + * Show user-defined additional content - this is set in each email's settings. + */ +/* @phpstan-ignore-next-line */ +if ( $additional_content ) { + echo esc_html( wp_strip_all_tags( wptexturize( $additional_content ) ) ); + echo "\n\n----------------------------------------\n\n"; +} + +echo wp_kses_post( apply_filters( 'woocommerce_email_footer_text', get_option( 'woocommerce_email_footer_text' ) ) ); diff --git a/tests/phpstan-bootstrap.php b/tests/phpstan-bootstrap.php index fdb9498..3364448 100644 --- a/tests/phpstan-bootstrap.php +++ b/tests/phpstan-bootstrap.php @@ -17,3 +17,6 @@ // Define Plugin base directory. defined( 'WCLOCALPICKUPTIME_PLUGIN_BASE' ) || define( 'WCLOCALPICKUPTIME_PLUGIN_BASE', '.' ); + +// Define Plugin base path. +defined( 'WCLOCALPICKUPTIME_PLUGIN_DIR' ) || define( 'WCLOCALPICKUPTIME_PLUGIN_DIR', dirname( __DIR__ ) ); diff --git a/woocommerce-local-pickup-time.php b/woocommerce-local-pickup-time.php index 4b32a5e..43cd97a 100644 --- a/woocommerce-local-pickup-time.php +++ b/woocommerce-local-pickup-time.php @@ -40,6 +40,7 @@ if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ), true ) ) { defined( 'WCLOCALPICKUPTIME_PLUGIN_BASE' ) || define( 'WCLOCALPICKUPTIME_PLUGIN_BASE', plugin_basename( __FILE__ ) ); + defined( 'WCLOCALPICKUPTIME_PLUGIN_DIR' ) || define( 'WCLOCALPICKUPTIME_PLUGIN_DIR', plugin_dir_path( __FILE__ ) ); /** * ---------------------------------------------------------------------------- From 164bcb9f5417ee91eca268160c0f0728d3e58916 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 29 Apr 2022 23:49:08 -0400 Subject: [PATCH 12/18] Update szepeviktor/phpstan-wordpress to version 1.0.5 (#153) Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> Co-authored-by: Tim Nolte --- composer.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/composer.lock b/composer.lock index 4bb1bc7..d059f2b 100644 --- a/composer.lock +++ b/composer.lock @@ -5961,16 +5961,16 @@ }, { "name": "szepeviktor/phpstan-wordpress", - "version": "v1.0.4", + "version": "v1.0.5", "source": { "type": "git", "url": "https://github.com/szepeviktor/phpstan-wordpress.git", - "reference": "42d1c4c9bf440919c0b1585d9ae75f5c8eebf02b" + "reference": "d4dbd21fc057702be14d221e9ecb6e5697e39fed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/42d1c4c9bf440919c0b1585d9ae75f5c8eebf02b", - "reference": "42d1c4c9bf440919c0b1585d9ae75f5c8eebf02b", + "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/d4dbd21fc057702be14d221e9ecb6e5697e39fed", + "reference": "d4dbd21fc057702be14d221e9ecb6e5697e39fed", "shasum": "" }, "require": { @@ -6014,7 +6014,7 @@ ], "support": { "issues": "https://github.com/szepeviktor/phpstan-wordpress/issues", - "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v1.0.4" + "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v1.0.5" }, "funding": [ { @@ -6022,7 +6022,7 @@ "type": "custom" } ], - "time": "2022-04-02T19:52:14+00:00" + "time": "2022-04-05T03:13:59+00:00" }, { "name": "theseer/tokenizer", From ae5c46316e87219b89d140cafd24a698127e99fa Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Sat, 30 Apr 2022 00:00:00 -0400 Subject: [PATCH 13/18] Update grunt to version 1.5.2 (#157) Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> Co-authored-by: Tim Nolte --- package-lock.json | 140 +++++++++++++++++++++------------------------- package.json | 2 +- 2 files changed, 66 insertions(+), 76 deletions(-) diff --git a/package-lock.json b/package-lock.json index 29f11aa..3a34c06 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2010,6 +2010,12 @@ "@types/unist": "*" } }, + "@types/mime-types": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.1.tgz", + "integrity": "sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==", + "dev": true + }, "@types/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", @@ -2190,6 +2196,16 @@ "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", "dev": true }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, "@typescript-eslint/experimental-utils": { "version": "2.34.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", @@ -2719,18 +2735,6 @@ "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" - }, - "dependencies": { - "@types/yauzl": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", - "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", - "dev": true, - "optional": true, - "requires": { - "@types/node": "*" - } - } } }, "has-flag": { @@ -2739,12 +2743,6 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "prettier": { - "version": "npm:wp-prettier@2.2.1-beta-1", - "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.2.1-beta-1.tgz", - "integrity": "sha512-+JHkqs9LC/JPp51yy1hzs3lQ7qeuWCwOcSzpQNeeY/G7oSpnF61vxt7hRh87zNRTr6ob2ndy0W8rVzhgrcA+Gw==", - "dev": true - }, "puppeteer": { "version": "npm:puppeteer-core@3.0.0", "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-3.0.0.tgz", @@ -2763,46 +2761,6 @@ "tar-fs": "^2.0.0", "unbzip2-stream": "^1.3.3", "ws": "^7.2.3" - }, - "dependencies": { - "@types/mime-types": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.1.tgz", - "integrity": "sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==", - "dev": true - }, - "https-proxy-agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", - "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", - "dev": true, - "requires": { - "agent-base": "5", - "debug": "4" - } - }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dev": true, - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - } } }, "rimraf": { @@ -7381,9 +7339,9 @@ "optional": true }, "grunt": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.4.1.tgz", - "integrity": "sha512-ZXIYXTsAVrA7sM+jZxjQdrBOAg7DyMUplOMhTaspMRExei+fD0BTwdWXnn0W5SXqhb/Q/nlkzXclSi3IH55PIA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.2.tgz", + "integrity": "sha512-XCtfaIu72OyDqK24MjWiGC9SwlkuhkS1mrULr1xzuJ2XqAFhP3ZAchZGHJeSCY6mkaOXU4F7SbmmCF7xIVoC9w==", "dev": true, "requires": { "dateformat": "~3.0.3", @@ -7391,7 +7349,7 @@ "exit": "~0.1.2", "findup-sync": "~0.3.0", "glob": "~7.1.6", - "grunt-cli": "~1.4.2", + "grunt-cli": "~1.4.3", "grunt-known-options": "~2.0.0", "grunt-legacy-log": "~3.0.0", "grunt-legacy-util": "~2.0.1", @@ -7650,9 +7608,9 @@ }, "dependencies": { "async": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz", - "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", "dev": true }, "getobject": { @@ -7661,12 +7619,6 @@ "integrity": "sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg==", "dev": true }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -8091,6 +8043,16 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, + "https-proxy-agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", + "dev": true, + "requires": { + "agent-base": "5", + "debug": "4" + } + }, "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -15989,6 +15951,12 @@ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true }, + "prettier": { + "version": "npm:wp-prettier@2.2.1-beta-1", + "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.2.1-beta-1.tgz", + "integrity": "sha512-+JHkqs9LC/JPp51yy1hzs3lQ7qeuWCwOcSzpQNeeY/G7oSpnF61vxt7hRh87zNRTr6ob2ndy0W8rVzhgrcA+Gw==", + "dev": true + }, "prettier-linter-helpers": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", @@ -18615,6 +18583,18 @@ } } }, + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, "tar-stream": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", @@ -19063,6 +19043,16 @@ "which-boxed-primitive": "^1.0.2" } }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, "unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", @@ -19070,12 +19060,12 @@ "dev": true }, "underscore.string": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz", - "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz", + "integrity": "sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==", "dev": true, "requires": { - "sprintf-js": "^1.0.3", + "sprintf-js": "^1.1.1", "util-deprecate": "^1.0.2" } }, diff --git a/package.json b/package.json index 1d4a0bb..cc7c74f 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@wordpress/env": "4.0.5", "@wordpress/scripts": "~12.6.1", "check-node-version": "~4.1.0", - "grunt": "1.4.1", + "grunt": "1.5.2", "grunt-checkbranch": "^1.0.4", "grunt-checktextdomain": "^1.0.1", "grunt-cli": "1.4.3", From e9177581f21e86baeb3799a64ba1b271e0155ec7 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Sat, 30 Apr 2022 00:12:37 -0400 Subject: [PATCH 14/18] Update grunt-contrib-clean to version 2.0.1 (#156) Co-authored-by: depfu[bot] <23717796+depfu[bot]@users.noreply.github.com> Co-authored-by: Tim Nolte --- package-lock.json | 16 ++++++++++++---- package.json | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3a34c06..7418b3a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7484,13 +7484,21 @@ } }, "grunt-contrib-clean": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-2.0.0.tgz", - "integrity": "sha512-g5ZD3ORk6gMa5ugZosLDQl3dZO7cI3R14U75hTM+dVLVxdMNJCPVmwf9OUt4v4eWgpKKWWoVK9DZc1amJp4nQw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-2.0.1.tgz", + "integrity": "sha512-uRvnXfhiZt8akb/ZRDHJpQQtkkVkqc/opWO4Po/9ehC2hPxgptB9S6JHDC/Nxswo4CJSM0iFPT/Iym3cEMWzKA==", "dev": true, "requires": { - "async": "^2.6.1", + "async": "^3.2.3", "rimraf": "^2.6.2" + }, + "dependencies": { + "async": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==", + "dev": true + } } }, "grunt-contrib-copy": { diff --git a/package.json b/package.json index cc7c74f..c00dd46 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "grunt-checkbranch": "^1.0.4", "grunt-checktextdomain": "^1.0.1", "grunt-cli": "1.4.3", - "grunt-contrib-clean": "^2.0.0", + "grunt-contrib-clean": "^2.0.1", "grunt-contrib-copy": "^1.0.0", "grunt-gitinfo": "^0.1.9", "grunt-shell": "^2.1.0", From b78ae5fb37e8c357754b51057068bab5bbac6ade Mon Sep 17 00:00:00 2001 From: Tim Nolte Date: Sat, 30 Apr 2022 11:40:03 -0400 Subject: [PATCH 15/18] Updates PHPStan Config to Not Fail on Unused Ignores (#161) * Updates the PHPStan configuration for 1.6.3 upgrade. * Fixes Composer package dependencies. * Updates GitHub Actions for managing all WordPress & WooCommerce package version updates during runs. --- .github/workflows/pr-unit-testing.yml | 9 ++ .github/workflows/unit-testing.yml | 3 + composer.json | 3 +- composer.lock | 139 ++------------------------ phpstan.neon.dist | 1 + 5 files changed, 20 insertions(+), 135 deletions(-) diff --git a/.github/workflows/pr-unit-testing.yml b/.github/workflows/pr-unit-testing.yml index 63819d4..de05d49 100644 --- a/.github/workflows/pr-unit-testing.yml +++ b/.github/workflows/pr-unit-testing.yml @@ -61,9 +61,18 @@ jobs: - name: Require Specified WordPress Version run: composer require johnpbloch/wordpress-core:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies + - name: Require Specified WordPress Stubs Version + run: composer require php-stubs/wordpress-stubs:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies + + - name: Require Specified WordPress PHPUnit Version + run: composer require wp-phpunit/wp-phpunit:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies + - name: Require Specified WooCommerce Version run: composer require wpackagist-plugin/woocommerce:${{ matrix.woocommerce-version }} --dev --prefer-source --update-with-all-dependencies + - name: Require Specified WooCommerce Stubs Version + run: composer require php-stubs/woocommerce-stubs:${{ matrix.woocommerce-version }} --dev --prefer-source --update-with-all-dependencies + - name: Install Composer Dependencies run: composer install diff --git a/.github/workflows/unit-testing.yml b/.github/workflows/unit-testing.yml index 466d03d..2359bf1 100644 --- a/.github/workflows/unit-testing.yml +++ b/.github/workflows/unit-testing.yml @@ -104,6 +104,9 @@ jobs: - name: Require Specified WordPress Stubs Version run: composer require php-stubs/wordpress-stubs:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies + - name: Require Specified WordPress PHPUnit Version + run: composer require wp-phpunit/wp-phpunit:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies + - name: Require Specified WooCommerce Version run: composer require woocommerce/woocommerce:${{ matrix.woocommerce-version }} --dev --prefer-source --update-with-all-dependencies diff --git a/composer.json b/composer.json index 26b55df..e1efd4f 100644 --- a/composer.json +++ b/composer.json @@ -63,7 +63,6 @@ "phpstan/phpstan": "~1.5.0", "phpunit/phpunit": "^7", "roave/security-advisories": "dev-master", - "sensiolabs/security-checker": "^5.0", "squizlabs/php_codesniffer": "^3.3", "szepeviktor/phpstan-wordpress": "^1.0", "woocommerce/action-scheduler": "~3.4.0", @@ -71,7 +70,7 @@ "woocommerce/woocommerce-blocks": "~7.3.0", "woocommerce/woocommerce-sniffs": "~0.1.0", "wp-coding-standards/wpcs": "^2.2", - "wp-phpunit/wp-phpunit": "~5.7.0", + "wp-phpunit/wp-phpunit": "~5.9.0", "wpackagist-plugin/woocommerce": "~6.3.0" }, "autoload": { diff --git a/composer.lock b/composer.lock index d059f2b..c66752a 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "4f48ff7b4d258b19ffb9d3c9518be774", + "content-hash": "0712f3e7529cad54e3491c2882056a67", "packages": [ { "name": "composer/installers", @@ -870,82 +870,6 @@ }, "time": "2021-11-11T15:53:55+00:00" }, - { - "name": "composer/ca-bundle", - "version": "1.3.1", - "source": { - "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b", - "reference": "4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "psr/log": "^1.0", - "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\CaBundle\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", - "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.3.1" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2021-10-28T20:44:15+00:00" - }, { "name": "composer/pcre", "version": "1.0.0", @@ -4483,57 +4407,6 @@ ], "time": "2020-11-11T09:19:24+00:00" }, - { - "name": "sensiolabs/security-checker", - "version": "v5.0.3", - "source": { - "type": "git", - "url": "https://github.com/sensiolabs/security-checker.git", - "reference": "46be3f58adac13084497961e10eed9a7fb4d44d1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/46be3f58adac13084497961e10eed9a7fb4d44d1", - "reference": "46be3f58adac13084497961e10eed9a7fb4d44d1", - "shasum": "" - }, - "require": { - "composer/ca-bundle": "^1.0", - "php": ">=5.5.9", - "symfony/console": "~2.7|~3.0|~4.0" - }, - "bin": [ - "security-checker" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "psr-4": { - "SensioLabs\\Security\\": "SensioLabs/Security" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien.potencier@gmail.com" - } - ], - "description": "A security checker for your composer.lock", - "support": { - "issues": "https://github.com/sensiolabs/security-checker/issues", - "source": "https://github.com/sensiolabs/security-checker/tree/master" - }, - "abandoned": "https://github.com/fabpot/local-php-security-checker", - "time": "2018-12-19T17:14:59+00:00" - }, { "name": "squizlabs/php_codesniffer", "version": "3.6.2", @@ -6400,16 +6273,16 @@ }, { "name": "wp-phpunit/wp-phpunit", - "version": "5.7.4", + "version": "5.9.3", "source": { "type": "git", "url": "https://github.com/wp-phpunit/wp-phpunit.git", - "reference": "d97ece673cc78aa9835f87d937f86b1bf8e0fc8c" + "reference": "ceece1ed4f2d0732c4a4f2603f4376d85547a50f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/wp-phpunit/wp-phpunit/zipball/d97ece673cc78aa9835f87d937f86b1bf8e0fc8c", - "reference": "d97ece673cc78aa9835f87d937f86b1bf8e0fc8c", + "url": "https://api.github.com/repos/wp-phpunit/wp-phpunit/zipball/ceece1ed4f2d0732c4a4f2603f4376d85547a50f", + "reference": "ceece1ed4f2d0732c4a4f2603f4376d85547a50f", "shasum": "" }, "type": "library", @@ -6444,7 +6317,7 @@ "issues": "https://github.com/wp-phpunit/issues", "source": "https://github.com/wp-phpunit/wp-phpunit" }, - "time": "2021-11-10T19:49:28+00:00" + "time": "2022-02-22T20:53:17+00:00" }, { "name": "wpackagist-plugin/woocommerce", diff --git a/phpstan.neon.dist b/phpstan.neon.dist index 7a7f8c5..2ee4287 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -9,6 +9,7 @@ includes: parameters: level: max inferPrivatePropertyTypeFromConstructor: true + reportUnmatchedIgnoredErrors: false bootstrapFiles: - tests/phpstan-bootstrap.php - %rootDir%/../../php-stubs/wordpress-stubs/wordpress-stubs.php From ea66020105c66e2d7c915c16bc223ceaf7e7361d Mon Sep 17 00:00:00 2001 From: Tim Nolte Date: Wed, 4 May 2022 01:16:01 -0400 Subject: [PATCH 16/18] Update Plugin Development Dependencies (#162) * Updates Composer Dependencies. * Updates Node/NPM Dependencies. * Updates GitHub Actions with Composer Caching. --- .github/workflows/i18n.yml | 15 +- .github/workflows/linting.yml | 15 +- .github/workflows/pr-unit-testing.yml | 30 +- .github/workflows/release.yml | 13 +- .github/workflows/static-analysis.yml | 15 +- .github/workflows/unit-testing.yml | 30 +- composer.json | 2 +- composer.lock | 1233 ++++++++++++++++--------- package-lock.json | 134 +-- package.json | 2 +- 10 files changed, 969 insertions(+), 520 deletions(-) diff --git a/.github/workflows/i18n.yml b/.github/workflows/i18n.yml index 8ac94df..e264323 100644 --- a/.github/workflows/i18n.yml +++ b/.github/workflows/i18n.yml @@ -11,6 +11,7 @@ on: env: WP_MULTISITE: 0 + ACTION_VERSION: 2 jobs: check: @@ -28,18 +29,20 @@ jobs: with: node-version: 14.x - - name: Cache node modules + - name: Get NPM Cache Directory + id: npm-cache + run: echo "::set-output name=dir::$(npm config get cache)" + + - name: Cache Node Modules uses: actions/cache@v2 env: npm-cache-name: cache-node-modules with: # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.npm-cache-name }}-${{ hashFiles('**/package-lock.json') }} + path: ${{ steps.npm-cache.outputs.dir }} + key: ${{ runner.os }}-build-${{ env.npm-cache-name }}-v${{ env.ACTION_VERSION }}-${{ hashFiles('**/package-lock.json') }} restore-keys: | - ${{ runner.os }}-build-${{ env.npm-cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- + ${{ runner.os }}-build-${{ env.npm-cache-name }}-v${{ env.ACTION_VERSION }}- - name: NPM Install run: npm ci diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index b05b009..e026eb7 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -12,6 +12,7 @@ on: env: PHP_VERSION: 7.4 WP_MULTISITE: 0 + ACTION_VERSION: 2 jobs: check: @@ -30,17 +31,19 @@ jobs: php-version: ${{ env.PHP_VERSION }} tools: composer:v2 + - name: Get Composer Cache Directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + - name: Cache Composer dependencies uses: actions/cache@v2 env: - composer-cache-name: cache-vendor + composer-cache-name: cache-composer with: - path: ~/vendor - key: ${{ runner.os }}-build-${{ env.composer-cache-name }}-${{ hashFiles('**/composer.lock') }} + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-build-${{ env.composer-cache-name }}-v${{ env.ACTION_VERSION }}-${{ hashFiles('**/composer.lock') }} restore-keys: | - ${{ runner.os }}-build-${{ env.composer-cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- + ${{ runner.os }}-build-${{ env.composer-cache-name }}-v${{ env.ACTION_VERSION }}- - name: Install Composer Dependencies run: composer install diff --git a/.github/workflows/pr-unit-testing.yml b/.github/workflows/pr-unit-testing.yml index de05d49..9374fb8 100644 --- a/.github/workflows/pr-unit-testing.yml +++ b/.github/workflows/pr-unit-testing.yml @@ -11,6 +11,7 @@ env: WP_STABLE_VERSION: '5.7.*' WP_MULTISITE: 0 WC_STABLE_VERSION: '5.7.*' + ACTION_VERSION: 2 jobs: test: @@ -46,17 +47,34 @@ jobs: with: node-version: 14.x + - name: Get NPM Cache Directory + id: npm-cache + run: echo "::set-output name=dir::$(npm config get cache)" + + - name: Cache Node Modules + uses: actions/cache@v2 + env: + npm-cache-name: cache-node-modules + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: ${{ steps.npm-cache.outputs.dir }} + key: ${{ runner.os }}-build-${{ env.npm-cache-name }}-v${{ env.ACTION_VERSION }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.npm-cache-name }}-v${{ env.ACTION_VERSION }}- + + - name: Get Composer Cache Directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + - name: Cache Composer dependencies uses: actions/cache@v2 env: - composer-cache-name: cache-vendor + composer-cache-name: cache-composer with: - path: ~/vendor - key: ${{ runner.os }}-build-${{ env.composer-cache-name }}-${{ hashFiles('**/composer.lock') }} + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-build-${{ env.composer-cache-name }}-wp-${{ matrix.wordpress-version }}-wc-${{ matrix.woocommerce-version }}-v${{ env.ACTION_VERSION }}-${{ hashFiles('**/composer.lock') }} restore-keys: | - ${{ runner.os }}-build-${{ env.composer-cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- + ${{ runner.os }}-build-${{ env.composer-cache-name }}-wp-${{ matrix.wordpress-version }}-wc-${{ matrix.woocommerce-version }}-v${{ env.ACTION_VERSION }}- - name: Require Specified WordPress Version run: composer require johnpbloch/wordpress-core:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 88a1009..15c89a4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,6 +6,7 @@ on: env: WP_MULTISITE: 0 + ACTION_VERSION: 2 jobs: release: @@ -25,18 +26,20 @@ jobs: with: node-version: 14.x + - name: Get NPM Cache Directory + id: npm-cache + run: echo "::set-output name=dir::$(npm config get cache)" + - name: Cache Node Modules uses: actions/cache@v2 env: npm-cache-name: cache-node-modules with: # npm cache files are stored in `~/.npm` on Linux/macOS - path: ~/.npm - key: ${{ runner.os }}-build-${{ env.npm-cache-name }}-${{ hashFiles('**/package-lock.json') }} + path: ${{ steps.npm-cache.outputs.dir }} + key: ${{ runner.os }}-build-${{ env.npm-cache-name }}-v${{ env.ACTION_VERSION }}-${{ hashFiles('**/package-lock.json') }} restore-keys: | - ${{ runner.os }}-build-${{ env.npm-cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- + ${{ runner.os }}-build-${{ env.npm-cache-name }}-v${{ env.ACTION_VERSION }}- - name: NPM Install run: npm ci diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml index e168933..0cf7a8d 100644 --- a/.github/workflows/static-analysis.yml +++ b/.github/workflows/static-analysis.yml @@ -12,6 +12,7 @@ on: env: PHP_VERSION: 7.4 WP_MULTISITE: 0 + ACTION_VERSION: 2 jobs: check: @@ -30,17 +31,19 @@ jobs: php-version: ${{ env.PHP_VERSION }} tools: composer:v2 + - name: Get Composer Cache Directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + - name: Cache Composer dependencies uses: actions/cache@v2 env: - composer-cache-name: cache-vendor + composer-cache-name: cache-composer with: - path: ~/vendor - key: ${{ runner.os }}-build-${{ env.composer-cache-name }}-${{ hashFiles('**/composer.lock') }} + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-build-${{ env.composer-cache-name }}-v${{ env.ACTION_VERSION }}-${{ hashFiles('**/composer.lock') }} restore-keys: | - ${{ runner.os }}-build-${{ env.composer-cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- + ${{ runner.os }}-build-${{ env.composer-cache-name }}-v${{ env.ACTION_VERSION }}- - name: Install Composer Dependencies run: composer install diff --git a/.github/workflows/unit-testing.yml b/.github/workflows/unit-testing.yml index 2359bf1..e6b888e 100644 --- a/.github/workflows/unit-testing.yml +++ b/.github/workflows/unit-testing.yml @@ -20,6 +20,7 @@ env: WC_PREF_MIN_VERSION: '4.8.*' WC_PREF_STABLE_VERSION: '5.*' WC_STABLE_VERSION: '6.*' + ACTION_VERSION: 2 jobs: test: @@ -86,17 +87,34 @@ jobs: with: node-version: 14.x + - name: Get NPM Cache Directory + id: npm-cache + run: echo "::set-output name=dir::$(npm config get cache)" + + - name: Cache Node Modules + uses: actions/cache@v2 + env: + npm-cache-name: cache-node-modules + with: + # npm cache files are stored in `~/.npm` on Linux/macOS + path: ${{ steps.npm-cache.outputs.dir }} + key: ${{ runner.os }}-build-${{ env.npm-cache-name }}-v${{ env.ACTION_VERSION }}-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.npm-cache-name }}-v${{ env.ACTION_VERSION }}- + + - name: Get Composer Cache Directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + - name: Cache Composer dependencies uses: actions/cache@v2 env: - composer-cache-name: cache-vendor + composer-cache-name: cache-composer with: - path: ~/vendor - key: ${{ runner.os }}-build-${{ env.composer-cache-name }}-${{ hashFiles('**/composer.lock') }} + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-build-${{ env.composer-cache-name }}-wp-${{ matrix.wordpress-version }}-wc-${{ matrix.woocommerce-version }}-v${{ env.ACTION_VERSION }}-${{ hashFiles('**/composer.lock') }} restore-keys: | - ${{ runner.os }}-build-${{ env.composer-cache-name }}- - ${{ runner.os }}-build- - ${{ runner.os }}- + ${{ runner.os }}-build-${{ env.composer-cache-name }}-wp-${{ matrix.wordpress-version }}-wc-${{ matrix.woocommerce-version }}-v${{ env.ACTION_VERSION }}- - name: Require Specified WordPress Version run: composer require johnpbloch/wordpress-core:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies diff --git a/composer.json b/composer.json index e1efd4f..37ce623 100644 --- a/composer.json +++ b/composer.json @@ -53,7 +53,7 @@ "johnpbloch/wordpress-core": "~5.9.0", "johnpbloch/wordpress-core-installer": "^2.0", "mockery/mockery": "^1.3", - "php-stubs/woocommerce-stubs": "~6.0.0", + "php-stubs/woocommerce-stubs": "~6.3.0", "php-stubs/wordpress-stubs": "~5.9.0", "phpcompatibility/php-compatibility": "^9.0", "phpcompatibility/phpcompatibility-wp": "^2.1", diff --git a/composer.lock b/composer.lock index c66752a..876e426 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "0712f3e7529cad54e3491c2882056a67", + "content-hash": "a0609162dbf23daaad6d0de4d97aa0e5", "packages": [ { "name": "composer/installers", @@ -161,16 +161,16 @@ "packages-dev": [ { "name": "amphp/amp", - "version": "v2.6.1", + "version": "v2.6.2", "source": { "type": "git", "url": "https://github.com/amphp/amp.git", - "reference": "c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae" + "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/amp/zipball/c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae", - "reference": "c5fc66a78ee38d7ac9195a37bacaf940eb3f65ae", + "url": "https://api.github.com/repos/amphp/amp/zipball/9d5100cebffa729aaffecd3ad25dc5aeea4f13bb", + "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb", "shasum": "" }, "require": { @@ -192,13 +192,13 @@ } }, "autoload": { - "psr-4": { - "Amp\\": "lib" - }, "files": [ "lib/functions.php", "lib/Internal/functions.php" - ] + ], + "psr-4": { + "Amp\\": "lib" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -223,7 +223,7 @@ } ], "description": "A non-blocking concurrency framework for PHP applications.", - "homepage": "http://amphp.org/amp", + "homepage": "https://amphp.org/amp", "keywords": [ "async", "asynchronous", @@ -238,7 +238,7 @@ "support": { "irc": "irc://irc.freenode.org/amphp", "issues": "https://github.com/amphp/amp/issues", - "source": "https://github.com/amphp/amp/tree/v2.6.1" + "source": "https://github.com/amphp/amp/tree/v2.6.2" }, "funding": [ { @@ -246,7 +246,7 @@ "type": "github" } ], - "time": "2021-09-23T18:43:08+00:00" + "time": "2022-02-20T17:52:18+00:00" }, { "name": "amphp/byte-stream", @@ -281,12 +281,12 @@ } }, "autoload": { - "psr-4": { - "Amp\\ByteStream\\": "lib" - }, "files": [ "lib/functions.php" - ] + ], + "psr-4": { + "Amp\\ByteStream\\": "lib" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -355,14 +355,14 @@ }, "type": "library", "autoload": { - "psr-4": { - "Amp\\Parallel\\": "lib" - }, "files": [ "lib/Context/functions.php", "lib/Sync/functions.php", "lib/Worker/functions.php" - ] + ], + "psr-4": { + "Amp\\Parallel\\": "lib" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -426,12 +426,12 @@ }, "type": "library", "autoload": { - "psr-4": { - "Amp\\ParallelFunctions\\": "src" - }, "files": [ "src/functions.php" - ] + ], + "psr-4": { + "Amp\\ParallelFunctions\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -537,12 +537,12 @@ }, "type": "library", "autoload": { - "psr-4": { - "Amp\\Process\\": "lib" - }, "files": [ "lib/functions.php" - ] + ], + "psr-4": { + "Amp\\Process\\": "lib" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -599,12 +599,12 @@ }, "type": "library", "autoload": { - "psr-4": { - "Amp\\Serialization\\": "src" - }, "files": [ "src/functions.php" - ] + ], + "psr-4": { + "Amp\\Serialization\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -659,13 +659,13 @@ }, "type": "library", "autoload": { - "psr-4": { - "Amp\\Sync\\": "src" - }, "files": [ "src/functions.php", "src/ConcurrentIterator/functions.php" - ] + ], + "psr-4": { + "Amp\\Sync\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -704,16 +704,16 @@ }, { "name": "antecedent/patchwork", - "version": "2.1.17", + "version": "2.1.21", "source": { "type": "git", "url": "https://github.com/antecedent/patchwork.git", - "reference": "df5aba175a44c2996ced4edf8ec9f9081b5348c0" + "reference": "25c1fa0cd9a6e6d0d13863d8df8f050b6733f16d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/antecedent/patchwork/zipball/df5aba175a44c2996ced4edf8ec9f9081b5348c0", - "reference": "df5aba175a44c2996ced4edf8ec9f9081b5348c0", + "url": "https://api.github.com/repos/antecedent/patchwork/zipball/25c1fa0cd9a6e6d0d13863d8df8f050b6733f16d", + "reference": "25c1fa0cd9a6e6d0d13863d8df8f050b6733f16d", "shasum": "" }, "require": { @@ -746,49 +746,50 @@ ], "support": { "issues": "https://github.com/antecedent/patchwork/issues", - "source": "https://github.com/antecedent/patchwork/tree/2.1.17" + "source": "https://github.com/antecedent/patchwork/tree/2.1.21" }, - "time": "2021-10-21T14:22:43+00:00" + "time": "2022-02-07T07:28:34+00:00" }, { "name": "automattic/jetpack-autoloader", - "version": "2.10.1", + "version": "v2.11.4", "source": { "type": "git", "url": "https://github.com/Automattic/jetpack-autoloader.git", - "reference": "20393c4677765c3e737dcb5aee7a3f7b90dce4b3" + "reference": "bf742b8f0b885d661deab74ec7775ff5856a7008" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/20393c4677765c3e737dcb5aee7a3f7b90dce4b3", - "reference": "20393c4677765c3e737dcb5aee7a3f7b90dce4b3", + "url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/bf742b8f0b885d661deab74ec7775ff5856a7008", + "reference": "bf742b8f0b885d661deab74ec7775ff5856a7008", "shasum": "" }, "require": { "composer-plugin-api": "^1.1 || ^2.0" }, "require-dev": { - "automattic/jetpack-changelogger": "^1.1", - "yoast/phpunit-polyfills": "0.2.0" + "automattic/jetpack-changelogger": "^3.1", + "yoast/phpunit-polyfills": "1.0.3" }, "type": "composer-plugin", "extra": { + "autotagger": true, "class": "Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin", "mirror-repo": "Automattic/jetpack-autoloader", "changelogger": { "link-template": "https://github.com/Automattic/jetpack-autoloader/compare/v${old}...v${new}" }, "branch-alias": { - "dev-master": "2.10.x-dev" + "dev-master": "2.11.x-dev" } }, "autoload": { - "classmap": [ - "src/AutoloadGenerator.php" - ], "psr-4": { "Automattic\\Jetpack\\Autoloader\\": "src" - } + }, + "classmap": [ + "src/AutoloadGenerator.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -796,9 +797,9 @@ ], "description": "Creates a custom autoloader for a plugin or theme.", "support": { - "source": "https://github.com/Automattic/jetpack-autoloader/tree/2.10.1" + "source": "https://github.com/Automattic/jetpack-autoloader/tree/v2.11.4" }, - "time": "2021-03-30T15:15:59+00:00" + "time": "2022-04-26T14:33:38+00:00" }, { "name": "brain/monkey", @@ -832,12 +833,12 @@ } }, "autoload": { - "psr-4": { - "Brain\\Monkey\\": "src/" - }, "files": [ "inc/api.php" - ] + ], + "psr-4": { + "Brain\\Monkey\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -872,30 +873,30 @@ }, { "name": "composer/pcre", - "version": "1.0.0", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "3d322d715c43a1ac36c7fe215fa59336265500f2" + "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/3d322d715c43a1ac36c7fe215fa59336265500f2", - "reference": "3d322d715c43a1ac36c7fe215fa59336265500f2", + "url": "https://api.github.com/repos/composer/pcre/zipball/e300eb6c535192decd27a85bc72a9290f0d6b3bd", + "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd", "shasum": "" }, "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" + "php": "^7.4 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^1", + "phpstan/phpstan": "^1.3", "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^4.2 || ^5" + "symfony/phpunit-bridge": "^5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.x-dev" + "dev-main": "3.x-dev" } }, "autoload": { @@ -923,7 +924,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/1.0.0" + "source": "https://github.com/composer/pcre/tree/3.0.0" }, "funding": [ { @@ -939,31 +940,31 @@ "type": "tidelift" } ], - "time": "2021-12-06T15:17:27+00:00" + "time": "2022-02-25T20:21:48+00:00" }, { "name": "composer/xdebug-handler", - "version": "2.0.3", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "6555461e76962fd0379c444c46fd558a0fcfb65e" + "reference": "ced299686f41dce890debac69273b47ffe98a40c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6555461e76962fd0379c444c46fd558a0fcfb65e", - "reference": "6555461e76962fd0379c444c46fd558a0fcfb65e", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", + "reference": "ced299686f41dce890debac69273b47ffe98a40c", "shasum": "" }, "require": { - "composer/pcre": "^1", - "php": "^5.3.2 || ^7.0 || ^8.0", + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", "psr/log": "^1 || ^2 || ^3" }, "require-dev": { "phpstan/phpstan": "^1.0", "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^4.2 || ^5.0 || ^6.0" + "symfony/phpunit-bridge": "^6.0" }, "type": "library", "autoload": { @@ -989,7 +990,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/2.0.3" + "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" }, "funding": [ { @@ -1005,31 +1006,31 @@ "type": "tidelift" } ], - "time": "2021-12-08T13:07:32+00:00" + "time": "2022-02-25T21:32:43+00:00" }, { "name": "dealerdirect/phpcodesniffer-composer-installer", - "version": "v0.7.1", + "version": "v0.7.2", "source": { "type": "git", "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git", - "reference": "fe390591e0241955f22eb9ba327d137e501c771c" + "reference": "1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/fe390591e0241955f22eb9ba327d137e501c771c", - "reference": "fe390591e0241955f22eb9ba327d137e501c771c", + "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db", + "reference": "1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db", "shasum": "" }, "require": { "composer-plugin-api": "^1.0 || ^2.0", "php": ">=5.3", - "squizlabs/php_codesniffer": "^2.0 || ^3.0 || ^4.0" + "squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0" }, "require-dev": { "composer/composer": "*", - "phpcompatibility/php-compatibility": "^9.0", - "sensiolabs/security-checker": "^4.1.0" + "php-parallel-lint/php-parallel-lint": "^1.3.1", + "phpcompatibility/php-compatibility": "^9.0" }, "type": "composer-plugin", "extra": { @@ -1050,6 +1051,10 @@ "email": "franck.nijhof@dealerdirect.com", "homepage": "http://www.frenck.nl", "role": "Developer / IT Manager" + }, + { + "name": "Contributors", + "homepage": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer/graphs/contributors" } ], "description": "PHP_CodeSniffer Standards Composer Installer Plugin", @@ -1061,6 +1066,7 @@ "codesniffer", "composer", "installer", + "phpcbf", "phpcs", "plugin", "qa", @@ -1075,7 +1081,7 @@ "issues": "https://github.com/dealerdirect/phpcodesniffer-composer-installer/issues", "source": "https://github.com/dealerdirect/phpcodesniffer-composer-installer" }, - "time": "2020-12-07T18:04:37+00:00" + "time": "2022-02-04T12:51:07+00:00" }, { "name": "doctrine/collections", @@ -1148,29 +1154,30 @@ }, { "name": "doctrine/instantiator", - "version": "1.4.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" + "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", - "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc", + "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^8.0", + "doctrine/coding-standard": "^9", "ext-pdo": "*", "ext-phar": "*", - "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "phpbench/phpbench": "^0.16 || ^1", + "phpstan/phpstan": "^1.4", + "phpstan/phpstan-phpunit": "^1", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.22" }, "type": "library", "autoload": { @@ -1197,7 +1204,7 @@ ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.4.0" + "source": "https://github.com/doctrine/instantiator/tree/1.4.1" }, "funding": [ { @@ -1213,20 +1220,20 @@ "type": "tidelift" } ], - "time": "2020-11-10T18:47:58+00:00" + "time": "2022-03-03T08:28:38+00:00" }, { "name": "gitonomy/gitlib", - "version": "v1.3.2", + "version": "v1.3.4", "source": { "type": "git", "url": "https://github.com/gitonomy/gitlib.git", - "reference": "e73e439590b194b0b250b516b22a68c7116e2f21" + "reference": "3c2f67a2fa6e7b26dbc9b9d0ca272ed33ba5895e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/gitonomy/gitlib/zipball/e73e439590b194b0b250b516b22a68c7116e2f21", - "reference": "e73e439590b194b0b250b516b22a68c7116e2f21", + "url": "https://api.github.com/repos/gitonomy/gitlib/zipball/3c2f67a2fa6e7b26dbc9b9d0ca272ed33ba5895e", + "reference": "3c2f67a2fa6e7b26dbc9b9d0ca272ed33ba5895e", "shasum": "" }, "require": { @@ -1257,25 +1264,29 @@ "authors": [ { "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk" + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" }, { "name": "Julien Didier", - "email": "genzo.wm@gmail.com" + "email": "genzo.wm@gmail.com", + "homepage": "https://github.com/juliendidier" }, { "name": "Grégoire Pineau", - "email": "lyrixx@lyrixx.info" + "email": "lyrixx@lyrixx.info", + "homepage": "https://github.com/lyrixx" }, { "name": "Alexandre Salomé", - "email": "alexandre.salome@gmail.com" + "email": "alexandre.salome@gmail.com", + "homepage": "https://github.com/alexandresalome" } ], "description": "Library for accessing git", "support": { "issues": "https://github.com/gitonomy/gitlib/issues", - "source": "https://github.com/gitonomy/gitlib/tree/v1.3.2" + "source": "https://github.com/gitonomy/gitlib/tree/v1.3.4" }, "funding": [ { @@ -1283,7 +1294,7 @@ "type": "tidelift" } ], - "time": "2021-09-06T20:30:10+00:00" + "time": "2022-02-14T09:07:07+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -1509,16 +1520,16 @@ }, { "name": "monolog/monolog", - "version": "2.3.5", + "version": "2.5.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "fd4380d6fc37626e2f799f29d91195040137eba9" + "reference": "4192345e260f1d51b365536199744b987e160edc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd4380d6fc37626e2f799f29d91195040137eba9", - "reference": "fd4380d6fc37626e2f799f29d91195040137eba9", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/4192345e260f1d51b365536199744b987e160edc", + "reference": "4192345e260f1d51b365536199744b987e160edc", "shasum": "" }, "require": { @@ -1540,7 +1551,7 @@ "phpstan/phpstan": "^0.12.91", "phpunit/phpunit": "^8.5", "predis/predis": "^1.1", - "rollbar/rollbar": "^1.3", + "rollbar/rollbar": "^1.3 || ^2 || ^3", "ruflin/elastica": ">=0.90@dev", "swiftmailer/swiftmailer": "^5.3|^6.0" }, @@ -1592,7 +1603,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.3.5" + "source": "https://github.com/Seldaek/monolog/tree/2.5.0" }, "funding": [ { @@ -1604,41 +1615,42 @@ "type": "tidelift" } ], - "time": "2021-10-01T21:08:31+00:00" + "time": "2022-04-08T15:43:54+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.10.2", + "version": "1.11.0", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" + "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", - "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614", + "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, - "replace": { - "myclabs/deep-copy": "self.version" + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3,<3.2.2" }, "require-dev": { - "doctrine/collections": "^1.0", - "doctrine/common": "^2.6", - "phpunit/phpunit": "^7.1" + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" }, "type": "library", "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - }, "files": [ "src/DeepCopy/deep_copy.php" - ] + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1654,7 +1666,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0" }, "funding": [ { @@ -1662,7 +1674,7 @@ "type": "tidelift" } ], - "time": "2020-11-13T09:40:50+00:00" + "time": "2022-03-03T13:19:32+00:00" }, { "name": "ondram/ci-detector", @@ -1744,16 +1756,16 @@ }, { "name": "opis/closure", - "version": "3.6.2", + "version": "3.6.3", "source": { "type": "git", "url": "https://github.com/opis/closure.git", - "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6" + "reference": "3d81e4309d2a927abbe66df935f4bb60082805ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/06e2ebd25f2869e54a306dda991f7db58066f7f6", - "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6", + "url": "https://api.github.com/repos/opis/closure/zipball/3d81e4309d2a927abbe66df935f4bb60082805ad", + "reference": "3d81e4309d2a927abbe66df935f4bb60082805ad", "shasum": "" }, "require": { @@ -1770,12 +1782,12 @@ } }, "autoload": { - "psr-4": { - "Opis\\Closure\\": "src/" - }, "files": [ "functions.php" - ] + ], + "psr-4": { + "Opis\\Closure\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1803,29 +1815,29 @@ ], "support": { "issues": "https://github.com/opis/closure/issues", - "source": "https://github.com/opis/closure/tree/3.6.2" + "source": "https://github.com/opis/closure/tree/3.6.3" }, - "time": "2021-04-09T13:42:10+00:00" + "time": "2022-01-27T09:35:39+00:00" }, { "name": "pdepend/pdepend", - "version": "2.10.2", + "version": "2.10.3", "source": { "type": "git", "url": "https://github.com/pdepend/pdepend.git", - "reference": "c8c1d2af43fb8c2b5387d50e9c42a9c56de13686" + "reference": "da3166a06b4a89915920a42444f707122a1584c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdepend/pdepend/zipball/c8c1d2af43fb8c2b5387d50e9c42a9c56de13686", - "reference": "c8c1d2af43fb8c2b5387d50e9c42a9c56de13686", + "url": "https://api.github.com/repos/pdepend/pdepend/zipball/da3166a06b4a89915920a42444f707122a1584c9", + "reference": "da3166a06b4a89915920a42444f707122a1584c9", "shasum": "" }, "require": { "php": ">=5.3.7", - "symfony/config": "^2.3.0|^3|^4|^5", - "symfony/dependency-injection": "^2.3.0|^3|^4|^5", - "symfony/filesystem": "^2.3.0|^3|^4|^5" + "symfony/config": "^2.3.0|^3|^4|^5|^6.0", + "symfony/dependency-injection": "^2.3.0|^3|^4|^5|^6.0", + "symfony/filesystem": "^2.3.0|^3|^4|^5|^6.0" }, "require-dev": { "easy-doc/easy-doc": "0.0.0|^1.2.3", @@ -1854,7 +1866,7 @@ "description": "Official version of pdepend to be handled with Composer", "support": { "issues": "https://github.com/pdepend/pdepend/issues", - "source": "https://github.com/pdepend/pdepend/tree/2.10.2" + "source": "https://github.com/pdepend/pdepend/tree/2.10.3" }, "funding": [ { @@ -1862,7 +1874,7 @@ "type": "tidelift" } ], - "time": "2021-11-16T20:05:32+00:00" + "time": "2022-02-23T07:53:09+00:00" }, { "name": "phar-io/manifest", @@ -1976,24 +1988,24 @@ }, { "name": "php-stubs/woocommerce-stubs", - "version": "v6.0.0", + "version": "v6.3.1", "source": { "type": "git", "url": "https://github.com/php-stubs/woocommerce-stubs.git", - "reference": "65e6be8a1b74b7be5d0d5591262342ff116f93db" + "reference": "66307f9ca215fb9339f3ddab078b26d47a818d6c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-stubs/woocommerce-stubs/zipball/65e6be8a1b74b7be5d0d5591262342ff116f93db", - "reference": "65e6be8a1b74b7be5d0d5591262342ff116f93db", + "url": "https://api.github.com/repos/php-stubs/woocommerce-stubs/zipball/66307f9ca215fb9339f3ddab078b26d47a818d6c", + "reference": "66307f9ca215fb9339f3ddab078b26d47a818d6c", "shasum": "" }, "require": { "php-stubs/wordpress-stubs": "^5.3.0" }, "require-dev": { - "giacocorsiglia/stubs-generator": "^0.5.0", - "php": "~7.1" + "php": "~7.1", + "php-stubs/generator": "^0.8.0" }, "suggest": { "symfony/polyfill-php73": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", @@ -2014,9 +2026,9 @@ ], "support": { "issues": "https://github.com/php-stubs/woocommerce-stubs/issues", - "source": "https://github.com/php-stubs/woocommerce-stubs/tree/v6.0.0" + "source": "https://github.com/php-stubs/woocommerce-stubs/tree/v6.3.1" }, - "time": "2022-01-04T22:00:24+00:00" + "time": "2022-04-30T07:39:21+00:00" }, { "name": "php-stubs/wordpress-stubs", @@ -2185,16 +2197,16 @@ }, { "name": "phpcompatibility/phpcompatibility-wp", - "version": "2.1.2", + "version": "2.1.3", "source": { "type": "git", "url": "https://github.com/PHPCompatibility/PHPCompatibilityWP.git", - "reference": "a792ab623069f0ce971b2417edef8d9632e32f75" + "reference": "d55de55f88697b9cdb94bccf04f14eb3b11cf308" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/a792ab623069f0ce971b2417edef8d9632e32f75", - "reference": "a792ab623069f0ce971b2417edef8d9632e32f75", + "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/d55de55f88697b9cdb94bccf04f14eb3b11cf308", + "reference": "d55de55f88697b9cdb94bccf04f14eb3b11cf308", "shasum": "" }, "require": { @@ -2235,7 +2247,7 @@ "issues": "https://github.com/PHPCompatibility/PHPCompatibilityWP/issues", "source": "https://github.com/PHPCompatibility/PHPCompatibilityWP" }, - "time": "2021-07-21T11:09:57+00:00" + "time": "2021-12-30T16:37:40+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -2349,16 +2361,16 @@ }, { "name": "phpdocumentor/type-resolver", - "version": "1.5.1", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae" + "reference": "77a32518733312af16a44300404e945338981de3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae", - "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3", + "reference": "77a32518733312af16a44300404e945338981de3", "shasum": "" }, "require": { @@ -2393,28 +2405,28 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.1" }, - "time": "2021-10-02T14:08:47+00:00" + "time": "2022-03-15T21:29:03+00:00" }, { "name": "phpmd/phpmd", - "version": "2.11.1", + "version": "2.12.0", "source": { "type": "git", "url": "https://github.com/phpmd/phpmd.git", - "reference": "08b60a2eb7e14c23f46ff8865b510ae08b75d0fd" + "reference": "c0b678ba71902f539c27c14332aa0ddcf14388ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpmd/phpmd/zipball/08b60a2eb7e14c23f46ff8865b510ae08b75d0fd", - "reference": "08b60a2eb7e14c23f46ff8865b510ae08b75d0fd", + "url": "https://api.github.com/repos/phpmd/phpmd/zipball/c0b678ba71902f539c27c14332aa0ddcf14388ec", + "reference": "c0b678ba71902f539c27c14332aa0ddcf14388ec", "shasum": "" }, "require": { - "composer/xdebug-handler": "^1.0 || ^2.0", + "composer/xdebug-handler": "^1.0 || ^2.0 || ^3.0", "ext-xml": "*", - "pdepend/pdepend": "^2.10.2", + "pdepend/pdepend": "^2.10.3", "php": ">=5.3.9" }, "require-dev": { @@ -2470,7 +2482,7 @@ "support": { "irc": "irc://irc.freenode.org/phpmd", "issues": "https://github.com/phpmd/phpmd/issues", - "source": "https://github.com/phpmd/phpmd/tree/2.11.1" + "source": "https://github.com/phpmd/phpmd/tree/2.12.0" }, "funding": [ { @@ -2478,26 +2490,26 @@ "type": "tidelift" } ], - "time": "2021-12-17T11:25:43+00:00" + "time": "2022-03-24T13:33:01+00:00" }, { "name": "phpro/grumphp", - "version": "v1.5.0", + "version": "v1.5.1", "source": { "type": "git", "url": "https://github.com/phpro/grumphp.git", - "reference": "52ce0229dced77a207bc39a512053b5ee6ad4465" + "reference": "ef3d019f25f6852e61c3af7c8c234b1bf451a34c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpro/grumphp/zipball/52ce0229dced77a207bc39a512053b5ee6ad4465", - "reference": "52ce0229dced77a207bc39a512053b5ee6ad4465", + "url": "https://api.github.com/repos/phpro/grumphp/zipball/ef3d019f25f6852e61c3af7c8c234b1bf451a34c", + "reference": "ef3d019f25f6852e61c3af7c8c234b1bf451a34c", "shasum": "" }, "require": { "amphp/amp": "^2.4", "amphp/parallel": "^1.4", - "amphp/parallel-functions": "^1.0", + "amphp/parallel-functions": "1.0", "composer-plugin-api": "~1.0 || ~2.0", "doctrine/collections": "^1.6.7", "ext-json": "*", @@ -2591,9 +2603,9 @@ "description": "A composer plugin that enables source code quality checks.", "support": { "issues": "https://github.com/phpro/grumphp/issues", - "source": "https://github.com/phpro/grumphp/tree/v1.5.0" + "source": "https://github.com/phpro/grumphp/tree/v1.5.1" }, - "time": "2021-09-24T10:13:17+00:00" + "time": "2022-02-07T13:28:33+00:00" }, { "name": "phpspec/prophecy", @@ -2709,16 +2721,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.5.4", + "version": "1.5.7", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "bbf68cae24f6dc023c607ea0f87da55dd9d55c2b" + "reference": "7fb7e2e1e9f3d59a26a413b2d3d5e47f0edb75ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/bbf68cae24f6dc023c607ea0f87da55dd9d55c2b", - "reference": "bbf68cae24f6dc023c607ea0f87da55dd9d55c2b", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/7fb7e2e1e9f3d59a26a413b2d3d5e47f0edb75ac", + "reference": "7fb7e2e1e9f3d59a26a413b2d3d5e47f0edb75ac", "shasum": "" }, "require": { @@ -2744,7 +2756,7 @@ "description": "PHPStan - PHP Static Analysis Tool", "support": { "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.5.4" + "source": "https://github.com/phpstan/phpstan/tree/1.5.7" }, "funding": [ { @@ -2764,7 +2776,7 @@ "type": "tidelift" } ], - "time": "2022-04-03T12:39:00+00:00" + "time": "2022-04-20T12:20:27+00:00" }, { "name": "phpunit/php-code-coverage", @@ -3147,27 +3159,22 @@ }, { "name": "psr/container", - "version": "1.0.0", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=7.4.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, "autoload": { "psr-4": { "Psr\\Container\\": "src/" @@ -3180,7 +3187,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common Container Interface (PHP FIG PSR-11)", @@ -3194,9 +3201,59 @@ ], "support": { "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/master" + "source": "https://github.com/php-fig/container/tree/1.1.2" }, - "time": "2017-02-14T16:28:37+00:00" + "time": "2021-11-05T16:50:12+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" }, { "name": "psr/log", @@ -3254,40 +3311,49 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "fff53639bf1fa25f311c3e54932ac8c827f9a343" + "reference": "0e5a0abdd695cd45870e442647ef03a70f2ec1e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/fff53639bf1fa25f311c3e54932ac8c827f9a343", - "reference": "fff53639bf1fa25f311c3e54932ac8c827f9a343", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/0e5a0abdd695cd45870e442647ef03a70f2ec1e5", + "reference": "0e5a0abdd695cd45870e442647ef03a70f2ec1e5", "shasum": "" }, "conflict": { "3f/pygmentize": "<1.2", - "adodb/adodb-php": "<5.20.12", + "admidio/admidio": "<4.1.9", + "adodb/adodb-php": "<=5.20.20|>=5.21,<=5.21.3", "akaunting/akaunting": "<2.1.13", + "alextselegidis/easyappointments": "<1.4.3", "alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1", "amazing/media2click": ">=1,<1.3.3", "amphp/artax": "<1.0.6|>=2,<2.0.6", "amphp/http": "<1.0.1", "amphp/http-client": ">=4,<4.4", + "anchorcms/anchor-cms": "<=0.12.7", + "andreapollastri/cipi": "<=3.1.15", "api-platform/core": ">=2.2,<2.2.10|>=2.3,<2.3.6", + "appwrite/server-ce": "<0.11.1|>=0.12,<0.12.2", "area17/twill": "<1.2.5|>=2,<2.5.3", "asymmetricrypt/asymmetricrypt": ">=0,<9.9.99", "aws/aws-sdk-php": ">=3,<3.2.1", "bagisto/bagisto": "<0.1.5", "barrelstrength/sprout-base-email": "<1.2.7", "barrelstrength/sprout-forms": "<3.9", + "barryvdh/laravel-translation-manager": "<0.6.2", "baserproject/basercms": "<4.5.4", "billz/raspap-webgui": "<=2.6.6", "bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3", + "bmarshall511/wordpress_zero_spam": "<5.2.13", "bolt/bolt": "<3.7.2", - "bolt/core": "<4.1.13", + "bolt/core": "<=4.2", + "bottelet/flarepoint": "<2.2.1", "brightlocal/phpwhois": "<=4.2.5", "buddypress/buddypress": "<7.2.1", "bugsnag/bugsnag-laravel": ">=2,<2.0.2", + "bytefury/crater": "<6.0.2", "cachethq/cachet": "<2.5.1", - "cakephp/cakephp": ">=1.3,<1.3.18|>=2,<2.4.99|>=2.5,<2.5.99|>=2.6,<2.6.12|>=2.7,<2.7.6|>=3,<3.5.18|>=3.6,<3.6.15|>=3.7,<3.7.7", + "cakephp/cakephp": "<4.0.6", "cardgate/magento2": "<2.0.33", "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4", "cartalyst/sentry": "<=2.1.6", @@ -3296,16 +3362,21 @@ "cesnet/simplesamlphp-module-proxystatistics": "<3.1", "codeception/codeception": "<3.1.3|>=4,<4.1.22", "codeigniter/framework": "<=3.0.6", + "codeigniter4/framework": "<4.1.9", "codiad/codiad": "<=2.8.4", - "composer/composer": "<1.10.23|>=2-alpha.1,<2.1.9", - "concrete5/concrete5": "<8.5.5", + "composer/composer": "<1.10.26|>=2-alpha.1,<2.2.12|>=2.3,<2.3.5", + "concrete5/concrete5": "<9", "concrete5/core": "<8.5.7", "contao-components/mediaelement": ">=2.14.2,<2.21.1", "contao/core": ">=2,<3.5.39", - "contao/core-bundle": ">=4,<4.4.56|>=4.5,<4.9.18|>=4.10,<4.11.7|= 4.10.0", + "contao/core-bundle": "<4.9.18|>=4.10,<4.11.7|= 4.10.0", "contao/listing-bundle": ">=4,<4.4.8", - "craftcms/cms": "<3.7.14", + "contao/managed-edition": "<=1.5", + "craftcms/cms": "<3.7.29", "croogo/croogo": "<3.0.7", + "cuyz/valinor": ">=0.5,<0.7", + "czproject/git-php": "<4.0.3", + "darylldoyle/safe-svg": "<1.9.10", "datadog/dd-trace": ">=0.30,<0.30.2", "david-garcia/phpwhois": "<=4.3.1", "derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1", @@ -3319,15 +3390,16 @@ "doctrine/mongodb-odm": ">=1,<1.0.2", "doctrine/mongodb-odm-bundle": ">=2,<3.0.1", "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1|>=2.8.3,<2.8.4", - "dolibarr/dolibarr": "<14|>= 3.3.beta1, < 13.0.2", - "dompdf/dompdf": ">=0.6,<0.6.2", - "drupal/core": ">=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4", + "dolibarr/dolibarr": "<16|>= 3.3.beta1, < 13.0.2", + "dompdf/dompdf": "<1.2.1", + "drupal/core": ">=7,<7.88|>=8,<9.2.13|>=9.3,<9.3.6", "drupal/drupal": ">=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4", "dweeves/magmi": "<=0.7.24", "ecodev/newsletter": "<=4", - "elgg/elgg": "<3.3.23|>=4,<4.0.5", + "ectouch/ectouch": "<=2.7.2", + "elgg/elgg": "<3.3.24|>=4,<4.0.5", "endroid/qr-code-bundle": "<3.4.2", - "enshrined/svg-sanitize": "<0.13.1", + "enshrined/svg-sanitize": "<0.15", "erusev/parsedown": "<1.7.2", "ether/logs": "<3.0.4", "ezsystems/demobundle": ">=5.4,<5.4.6.1", @@ -3335,27 +3407,29 @@ "ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1", "ezsystems/ezfind-ls": ">=5.3,<5.3.6.1|>=5.4,<5.4.11.1|>=2017.12,<2017.12.0.1", "ezsystems/ezplatform": "<=1.13.6|>=2,<=2.5.24", - "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<=1.5.25", + "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<1.5.27", "ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1", - "ezsystems/ezplatform-kernel": "<=1.2.5|>=1.3,<=1.3.1", + "ezsystems/ezplatform-kernel": "<=1.2.5|>=1.3,<1.3.17", "ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8", "ezsystems/ezplatform-richtext": ">=2.3,<=2.3.7", "ezsystems/ezplatform-user": ">=1,<1.0.1", - "ezsystems/ezpublish-kernel": "<=6.13.8.1|>=7,<=7.5.15.1", + "ezsystems/ezpublish-kernel": "<=6.13.8.1|>=7,<7.5.28", "ezsystems/ezpublish-legacy": "<=2017.12.7.3|>=2018.6,<=2019.3.5.1", "ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3", "ezsystems/repository-forms": ">=2.3,<2.3.2.1", "ezyang/htmlpurifier": "<4.1.1", "facade/ignition": "<1.16.15|>=2,<2.4.2|>=2.5,<2.5.2", + "facturascripts/facturascripts": "<2022.6", "feehi/cms": "<=2.1.1", "feehi/feehicms": "<=0.1.3", + "fenom/fenom": "<=2.12.1", "firebase/php-jwt": "<2", "flarum/core": ">=1,<=1.0.1", "flarum/sticky": ">=0.1-beta.14,<=0.1-beta.15", "flarum/tags": "<=0.1-beta.13", "fluidtypo3/vhs": "<5.1.1", "fooman/tcpdf": "<6.2.22", - "forkcms/forkcms": "<=5.9.2", + "forkcms/forkcms": "<5.11.1", "fossar/tcpdf-parser": "<6.2.22", "francoisjacquet/rosariosis": "<8.1.1", "friendsofsymfony/oauth2-php": "<1.3", @@ -3363,35 +3437,47 @@ "friendsofsymfony/user-bundle": ">=1.2,<1.3.5", "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", "froala/wysiwyg-editor": "<3.2.7", + "froxlor/froxlor": "<=0.10.22", "fuel/core": "<1.8.1", - "getgrav/grav": "<=1.7.24", + "gaoming13/wechat-php-sdk": "<=1.10.2", + "genix/cms": "<=1.1.11", + "getgrav/grav": "<1.7.31", "getkirby/cms": "<3.5.8", "getkirby/panel": "<2.5.14", "gilacms/gila": "<=1.11.4", "globalpayments/php-sdk": "<2", + "google/protobuf": "<3.15", "gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3", "gree/jose": "<=2.2", "gregwar/rst": "<1.0.3", "grumpydictator/firefly-iii": "<5.6.5", "guzzlehttp/guzzle": ">=4-rc.2,<4.2.4|>=5,<5.3.1|>=6,<6.2.1", + "guzzlehttp/psr7": "<1.8.4|>=2,<2.1.1", "helloxz/imgurl": "<=2.31", + "hillelcoren/invoice-ninja": "<5.3.35", "hjue/justwriting": "<=1", "hov/jobfair": "<1.0.13|>=2,<2.0.2", + "hyn/multi-tenant": ">=5.6,<5.7.2", + "ibexa/core": ">=4,<4.0.5|>=4.1,<4.1.2", "ibexa/post-install": "<=1.0.4", - "icecoder/icecoder": "<=8", + "icecoder/icecoder": "<=8.1", "illuminate/auth": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.10", "illuminate/cookie": ">=4,<=4.0.11|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.18.31|>=7,<7.22.4", "illuminate/database": "<6.20.26|>=7,<7.30.5|>=8,<8.40", "illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15", "illuminate/view": "<6.20.42|>=7,<7.30.6|>=8,<8.75", - "impresscms/impresscms": "<=1.4.2", + "impresscms/impresscms": "<=1.4.3", "in2code/femanager": "<5.5.1|>=6,<6.3.1", "intelliants/subrion": "<=4.2.1", "ivankristianto/phpwhois": "<=4.3", "jackalope/jackalope-doctrine-dbal": "<1.7.4", "james-heinrich/getid3": "<1.9.21", - "joomla/archive": "<1.1.10", + "joomla/archive": "<1.1.12|>=2,<2.0.1", + "joomla/filesystem": "<1.6.2|>=2,<2.0.1", + "joomla/filter": "<1.4.4|>=2,<2.0.1", + "joomla/input": ">=2,<2.0.2", "joomla/session": "<1.3.1", + "jsdecena/laracom": "<2.0.9", "jsmitty12/phpwhois": "<5.1", "kazist/phpwhois": "<=4.2.6", "kevinpapst/kimai2": "<1.16.7", @@ -3399,16 +3485,21 @@ "klaviyo/magento2-extension": ">=1,<3", "kreait/firebase-php": ">=3.2,<3.8.1", "la-haute-societe/tcpdf": "<6.2.22", + "laminas/laminas-form": "<2.17.1|>=3,<3.0.2|>=3.1,<3.1.1", "laminas/laminas-http": "<2.14.2", + "laravel/fortify": "<1.11.1", "laravel/framework": "<6.20.42|>=7,<7.30.6|>=8,<8.75", + "laravel/laravel": "<=5.8.38", "laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10", + "latte/latte": "<2.10.8", "lavalite/cms": "<=5.8", "lcobucci/jwt": ">=3.4,<3.4.6|>=4,<4.0.4|>=4.1,<4.1.5", "league/commonmark": "<0.18.3", "league/flysystem": "<1.1.4|>=2,<2.1.1", "lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3", - "librenms/librenms": "<=21.11", + "librenms/librenms": "<22.2.2", "limesurvey/limesurvey": "<3.27.19", + "livehelperchat/livehelperchat": "<=3.91", "livewire/livewire": ">2.2.4,<2.2.6", "lms/routes": "<2.1.1", "localizationteam/l10nmgr": "<7.4|>=8,<8.7|>=9,<9.2", @@ -3417,39 +3508,43 @@ "magento/magento1ee": ">=1,<1.14.4.3", "magento/product-community-edition": ">=2,<2.2.10|>=2.3,<2.3.2-p.2", "marcwillmann/turn": "<0.3.3", - "mautic/core": "<4|= 2.13.1", + "matyhtf/framework": "<3.0.6", + "mautic/core": "<4.2|= 2.13.1", "mediawiki/core": ">=1.27,<1.27.6|>=1.29,<1.29.3|>=1.30,<1.30.2|>=1.31,<1.31.9|>=1.32,<1.32.6|>=1.32.99,<1.33.3|>=1.33.99,<1.34.3|>=1.34.99,<1.35", - "microweber/microweber": "<1.2.8", + "microweber/microweber": "<1.3", "miniorange/miniorange-saml": "<1.4.3", "mittwald/typo3_forum": "<1.2.1", - "modx/revolution": "<2.8", + "modx/revolution": "<= 2.8.3-pl|<2.8", "monolog/monolog": ">=1.8,<1.12", - "moodle/moodle": "<3.5.17|>=3.7,<3.7.9|>=3.8,<3.8.8|>=3.9,<3.9.5|>=3.10-beta,<3.10.2", + "moodle/moodle": "<3.9.13|>=3.10-beta,<3.10.10|>=3.11,<3.11.6", + "mustache/mustache": ">=2,<2.14.1", "namshi/jose": "<2.2", "neoan3-apps/template": "<1.1.1", "neos/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", "neos/form": ">=1.2,<4.3.3|>=5,<5.0.9|>=5.1,<5.1.3", "neos/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.9.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", "neos/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", + "netgen/tagsbundle": ">=3.4,<3.4.11|>=4,<4.0.15", "nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6", "nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13", "nilsteampassnet/teampass": "<=2.1.27.36", "nukeviet/nukeviet": "<4.3.4", - "nystudio107/craft-seomatic": "<3.3", + "nystudio107/craft-seomatic": "<3.4.12", "nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1", "october/backend": "<1.1.2", "october/cms": "= 1.1.1|= 1.0.471|= 1.0.469|>=1.0.319,<1.0.469", "october/october": ">=1.0.319,<1.0.466|>=2.1,<2.1.12", "october/rain": "<1.0.472|>=1.1,<1.1.2", - "october/system": "<1.0.472|>=1.1.1,<1.1.5|>=2.1,<2.1.12", + "october/system": "<1.0.475|>=1.1,<1.1.11|>=2,<2.1.27", "onelogin/php-saml": "<2.10.4", "oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5", + "open-web-analytics/open-web-analytics": "<1.7.4", "opencart/opencart": "<=3.0.3.2", "openid/php-openid": "<2.3", "openmage/magento-lts": "<19.4.15|>=20,<20.0.13", "orchid/platform": ">=9,<9.4.4", "oro/crm": ">=1.7,<1.7.4|>=3.1,<4.1.17|>=4.2,<4.2.7", - "oro/platform": ">=1.7,<1.7.4", + "oro/platform": ">=1.7,<1.7.4|>=3.1,<3.1.29|>=4.1,<4.1.17|>=4.2,<4.2.8", "padraic/humbug_get_contents": "<1.1.2", "pagarme/pagarme-php": ">=0,<3", "pagekit/pagekit": "<=1.0.18", @@ -3457,58 +3552,65 @@ "passbolt/passbolt_api": "<2.11", "paypal/merchant-sdk-php": "<3.12", "pear/archive_tar": "<1.4.14", + "pear/crypt_gpg": "<1.6.7", "pegasus/google-for-jobs": "<1.5.1|>=2,<2.1.1", "personnummer/personnummer": "<3.0.2", "phanan/koel": "<5.1.4", "phpfastcache/phpfastcache": "<6.1.5|>=7,<7.1.2|>=8,<8.0.7", "phpmailer/phpmailer": "<6.5", "phpmussel/phpmussel": ">=1,<1.6", - "phpmyadmin/phpmyadmin": "<4.9.6|>=5,<5.0.3", - "phpoffice/phpexcel": "<1.8.2", + "phpmyadmin/phpmyadmin": "<5.1.3", + "phpoffice/phpexcel": "<1.8", "phpoffice/phpspreadsheet": "<1.16", "phpseclib/phpseclib": "<2.0.31|>=3,<3.0.7", "phpservermon/phpservermon": "<=3.5.2", - "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5.0.10,<5.6.3", + "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5,<5.6.3", "phpwhois/phpwhois": "<=4.2.5", "phpxmlrpc/extras": "<0.6.1", - "pimcore/pimcore": "<10.2.6", - "pocketmine/pocketmine-mp": "<4.0.3", + "pimcore/data-hub": "<1.2.4", + "pimcore/pimcore": "<10.4", + "pocketmine/bedrock-protocol": "<8.0.2", + "pocketmine/pocketmine-mp": "<4.2.9", "pressbooks/pressbooks": "<5.18", "prestashop/autoupgrade": ">=4,<4.10.1", "prestashop/contactform": ">1.0.1,<4.3", "prestashop/gamification": "<2.3.2", - "prestashop/prestashop": ">=1.7.5,<=1.7.8.1", + "prestashop/prestashop": ">=1.7,<=1.7.8.2", "prestashop/productcomments": ">=4,<4.2.1", "prestashop/ps_emailsubscription": "<2.6.1", "prestashop/ps_facetedsearch": "<3.4.1", "prestashop/ps_linklist": "<3.1", - "privatebin/privatebin": "<1.2.2|>=1.3,<1.3.2", + "privatebin/privatebin": "<1.4", "propel/propel": ">=2-alpha.1,<=2-alpha.7", "propel/propel1": ">=1,<=1.7.1", - "pterodactyl/panel": "<1.6.6", + "pterodactyl/panel": "<1.7", + "ptrofimov/beanstalk_console": "<1.7.14", "pusher/pusher-php-server": "<2.2.1", "pwweb/laravel-core": "<=0.3.6-beta", "rainlab/debugbar-plugin": "<3.1", - "remdex/livehelperchat": "<=3.90", + "remdex/livehelperchat": "<3.96", "rmccue/requests": ">=1.6,<1.8", "robrichards/xmlseclibs": "<3.0.4", + "rudloff/alltube": "<3.0.3", + "s-cart/s-cart": "<6.7.2", "sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1", "sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9", "scheb/two-factor-bundle": ">=0,<3.26|>=4,<4.11", "sensiolabs/connect": "<4.2.3", "serluck/phpwhois": "<=4.2.6", - "shopware/core": "<=6.4.6", - "shopware/platform": "<=6.4.6", + "shopware/core": "<=6.4.9", + "shopware/platform": "<=6.4.9", "shopware/production": "<=6.3.5.2", - "shopware/shopware": "<5.7.6", - "showdoc/showdoc": "<=2.9.13", - "silverstripe/admin": "<4.8.1", + "shopware/shopware": "<5.7.9", + "shopware/storefront": "<=6.4.8.1", + "showdoc/showdoc": "<2.10.4", + "silverstripe/admin": ">=1,<1.8.1", "silverstripe/assets": ">=1,<1.4.7|>=1.5,<1.5.2", "silverstripe/cms": "<4.3.6|>=4.4,<4.4.4", "silverstripe/comments": ">=1.3,<1.9.99|>=2,<2.9.99|>=3,<3.1.1", "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3", - "silverstripe/framework": "<4.7.4", - "silverstripe/graphql": "<3.5.2|>=4-alpha.1,<4-alpha.2", + "silverstripe/framework": "<4.10.1", + "silverstripe/graphql": "<3.5.2|>=4-alpha.1,<4-alpha.2|= 4.0.0-alpha1", "silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1", "silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4", "silverstripe/subsites": ">=2,<2.1.1", @@ -3520,13 +3622,15 @@ "simplesamlphp/simplesamlphp-module-infocard": "<1.0.1", "simplito/elliptic-php": "<1.0.6", "slim/slim": "<2.6", - "smarty/smarty": "<3.1.39", - "snipe/snipe-it": "<5.3.5", + "smarty/smarty": "<3.1.43|>=4,<4.0.3", + "snipe/snipe-it": "<5.4.3|>= 6.0.0-RC-1, <= 6.0.0-RC-5", "socalnick/scn-social-auth": "<1.15.2", "socialiteproviders/steam": "<1.1", + "spipu/html2pdf": "<5.2.4", "spoonity/tcpdf": "<6.2.22", "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", - "ssddanbrown/bookstack": "<21.11.3", + "ssddanbrown/bookstack": "<22.2.3", + "statamic/cms": "<3.2.39|>=3.3,<3.3.2", "stormpath/sdk": ">=0,<9.9.99", "studio-42/elfinder": "<2.1.59", "subrion/cms": "<=4.2.1", @@ -3534,10 +3638,10 @@ "swiftmailer/swiftmailer": ">=4,<5.4.5", "sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2", "sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", - "sylius/grid-bundle": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", + "sylius/grid-bundle": "<1.10.1", "sylius/paypal-plugin": ">=1,<1.2.4|>=1.3,<1.3.1", "sylius/resource-bundle": "<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4", - "sylius/sylius": "<1.6.9|>=1.7,<1.7.9|>=1.8,<1.8.3|>=1.9,<1.9.5", + "sylius/sylius": "<1.9.10|>=1.10,<1.10.11|>=1.11,<1.11.2", "symbiote/silverstripe-multivaluefield": ">=3,<3.0.99", "symbiote/silverstripe-queuedjobs": ">=3,<3.0.2|>=3.1,<3.1.4|>=4,<4.0.7|>=4.1,<4.1.2|>=4.2,<4.2.4|>=4.3,<4.3.3|>=4.4,<4.4.3|>=4.5,<4.5.1|>=4.6,<4.6.4", "symbiote/silverstripe-versionedfiles": "<=2.0.3", @@ -3546,7 +3650,7 @@ "symfony/dependency-injection": ">=2,<2.0.17|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", "symfony/error-handler": ">=4.4,<4.4.4|>=5,<5.0.4", "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.50|>=2.8,<2.8.49|>=3,<3.4.20|>=4,<4.0.15|>=4.1,<4.1.9|>=4.2,<4.2.1", - "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7|>=5.3.14,<=5.3.14|>=5.4.3,<=5.4.3|>=6.0.3,<=6.0.3|= 6.0.3|= 5.4.3|= 5.3.14", "symfony/http-foundation": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7", "symfony/http-kernel": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5|>=5.2,<5.3.12", "symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13", @@ -3562,9 +3666,9 @@ "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.9", "symfony/security-csrf": ">=2.4,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", "symfony/security-guard": ">=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8", - "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8|>=5.3,<5.3.2", + "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7|>=5.1,<5.2.8|>=5.3,<5.3.2", "symfony/serializer": ">=2,<2.0.11|>=4.1,<4.4.35|>=5,<5.3.12", - "symfony/symfony": ">=2,<3.4.49|>=4,<4.4.35|>=5,<5.3.12", + "symfony/symfony": ">=2,<3.4.49|>=4,<4.4.35|>=5,<5.3.12|>=5.3.14,<=5.3.14|>=5.4.3,<=5.4.3|>=6.0.3,<=6.0.3", "symfony/translation": ">=2,<2.0.17", "symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3", "symfony/var-exporter": ">=4.2,<4.2.12|>=4.3,<4.3.8", @@ -3572,7 +3676,9 @@ "symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7", "t3/dce": ">=2.2,<2.6.2", "t3g/svg-sanitizer": "<1.0.3", + "tastyigniter/tastyigniter": "<3.3", "tecnickcom/tcpdf": "<6.2.22", + "terminal42/contao-tablelookupwizard": "<3.3.5", "thelia/backoffice-default-template": ">=2.1,<2.1.2", "thelia/thelia": ">=2.1-beta.1,<2.1.3", "theonedemon/phpwhois": "<=4.2.5", @@ -3581,9 +3687,9 @@ "topthink/framework": "<6.0.9", "topthink/think": "<=6.0.9", "topthink/thinkphp": "<=3.2.3", - "tribalsystems/zenario": "<8.8.53370", + "tribalsystems/zenario": "<9.2.55826", "truckersmp/phpwhois": "<=4.3.1", - "twig/twig": "<1.38|>=2,<2.7", + "twig/twig": "<1.38|>=2,<2.14.11|>=3,<3.3.8", "typo3/cms": ">=6.2,<6.2.30|>=7,<7.6.32|>=8,<8.7.38|>=9,<9.5.29|>=10,<10.4.19|>=11,<11.5", "typo3/cms-backend": ">=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", "typo3/cms-core": ">=6.2,<=6.2.56|>=7,<=7.6.52|>=8,<=8.7.41|>=9,<9.5.29|>=10,<10.4.19|>=11,<11.5", @@ -3594,10 +3700,12 @@ "typo3/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", "typo3fluid/fluid": ">=2,<2.0.8|>=2.1,<2.1.7|>=2.2,<2.2.4|>=2.3,<2.3.7|>=2.4,<2.4.4|>=2.5,<2.5.11|>=2.6,<2.6.10", "ua-parser/uap-php": "<3.8", + "unisharp/laravel-filemanager": "<=2.3", + "userfrosting/userfrosting": ">=0.3.1,<4.6.3", "usmanhalalit/pixie": "<1.0.3|>=2,<2.0.2", "vanilla/safecurl": "<0.9.2", "verot/class.upload.php": "<=1.0.3|>=2,<=2.0.4", - "vrana/adminer": "<4.7.9", + "vrana/adminer": "<4.8.1", "wallabag/tcpdf": "<6.2.22", "wanglelecc/laracms": "<=1.0.3", "web-auth/webauthn-framework": ">=3.3,<3.3.4", @@ -3605,6 +3713,9 @@ "wikimedia/parsoid": "<0.12.2", "willdurand/js-translation-bundle": "<2.1.1", "wp-cli/wp-cli": "<2.5", + "wpanel/wpanel4-cms": "<=4.3.1", + "wwbn/avideo": "<=11.6", + "yeswiki/yeswiki": "<4.1", "yetiforce/yetiforce-crm": "<=6.3", "yidashi/yii2cmf": "<=2", "yii2mod/yii2-cms": "<1.9.2", @@ -3624,10 +3735,10 @@ "zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2", "zendframework/zend-db": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.10|>=2.3,<2.3.5", "zendframework/zend-developer-tools": ">=1.2.2,<1.2.3", - "zendframework/zend-diactoros": ">=1,<1.8.4", - "zendframework/zend-feed": ">=1,<2.10.3", + "zendframework/zend-diactoros": "<1.8.4", + "zendframework/zend-feed": "<2.10.3", "zendframework/zend-form": ">=2,<2.2.7|>=2.3,<2.3.1", - "zendframework/zend-http": ">=1,<2.8.1", + "zendframework/zend-http": "<2.8.1", "zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6", "zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3", "zendframework/zend-mail": ">=2,<2.4.11|>=2.5,<2.7.2", @@ -3678,7 +3789,7 @@ "type": "tidelift" } ], - "time": "2021-12-17T20:13:17+00:00" + "time": "2022-04-29T21:04:00+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -4346,23 +4457,24 @@ }, { "name": "seld/jsonlint", - "version": "1.8.3", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "9ad6ce79c342fbd44df10ea95511a1b24dee5b57" + "reference": "4211420d25eba80712bff236a98960ef68b866b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/9ad6ce79c342fbd44df10ea95511a1b24dee5b57", - "reference": "9ad6ce79c342fbd44df10ea95511a1b24dee5b57", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/4211420d25eba80712bff236a98960ef68b866b7", + "reference": "4211420d25eba80712bff236a98960ef68b866b7", "shasum": "" }, "require": { "php": "^5.3 || ^7.0 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" }, "bin": [ "bin/jsonlint" @@ -4393,7 +4505,7 @@ ], "support": { "issues": "https://github.com/Seldaek/jsonlint/issues", - "source": "https://github.com/Seldaek/jsonlint/tree/1.8.3" + "source": "https://github.com/Seldaek/jsonlint/tree/1.9.0" }, "funding": [ { @@ -4405,7 +4517,7 @@ "type": "tidelift" } ], - "time": "2020-11-11T09:19:24+00:00" + "time": "2022-04-01T13:37:23+00:00" }, { "name": "squizlabs/php_codesniffer", @@ -4465,16 +4577,16 @@ }, { "name": "symfony/config", - "version": "v5.4.0", + "version": "v5.4.8", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "e39cf688c80fd79ab0a6a2d05a9facac9b2d534b" + "reference": "9f8964f56f7234f8ace16f66cb3fbae950c04e68" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/e39cf688c80fd79ab0a6a2d05a9facac9b2d534b", - "reference": "e39cf688c80fd79ab0a6a2d05a9facac9b2d534b", + "url": "https://api.github.com/repos/symfony/config/zipball/9f8964f56f7234f8ace16f66cb3fbae950c04e68", + "reference": "9f8964f56f7234f8ace16f66cb3fbae950c04e68", "shasum": "" }, "require": { @@ -4524,7 +4636,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v5.4.0" + "source": "https://github.com/symfony/config/tree/v5.4.8" }, "funding": [ { @@ -4540,47 +4652,50 @@ "type": "tidelift" } ], - "time": "2021-11-28T15:25:38+00:00" + "time": "2022-04-12T16:02:29+00:00" }, { "name": "symfony/console", - "version": "v4.4.34", + "version": "v5.4.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "329b3a75cc6b16d435ba1b1a41df54a53382a3f0" + "reference": "ffe3aed36c4d60da2cf1b0a1cee6b8f2e5fa881b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/329b3a75cc6b16d435ba1b1a41df54a53382a3f0", - "reference": "329b3a75cc6b16d435ba1b1a41df54a53382a3f0", + "url": "https://api.github.com/repos/symfony/console/zipball/ffe3aed36c4d60da2cf1b0a1cee6b8f2e5fa881b", + "reference": "ffe3aed36c4d60da2cf1b0a1cee6b8f2e5fa881b", "shasum": "" }, "require": { - "php": ">=7.1.3", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php73": "^1.9", "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2" + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/string": "^5.1|^6.0" }, "conflict": { "psr/log": ">=3", - "symfony/dependency-injection": "<3.4", - "symfony/event-dispatcher": "<4.3|>=5", + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", "symfony/lock": "<4.4", - "symfony/process": "<3.3" + "symfony/process": "<4.4" }, "provide": { "psr/log-implementation": "1.0|2.0" }, "require-dev": { "psr/log": "^1|^2", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/event-dispatcher": "^4.3", - "symfony/lock": "^4.4|^5.0", - "symfony/process": "^3.4|^4.0|^5.0", - "symfony/var-dumper": "^4.3|^5.0" + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/lock": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" }, "suggest": { "psr/log": "For using the console logger", @@ -4613,8 +4728,14 @@ ], "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command line", + "console", + "terminal" + ], "support": { - "source": "https://github.com/symfony/console/tree/v4.4.34" + "source": "https://github.com/symfony/console/tree/v5.4.8" }, "funding": [ { @@ -4630,43 +4751,45 @@ "type": "tidelift" } ], - "time": "2021-11-04T12:23:33+00:00" + "time": "2022-04-12T16:02:29+00:00" }, { "name": "symfony/dependency-injection", - "version": "v5.2.12", + "version": "v5.4.8", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "2f0326ab0e142a3600b1b435cb3e852bc96264b6" + "reference": "855e29cd715ad62bb840c9841fe09a7cde50811f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/2f0326ab0e142a3600b1b435cb3e852bc96264b6", - "reference": "2f0326ab0e142a3600b1b435cb3e852bc96264b6", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/855e29cd715ad62bb840c9841fe09a7cde50811f", + "reference": "855e29cd715ad62bb840c9841fe09a7cde50811f", "shasum": "" }, "require": { "php": ">=7.2.5", - "psr/container": "^1.0", - "symfony/deprecation-contracts": "^2.1", + "psr/container": "^1.1.1", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-php80": "^1.16", + "symfony/polyfill-php81": "^1.22", "symfony/service-contracts": "^1.1.6|^2" }, "conflict": { - "symfony/config": "<5.1", + "ext-psr": "<1.1|>=2", + "symfony/config": "<5.3", "symfony/finder": "<4.4", "symfony/proxy-manager-bridge": "<4.4", - "symfony/yaml": "<4.4" + "symfony/yaml": "<4.4.26" }, "provide": { "psr/container-implementation": "1.0", "symfony/service-implementation": "1.0|2.0" }, "require-dev": { - "symfony/config": "^5.1", - "symfony/expression-language": "^4.4|^5.0", - "symfony/yaml": "^4.4|^5.0" + "symfony/config": "^5.3|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/yaml": "^4.4.26|^5.0|^6.0" }, "suggest": { "symfony/config": "", @@ -4701,7 +4824,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v5.2.12" + "source": "https://github.com/symfony/dependency-injection/tree/v5.4.8" }, "funding": [ { @@ -4717,20 +4840,20 @@ "type": "tidelift" } ], - "time": "2021-07-23T15:54:19+00:00" + "time": "2022-04-26T13:08:29+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.5.0", + "version": "v2.5.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8" + "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8", - "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", "shasum": "" }, "require": { @@ -4768,7 +4891,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.1" }, "funding": [ { @@ -4784,20 +4907,20 @@ "type": "tidelift" } ], - "time": "2021-07-12T14:48:14+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/dotenv", - "version": "v5.4.0", + "version": "v5.4.5", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "9bd173ff68fa90d39c59d91a42ae42b7f11713a0" + "reference": "83a2310904a4f5d4f42526227b5a578ac82232a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/9bd173ff68fa90d39c59d91a42ae42b7f11713a0", - "reference": "9bd173ff68fa90d39c59d91a42ae42b7f11713a0", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/83a2310904a4f5d4f42526227b5a578ac82232a9", + "reference": "83a2310904a4f5d4f42526227b5a578ac82232a9", "shasum": "" }, "require": { @@ -4839,7 +4962,7 @@ "environment" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v5.4.0" + "source": "https://github.com/symfony/dotenv/tree/v5.4.5" }, "funding": [ { @@ -4855,43 +4978,44 @@ "type": "tidelift" } ], - "time": "2021-11-23T10:19:22+00:00" + "time": "2022-02-15T17:04:12+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.4.34", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "1a024b45369c9d55d76b6b8a241bd20c9ea1cbd8" + "reference": "dec8a9f58d20df252b9cd89f1c6c1530f747685d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/1a024b45369c9d55d76b6b8a241bd20c9ea1cbd8", - "reference": "1a024b45369c9d55d76b6b8a241bd20c9ea1cbd8", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/dec8a9f58d20df252b9cd89f1c6c1530f747685d", + "reference": "dec8a9f58d20df252b9cd89f1c6c1530f747685d", "shasum": "" }, "require": { - "php": ">=7.1.3", - "symfony/event-dispatcher-contracts": "^1.1", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/event-dispatcher-contracts": "^2|^3", "symfony/polyfill-php80": "^1.16" }, "conflict": { - "symfony/dependency-injection": "<3.4" + "symfony/dependency-injection": "<4.4" }, "provide": { "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "1.1" + "symfony/event-dispatcher-implementation": "2.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^3.4|^4.0|^5.0", - "symfony/dependency-injection": "^3.4|^4.0|^5.0", - "symfony/error-handler": "~3.4|~4.4", - "symfony/expression-language": "^3.4|^4.0|^5.0", - "symfony/http-foundation": "^3.4|^4.0|^5.0", - "symfony/service-contracts": "^1.1|^2", - "symfony/stopwatch": "^3.4|^4.0|^5.0" + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/stopwatch": "^4.4|^5.0|^6.0" }, "suggest": { "symfony/dependency-injection": "", @@ -4923,7 +5047,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v4.4.34" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.3" }, "funding": [ { @@ -4939,33 +5063,33 @@ "type": "tidelift" } ], - "time": "2021-11-15T14:42:25+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v1.1.11", + "version": "v2.5.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "01e9a4efac0ee33a05dfdf93b346f62e7d0e998c" + "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/01e9a4efac0ee33a05dfdf93b346f62e7d0e998c", - "reference": "01e9a4efac0ee33a05dfdf93b346f62e7d0e998c", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f98b54df6ad059855739db6fcbc2d36995283fe1", + "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1", "shasum": "" }, "require": { - "php": ">=7.1.3" + "php": ">=7.2.5", + "psr/event-dispatcher": "^1" }, "suggest": { - "psr/event-dispatcher": "", "symfony/event-dispatcher-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.1-dev" + "dev-main": "2.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -5002,7 +5126,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v1.1.11" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.1" }, "funding": [ { @@ -5018,20 +5142,20 @@ "type": "tidelift" } ], - "time": "2021-03-23T15:25:38+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/filesystem", - "version": "v5.4.0", + "version": "v5.4.7", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "731f917dc31edcffec2c6a777f3698c33bea8f01" + "reference": "3a4442138d80c9f7b600fb297534ac718b61d37f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/731f917dc31edcffec2c6a777f3698c33bea8f01", - "reference": "731f917dc31edcffec2c6a777f3698c33bea8f01", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/3a4442138d80c9f7b600fb297534ac718b61d37f", + "reference": "3a4442138d80c9f7b600fb297534ac718b61d37f", "shasum": "" }, "require": { @@ -5066,7 +5190,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.0" + "source": "https://github.com/symfony/filesystem/tree/v5.4.7" }, "funding": [ { @@ -5082,20 +5206,20 @@ "type": "tidelift" } ], - "time": "2021-10-28T13:39:27+00:00" + "time": "2022-04-01T12:33:59+00:00" }, { "name": "symfony/finder", - "version": "v5.4.0", + "version": "v5.4.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "d2f29dac98e96a98be467627bd49c2efb1bc2590" + "reference": "9b630f3427f3ebe7cd346c277a1408b00249dad9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/d2f29dac98e96a98be467627bd49c2efb1bc2590", - "reference": "d2f29dac98e96a98be467627bd49c2efb1bc2590", + "url": "https://api.github.com/repos/symfony/finder/zipball/9b630f3427f3ebe7cd346c277a1408b00249dad9", + "reference": "9b630f3427f3ebe7cd346c277a1408b00249dad9", "shasum": "" }, "require": { @@ -5129,7 +5253,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.0" + "source": "https://github.com/symfony/finder/tree/v5.4.8" }, "funding": [ { @@ -5145,20 +5269,20 @@ "type": "tidelift" } ], - "time": "2021-11-28T15:25:38+00:00" + "time": "2022-04-15T08:07:45+00:00" }, { "name": "symfony/options-resolver", - "version": "v5.4.0", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "b0fb78576487af19c500aaddb269fd36701d4847" + "reference": "cc1147cb11af1b43f503ac18f31aa3bec213aba8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/b0fb78576487af19c500aaddb269fd36701d4847", - "reference": "b0fb78576487af19c500aaddb269fd36701d4847", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/cc1147cb11af1b43f503ac18f31aa3bec213aba8", + "reference": "cc1147cb11af1b43f503ac18f31aa3bec213aba8", "shasum": "" }, "require": { @@ -5198,7 +5322,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v5.4.0" + "source": "https://github.com/symfony/options-resolver/tree/v5.4.3" }, "funding": [ { @@ -5214,25 +5338,28 @@ "type": "tidelift" } ], - "time": "2021-11-23T10:19:22+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.23.0", + "version": "v1.25.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce" + "reference": "30885182c981ab175d4d034db0f6f469898070ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce", - "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab", + "reference": "30885182c981ab175d4d034db0f6f469898070ab", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-ctype": "*" + }, "suggest": { "ext-ctype": "For best performance" }, @@ -5247,12 +5374,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5277,7 +5404,172 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.25.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-10-20T20:35:02+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.25.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "81b86b50cf841a64252b439e738e97f4a34e2783" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/81b86b50cf841a64252b439e738e97f4a34e2783", + "reference": "81b86b50cf841a64252b439e738e97f4a34e2783", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.25.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-11-23T21:10:46+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.25.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.25.0" }, "funding": [ { @@ -5297,21 +5589,24 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.23.1", + "version": "v1.25.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6" + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", - "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-mbstring": "*" + }, "suggest": { "ext-mbstring": "For best performance" }, @@ -5326,12 +5621,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5357,7 +5652,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.25.0" }, "funding": [ { @@ -5373,7 +5668,7 @@ "type": "tidelift" } ], - "time": "2021-05-27T12:26:48+00:00" + "time": "2021-11-30T18:21:41+00:00" }, { "name": "symfony/polyfill-php73", @@ -5456,16 +5751,16 @@ }, { "name": "symfony/polyfill-php80", - "version": "v1.23.1", + "version": "v1.25.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be" + "reference": "4407588e0d3f1f52efb65fbe92babe41f37fe50c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be", - "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/4407588e0d3f1f52efb65fbe92babe41f37fe50c", + "reference": "4407588e0d3f1f52efb65fbe92babe41f37fe50c", "shasum": "" }, "require": { @@ -5482,12 +5777,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -5519,7 +5814,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.25.0" }, "funding": [ { @@ -5535,20 +5830,20 @@ "type": "tidelift" } ], - "time": "2021-07-28T13:41:28+00:00" + "time": "2022-03-04T08:16:47+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.23.0", + "version": "v1.25.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "e66119f3de95efc359483f810c4c3e6436279436" + "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436", - "reference": "e66119f3de95efc359483f810c4c3e6436279436", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/5de4ba2d41b15f9bd0e19b2ab9674135813ec98f", + "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f", "shasum": "" }, "require": { @@ -5565,12 +5860,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -5598,7 +5893,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.25.0" }, "funding": [ { @@ -5614,20 +5909,20 @@ "type": "tidelift" } ], - "time": "2021-05-21T13:25:03+00:00" + "time": "2021-09-13T13:58:11+00:00" }, { "name": "symfony/process", - "version": "v5.4.0", + "version": "v5.4.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "5be20b3830f726e019162b26223110c8f47cf274" + "reference": "597f3fff8e3e91836bb0bd38f5718b56ddbde2f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/5be20b3830f726e019162b26223110c8f47cf274", - "reference": "5be20b3830f726e019162b26223110c8f47cf274", + "url": "https://api.github.com/repos/symfony/process/zipball/597f3fff8e3e91836bb0bd38f5718b56ddbde2f3", + "reference": "597f3fff8e3e91836bb0bd38f5718b56ddbde2f3", "shasum": "" }, "require": { @@ -5660,7 +5955,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.0" + "source": "https://github.com/symfony/process/tree/v5.4.8" }, "funding": [ { @@ -5676,25 +5971,29 @@ "type": "tidelift" } ], - "time": "2021-11-28T15:25:38+00:00" + "time": "2022-04-08T05:07:18+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.2.0", + "version": "v2.5.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" + "reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", - "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/24d9dc654b83e91aa59f9d167b131bc3b5bea24c", + "reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c", "shasum": "" }, "require": { "php": ">=7.2.5", - "psr/container": "^1.0" + "psr/container": "^1.1", + "symfony/deprecation-contracts": "^2.1|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" }, "suggest": { "symfony/service-implementation": "" @@ -5702,7 +6001,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2-dev" + "dev-main": "2.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -5739,7 +6038,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/master" + "source": "https://github.com/symfony/service-contracts/tree/v2.5.1" }, "funding": [ { @@ -5755,32 +6054,118 @@ "type": "tidelift" } ], - "time": "2020-09-07T11:33:47+00:00" + "time": "2022-03-13T20:07:29+00:00" + }, + { + "name": "symfony/string", + "version": "v5.4.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "3c061a76bff6d6ea427d85e12ad1bb8ed8cd43e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/3c061a76bff6d6ea427d85e12ad1bb8ed8cd43e8", + "reference": "3c061a76bff6d6ea427d85e12ad1bb8ed8cd43e8", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" + }, + "conflict": { + "symfony/translation-contracts": ">=3.0" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/http-client": "^4.4|^5.0|^6.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0|^6.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v5.4.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-04-19T10:40:37+00:00" }, { "name": "symfony/yaml", - "version": "v5.3.11", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "226638aa877bc4104e619a15f27d8141cd6b4e4a" + "reference": "e80f87d2c9495966768310fc531b487ce64237a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/226638aa877bc4104e619a15f27d8141cd6b4e4a", - "reference": "226638aa877bc4104e619a15f27d8141cd6b4e4a", + "url": "https://api.github.com/repos/symfony/yaml/zipball/e80f87d2c9495966768310fc531b487ce64237a2", + "reference": "e80f87d2c9495966768310fc531b487ce64237a2", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-ctype": "~1.8" + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/console": "<4.4" + "symfony/console": "<5.3" }, "require-dev": { - "symfony/console": "^4.4|^5.0" + "symfony/console": "^5.3|^6.0" }, "suggest": { "symfony/console": "For validating YAML files using the lint command" @@ -5814,7 +6199,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.3.11" + "source": "https://github.com/symfony/yaml/tree/v5.4.3" }, "funding": [ { @@ -5830,7 +6215,7 @@ "type": "tidelift" } ], - "time": "2021-11-20T16:42:42+00:00" + "time": "2022-01-26T16:32:32+00:00" }, { "name": "szepeviktor/phpstan-wordpress", diff --git a/package-lock.json b/package-lock.json index 7418b3a..e4f6bb0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2010,12 +2010,6 @@ "@types/unist": "*" } }, - "@types/mime-types": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.1.tgz", - "integrity": "sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==", - "dev": true - }, "@types/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", @@ -2196,16 +2190,6 @@ "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", "dev": true }, - "@types/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", - "dev": true, - "optional": true, - "requires": { - "@types/node": "*" - } - }, "@typescript-eslint/experimental-utils": { "version": "2.34.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", @@ -2735,6 +2719,18 @@ "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" + }, + "dependencies": { + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + } } }, "has-flag": { @@ -2743,6 +2739,12 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "prettier": { + "version": "npm:wp-prettier@2.2.1-beta-1", + "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.2.1-beta-1.tgz", + "integrity": "sha512-+JHkqs9LC/JPp51yy1hzs3lQ7qeuWCwOcSzpQNeeY/G7oSpnF61vxt7hRh87zNRTr6ob2ndy0W8rVzhgrcA+Gw==", + "dev": true + }, "puppeteer": { "version": "npm:puppeteer-core@3.0.0", "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-3.0.0.tgz", @@ -2761,6 +2763,46 @@ "tar-fs": "^2.0.0", "unbzip2-stream": "^1.3.3", "ws": "^7.2.3" + }, + "dependencies": { + "@types/mime-types": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.1.tgz", + "integrity": "sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==", + "dev": true + }, + "https-proxy-agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", + "dev": true, + "requires": { + "agent-base": "5", + "debug": "4" + } + }, + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + } } }, "rimraf": { @@ -8051,16 +8093,6 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, - "https-proxy-agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", - "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", - "dev": true, - "requires": { - "agent-base": "5", - "debug": "4" - } - }, "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -11301,9 +11333,9 @@ "dev": true }, "npm": { - "version": "6.14.16", - "resolved": "https://registry.npmjs.org/npm/-/npm-6.14.16.tgz", - "integrity": "sha512-LMiLGYsVNJfVPlQg7v2NYjG7iRIapcLv+oMunlq7fkXVx0BATCjRu7XyWl0G+iuZzHy4CjtM32QB8ox8juTgaw==", + "version": "6.14.17", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.14.17.tgz", + "integrity": "sha512-CxEDn1ydVRPDl4tHrlnq+WevYAhv4GF2AEHzJKQ4prZDZ96IS3Uo6t0Sy6O9kB6XzqkI+J00WfYCqqk0p6IJ1Q==", "dev": true, "requires": { "JSONStream": "^1.3.5", @@ -11748,7 +11780,7 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", + "version": "4.1.1", "bundled": true, "dev": true }, @@ -13246,6 +13278,11 @@ "brace-expansion": "^1.1.7" } }, + "minimist": { + "version": "1.2.6", + "bundled": true, + "dev": true + }, "minizlib": { "version": "1.3.3", "bundled": true, @@ -13288,6 +13325,13 @@ "dev": true, "requires": { "minimist": "^1.2.5" + }, + "dependencies": { + "minimist": { + "version": "1.2.6", + "bundled": true, + "dev": true + } } }, "move-concurrently": { @@ -14659,7 +14703,7 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", + "version": "4.1.1", "bundled": true, "dev": true }, @@ -15959,12 +16003,6 @@ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true }, - "prettier": { - "version": "npm:wp-prettier@2.2.1-beta-1", - "resolved": "https://registry.npmjs.org/wp-prettier/-/wp-prettier-2.2.1-beta-1.tgz", - "integrity": "sha512-+JHkqs9LC/JPp51yy1hzs3lQ7qeuWCwOcSzpQNeeY/G7oSpnF61vxt7hRh87zNRTr6ob2ndy0W8rVzhgrcA+Gw==", - "dev": true - }, "prettier-linter-helpers": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", @@ -18591,18 +18629,6 @@ } } }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, "tar-stream": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", @@ -19051,16 +19077,6 @@ "which-boxed-primitive": "^1.0.2" } }, - "unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dev": true, - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, "unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", diff --git a/package.json b/package.json index c00dd46..3ec76b7 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "grunt-wp-readme-to-markdown": "2.1.0", "load-grunt-tasks": "^3.5", "node": "~14.19.1", - "npm": "~6.14.16", + "npm": "6.14.17", "puppeteer": "^1.20.0", "typescript": "3.9.10" }, From dfcd08445fbd4cc5385e66ce3372a5774850396a Mon Sep 17 00:00:00 2001 From: Tim Nolte Date: Fri, 13 May 2022 00:25:47 -0400 Subject: [PATCH 17/18] Adds Temporary Unit Testing Fix for GitHub Actions (#164) * Updates GitHub Actions for performance and standards. * Fixes version mismatches. * Prepares for new Unit Testing. --- .github/workflows/i18n.yml | 23 +-- .github/workflows/linting.yml | 28 ++- .github/workflows/pr-unit-testing.yml | 63 +++--- .github/workflows/release.yml | 2 + .github/workflows/static-analysis.yml | 28 ++- .github/workflows/unit-testing.yml | 89 +++++---- .nvmrc | 2 +- Gruntfile.js | 264 ++++++++++++++------------ composer.json | 7 +- composer.lock | 63 +++++- phpunit.xml.dist | 3 + tests/bootstrap.php | 2 +- 12 files changed, 325 insertions(+), 249 deletions(-) diff --git a/.github/workflows/i18n.yml b/.github/workflows/i18n.yml index e264323..c9103b6 100644 --- a/.github/workflows/i18n.yml +++ b/.github/workflows/i18n.yml @@ -14,35 +14,22 @@ env: ACTION_VERSION: 2 jobs: - check: + check_i18n: name: Setup & Check Internationalization runs-on: ubuntu-latest steps: - name: Checkout Code + # https://github.com/marketplace/actions/checkout uses: actions/checkout@v2 - name: Setup Node Environment - uses: actions/setup-node@v1 # https://github.com/marketplace/actions/setup-node-js-environment + uses: actions/setup-node@v2 with: - node-version: 14.x - - - name: Get NPM Cache Directory - id: npm-cache - run: echo "::set-output name=dir::$(npm config get cache)" - - - name: Cache Node Modules - uses: actions/cache@v2 - env: - npm-cache-name: cache-node-modules - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ${{ steps.npm-cache.outputs.dir }} - key: ${{ runner.os }}-build-${{ env.npm-cache-name }}-v${{ env.ACTION_VERSION }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.npm-cache-name }}-v${{ env.ACTION_VERSION }}- + node-version-file: '.nvmrc' + cache: ${{ !env.ACT && 'npm' || '' }} - name: NPM Install run: npm ci diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index e026eb7..e6d32f0 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -10,33 +10,31 @@ on: - 'fix/**' env: - PHP_VERSION: 7.4 + PHP_VERSION: '7.4' WP_MULTISITE: 0 + COMPOSER_VERSION: '2.2' ACTION_VERSION: 2 jobs: - check: + check_linting: name: Setup & Check Coding Standards runs-on: ubuntu-latest steps: - name: Checkout Code + # https://github.com/marketplace/actions/checkout uses: actions/checkout@v2 - - name: Setup PHP Environment - uses: shivammathur/setup-php@v2 - # https://github.com/marketplace/actions/setup-php-action - with: - php-version: ${{ env.PHP_VERSION }} - tools: composer:v2 - - name: Get Composer Cache Directory id: composer-cache + if: ${{ !env.ACT }} run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache Composer dependencies - uses: actions/cache@v2 + if: ${{ !env.ACT }} + # https://github.com/marketplace/actions/cache + uses: actions/cache@v3 env: composer-cache-name: cache-composer with: @@ -45,6 +43,16 @@ jobs: restore-keys: | ${{ runner.os }}-build-${{ env.composer-cache-name }}-v${{ env.ACTION_VERSION }}- + - name: Setup PHP & Composer Environment + # https://github.com/marketplace/actions/setup-php-action + uses: shivammathur/setup-php@v2 + with: + php-version: "${{ env.PHP_VERSION }}" + tools: "composer:${{ env.COMPOSER_VERSION }}" + + - name: Environment Check + run: php -v && composer --version + - name: Install Composer Dependencies run: composer install diff --git a/.github/workflows/pr-unit-testing.yml b/.github/workflows/pr-unit-testing.yml index 9374fb8..db8a89d 100644 --- a/.github/workflows/pr-unit-testing.yml +++ b/.github/workflows/pr-unit-testing.yml @@ -11,10 +11,11 @@ env: WP_STABLE_VERSION: '5.7.*' WP_MULTISITE: 0 WC_STABLE_VERSION: '5.7.*' + COMPOSER_VERSION: '2.2' ACTION_VERSION: 2 jobs: - test: + pr_unit_testing: runs-on: ubuntu-latest strategy: @@ -32,41 +33,16 @@ jobs: steps: - name: Checkout Code + # https://github.com/marketplace/actions/checkout uses: actions/checkout@v2 - - name: Setup PHP Environment - uses: shivammathur/setup-php@v2 - # https://github.com/marketplace/actions/setup-php-action - with: - php-version: ${{ matrix.php-version }} - tools: composer:v2 - - - name: Setup Node Environment - uses: actions/setup-node@v1 - # https://github.com/marketplace/actions/setup-node-js-environment - with: - node-version: 14.x - - - name: Get NPM Cache Directory - id: npm-cache - run: echo "::set-output name=dir::$(npm config get cache)" - - - name: Cache Node Modules - uses: actions/cache@v2 - env: - npm-cache-name: cache-node-modules - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ${{ steps.npm-cache.outputs.dir }} - key: ${{ runner.os }}-build-${{ env.npm-cache-name }}-v${{ env.ACTION_VERSION }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.npm-cache-name }}-v${{ env.ACTION_VERSION }}- - - name: Get Composer Cache Directory id: composer-cache + if: ${{ !env.ACT }} run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache Composer dependencies + if: ${{ !env.ACT }} uses: actions/cache@v2 env: composer-cache-name: cache-composer @@ -76,23 +52,28 @@ jobs: restore-keys: | ${{ runner.os }}-build-${{ env.composer-cache-name }}-wp-${{ matrix.wordpress-version }}-wc-${{ matrix.woocommerce-version }}-v${{ env.ACTION_VERSION }}- - - name: Require Specified WordPress Version - run: composer require johnpbloch/wordpress-core:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies - - - name: Require Specified WordPress Stubs Version - run: composer require php-stubs/wordpress-stubs:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies + - name: Setup Node Environment + # https://github.com/marketplace/actions/setup-node-js-environment + uses: actions/setup-node@v2 + with: + node-version-file: '.nvmrc' + cache: ${{ !env.ACT && 'npm' || '' }} - - name: Require Specified WordPress PHPUnit Version - run: composer require wp-phpunit/wp-phpunit:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies + - name: Setup PHP & Composer Environment + # https://github.com/marketplace/actions/setup-php-action + uses: shivammathur/setup-php@v2 + with: + php-version: "${{ matrix.php-version }}" + tools: "composer:${{ env.COMPOSER_VERSION }}" - - name: Require Specified WooCommerce Version - run: composer require wpackagist-plugin/woocommerce:${{ matrix.woocommerce-version }} --dev --prefer-source --update-with-all-dependencies + - name: Environment Check + run: php -v && composer --version - - name: Require Specified WooCommerce Stubs Version - run: composer require php-stubs/woocommerce-stubs:${{ matrix.woocommerce-version }} --dev --prefer-source --update-with-all-dependencies + - name: Require Specified WordPress & WooCommerce Version + run: composer require johnpbloch/wordpress-core:${{ matrix.wordpress-version }} php-stubs/wordpress-stubs:${{ matrix.wordpress-version }} wp-phpunit/wp-phpunit:${{ matrix.wordpress-version }} wpackagist-plugin/woocommerce:${{ matrix.woocommerce-version }} php-stubs/woocommerce-stubs:${{ matrix.woocommerce-version }} --dev --prefer-source --update-with-all-dependencies - name: Install Composer Dependencies - run: composer install + run: composer install --prefer-dist - name: NPM Setup run: npm ci diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 15c89a4..5a5b4ac 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,9 +28,11 @@ jobs: - name: Get NPM Cache Directory id: npm-cache + if: ${{ !env.ACT }} run: echo "::set-output name=dir::$(npm config get cache)" - name: Cache Node Modules + if: ${{ !env.ACT }} uses: actions/cache@v2 env: npm-cache-name: cache-node-modules diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml index 0cf7a8d..12ab5c1 100644 --- a/.github/workflows/static-analysis.yml +++ b/.github/workflows/static-analysis.yml @@ -10,33 +10,31 @@ on: - 'fix/**' env: - PHP_VERSION: 7.4 + PHP_VERSION: '7.4' WP_MULTISITE: 0 + COMPOSER_VERSION: '2.2' ACTION_VERSION: 2 jobs: - check: + check_static_analysis: name: Setup & Perform Static Analysis runs-on: ubuntu-latest steps: - name: Checkout Code + # https://github.com/marketplace/actions/checkout uses: actions/checkout@v2 - - name: Setup PHP Environment - uses: shivammathur/setup-php@v2 - # https://github.com/marketplace/actions/setup-php-action - with: - php-version: ${{ env.PHP_VERSION }} - tools: composer:v2 - - name: Get Composer Cache Directory id: composer-cache + if: ${{ !env.ACT }} run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache Composer dependencies - uses: actions/cache@v2 + if: ${{ !env.ACT }} + # https://github.com/marketplace/actions/cache + uses: actions/cache@v3 env: composer-cache-name: cache-composer with: @@ -45,6 +43,16 @@ jobs: restore-keys: | ${{ runner.os }}-build-${{ env.composer-cache-name }}-v${{ env.ACTION_VERSION }}- + - name: Setup PHP & Composer Environment + # https://github.com/marketplace/actions/setup-php-action + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ env.PHP_VERSION }} + tools: "composer:${{ env.COMPOSER_VERSION }}" + + - name: Environment Check + run: php -v && composer --version + - name: Install Composer Dependencies run: composer install diff --git a/.github/workflows/unit-testing.yml b/.github/workflows/unit-testing.yml index e6b888e..ef1826b 100644 --- a/.github/workflows/unit-testing.yml +++ b/.github/workflows/unit-testing.yml @@ -20,10 +20,11 @@ env: WC_PREF_MIN_VERSION: '4.8.*' WC_PREF_STABLE_VERSION: '5.*' WC_STABLE_VERSION: '6.*' + COMPOSER_VERSION: '2.2' ACTION_VERSION: 2 jobs: - test: + matrix_unit_testing: runs-on: ubuntu-latest continue-on-error: ${{ matrix.bleeding-edge }} @@ -55,12 +56,18 @@ jobs: wordpress-version: '5.5.*' wp-multisite-mode: 0 woocommerce-version: '4.6.*' + - job-name: 'Unit Test Latest Compatibility Requirements' + bleeding-edge: false + php-version: '8.0' + wordpress-version: '5.9.*' + wp-multisite-mode: 0 + woocommerce-version: '6.4.*' - job-name: 'Unit Test Bleeding Edge Requirements' bleeding-edge: true php-version: '7.4' wordpress-version: 'dev-master' wp-multisite-mode: 0 - woocommerce-version: 'dev-master' + woocommerce-version: 'dev-trunk' - job-name: 'Unit Test Multisite Compatibility Requirements' bleeding-edge: false php-version: '7.4' @@ -72,41 +79,16 @@ jobs: steps: - name: Checkout Code + # https://github.com/marketplace/actions/checkout uses: actions/checkout@v2 - - name: Setup PHP Environment - uses: shivammathur/setup-php@v2 - # https://github.com/marketplace/actions/setup-php-action - with: - php-version: ${{ matrix.php-version }} - tools: composer:v2 - - - name: Setup Node Environment - uses: actions/setup-node@v1 - # https://github.com/marketplace/actions/setup-node-js-environment - with: - node-version: 14.x - - - name: Get NPM Cache Directory - id: npm-cache - run: echo "::set-output name=dir::$(npm config get cache)" - - - name: Cache Node Modules - uses: actions/cache@v2 - env: - npm-cache-name: cache-node-modules - with: - # npm cache files are stored in `~/.npm` on Linux/macOS - path: ${{ steps.npm-cache.outputs.dir }} - key: ${{ runner.os }}-build-${{ env.npm-cache-name }}-v${{ env.ACTION_VERSION }}-${{ hashFiles('**/package-lock.json') }} - restore-keys: | - ${{ runner.os }}-build-${{ env.npm-cache-name }}-v${{ env.ACTION_VERSION }}- - - name: Get Composer Cache Directory id: composer-cache + if: ${{ !env.ACT }} run: echo "::set-output name=dir::$(composer config cache-files-dir)" - name: Cache Composer dependencies + if: ${{ !env.ACT }} uses: actions/cache@v2 env: composer-cache-name: cache-composer @@ -116,39 +98,56 @@ jobs: restore-keys: | ${{ runner.os }}-build-${{ env.composer-cache-name }}-wp-${{ matrix.wordpress-version }}-wc-${{ matrix.woocommerce-version }}-v${{ env.ACTION_VERSION }}- - - name: Require Specified WordPress Version - run: composer require johnpbloch/wordpress-core:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies + - name: Setup Node Environment + # https://github.com/marketplace/actions/setup-node-js-environment + uses: actions/setup-node@v2 + with: + node-version-file: '.nvmrc' + cache: ${{ !env.ACT && 'npm' || '' }} + + - name: Setup PHP & Composer Environment + # https://github.com/marketplace/actions/setup-php-action + uses: shivammathur/setup-php@v2 + with: + php-version: "${{ matrix.php-version }}" + tools: "composer:${{ env.COMPOSER_VERSION }}" - - name: Require Specified WordPress Stubs Version - run: composer require php-stubs/wordpress-stubs:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies + - name: Environment Check + run: php -v && composer --version - - name: Require Specified WordPress PHPUnit Version - run: composer require wp-phpunit/wp-phpunit:${{ matrix.wordpress-version }} --dev --prefer-source --update-with-all-dependencies + - name: Require Specified WordPress & WooCommerce Version (PHP <7.4) + if: matrix.php-version == '7.3' || matrix.php-version == '7.2' + run: composer require johnpbloch/wordpress-core:${{ matrix.wordpress-version }} php-stubs/wordpress-stubs:${{ matrix.wordpress-version }} wp-phpunit/wp-phpunit:${{ matrix.wordpress-version }} wpackagist-plugin/woocommerce:${{ matrix.woocommerce-version }} php-stubs/woocommerce-stubs:${{ matrix.woocommerce-version }} --dev --prefer-source --update-with-all-dependencies --ignore-platform-req=php - - name: Require Specified WooCommerce Version - run: composer require woocommerce/woocommerce:${{ matrix.woocommerce-version }} --dev --prefer-source --update-with-all-dependencies + - name: Require Specified WordPress & WooCommerce Version (Bleeding Edge) + if: matrix.bleeding-edge + run: composer require johnpbloch/wordpress-core:${{ matrix.wordpress-version }} php-stubs/wordpress-stubs:${{ matrix.wordpress-version }} szepeviktor/phpstan-wordpress:* wp-phpunit/wp-phpunit:${{ matrix.wordpress-version }} wpackagist-plugin/woocommerce:${{ matrix.woocommerce-version }} php-stubs/woocommerce-stubs:* --dev --prefer-source --update-with-all-dependencies - - name: Require Specified WooCommerce Stubs Version - run: composer require php-stubs/woocommerce-stubs:${{ matrix.woocommerce-version }} --dev --prefer-source --update-with-all-dependencies + - name: Require Specified WordPress & WooCommerce Version + if: matrix.php-version != '7.3' && matrix.php-version != '7.2' && ! matrix.bleeding-edge + run: composer require johnpbloch/wordpress-core:${{ matrix.wordpress-version }} php-stubs/wordpress-stubs:${{ matrix.wordpress-version }} wp-phpunit/wp-phpunit:${{ matrix.wordpress-version }} wpackagist-plugin/woocommerce:${{ matrix.woocommerce-version }} php-stubs/woocommerce-stubs:${{ matrix.woocommerce-version }} --dev --prefer-source --update-with-all-dependencies - name: Require Specified WooCommerce Admin Version if: matrix.woocommerce-version == 'dev-master' run: composer require woocommerce/woocommerce-admin:v1.3.0-beta.1 --dev --prefer-source --update-with-all-dependencies + - name: PHPUnit Bleeding Edge Support + if: matrix.bleeding-edge + run: | + composer require sebastian/code-unit:dev-main phpunit/phpunit:dev-master phpro/grumphp:dev-master --dev -W --ignore-platform-req=php --update-with-all-dependencies + - name: PHPUnit PHP 8.0 Support if: matrix.php-version == '8.0' run: | - composer require sebastian/code-unit:^2.0 --dev -W --ignore-platform-req=php - composer require phpunit/phpunit:dev-master --dev -W --ignore-platform-req=php - composer require phpro/grumphp:dev-master --dev -W --ignore-platform-req=php + composer require phpunit/phpunit:^8.0 phpro/grumphp:^1.10.0 --dev -W --ignore-platform-req=php - name: Install Composer Dependencies (PHP 8.0) if: matrix.php-version == '8.0' - run: composer install --ignore-platform-req=php + run: composer install --prefer-dist --ignore-platform-req=php - name: Install Composer Dependencies if: matrix.php-version != '8.0' - run: composer install + run: composer install --prefer-dist - name: NPM Setup run: npm ci diff --git a/.nvmrc b/.nvmrc index dae199a..8351c19 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v12 +14 diff --git a/Gruntfile.js b/Gruntfile.js index 048203d..1f15190 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,179 +1,202 @@ module.exports = function (grunt) { - - require('load-grunt-tasks')(grunt); + require("load-grunt-tasks")(grunt); // Project configuration. grunt.initConfig({ - pkg: grunt.file.readJSON('package.json'), + pkg: grunt.file.readJSON("package.json"), - composerBin: 'vendor/bin', + composerBin: "vendor/bin", shell: { phpcs: { options: { - stdout: true + stdout: true, }, - command: '<%= composerBin %>/phpcs' + command: "<%= composerBin %>/phpcs", }, phpcbf: { options: { - stdout: true + stdout: true, }, - command: '<%= composerBin %>/phpcbf' + command: "<%= composerBin %>/phpcbf", }, phpstan: { options: { - stdout: true + stdout: true, }, - command: '<%= composerBin %>/phpstan analyze .' + command: "<%= composerBin %>/phpstan analyze .", }, phpunit: { options: { - stdout: true + stdout: true, }, - command: '<%= composerBin %>/phpunit' + command: "<%= composerBin %>/phpunit", }, }, gitinfo: { commands: { - 'local.tag.current.name': ['name-rev', '--tags', '--name-only', 'HEAD'], - 'local.tag.current.nameLong': ['describe', '--tags', '--long'] - } + "local.tag.current.name": ["name-rev", "--tags", "--name-only", "HEAD"], + "local.tag.current.nameLong": ["describe", "--tags", "--long"], + }, }, clean: { - main: ['dist'] //Clean up build folder + main: ["dist"], //Clean up build folder }, copy: { // Copy the plugin to a versioned release directory main: { src: [ - '**', - '!*.xml', '!*.log', //any config/log files - '!node_modules/**', '!Gruntfile.js', '!package.json', '!package-lock.json', //npm/Grunt - '!.wordpress-org/**', //wp-org assets - '!dist/**', //build directory - '!.git/**', //version control - '!.github/**', //GitHub platform files - '!tests/**', '!scripts/**', '!phpunit.xml', '!phpunit.xml.dist', //unit testing - '!vendor/**', '!composer.lock', '!composer.phar', '!composer.json', //composer - '!wordpress/**', - '!.*', '!**/*~', //hidden files - '!CONTRIBUTING.md', - '!README.md', - '!phpcs.xml', '!phpcs.xml.dist', '!phpstan.neon.dist', '!grumphp.yml.dist', // CodeSniffer Configuration. - '!docker-compose.override.yml', // Local Docker Development configuration. - '!codecov.yml', // Code coverage configuration. - '!tools/**', // Local Development/Build tools configuration. + "**", + "!*.xml", + "!*.log", //any config/log files + "!node_modules/**", + "!Gruntfile.js", + "!package.json", + "!package-lock.json", //npm/Grunt + "!.wordpress-org/**", //wp-org assets + "!dist/**", //build directory + "!.git/**", //version control + "!.github/**", //GitHub platform files + "!tests/**", + "!scripts/**", + "!phpunit.xml", + "!phpunit.xml.dist", //unit testing + "!vendor/**", + "!composer.lock", + "!composer.phar", + "!composer.json", //composer + "!wordpress/**", + "!.*", + "!**/*~", //hidden files + "!CONTRIBUTING.md", + "!README.md", + "!phpcs.xml", + "!phpcs.xml.dist", + "!phpstan.neon.dist", + "!grumphp.yml.dist", // CodeSniffer Configuration. + "!docker-compose.override.yml", // Local Docker Development configuration. + "!codecov.yml", // Code coverage configuration. + "!tools/**", // Local Development/Build tools configuration. ], - dest: 'dist/', + dest: "dist/", options: { - processContentExclude: ['**/*.{png,gif,jpg,ico,mo}'], + processContentExclude: ["**/*.{png,gif,jpg,ico,mo}"], }, - } + }, }, addtextdomain: { options: { - textdomain: 'woocommerce-local-pickup-time-select', // Project text domain. + textdomain: "woocommerce-local-pickup-time-select", // Project text domain. }, update_all_domains: { options: { - updateDomains: true + updateDomains: true, }, - src: ['*.php', '**/*.php', '!node_modules/**', '!tests/**', '!tools/**', '!scripts/**', '!vendor/**', '!wordpress/**'] + src: [ + "*.php", + "**/*.php", + "!node_modules/**", + "!tests/**", + "!tools/**", + "!scripts/**", + "!vendor/**", + "!wordpress/**", + ], }, }, wp_readme_to_markdown: { dest: { files: { - 'README.md': 'readme.txt' - } + "README.md": "readme.txt", + }, }, }, makepot: { target: { options: { - domainPath: '/languages', // Where to save the POT file. + domainPath: "/languages", // Where to save the POT file. exclude: [ - 'node_modules/.*', //npm - '.wordpress-org/.*', //wp-org assets - '.devcontainer/.*', - 'dist/.*', //build directory - '.git/.*', //version control - '.github/.*', //GitHub platform - 'tests/.*', 'scripts/.*', //unit testing - 'tools/.*', - 'vendor/.*', //composer - 'wordpress/.*', - ], // List of files or directories to ignore. - mainFile: 'woocommerce-local-pickup-time.php', // Main project file. - potFilename: 'woocommerce-local-pickup-time.pot', // Name of the POT file. + "node_modules/.*", //npm + ".wordpress-org/.*", //wp-org assets + ".devcontainer/.*", + "dist/.*", //build directory + ".git/.*", //version control + ".github/.*", //GitHub platform + "tests/.*", + "scripts/.*", //unit testing + "tools/.*", + "vendor/.*", //composer + "wordpress/.*", + ], // List of files or directories to ignore. + mainFile: "woocommerce-local-pickup-time.php", // Main project file. + potFilename: "woocommerce-local-pickup-time.pot", // Name of the POT file. potHeaders: { - poedit: true, // Includes common Poedit headers. - 'x-poedit-keywordslist': true // Include a list of all possible gettext functions. - }, // Headers to add to the generated POT file. - type: 'wp-plugin', // Type of project (wp-plugin or wp-theme). - updateTimestamp: true, // Whether the POT-Creation-Date should be updated without other changes. - updatePoFiles: true // Whether to update PO files in the same directory as the POT file. - } - } + poedit: true, // Includes common Poedit headers. + "x-poedit-keywordslist": true, // Include a list of all possible gettext functions. + }, // Headers to add to the generated POT file. + type: "wp-plugin", // Type of project (wp-plugin or wp-theme). + updateTimestamp: true, // Whether the POT-Creation-Date should be updated without other changes. + updatePoFiles: true, // Whether to update PO files in the same directory as the POT file. + }, + }, }, po2mo: { plugin: { - src: 'languages/*.po', - expand: true - } + src: "languages/*.po", + expand: true, + }, }, checkrepo: { deploy: { tagged: true, // Check that the last commit (HEAD) is tagged tag: { - eq: '<%= pkg.version %>' // Check if highest repo tag is equal to pkg.version - } - } + eq: "<%= pkg.version %>", // Check if highest repo tag is equal to pkg.version + }, + }, }, checktextdomain: { options: { - text_domain: 'woocommerce-local-pickup-time-select', + text_domain: "woocommerce-local-pickup-time-select", keywords: [ - '__:1,2d', - '_e:1,2d', - '_x:1,2c,3d', - 'esc_html__:1,2d', - 'esc_html_e:1,2d', - 'esc_html_x:1,2c,3d', - 'esc_attr__:1,2d', - 'esc_attr_e:1,2d', - 'esc_attr_x:1,2c,3d', - '_ex:1,2c,3d', - '_x:1,2c,3d', - '_n:1,2,4d', - '_nx:1,2,4c,5d', - '_n_noop:1,2,3d', - '_nx_noop:1,2,3c,4d' + "__:1,2d", + "_e:1,2d", + "_x:1,2c,3d", + "esc_html__:1,2d", + "esc_html_e:1,2d", + "esc_html_x:1,2c,3d", + "esc_attr__:1,2d", + "esc_attr_e:1,2d", + "esc_attr_x:1,2c,3d", + "_ex:1,2c,3d", + "_x:1,2c,3d", + "_n:1,2,4d", + "_nx:1,2,4c,5d", + "_n_noop:1,2,3d", + "_nx_noop:1,2,3c,4d", ], }, files: { src: [ - '**/*.php', - '!node_modules/**', - '!dist/**', - '!tests/**', - '!tools/**', - '!vendor/**', - '!wordpress/**', - '!*~', + "**/*.php", + "!node_modules/**", + "!dist/**", + "!tests/**", + "!tools/**", + "!vendor/**", + "!wordpress/**", + "!*~", ], expand: true, }, @@ -183,51 +206,52 @@ module.exports = function (grunt) { version: { class: { options: { - prefix: "const VERSION = '" + prefix: "const VERSION = '", }, - src: [ - '<%= pkg.name %>.php', - 'public/class-local-pickup-time.php', - ] + src: ["<%= pkg.name %>.php", "public/class-local-pickup-time.php"], }, header: { options: { - prefix: '\\* Version:\\s+' + prefix: "\\* Version:\\s+", }, - src: ['<%= pkg.name %>.php'] + src: ["<%= pkg.name %>.php"], }, readme: { options: { - prefix: 'Stable tag:\\s+' + prefix: "Stable tag:\\s+", }, - src: ['readme.txt'] - } + src: ["readme.txt"], + }, }, wp_deploy: { deploy: { options: { - plugin_slug: 'woocommerce-local-pickup-time-select', - plugin_main_file: 'woocommerce-local-pickup-time.php', - build_dir: 'dist/', - assets_dir: '.wordpress-org/', + plugin_slug: "woocommerce-local-pickup-time-select", + plugin_main_file: "woocommerce-local-pickup-time.php", + build_dir: "dist/", + assets_dir: ".wordpress-org/", max_buffer: 1024 * 1024, skip_confirmation: false, }, - } + }, }, - }); - grunt.registerTask('phpcs', ['shell:phpcs']); - grunt.registerTask('phpcbf', ['shell:phpcbf']); - grunt.registerTask('phpstan', ['shell:phpstan']); - grunt.registerTask('phpunit', ['shell:phpunit']); - grunt.registerTask('i18n', ['addtextdomain', 'makepot', 'po2mo']); - grunt.registerTask('readme', ['wp_readme_to_markdown']); - grunt.registerTask('test', ['checktextdomain', 'phpcs']); - grunt.registerTask('build', ['gitinfo', 'test', 'i18n', 'readme']); - grunt.registerTask('release', ['checkbranch:HEAD', 'checkrepo', 'gitinfo', 'checktextdomain', 'clean', 'copy']); - + grunt.registerTask("phpcs", ["shell:phpcs"]); + grunt.registerTask("phpcbf", ["shell:phpcbf"]); + grunt.registerTask("phpstan", ["shell:phpstan"]); + grunt.registerTask("phpunit", ["shell:phpunit"]); + grunt.registerTask("i18n", ["addtextdomain", "makepot", "po2mo"]); + grunt.registerTask("readme", ["wp_readme_to_markdown"]); + grunt.registerTask("test", ["checktextdomain"]); + grunt.registerTask("build", ["gitinfo", "test", "i18n", "readme"]); + grunt.registerTask("release", [ + "checkbranch:HEAD", + "checkrepo", + "gitinfo", + "checktextdomain", + "clean", + "copy", + ]); }; - diff --git a/composer.json b/composer.json index 37ce623..64922b8 100644 --- a/composer.json +++ b/composer.json @@ -71,7 +71,8 @@ "woocommerce/woocommerce-sniffs": "~0.1.0", "wp-coding-standards/wpcs": "^2.2", "wp-phpunit/wp-phpunit": "~5.9.0", - "wpackagist-plugin/woocommerce": "~6.3.0" + "wpackagist-plugin/woocommerce": "~6.3.0", + "yoast/phpunit-polyfills": "^1.0" }, "autoload": { "exclude-from-classmap": [ @@ -100,9 +101,11 @@ "phpcs": "vendor/bin/phpcs", "phpcbf": "vendor/bin/phpcbf", "phpstan": "vendor/bin/phpstan", + "phpunit": "vendor/bin/phpunit", "lint": "@phpcs --report=full .", "lint-fix": "@phpcbf", - "analyze": "@phpstan analyze ." + "analyze": "@phpstan analyze .", + "test": "@phpunit" }, "extra": { "wordpress-install-dir": "wordpress", diff --git a/composer.lock b/composer.lock index 876e426..a67dced 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "a0609162dbf23daaad6d0de4d97aa0e5", + "content-hash": "3775448edc56cb2175136f97344a28bf", "packages": [ { "name": "composer/installers", @@ -6721,6 +6721,67 @@ }, "type": "wordpress-plugin", "homepage": "https://wordpress.org/plugins/woocommerce/" + }, + { + "name": "yoast/phpunit-polyfills", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/Yoast/PHPUnit-Polyfills.git", + "reference": "5ea3536428944955f969bc764bbe09738e151ada" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/5ea3536428944955f969bc764bbe09738e151ada", + "reference": "5ea3536428944955f969bc764bbe09738e151ada", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "phpunit/phpunit": "^4.8.36 || ^5.7.21 || ^6.0 || ^7.0 || ^8.0 || ^9.0" + }, + "require-dev": { + "yoast/yoastcs": "^2.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev", + "dev-develop": "1.x-dev" + } + }, + "autoload": { + "files": [ + "phpunitpolyfills-autoload.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Team Yoast", + "email": "support@yoast.com", + "homepage": "https://yoast.com" + }, + { + "name": "Contributors", + "homepage": "https://github.com/Yoast/PHPUnit-Polyfills/graphs/contributors" + } + ], + "description": "Set of polyfills for changed PHPUnit functionality to allow for creating PHPUnit cross-version compatible tests", + "homepage": "https://github.com/Yoast/PHPUnit-Polyfills", + "keywords": [ + "phpunit", + "polyfill", + "testing" + ], + "support": { + "issues": "https://github.com/Yoast/PHPUnit-Polyfills/issues", + "source": "https://github.com/Yoast/PHPUnit-Polyfills" + }, + "time": "2021-11-23T01:37:03+00:00" } ], "aliases": [], diff --git a/phpunit.xml.dist b/phpunit.xml.dist index a6d8309..76f4eeb 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -7,6 +7,9 @@ convertNoticesToExceptions="true" convertWarningsToExceptions="true" > + + + ./tests/phpunit/admin/ diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 412ea31..6c28df2 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -98,7 +98,7 @@ public function __construct() { // phpcs:enable WordPress.VIP.SuperGlobalInputUsage.AccessDetected . $this->tests_dir = dirname( __FILE__ ); $this->plugin_dir = dirname( $this->tests_dir ); - $this->wc_dir = $this->plugin_dir . '/vendor/woocommerce/woocommerce'; + $this->wc_dir = $this->plugin_dir . '/wordpress/wp-content/plugins/woocommerce'; $this->wc_tests_dir = $this->wc_dir . '/tests'; $this->wp_tests_dir = getenv( 'WP_TESTS_DIR' ) ? getenv( 'WP_TESTS_DIR' ) : ( getenv( 'TMPDIR' ) ? getenv( 'TMPDIR' ) : '/tmp' ) . '/wordpress-tests-lib'; From f9a219df5fd692f73a7810377604365c4cf7a03a Mon Sep 17 00:00:00 2001 From: Tim Nolte Date: Fri, 13 May 2022 01:37:46 -0400 Subject: [PATCH 18/18] Prepares 1.4.0 Release - Updated WordPress & WooCommerce Supported Versions. - Updated Plugin Development Dependencies - Added New Ready for Pickup Order Status & Customer Email - Added Pickup Time Required & Local Pickup Link Capabilities --- CHANGELOG.md | 147 +++++--- README.md | 84 +---- admin/class-local-pickup-time-admin.php | 20 +- composer.lock | 9 +- .../woocommerce-local-pickup-time-cs_CZ.mo | Bin 7315 -> 5493 bytes .../woocommerce-local-pickup-time-cs_CZ.po | 342 ++++++++++++------ .../woocommerce-local-pickup-time-en_US.po | 316 +++++++++++----- languages/woocommerce-local-pickup-time.pot | 321 ++++++++++------ package-lock.json | 2 +- package.json | 2 +- public/class-local-pickup-time.php | 32 +- readme.txt | 84 +---- .../customer-ready-for-pickup-order.php | 4 +- .../plain/customer-ready-for-pickup-order.php | 4 +- woocommerce-local-pickup-time.php | 4 +- 15 files changed, 830 insertions(+), 541 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f4173d..ba4c768 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,76 +1,111 @@ -## Changelog ## +# Changelog -### 1.3.13 ### -* Compatibility versions bump. -* Plugin owner/author transition. +## 1.4.0 -### 1.3.12 ### -* Fixes Time Zone related pickup delay issue. +### Changed -### 1.3.11 ### -* NPM development dependencies security vulnerability update. +- Updated WordPress & WooCommerce Supported Versions. -### 1.3.10 ### -* Adds check for PHP 7.1+ Date/Time object changes and makes appropriate PHP version specific calls. +### Fixed -### 1.3.9 ### -* Fixes how the starting interval is set, especially during the middle of the current open/close pickup time. -* Sets end time 1 interval past it in order to have the end close pickup time be inclusive for pickup. -* Changes field title and help text for Pickup Days Ahead to be clear that the number does now represent the number of open days inclusive of the current day. -* Updates language files to handle some new dashboard labels and help text. -* Fixes an incorrect use of the pickup time interval instead of the delay, causing incorrect starting pickup time. -* Changes direct WC_Order id attribute access to use get_id() method. -* Fixes additonal issue with how time delay is handled on the first available pickup time. +- Updated Plugin Development Dependencies -### 1.3.8 ### -* Fixes issue with recognizing the current date/time as the start of the pickup time selection. +### Adds -### 1.3.7 ### -* Fixes an issue with not using the WordPress locale and built-in language pack to translate the pickup date output on checkout. +- Added New Ready for Pickup Order Status & Customer Email +- Added Pickup Time Required & Local Pickup Link Capabilities -### 1.3.6 ### -* Fixes WordPress date/time format handling for pickup time selection. -* Fixes issues with some interval combinations. +## 1.3.13 -### 1.3.5 ### -* fixes issue with allowing customers to pick a pickup date/time on a non-open day. +- Compatibility versions bump. +- Plugin owner/author transition. -### 1.3.4 ### -* fixes 1.3.3 patch issue. +## 1.3.12 -### 1.3.3 ### -* fixes PHP 5.6 issue with DateTime syntax usage. +- Fixes Time Zone related pickup delay issue. -### 1.3.2 ### -* fixes issue with missing space in pickup time options, from 1.3.1. -* adds pickup date/time to Order List in Admin Dashboard. -* adds longer pickup delay option. +## 1.3.11 -### 1.3.1 ### -* expands pickup time delay to include 4/8/16/24/36 hours. -* changes days ahead setting to allow any number of days via text input. -* changes customer display of pickup time to include the date using the WordPress date format setting. -* removes closed dates from option list even if it's not today. +- NPM development dependencies security vulnerability update. -### 1.3.0 ### -* fix pickup time for multiple locales and update translations (props vyskoczilova) +## 1.3.10 -### 1.2.0 ### -* added option to select the delay from the current time until the order can be picked up -* added option to select the number of days ahead for allowing orders to be picked up +- Adds check for PHP 7.1+ Date/Time object changes and makes appropriate PHP version specific calls. -### 1.1.0 ### -* added `local_pickup_time_select_location` filter to customize location of pickup time select during checkout -* added `local_pickup_time_admin_location` filter to customize location of pickup time shown in the admin Order Details screen +## 1.3.9 -### 1.0.3 ### -* replace deprecated call to $order->order_custom_fields, which no longer words in WooCommerce 2.1 +- Fixes how the starting interval is set, especially during the middle of the current open/close pickup time. +- Sets end time 1 interval past it in order to have the end close pickup time be inclusive for pickup. +- Changes field title and help text for Pickup Days Ahead to be clear that the number does now represent the number of open days inclusive of the current day. +- Updates language files to handle some new dashboard labels and help text. +- Fixes an incorrect use of the pickup time interval instead of the delay, causing incorrect starting pickup time. +- Changes direct WC_Order id attribute access to use get_id() method. +- Fixes additonal issue with how time delay is handled on the first available pickup time. -### 1.0.2 ### -* fix typos +## 1.3.8 -### 1.0.1 ### -* properly set closing time if trying to order after hours +- Fixes issue with recognizing the current date/time as the start of the pickup time selection. -### 1.0.0 ### -* initial version +## 1.3.7 + +- Fixes an issue with not using the WordPress locale and built-in language pack to translate the pickup date output on checkout. + +## 1.3.6 + +- Fixes WordPress date/time format handling for pickup time selection. +- Fixes issues with some interval combinations. + +## 1.3.5 + +- fixes issue with allowing customers to pick a pickup date/time on a non-open day. + +## 1.3.4 + +- fixes 1.3.3 patch issue. + +## 1.3.3 + +- fixes PHP 5.6 issue with DateTime syntax usage. + +## 1.3.2 + +- fixes issue with missing space in pickup time options, from 1.3.1. +- adds pickup date/time to Order List in Admin Dashboard. +- adds longer pickup delay option. + +## 1.3.1 + +- expands pickup time delay to include 4/8/16/24/36 hours. +- changes days ahead setting to allow any number of days via text input. +- changes customer display of pickup time to include the date using the WordPress date format setting. +- removes closed dates from option list even if it's not today. + +## 1.3.0 + +- fix pickup time for multiple locales and update translations (props vyskoczilova) + +## 1.2.0 + +- added option to select the delay from the current time until the order can be picked up +- added option to select the number of days ahead for allowing orders to be picked up + +## 1.1.0 + +- added `local_pickup_time_select_location` filter to customize location of pickup time select during checkout +- added `local_pickup_time_admin_location` filter to customize location of pickup time shown in the admin Order Details screen + +## 1.0.3 + +- replace deprecated call to $order->order_custom_fields, which no longer words in WooCommerce 2.1 + +## 1.0.2 + +- fix typos + +## 1.0.1 + +- properly set closing time if trying to order after hours + +## 1.0.0 + +- initial version diff --git a/README.md b/README.md index 1cfeafe..70b86fe 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,8 @@ **Donate link:** https://www.ndigitals.com/donate/ **Tags:** woocommcerce, shipping, local pickup, checkout fields, ecommerce, e-commerce, wordpress ecommerce **Requires at least:** 4.9 -**Tested up to:** 5.7.4 -**Stable tag:** 1.3.13 +**Tested up to:** 5.9.3 +**Stable tag:** 1.4.0 **Requires PHP:** 7.2 **License:** GPLv2 or later **License URI:** http://www.gnu.org/licenses/gpl-2.0.html @@ -73,77 +73,17 @@ The location, by default, is hooked to `woocommerce_admin_order_data_after_billi ## Changelog ## -### 1.3.13 ### -* Compatibility versions bump. -* Plugin owner/author transition. +### 1.4.0 +#### Changed +- Updated WordPress & WooCommerce Supported Versions. -### 1.3.12 ### -* Fixes Time Zone related pickup delay issue. +#### Fixed +- Updated Plugin Development Dependencies -### 1.3.11 ### -* NPM development dependencies security vulnerability update. +#### Adds +- Added New Ready for Pickup Order Status & Customer Email +- Added Pickup Time Required & Local Pickup Link Capabilities -### 1.3.10 ### -* Adds check for PHP 7.1+ Date/Time object changes and makes appropriate PHP version specific calls. +-------- -### 1.3.9 ### -* Fixes how the starting interval is set, especially during the middle of the current open/close pickup time. -* Sets end time 1 interval past it in order to have the end close pickup time be inclusive for pickup. -* Changes field title and help text for Pickup Days Ahead to be clear that the number does now represent the number of open days inclusive of the current day. -* Updates language files to handle some new dashboard labels and help text. -* Fixes an incorrect use of the pickup time interval instead of the delay, causing incorrect starting pickup time. -* Changes direct WC_Order id attribute access to use get_id() method. -* Fixes additonal issue with how time delay is handled on the first available pickup time. - -### 1.3.8 ### -* Fixes issue with recognizing the current date/time as the start of the pickup time selection. - -### 1.3.7 ### -* Fixes an issue with not using the WordPress locale and built-in language pack to translate the pickup date output on checkout. - -### 1.3.6 ### -* Fixes WordPress date/time format handling for pickup time selection. -* Fixes issues with some interval combinations. - -### 1.3.5 ### -* fixes issue with allowing customers to pick a pickup date/time on a non-open day. - -### 1.3.4 ### -* fixes 1.3.3 patch issue. - -### 1.3.3 ### -* fixes PHP 5.6 issue with DateTime syntax usage. - -### 1.3.2 ### -* fixes issue with missing space in pickup time options, from 1.3.1. -* adds pickup date/time to Order List in Admin Dashboard. -* adds longer pickup delay option. - -### 1.3.1 ### -* expands pickup time delay to include 4/8/16/24/36 hours. -* changes days ahead setting to allow any number of days via text input. -* changes customer display of pickup time to include the date using the WordPress date format setting. -* removes closed dates from option list even if it's not today. - -### 1.3.0 ### -* fix pickup time for multiple locales and update translations (props vyskoczilova) - -### 1.2.0 ### -* added option to select the delay from the current time until the order can be picked up -* added option to select the number of days ahead for allowing orders to be picked up - -### 1.1.0 ### -* added `local_pickup_time_select_location` filter to customize location of pickup time select during checkout -* added `local_pickup_time_admin_location` filter to customize location of pickup time shown in the admin Order Details screen - -### 1.0.3 ### -* replace deprecated call to $order->order_custom_fields, which no longer words in WooCommerce 2.1 - -### 1.0.2 ### -* fix typos - -### 1.0.1 ### -* properly set closing time if trying to order after hours - -### 1.0.0 ### -* initial version +[See the previous changelogs here](https://github.com/WC-Local-Pickup/woocommerce-local-pickup-time/blob/main/CHANGELOG.md#changelog) diff --git a/admin/class-local-pickup-time-admin.php b/admin/class-local-pickup-time-admin.php index 3b421cf..95cdcbd 100644 --- a/admin/class-local-pickup-time-admin.php +++ b/admin/class-local-pickup-time-admin.php @@ -109,7 +109,7 @@ public static function get_instance() { * * @link https://developer.wordpress.org/reference/hooks/plugin_action_links_plugin_file/ * - * @since 0.0.0 + * @since 1.4.0 * * @param string[] $actions The plugin action links. * @@ -130,7 +130,7 @@ public function plugin_action_links( $actions ) { * * @link https://woocommerce.com/document/adding-a-section-to-a-settings-tab/ * - * @since 0.0.0 + * @since 1.4.0 * * @param array $sections The array of Settings screen sections. * @@ -430,7 +430,7 @@ public function plugin_settings( $settings, $current_section ) { /** * Optionally adds the Local Pickup Time enabling option to a Local Pickup Shipping method. * - * @since 0.0.0 + * @since 1.4.0 * * @param array $shipping_methods An array of WC_Shipping methods. * @@ -453,7 +453,7 @@ public function shipping_methods_settings_override( $shipping_methods ) { /** * Adds a Local Pickup Time flag to a shipping method. * - * @since 0.0.0 + * @since 1.4.0 * * @param array $fields The array of settings fields. * @@ -478,7 +478,7 @@ public function shipping_instance_form_add_extra_fields( $fields ) { /** * Support processing the Local Pickup Time enabled option on Local Pickup shipping instances. * - * @since 0.0.0 + * @since 1.4.0 * * @param array $args The shipping method arguments. * @param WC_Shipping_Method $shipping_method The WC_Shipping_Method instance object. @@ -498,7 +498,7 @@ public function shipping_method_add_rate_pickup_time_args( $args, $shipping_meth /** * Add a post status for Ready for Pickup for WooCommerce. * - * @since 0.0.0 + * @since 1.4.0 * * @return void */ @@ -520,7 +520,7 @@ public function register_post_status() { /** * Add a Ready for Pickup Order Status to WooCommerce. * - * @since 0.0.0 + * @since 1.4.0 * * @param array $order_statuses The array of WooCommerce Order Statuses. * @@ -537,7 +537,7 @@ public function wc_order_statuses( $order_statuses ) { /** * Add a bulk order action to change statuses to Ready for Pickup. * - * @since 0.0.0 + * @since 1.4.0 * * @param array $actions The array of bulk order actions from the Order listing. * @@ -554,7 +554,7 @@ public function add_bulk_actions_edit_shop_order( $actions ) { /** * Add a Ready for Pickup Order Status email action to WooCommerce.. * - * @since 0.0.0 + * @since 1.4.0 * * @param array $email_actions The array of transactional emails in WooCommerce. * @@ -571,7 +571,7 @@ public function woocommerce_email_actions( $email_actions ) { /** * Add a Ready for Pickup Order Status email class to WooCommerce. * - * @since 0.0.0 + * @since 1.4.0 * * @param array $email_classes The array of email class files. * diff --git a/composer.lock b/composer.lock index a67dced..834abdc 100644 --- a/composer.lock +++ b/composer.lock @@ -3353,7 +3353,7 @@ "bugsnag/bugsnag-laravel": ">=2,<2.0.2", "bytefury/crater": "<6.0.2", "cachethq/cachet": "<2.5.1", - "cakephp/cakephp": "<4.0.6", + "cakephp/cakephp": "<3.10.3|>=4,<4.0.6", "cardgate/magento2": "<2.0.33", "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4", "cartalyst/sentry": "<=2.1.6", @@ -3368,8 +3368,9 @@ "concrete5/concrete5": "<9", "concrete5/core": "<8.5.7", "contao-components/mediaelement": ">=2.14.2,<2.21.1", + "contao/contao": ">=4,<4.4.56|>=4.5,<4.9.18|>=4.10,<4.11.7|>=4.13,<4.13.3", "contao/core": ">=2,<3.5.39", - "contao/core-bundle": "<4.9.18|>=4.10,<4.11.7|= 4.10.0", + "contao/core-bundle": "<4.9.18|>=4.10,<4.11.7|>=4.13,<4.13.3|= 4.10.0", "contao/listing-bundle": ">=4,<4.4.8", "contao/managed-edition": "<=1.5", "craftcms/cms": "<3.7.29", @@ -3503,6 +3504,7 @@ "livewire/livewire": ">2.2.4,<2.2.6", "lms/routes": "<2.1.1", "localizationteam/l10nmgr": "<7.4|>=8,<8.7|>=9,<9.2", + "luyadev/yii-helpers": "<1.2.1", "magento/community-edition": ">=2,<2.2.10|>=2.3,<2.3.3", "magento/magento1ce": "<1.9.4.3", "magento/magento1ee": ">=1,<1.14.4.3", @@ -3520,6 +3522,7 @@ "mustache/mustache": ">=2,<2.14.1", "namshi/jose": "<2.2", "neoan3-apps/template": "<1.1.1", + "neorazorx/facturascripts": "<2022.4", "neos/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", "neos/form": ">=1.2,<4.3.3|>=5,<5.0.9|>=5.1,<5.1.3", "neos/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.9.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", @@ -3588,7 +3591,7 @@ "pusher/pusher-php-server": "<2.2.1", "pwweb/laravel-core": "<=0.3.6-beta", "rainlab/debugbar-plugin": "<3.1", - "remdex/livehelperchat": "<3.96", + "remdex/livehelperchat": "<3.99", "rmccue/requests": ">=1.6,<1.8", "robrichards/xmlseclibs": "<3.0.4", "rudloff/alltube": "<3.0.3", diff --git a/languages/woocommerce-local-pickup-time-cs_CZ.mo b/languages/woocommerce-local-pickup-time-cs_CZ.mo index 5ce798a7907d3071ef3446881923d1c462ca787a..6984645499b94b36d3a20ceedbd9e8a51e3ea186 100644 GIT binary patch delta 1263 zcmYk*O-NKx6u|ML&ghKgsN<;lQH^DmqnViyB}ABM1S5rEA2VUnJldq8DdnPOD(Guf zK3Zr<1k%nxW>aJ>G8aXQh}s0!svz35Y0)C;e`b!*WzPNGd)~Y6pyu3wSl=b-1F z(AtSwVj)MQ2jh8kw2K~*e4H>-SjhZ_If*{zGgyF+EdSW@Pf^#uwESz!e?ZPp%Ca5! zY6pIzF8Gap6mRyzg*e1Ch=(zSyYW5h`9*YUh>oRFgR3x%rPz!i+=HvJ4{N!fzlvjOT~!eEYs?$HaZ#&$@vRx*qB_5cG5m&c?Bpf`_y9Hkx0L#8A{G=mfzQl} zGLd7;vsJ51?+*A!LUnOjHu~r(z_snegfUuQbk; zCSv1C0vidfjJ8e08iJP;DlBb;R;!)Rn{6euZ6`d0R!p}wm(a#%m1z`H>WF3{Swp9L z@_*aFWE-)C&@!(hC`_hB=qm`_7Hw4o-=8!P6eF{p6f4v8Z?>LTOSEP(*{;RLJ4Di7 zyfZoZ(R0Iz!3np;H{|B{o4n&XOV9gfJSF4KdB$?oNepL3?oe$*da}4Q&&QHi_s=fQ mxyiE2?ntPkpx4oalkO^C_7*Qrk2#}@&!ul{Y060q>au?rfqVx5 literal 7315 zcmcJTU2I%O6~~7*p>#`Inm{O@olqL=BzM=l-n8!8?w9R^h&WkdCrv`2y1RGmz24nB z%l%m6s1lWs5TN9t2p*Ckgn0l()QZFd4M4oojG&n%sF$9^XCKmzROUiQ9q74aUWwgcy%9sP~P6p*n7dh7`_80(Egj@ zzrgpQy&r=f03QMA{UMP04}7M{;{EX?JHT{=B{9`tL9t2Aujq|}Ocn$nK z_zsu@b9jkI7Jt);++z%2L}_yYJr@I3f_a1kVXgdqO0 z*YQJgZ-Ey0Ymnyu9Xtw>vb6p&ko37=+E+oE_jS+*e+pg%pMsHI0$(-!B}iv*AB0l> zDUjOV0;j;=f-~SjC`bL54ZjbbMEkF%ee_}7mLQG)8F&i(HwabP^dnlIS!i{{)@@AN>$~4x9nM2(B4EbV#>d@C)dF6TAvO`C-Oh0bc{D|83Krc$~2- zXn)V}pWr35&wm6y1O5c0`TMaM>MwxQ{sl<;e*9yMJq;cPN5M-V>3ba{J--8z-oG*Z z@0$MoFb4IHgXA9`2=`FF3>8$N`BcU=)Nc;IaD4`|u@_a3wiBHVt|Dba>YhLyLp_X2 z=R)NPR9f?ssC0%DCmfahnquS#YFw~ARp8bPCRF8sA&x*5gb2GImG+Bmsj?5hS@TSQ znb{EPQ>YXVWFsnMGaMNkp@u2sH{^pbIr{`E`FUK()>NKEokV>W^%yFZPoa_xVL}y) z?a#={Gykpd}ZpGPI%qk?N}+a!I&~R^&a-NV!)EAbaVi14)`=(ex+a^8)DdV5q`#UF zkL<7gJY0A|lHZfYI(DGY!U7p{xg-!z<+w!^C;%qN^ApP}RCa1pE!3SL8_;(FpZhXUG)yk*yJ zu_nAoNfnJ0Mmj>0{6bem7-@ru(B8cx5wUmeOo%$-9f_DP!S!JMoe7D=j%Bvv^$kDcrL zQJdGBVTJ=Opr^z``^(?lCfj_9C-&P!&*1;FN?Ur%6GDq=Pk$8$HJ}Bk5x)rnvI z!10=QnMs%#rOVWxZ{Bnrv4qd6)0rn%W%HgVgOJx7>xGTme#AF!*g?c=zU0-$S`d1T zHC|u2R>!3sg?RRmaW!v>Qbjlsuk)HLS8T`IxSeEq$;-0hmTmo)L1Puk!II!=g~lB& z3rmpESgn^aPYaY-M`FxUW37q|yo|prHf}%`)=aXCD+S?0;W#rsjvAL5fEx@edwn=_{z!^xJ zH*QxNYp{ZO+UlC^^9EhEx!zbMo3f4Tb`V>Yj)|Rf=roP-*RgvRXVd0@TW8ukJICtA z_<^g2w~J1)Ia!dQZ9v-`R9!uBi-w8)fDV>Td&oV@&I&o!HMFRPNY!a0(QMu-M9 z5j-X~@v7Rq+q@^RKb#A09c_X_=2 && n<=4) ? 1 : 2;\n" "X-Generator: GlotPress/2.3.1\n" -#: admin/class-local-pickup-time-admin.php:96 -msgid "Store Hours and Closings for Local Pickup" +#: admin/class-local-pickup-time-admin.php:120 +msgid "Settings" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:141 +#, fuzzy +msgid "Local Pickup Time settings" +msgstr "WooCommerce Local Pickup Time Select" + +#: admin/class-local-pickup-time-admin.php:164 +#, fuzzy +msgid "Store Hours for Local Pickup" msgstr "Otvírací doba pro místí vyzvednutí" -#: admin/class-local-pickup-time-admin.php:98 +#: admin/class-local-pickup-time-admin.php:166 msgid "" "The following options affect when order pickups begin and end each day, and " "which days to not allow order pickups." @@ -26,150 +36,176 @@ msgstr "" "Pomocí následujících možnosí můžete vybrat, kdy bude možné vyzvednout " "objednávku na místě." -#: admin/class-local-pickup-time-admin.php:102 -msgid "Monday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:170 +#, fuzzy +msgid "Monday Pickup Start Time" msgstr "Pondělí - první vyzvednutí v (24 hodin. formát)" -#: admin/class-local-pickup-time-admin.php:103 +#: admin/class-local-pickup-time-admin.php:171 msgid "This sets the pickup start time for Monday. Use 24-hour time format." msgstr "" "Zde nastavíte pondělní první možný čas vyzvednutí. Použijte 24 hodinový " "formát." -#: admin/class-local-pickup-time-admin.php:111 -msgid "Monday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:179 +#, fuzzy +msgid "Monday Pickup End Time" msgstr "Pondělí - poslední vyzvednutí v (24 hodin. formát)" -#: admin/class-local-pickup-time-admin.php:112 +#: admin/class-local-pickup-time-admin.php:180 msgid "This sets the pickup end time for Monday. Use 24-hour time format." msgstr "" "Zde nastavíte pondělní poslední možný čas vyzvednutí. Použijte 24 hodinový " "formát." -#: admin/class-local-pickup-time-admin.php:120 -msgid "Tuesday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:188 +#, fuzzy +msgid "Tuesday Pickup Start Time" msgstr "Úterý - první vyzvednutí v (24 hodin. formát)" -#: admin/class-local-pickup-time-admin.php:121 +#: admin/class-local-pickup-time-admin.php:189 msgid "This sets the pickup start time for Tuesday. Use 24-hour time format." msgstr "" "Zde nastavíte úterní první možný čas vyzvednutí. Použijte 24 hodinový formát." -#: admin/class-local-pickup-time-admin.php:129 -msgid "Tuesday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:197 +#, fuzzy +msgid "Tuesday Pickup End Time" msgstr "Úterý - poslední vyzvednutí v (24 hodin. formát)" -#: admin/class-local-pickup-time-admin.php:130 +#: admin/class-local-pickup-time-admin.php:198 msgid "This sets the pickup end time for Tuesday. Use 24-hour time format." msgstr "" "Zde nastavíte úterní poslední možný čas vyzvednutí. Použijte 24 hodinový " "formát." -#: admin/class-local-pickup-time-admin.php:138 -msgid "Wednesday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:206 +#, fuzzy +msgid "Wednesday Pickup Start Time" msgstr "Středa - první vyzvednutí v (24 hodin. formát)" -#: admin/class-local-pickup-time-admin.php:139 +#: admin/class-local-pickup-time-admin.php:207 msgid "This sets the pickup start time for Wednesday. Use 24-hour time format." msgstr "" "Zde nastavíte středeční první možný čas vyzvednutí. Použijte 24 hodinový " "formát." -#: admin/class-local-pickup-time-admin.php:147 -msgid "Wednesday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:215 +#, fuzzy +msgid "Wednesday Pickup End Time" msgstr "Středa - poslední vyzvednutí v (24 hodin. formát)" -#: admin/class-local-pickup-time-admin.php:148 +#: admin/class-local-pickup-time-admin.php:216 msgid "This sets the pickup end time for Wednesday. Use 24-hour time format." msgstr "" "Zde nastavíte středeční poslední možný čas vyzvednutí. Použijte 24 hodinový " "formát." -#: admin/class-local-pickup-time-admin.php:156 -msgid "Thursday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:224 +#, fuzzy +msgid "Thursday Pickup Start Time" msgstr "Čtvrtek - první vyzvednutí v (24 hodin. formát)" -#: admin/class-local-pickup-time-admin.php:157 +#: admin/class-local-pickup-time-admin.php:225 msgid "This sets the pickup start time for Thursday. Use 24-hour time format." msgstr "" "Zde nastavíte čtvrteční první možný čas vyzvednutí. Použijte 24 hodinový " "formát." -#: admin/class-local-pickup-time-admin.php:165 -msgid "Thursday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:233 +#, fuzzy +msgid "Thursday Pickup End Time" msgstr "Čtvrtek - poslední vyzvednutí v (24 hodin. formát)" -#: admin/class-local-pickup-time-admin.php:166 +#: admin/class-local-pickup-time-admin.php:234 msgid "This sets the pickup end time for Thursday. Use 24-hour time format." msgstr "" "Zde nastavíte čtvrteční poslední možný čas vyzvednutí. Použijte 24 hodinový " "formát." -#: admin/class-local-pickup-time-admin.php:174 -msgid "Friday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:242 +#, fuzzy +msgid "Friday Pickup Start Time" msgstr "Pátek - první vyzvednutí v (24 hodin. formát)" -#: admin/class-local-pickup-time-admin.php:175 +#: admin/class-local-pickup-time-admin.php:243 msgid "This sets the pickup start time for Friday. Use 24-hour time format." msgstr "" "Zde nastavíte páteční první možný čas vyzvednutí. Použijte 24 hodinový " "formát." -#: admin/class-local-pickup-time-admin.php:183 -msgid "Friday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:251 +#, fuzzy +msgid "Friday Pickup End Time" msgstr "Pátek - poslední vyzvednutí v (24 hodin. formát)" -#: admin/class-local-pickup-time-admin.php:184 +#: admin/class-local-pickup-time-admin.php:252 msgid "This sets the pickup end time for Friday. Use 24-hour time format." msgstr "" "Zde nastavíte páteční poslední možný čas vyzvednutí. Použijte 24 hodinový " "formát." -#: admin/class-local-pickup-time-admin.php:192 -msgid "Saturday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:260 +#, fuzzy +msgid "Saturday Pickup Start Time" msgstr "Sobota - poslední vyzvednutí v (24 hodin. formát)" -#: admin/class-local-pickup-time-admin.php:193 +#: admin/class-local-pickup-time-admin.php:261 msgid "This sets the pickup start time for Saturday. Use 24-hour time format." msgstr "" "Zde nastavíte sobotní první možný čas vyzvednutí. Použijte 24 hodinový " "formát." -#: admin/class-local-pickup-time-admin.php:201 -msgid "Saturday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:269 +#, fuzzy +msgid "Saturday Pickup End Time" msgstr "Sobota - první vyzvednutí v (24 hodin. formát)" -#: admin/class-local-pickup-time-admin.php:202 +#: admin/class-local-pickup-time-admin.php:270 msgid "This sets the pickup end time for Saturday. Use 24-hour time format." msgstr "" "Zde nastavíte sobotní poslední možný čas vyzvednutí. Použijte 24 hodinový " "formát." -#: admin/class-local-pickup-time-admin.php:210 -msgid "Sunday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:278 +#, fuzzy +msgid "Sunday Pickup Start Time" msgstr "Neděle - poslední vyzvednutí v (24 hodin. formát)" -#: admin/class-local-pickup-time-admin.php:211 +#: admin/class-local-pickup-time-admin.php:279 msgid "This sets the pickup start time for Sunday. Use 24-hour time format." msgstr "" "Zde nastavíte nedělní první možný čas vyzvednutí. Použijte 24 hodinový " "formát." -#: admin/class-local-pickup-time-admin.php:219 -msgid "Sunday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:287 +#, fuzzy +msgid "Sunday Pickup End Time" msgstr "Neděle - první vyzvednutí v (24 hodin. formát)" -#: admin/class-local-pickup-time-admin.php:220 +#: admin/class-local-pickup-time-admin.php:288 msgid "This sets the pickup end time for Sunday. Use 24-hour time format." msgstr "" "Zde nastavíte nedělní poslední možný čas vyzvednutí. Použijte 24 hodinový " "formát." -#: admin/class-local-pickup-time-admin.php:228 +#: admin/class-local-pickup-time-admin.php:300 +#, fuzzy +msgid "Store Closed for Local Pickup" +msgstr "Otvírací doba pro místí vyzvednutí" + +#: admin/class-local-pickup-time-admin.php:302 +#, fuzzy +msgid "The following options affect which days to not allow order pickups." +msgstr "" +"Pomocí následujících možnosí můžete vybrat, kdy bude možné vyzvednout " +"objednávku na místě." + +#: admin/class-local-pickup-time-admin.php:306 msgid "Store Closing Days (use MM/DD/YYYY format)" msgstr "Dny, kdy je zavřeno (použijte formát MM/DD/YYY formát)" -#: admin/class-local-pickup-time-admin.php:229 +#: admin/class-local-pickup-time-admin.php:307 msgid "" "This sets the days the store is closed. Enter one date per line, in format " "MM/DD/YYYY." @@ -177,168 +213,263 @@ msgstr "" "Zde nastavíte dny, kdy bude zavřeno. Zadejte jedno datum na řádek ve formátu " "MM/DD/YYYY." -#: admin/class-local-pickup-time-admin.php:237 +#: admin/class-local-pickup-time-admin.php:319 +msgid "Order Pickup Intervals & Delays" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:321 +msgid "" +"The following options are used to calculate the available time slots for " +"pickup." +msgstr "" + +#: admin/class-local-pickup-time-admin.php:325 msgid "Pickup Time Interval" msgstr "Interval času vyzvednutá" -#: admin/class-local-pickup-time-admin.php:238 +#: admin/class-local-pickup-time-admin.php:326 msgid "Choose the time interval for allowing local pickup orders." msgstr "Vyberte interval, podle kterého se vytvoří nabídka časů." -#: admin/class-local-pickup-time-admin.php:246 -#: admin/class-local-pickup-time-admin.php:266 +#: admin/class-local-pickup-time-admin.php:334 +#: admin/class-local-pickup-time-admin.php:354 msgid "5 minutes" msgstr "5 minut" -#: admin/class-local-pickup-time-admin.php:247 -#: admin/class-local-pickup-time-admin.php:267 +#: admin/class-local-pickup-time-admin.php:335 +#: admin/class-local-pickup-time-admin.php:355 msgid "10 minutes" msgstr "10 minut" -#: admin/class-local-pickup-time-admin.php:248 -#: admin/class-local-pickup-time-admin.php:268 +#: admin/class-local-pickup-time-admin.php:336 +#: admin/class-local-pickup-time-admin.php:356 msgid "15 minutes" msgstr "15 minut" -#: admin/class-local-pickup-time-admin.php:249 -#: admin/class-local-pickup-time-admin.php:269 +#: admin/class-local-pickup-time-admin.php:337 +#: admin/class-local-pickup-time-admin.php:357 msgid "20 minutes" msgstr "20 minut" -#: admin/class-local-pickup-time-admin.php:250 -#: admin/class-local-pickup-time-admin.php:270 +#: admin/class-local-pickup-time-admin.php:338 +#: admin/class-local-pickup-time-admin.php:358 msgid "30 minutes" msgstr "30 minut" -#: admin/class-local-pickup-time-admin.php:251 -#: admin/class-local-pickup-time-admin.php:271 +#: admin/class-local-pickup-time-admin.php:339 +#: admin/class-local-pickup-time-admin.php:359 msgid "45 minutes" msgstr "45 minut" -#: admin/class-local-pickup-time-admin.php:252 -#: admin/class-local-pickup-time-admin.php:272 +#: admin/class-local-pickup-time-admin.php:340 +#: admin/class-local-pickup-time-admin.php:360 msgid "1 hour" msgstr "1 hodina" -#: admin/class-local-pickup-time-admin.php:253 -#: admin/class-local-pickup-time-admin.php:273 +#: admin/class-local-pickup-time-admin.php:341 +#: admin/class-local-pickup-time-admin.php:361 msgid "2 hours" msgstr "2 hodiny" -#: admin/class-local-pickup-time-admin.php:257 +#: admin/class-local-pickup-time-admin.php:345 msgid "Pickup Time Delay" msgstr "Odběr možný po" -#: admin/class-local-pickup-time-admin.php:258 +#: admin/class-local-pickup-time-admin.php:346 msgid "" "Choose the time delay from the time of ordering for allowing local pickup " "orders." msgstr "Po kolika minutách je možné objednávku vyzvednou po jejím uskutečnění." -#: admin/class-local-pickup-time-admin.php:274 +#: admin/class-local-pickup-time-admin.php:362 msgid "4 hours" msgstr "4 hodiny" -#: admin/class-local-pickup-time-admin.php:275 +#: admin/class-local-pickup-time-admin.php:363 msgid "8 hours" msgstr "8 hodin" -#: admin/class-local-pickup-time-admin.php:276 +#: admin/class-local-pickup-time-admin.php:364 msgid "16 hours" msgstr "16 hodin" -#: admin/class-local-pickup-time-admin.php:277 +#: admin/class-local-pickup-time-admin.php:365 msgid "24 hours" msgstr "24 hodin" -#: admin/class-local-pickup-time-admin.php:278 +#: admin/class-local-pickup-time-admin.php:366 msgid "36 hours" msgstr "36 hodin" -#: admin/class-local-pickup-time-admin.php:279 +#: admin/class-local-pickup-time-admin.php:367 msgid "48 hours" msgstr "48 hodin" -#: admin/class-local-pickup-time-admin.php:280 +#: admin/class-local-pickup-time-admin.php:368 msgid "3 days" msgstr "3 dny" -#: admin/class-local-pickup-time-admin.php:281 +#: admin/class-local-pickup-time-admin.php:369 msgid "5 days" msgstr "5 dnů" -#: admin/class-local-pickup-time-admin.php:282 +#: admin/class-local-pickup-time-admin.php:370 msgid "1 week" msgstr "1 týden" -#: admin/class-local-pickup-time-admin.php:286 +#: admin/class-local-pickup-time-admin.php:374 #, fuzzy msgid "Pickup Time Open Days Ahead" msgstr "Objednávka dopředu max." -#: admin/class-local-pickup-time-admin.php:287 +#: admin/class-local-pickup-time-admin.php:375 #, fuzzy msgid "" "Choose the number of open days ahead for allowing local pickup orders. This " "is inclusive of the current day, if timeslots are still available." msgstr "Vyberte pro kolik dní dopředu je možné vybrat dobu doručení" -#: admin/class-local-pickup-time-admin.php:332 -msgid "Pickup Time:" -msgstr "Čas vyzvednutí:" +#: admin/class-local-pickup-time-admin.php:391 +msgid "Additional Settings" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:393 +msgid "" +"The following options provide additional capabilities for customization." +msgstr "" + +#: admin/class-local-pickup-time-admin.php:397 +msgid "Require Checkout Pickup Time?" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:398 +msgid "Required" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:399 +msgid "This controls whether a Pickup Time is required during checkout." +msgstr "" -#: admin/class-local-pickup-time-admin.php:353 -#: public/class-local-pickup-time.php:692 -#: public/class-local-pickup-time.php:699 -#: public/class-local-pickup-time.php:787 +#: admin/class-local-pickup-time-admin.php:407 +msgid "Limit to Local Pickup Shipping Methods?" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:408 +msgid "Limit" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:409 +msgid "" +"This controls whether Local Pickup Times are restricted to Local Shipping " +"methods. This requires enabling \"Pickup Time\" on each individual " +"Local Pickup Shipping method, within each Shiping Zone." +msgstr "" + +#: admin/class-local-pickup-time-admin.php:465 +#: admin/class-local-pickup-time-admin.php:628 +#: public/class-local-pickup-time.php:863 +#: public/class-local-pickup-time.php:935 msgid "Pickup Time" msgstr "Čas vyzvednutí" -#: public/class-local-pickup-time.php:525 +#: admin/class-local-pickup-time-admin.php:466 +msgid "Enable" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:467 +msgid "This controls whether a Pickup Time is tied to the shipping method." +msgstr "" + +#. translators: %s: number of orders +#: admin/class-local-pickup-time-admin.php:515 +msgid "Ready for Pickup (%s)" +msgid_plural "Ready for Pickup (%s)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: admin/class-local-pickup-time-admin.php:548 +msgid "Change status to ready for pickup" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:607 +msgid "Pickup Time:" +msgstr "Čas vyzvednutí:" + +#: admin/emails/class-wc-email-customer-ready-for-pickup-order.php:30 +msgid "Ready for Pickup order" +msgstr "" + +#: admin/emails/class-wc-email-customer-ready-for-pickup-order.php:31 +msgid "" +"Order ready for pickup emails are sent to the customer when the order is " +"marked Ready for Pickup." +msgstr "" + +#: admin/emails/class-wc-email-customer-ready-for-pickup-order.php:85 +msgid "Your {site_title} order is now ready for pickup" +msgstr "" + +#: admin/emails/class-wc-email-customer-ready-for-pickup-order.php:95 +msgid "We look forward to your arrival" +msgstr "" + +#: admin/emails/class-wc-email-customer-ready-for-pickup-order.php:147 +msgid "We look forward to your pending arrival." +msgstr "" + +#: public/class-local-pickup-time.php:598 msgid "Monday" msgstr "Pondělí" -#: public/class-local-pickup-time.php:526 +#: public/class-local-pickup-time.php:599 msgid "Tuesday" msgstr "Úterý" -#: public/class-local-pickup-time.php:527 +#: public/class-local-pickup-time.php:600 msgid "Wednesday" msgstr "Středa" -#: public/class-local-pickup-time.php:528 +#: public/class-local-pickup-time.php:601 msgid "Thursday" msgstr "Čtvrtek" -#: public/class-local-pickup-time.php:529 +#: public/class-local-pickup-time.php:602 msgid "Friday" msgstr "Pátek" -#: public/class-local-pickup-time.php:530 +#: public/class-local-pickup-time.php:603 msgid "Saturday" msgstr "Sobota" -#: public/class-local-pickup-time.php:531 +#: public/class-local-pickup-time.php:604 msgid "Sunday" msgstr "Neděle" -#: public/class-local-pickup-time.php:555 -msgid "Select time" -msgstr "Vyberte čas" - -#: public/class-local-pickup-time.php:742 +#: public/class-local-pickup-time.php:889 msgid "Please select a pickup time." msgstr "vyberte si čas vyzvednutí." -#: public/class-local-pickup-time.php:745 -#: public/class-local-pickup-time.php:768 +#: public/class-local-pickup-time.php:892 +#: public/class-local-pickup-time.php:915 msgid "Expired or invalid submission!." msgstr "" -#: public/class-local-pickup-time.php:807 +#: public/class-local-pickup-time.php:956 msgid "None" msgstr "Žádná" +#. translators: %s: Customer first name +#: templates/emails/customer-ready-for-pickup-order.php:32 +#: templates/emails/plain/customer-ready-for-pickup-order.php:29 +msgid "Hi %s," +msgstr "" + +#: templates/emails/customer-ready-for-pickup-order.php:33 +#: templates/emails/plain/customer-ready-for-pickup-order.php:30 +msgid "We have finished preparing your order for pickup." +msgstr "" + #. Plugin Name of the plugin/theme msgid "WooCommerce Local Pickup Time Select" msgstr "WooCommerce Local Pickup Time Select" @@ -363,6 +494,15 @@ msgstr "" msgid "https://www.ndigitals.com/" msgstr "" +#: admin/class-local-pickup-time-admin.php:509 +#: admin/class-local-pickup-time-admin.php:531 +msgctxt "Order status" +msgid "Ready for Pickup" +msgstr "" + +#~ msgid "Select time" +#~ msgstr "Vyberte čas" + #~ msgid "http://mattbanks.me" #~ msgstr "http://mattbanks.me" diff --git a/languages/woocommerce-local-pickup-time-en_US.po b/languages/woocommerce-local-pickup-time-en_US.po index 66013b6..f915e95 100644 --- a/languages/woocommerce-local-pickup-time-en_US.po +++ b/languages/woocommerce-local-pickup-time-en_US.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: WooCommerce Local Pickup Time Select\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woocommerce-local-" "pickup-time\n" -"POT-Creation-Date: 2021-01-24 21:29:41+00:00\n" +"POT-Creation-Date: 2022-05-13 05:32:56+00:00\n" "PO-Revision-Date: 2017-05-11 11:03+0200\n" "Last-Translator: Karolína Vyskočilová \n" "Language-Team: Matt Banks \n" @@ -20,298 +20,408 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-SearchPath-0: .\n" -#: admin/class-local-pickup-time-admin.php:96 -msgid "Store Hours and Closings for Local Pickup" +#: admin/class-local-pickup-time-admin.php:120 +msgid "Settings" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:141 +msgid "Local Pickup Time settings" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:164 +msgid "Store Hours for Local Pickup" msgstr "" -#: admin/class-local-pickup-time-admin.php:98 +#: admin/class-local-pickup-time-admin.php:166 msgid "" "The following options affect when order pickups begin and end each day, and " "which days to not allow order pickups." msgstr "" -#: admin/class-local-pickup-time-admin.php:102 -msgid "Monday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:170 +msgid "Monday Pickup Start Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:103 +#: admin/class-local-pickup-time-admin.php:171 msgid "This sets the pickup start time for Monday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:111 -msgid "Monday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:179 +msgid "Monday Pickup End Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:112 +#: admin/class-local-pickup-time-admin.php:180 msgid "This sets the pickup end time for Monday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:120 -msgid "Tuesday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:188 +msgid "Tuesday Pickup Start Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:121 +#: admin/class-local-pickup-time-admin.php:189 msgid "This sets the pickup start time for Tuesday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:129 -msgid "Tuesday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:197 +msgid "Tuesday Pickup End Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:130 +#: admin/class-local-pickup-time-admin.php:198 msgid "This sets the pickup end time for Tuesday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:138 -msgid "Wednesday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:206 +msgid "Wednesday Pickup Start Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:139 +#: admin/class-local-pickup-time-admin.php:207 msgid "This sets the pickup start time for Wednesday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:147 -msgid "Wednesday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:215 +msgid "Wednesday Pickup End Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:148 +#: admin/class-local-pickup-time-admin.php:216 msgid "This sets the pickup end time for Wednesday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:156 -msgid "Thursday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:224 +msgid "Thursday Pickup Start Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:157 +#: admin/class-local-pickup-time-admin.php:225 msgid "This sets the pickup start time for Thursday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:165 -msgid "Thursday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:233 +msgid "Thursday Pickup End Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:166 +#: admin/class-local-pickup-time-admin.php:234 msgid "This sets the pickup end time for Thursday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:174 -msgid "Friday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:242 +msgid "Friday Pickup Start Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:175 +#: admin/class-local-pickup-time-admin.php:243 msgid "This sets the pickup start time for Friday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:183 -msgid "Friday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:251 +msgid "Friday Pickup End Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:184 +#: admin/class-local-pickup-time-admin.php:252 msgid "This sets the pickup end time for Friday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:192 -msgid "Saturday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:260 +msgid "Saturday Pickup Start Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:193 +#: admin/class-local-pickup-time-admin.php:261 msgid "This sets the pickup start time for Saturday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:201 -msgid "Saturday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:269 +msgid "Saturday Pickup End Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:202 +#: admin/class-local-pickup-time-admin.php:270 msgid "This sets the pickup end time for Saturday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:210 -msgid "Sunday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:278 +msgid "Sunday Pickup Start Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:211 +#: admin/class-local-pickup-time-admin.php:279 msgid "This sets the pickup start time for Sunday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:219 -msgid "Sunday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:287 +msgid "Sunday Pickup End Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:220 +#: admin/class-local-pickup-time-admin.php:288 msgid "This sets the pickup end time for Sunday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:228 +#: admin/class-local-pickup-time-admin.php:300 +msgid "Store Closed for Local Pickup" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:302 +msgid "The following options affect which days to not allow order pickups." +msgstr "" + +#: admin/class-local-pickup-time-admin.php:306 msgid "Store Closing Days (use MM/DD/YYYY format)" msgstr "" -#: admin/class-local-pickup-time-admin.php:229 +#: admin/class-local-pickup-time-admin.php:307 msgid "" "This sets the days the store is closed. Enter one date per line, in format " "MM/DD/YYYY." msgstr "" -#: admin/class-local-pickup-time-admin.php:237 +#: admin/class-local-pickup-time-admin.php:319 +msgid "Order Pickup Intervals & Delays" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:321 +msgid "" +"The following options are used to calculate the available time slots for " +"pickup." +msgstr "" + +#: admin/class-local-pickup-time-admin.php:325 msgid "Pickup Time Interval" msgstr "" -#: admin/class-local-pickup-time-admin.php:238 +#: admin/class-local-pickup-time-admin.php:326 msgid "Choose the time interval for allowing local pickup orders." msgstr "" -#: admin/class-local-pickup-time-admin.php:246 -#: admin/class-local-pickup-time-admin.php:266 +#: admin/class-local-pickup-time-admin.php:334 +#: admin/class-local-pickup-time-admin.php:354 msgid "5 minutes" msgstr "" -#: admin/class-local-pickup-time-admin.php:247 -#: admin/class-local-pickup-time-admin.php:267 +#: admin/class-local-pickup-time-admin.php:335 +#: admin/class-local-pickup-time-admin.php:355 msgid "10 minutes" msgstr "" -#: admin/class-local-pickup-time-admin.php:248 -#: admin/class-local-pickup-time-admin.php:268 +#: admin/class-local-pickup-time-admin.php:336 +#: admin/class-local-pickup-time-admin.php:356 msgid "15 minutes" msgstr "" -#: admin/class-local-pickup-time-admin.php:249 -#: admin/class-local-pickup-time-admin.php:269 +#: admin/class-local-pickup-time-admin.php:337 +#: admin/class-local-pickup-time-admin.php:357 msgid "20 minutes" msgstr "" -#: admin/class-local-pickup-time-admin.php:250 -#: admin/class-local-pickup-time-admin.php:270 +#: admin/class-local-pickup-time-admin.php:338 +#: admin/class-local-pickup-time-admin.php:358 msgid "30 minutes" msgstr "" -#: admin/class-local-pickup-time-admin.php:251 -#: admin/class-local-pickup-time-admin.php:271 +#: admin/class-local-pickup-time-admin.php:339 +#: admin/class-local-pickup-time-admin.php:359 msgid "45 minutes" msgstr "" -#: admin/class-local-pickup-time-admin.php:252 -#: admin/class-local-pickup-time-admin.php:272 +#: admin/class-local-pickup-time-admin.php:340 +#: admin/class-local-pickup-time-admin.php:360 msgid "1 hour" msgstr "" -#: admin/class-local-pickup-time-admin.php:253 -#: admin/class-local-pickup-time-admin.php:273 +#: admin/class-local-pickup-time-admin.php:341 +#: admin/class-local-pickup-time-admin.php:361 msgid "2 hours" msgstr "" -#: admin/class-local-pickup-time-admin.php:257 +#: admin/class-local-pickup-time-admin.php:345 msgid "Pickup Time Delay" msgstr "" -#: admin/class-local-pickup-time-admin.php:258 +#: admin/class-local-pickup-time-admin.php:346 msgid "" "Choose the time delay from the time of ordering for allowing local pickup " "orders." msgstr "" -#: admin/class-local-pickup-time-admin.php:274 +#: admin/class-local-pickup-time-admin.php:362 msgid "4 hours" msgstr "" -#: admin/class-local-pickup-time-admin.php:275 +#: admin/class-local-pickup-time-admin.php:363 msgid "8 hours" msgstr "" -#: admin/class-local-pickup-time-admin.php:276 +#: admin/class-local-pickup-time-admin.php:364 msgid "16 hours" msgstr "" -#: admin/class-local-pickup-time-admin.php:277 +#: admin/class-local-pickup-time-admin.php:365 msgid "24 hours" msgstr "" -#: admin/class-local-pickup-time-admin.php:278 +#: admin/class-local-pickup-time-admin.php:366 msgid "36 hours" msgstr "" -#: admin/class-local-pickup-time-admin.php:279 +#: admin/class-local-pickup-time-admin.php:367 msgid "48 hours" msgstr "" -#: admin/class-local-pickup-time-admin.php:280 +#: admin/class-local-pickup-time-admin.php:368 msgid "3 days" msgstr "" -#: admin/class-local-pickup-time-admin.php:281 +#: admin/class-local-pickup-time-admin.php:369 msgid "5 days" msgstr "" -#: admin/class-local-pickup-time-admin.php:282 +#: admin/class-local-pickup-time-admin.php:370 msgid "1 week" msgstr "" -#: admin/class-local-pickup-time-admin.php:286 +#: admin/class-local-pickup-time-admin.php:374 msgid "Pickup Time Open Days Ahead" msgstr "" -#: admin/class-local-pickup-time-admin.php:287 +#: admin/class-local-pickup-time-admin.php:375 msgid "" "Choose the number of open days ahead for allowing local pickup orders. This " "is inclusive of the current day, if timeslots are still available." msgstr "" -#: admin/class-local-pickup-time-admin.php:332 -msgid "Pickup Time:" +#: admin/class-local-pickup-time-admin.php:391 +msgid "Additional Settings" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:393 +msgid "" +"The following options provide additional capabilities for customization." +msgstr "" + +#: admin/class-local-pickup-time-admin.php:397 +msgid "Require Checkout Pickup Time?" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:398 +msgid "Required" msgstr "" -#: admin/class-local-pickup-time-admin.php:353 -#: public/class-local-pickup-time.php:692 -#: public/class-local-pickup-time.php:699 -#: public/class-local-pickup-time.php:787 +#: admin/class-local-pickup-time-admin.php:399 +msgid "This controls whether a Pickup Time is required during checkout." +msgstr "" + +#: admin/class-local-pickup-time-admin.php:407 +msgid "Limit to Local Pickup Shipping Methods?" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:408 +msgid "Limit" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:409 +msgid "" +"This controls whether Local Pickup Times are restricted to Local Shipping " +"methods. This requires enabling \"Pickup Time\" on each individual " +"Local Pickup Shipping method, within each Shiping Zone." +msgstr "" + +#: admin/class-local-pickup-time-admin.php:465 +#: admin/class-local-pickup-time-admin.php:628 +#: public/class-local-pickup-time.php:863 +#: public/class-local-pickup-time.php:935 msgid "Pickup Time" msgstr "" -#: public/class-local-pickup-time.php:525 +#: admin/class-local-pickup-time-admin.php:466 +msgid "Enable" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:467 +msgid "This controls whether a Pickup Time is tied to the shipping method." +msgstr "" + +#. translators: %s: number of orders +#: admin/class-local-pickup-time-admin.php:515 +msgid "Ready for Pickup (%s)" +msgid_plural "Ready for Pickup (%s)" +msgstr[0] "" +msgstr[1] "" + +#: admin/class-local-pickup-time-admin.php:548 +msgid "Change status to ready for pickup" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:607 +msgid "Pickup Time:" +msgstr "" + +#: admin/emails/class-wc-email-customer-ready-for-pickup-order.php:30 +msgid "Ready for Pickup order" +msgstr "" + +#: admin/emails/class-wc-email-customer-ready-for-pickup-order.php:31 +msgid "" +"Order ready for pickup emails are sent to the customer when the order is " +"marked Ready for Pickup." +msgstr "" + +#: admin/emails/class-wc-email-customer-ready-for-pickup-order.php:85 +msgid "Your {site_title} order is now ready for pickup" +msgstr "" + +#: admin/emails/class-wc-email-customer-ready-for-pickup-order.php:95 +msgid "We look forward to your arrival" +msgstr "" + +#: admin/emails/class-wc-email-customer-ready-for-pickup-order.php:147 +msgid "We look forward to your pending arrival." +msgstr "" + +#: public/class-local-pickup-time.php:598 msgid "Monday" msgstr "" -#: public/class-local-pickup-time.php:526 +#: public/class-local-pickup-time.php:599 msgid "Tuesday" msgstr "" -#: public/class-local-pickup-time.php:527 +#: public/class-local-pickup-time.php:600 msgid "Wednesday" msgstr "" -#: public/class-local-pickup-time.php:528 +#: public/class-local-pickup-time.php:601 msgid "Thursday" msgstr "" -#: public/class-local-pickup-time.php:529 +#: public/class-local-pickup-time.php:602 msgid "Friday" msgstr "" -#: public/class-local-pickup-time.php:530 +#: public/class-local-pickup-time.php:603 msgid "Saturday" msgstr "" -#: public/class-local-pickup-time.php:531 +#: public/class-local-pickup-time.php:604 msgid "Sunday" msgstr "" -#: public/class-local-pickup-time.php:555 -msgid "Select time" -msgstr "" - -#: public/class-local-pickup-time.php:742 +#: public/class-local-pickup-time.php:889 msgid "Please select a pickup time." msgstr "" -#: public/class-local-pickup-time.php:745 -#: public/class-local-pickup-time.php:768 +#: public/class-local-pickup-time.php:892 +#: public/class-local-pickup-time.php:915 msgid "Expired or invalid submission!." msgstr "" -#: public/class-local-pickup-time.php:807 +#: public/class-local-pickup-time.php:956 msgid "None" msgstr "" +#. translators: %s: Customer first name +#: templates/emails/customer-ready-for-pickup-order.php:32 +#: templates/emails/plain/customer-ready-for-pickup-order.php:29 +msgid "Hi %s," +msgstr "" + +#: templates/emails/customer-ready-for-pickup-order.php:33 +#: templates/emails/plain/customer-ready-for-pickup-order.php:30 +msgid "We have finished preparing your order for pickup." +msgstr "" + #. Plugin Name of the plugin/theme msgid "WooCommerce Local Pickup Time Select" msgstr "" @@ -333,3 +443,9 @@ msgstr "" #. Author URI of the plugin/theme msgid "https://www.ndigitals.com/" msgstr "" + +#: admin/class-local-pickup-time-admin.php:509 +#: admin/class-local-pickup-time-admin.php:531 +msgctxt "Order status" +msgid "Ready for Pickup" +msgstr "" diff --git a/languages/woocommerce-local-pickup-time.pot b/languages/woocommerce-local-pickup-time.pot index 11077ce..f816e92 100644 --- a/languages/woocommerce-local-pickup-time.pot +++ b/languages/woocommerce-local-pickup-time.pot @@ -1,15 +1,15 @@ -# Copyright (C) 2021 Tim Nolte +# Copyright (C) 2022 Tim Nolte # This file is distributed under the GPL-2.0+. msgid "" msgstr "" -"Project-Id-Version: WooCommerce Local Pickup Time Select 1.3.13\n" +"Project-Id-Version: WooCommerce Local Pickup Time Select 1.4.0\n" "Report-Msgid-Bugs-To: " "https://wordpress.org/support/plugin/woocommerce-local-pickup-time\n" -"POT-Creation-Date: 2021-03-18 01:26:39+00:00\n" +"POT-Creation-Date: 2022-05-13 05:34:43+00:00\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2021-MO-DA HO:MI+ZONE\n" +"PO-Revision-Date: 2022-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: en\n" @@ -25,298 +25,407 @@ msgstr "" "X-Textdomain-Support: yes\n" "X-Generator: grunt-wp-i18n 1.0.3\n" -#: admin/class-local-pickup-time-admin.php:96 -msgid "Store Hours and Closings for Local Pickup" +#: admin/class-local-pickup-time-admin.php:120 +msgid "Settings" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:141 +msgid "Local Pickup Time settings" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:164 +msgid "Store Hours for Local Pickup" msgstr "" -#: admin/class-local-pickup-time-admin.php:98 +#: admin/class-local-pickup-time-admin.php:166 msgid "" "The following options affect when order pickups begin and end each day, and " "which days to not allow order pickups." msgstr "" -#: admin/class-local-pickup-time-admin.php:102 -msgid "Monday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:170 +msgid "Monday Pickup Start Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:103 +#: admin/class-local-pickup-time-admin.php:171 msgid "This sets the pickup start time for Monday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:111 -msgid "Monday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:179 +msgid "Monday Pickup End Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:112 +#: admin/class-local-pickup-time-admin.php:180 msgid "This sets the pickup end time for Monday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:120 -msgid "Tuesday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:188 +msgid "Tuesday Pickup Start Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:121 +#: admin/class-local-pickup-time-admin.php:189 msgid "This sets the pickup start time for Tuesday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:129 -msgid "Tuesday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:197 +msgid "Tuesday Pickup End Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:130 +#: admin/class-local-pickup-time-admin.php:198 msgid "This sets the pickup end time for Tuesday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:138 -msgid "Wednesday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:206 +msgid "Wednesday Pickup Start Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:139 +#: admin/class-local-pickup-time-admin.php:207 msgid "This sets the pickup start time for Wednesday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:147 -msgid "Wednesday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:215 +msgid "Wednesday Pickup End Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:148 +#: admin/class-local-pickup-time-admin.php:216 msgid "This sets the pickup end time for Wednesday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:156 -msgid "Thursday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:224 +msgid "Thursday Pickup Start Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:157 +#: admin/class-local-pickup-time-admin.php:225 msgid "This sets the pickup start time for Thursday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:165 -msgid "Thursday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:233 +msgid "Thursday Pickup End Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:166 +#: admin/class-local-pickup-time-admin.php:234 msgid "This sets the pickup end time for Thursday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:174 -msgid "Friday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:242 +msgid "Friday Pickup Start Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:175 +#: admin/class-local-pickup-time-admin.php:243 msgid "This sets the pickup start time for Friday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:183 -msgid "Friday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:251 +msgid "Friday Pickup End Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:184 +#: admin/class-local-pickup-time-admin.php:252 msgid "This sets the pickup end time for Friday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:192 -msgid "Saturday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:260 +msgid "Saturday Pickup Start Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:193 +#: admin/class-local-pickup-time-admin.php:261 msgid "This sets the pickup start time for Saturday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:201 -msgid "Saturday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:269 +msgid "Saturday Pickup End Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:202 +#: admin/class-local-pickup-time-admin.php:270 msgid "This sets the pickup end time for Saturday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:210 -msgid "Sunday Pickup Start Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:278 +msgid "Sunday Pickup Start Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:211 +#: admin/class-local-pickup-time-admin.php:279 msgid "This sets the pickup start time for Sunday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:219 -msgid "Sunday Pickup End Time (use 24-hour time)" +#: admin/class-local-pickup-time-admin.php:287 +msgid "Sunday Pickup End Time" msgstr "" -#: admin/class-local-pickup-time-admin.php:220 +#: admin/class-local-pickup-time-admin.php:288 msgid "This sets the pickup end time for Sunday. Use 24-hour time format." msgstr "" -#: admin/class-local-pickup-time-admin.php:228 +#: admin/class-local-pickup-time-admin.php:300 +msgid "Store Closed for Local Pickup" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:302 +msgid "The following options affect which days to not allow order pickups." +msgstr "" + +#: admin/class-local-pickup-time-admin.php:306 msgid "Store Closing Days (use MM/DD/YYYY format)" msgstr "" -#: admin/class-local-pickup-time-admin.php:229 +#: admin/class-local-pickup-time-admin.php:307 msgid "" "This sets the days the store is closed. Enter one date per line, in format " "MM/DD/YYYY." msgstr "" -#: admin/class-local-pickup-time-admin.php:237 +#: admin/class-local-pickup-time-admin.php:319 +msgid "Order Pickup Intervals & Delays" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:321 +msgid "" +"The following options are used to calculate the available time slots for " +"pickup." +msgstr "" + +#: admin/class-local-pickup-time-admin.php:325 msgid "Pickup Time Interval" msgstr "" -#: admin/class-local-pickup-time-admin.php:238 +#: admin/class-local-pickup-time-admin.php:326 msgid "Choose the time interval for allowing local pickup orders." msgstr "" -#: admin/class-local-pickup-time-admin.php:246 -#: admin/class-local-pickup-time-admin.php:266 +#: admin/class-local-pickup-time-admin.php:334 +#: admin/class-local-pickup-time-admin.php:354 msgid "5 minutes" msgstr "" -#: admin/class-local-pickup-time-admin.php:247 -#: admin/class-local-pickup-time-admin.php:267 +#: admin/class-local-pickup-time-admin.php:335 +#: admin/class-local-pickup-time-admin.php:355 msgid "10 minutes" msgstr "" -#: admin/class-local-pickup-time-admin.php:248 -#: admin/class-local-pickup-time-admin.php:268 +#: admin/class-local-pickup-time-admin.php:336 +#: admin/class-local-pickup-time-admin.php:356 msgid "15 minutes" msgstr "" -#: admin/class-local-pickup-time-admin.php:249 -#: admin/class-local-pickup-time-admin.php:269 +#: admin/class-local-pickup-time-admin.php:337 +#: admin/class-local-pickup-time-admin.php:357 msgid "20 minutes" msgstr "" -#: admin/class-local-pickup-time-admin.php:250 -#: admin/class-local-pickup-time-admin.php:270 +#: admin/class-local-pickup-time-admin.php:338 +#: admin/class-local-pickup-time-admin.php:358 msgid "30 minutes" msgstr "" -#: admin/class-local-pickup-time-admin.php:251 -#: admin/class-local-pickup-time-admin.php:271 +#: admin/class-local-pickup-time-admin.php:339 +#: admin/class-local-pickup-time-admin.php:359 msgid "45 minutes" msgstr "" -#: admin/class-local-pickup-time-admin.php:252 -#: admin/class-local-pickup-time-admin.php:272 +#: admin/class-local-pickup-time-admin.php:340 +#: admin/class-local-pickup-time-admin.php:360 msgid "1 hour" msgstr "" -#: admin/class-local-pickup-time-admin.php:253 -#: admin/class-local-pickup-time-admin.php:273 +#: admin/class-local-pickup-time-admin.php:341 +#: admin/class-local-pickup-time-admin.php:361 msgid "2 hours" msgstr "" -#: admin/class-local-pickup-time-admin.php:257 +#: admin/class-local-pickup-time-admin.php:345 msgid "Pickup Time Delay" msgstr "" -#: admin/class-local-pickup-time-admin.php:258 +#: admin/class-local-pickup-time-admin.php:346 msgid "" "Choose the time delay from the time of ordering for allowing local pickup " "orders." msgstr "" -#: admin/class-local-pickup-time-admin.php:274 +#: admin/class-local-pickup-time-admin.php:362 msgid "4 hours" msgstr "" -#: admin/class-local-pickup-time-admin.php:275 +#: admin/class-local-pickup-time-admin.php:363 msgid "8 hours" msgstr "" -#: admin/class-local-pickup-time-admin.php:276 +#: admin/class-local-pickup-time-admin.php:364 msgid "16 hours" msgstr "" -#: admin/class-local-pickup-time-admin.php:277 +#: admin/class-local-pickup-time-admin.php:365 msgid "24 hours" msgstr "" -#: admin/class-local-pickup-time-admin.php:278 +#: admin/class-local-pickup-time-admin.php:366 msgid "36 hours" msgstr "" -#: admin/class-local-pickup-time-admin.php:279 +#: admin/class-local-pickup-time-admin.php:367 msgid "48 hours" msgstr "" -#: admin/class-local-pickup-time-admin.php:280 +#: admin/class-local-pickup-time-admin.php:368 msgid "3 days" msgstr "" -#: admin/class-local-pickup-time-admin.php:281 +#: admin/class-local-pickup-time-admin.php:369 msgid "5 days" msgstr "" -#: admin/class-local-pickup-time-admin.php:282 +#: admin/class-local-pickup-time-admin.php:370 msgid "1 week" msgstr "" -#: admin/class-local-pickup-time-admin.php:286 +#: admin/class-local-pickup-time-admin.php:374 msgid "Pickup Time Open Days Ahead" msgstr "" -#: admin/class-local-pickup-time-admin.php:287 +#: admin/class-local-pickup-time-admin.php:375 msgid "" "Choose the number of open days ahead for allowing local pickup orders. This " "is inclusive of the current day, if timeslots are still available." msgstr "" -#: admin/class-local-pickup-time-admin.php:332 -msgid "Pickup Time:" +#: admin/class-local-pickup-time-admin.php:391 +msgid "Additional Settings" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:393 +msgid "The following options provide additional capabilities for customization." +msgstr "" + +#: admin/class-local-pickup-time-admin.php:397 +msgid "Require Checkout Pickup Time?" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:398 +msgid "Required" msgstr "" -#: admin/class-local-pickup-time-admin.php:353 -#: public/class-local-pickup-time.php:692 -#: public/class-local-pickup-time.php:699 -#: public/class-local-pickup-time.php:787 +#: admin/class-local-pickup-time-admin.php:399 +msgid "This controls whether a Pickup Time is required during checkout." +msgstr "" + +#: admin/class-local-pickup-time-admin.php:407 +msgid "Limit to Local Pickup Shipping Methods?" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:408 +msgid "Limit" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:409 +msgid "" +"This controls whether Local Pickup Times are restricted to Local Shipping " +"methods. This requires enabling \"Pickup Time\" on each individual " +"Local Pickup Shipping method, within each Shiping Zone." +msgstr "" + +#: admin/class-local-pickup-time-admin.php:465 +#: admin/class-local-pickup-time-admin.php:628 +#: public/class-local-pickup-time.php:863 +#: public/class-local-pickup-time.php:935 msgid "Pickup Time" msgstr "" -#: public/class-local-pickup-time.php:525 +#: admin/class-local-pickup-time-admin.php:466 +msgid "Enable" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:467 +msgid "This controls whether a Pickup Time is tied to the shipping method." +msgstr "" + +#: admin/class-local-pickup-time-admin.php:515 +#. translators: %s: number of orders +msgid "Ready for Pickup (%s)" +msgid_plural "Ready for Pickup (%s)" +msgstr[0] "" +msgstr[1] "" + +#: admin/class-local-pickup-time-admin.php:548 +msgid "Change status to ready for pickup" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:607 +msgid "Pickup Time:" +msgstr "" + +#: admin/emails/class-wc-email-customer-ready-for-pickup-order.php:30 +msgid "Ready for Pickup order" +msgstr "" + +#: admin/emails/class-wc-email-customer-ready-for-pickup-order.php:31 +msgid "" +"Order ready for pickup emails are sent to the customer when the order is " +"marked Ready for Pickup." +msgstr "" + +#: admin/emails/class-wc-email-customer-ready-for-pickup-order.php:85 +msgid "Your {site_title} order is now ready for pickup" +msgstr "" + +#: admin/emails/class-wc-email-customer-ready-for-pickup-order.php:95 +msgid "We look forward to your arrival" +msgstr "" + +#: admin/emails/class-wc-email-customer-ready-for-pickup-order.php:147 +msgid "We look forward to your pending arrival." +msgstr "" + +#: public/class-local-pickup-time.php:598 msgid "Monday" msgstr "" -#: public/class-local-pickup-time.php:526 +#: public/class-local-pickup-time.php:599 msgid "Tuesday" msgstr "" -#: public/class-local-pickup-time.php:527 +#: public/class-local-pickup-time.php:600 msgid "Wednesday" msgstr "" -#: public/class-local-pickup-time.php:528 +#: public/class-local-pickup-time.php:601 msgid "Thursday" msgstr "" -#: public/class-local-pickup-time.php:529 +#: public/class-local-pickup-time.php:602 msgid "Friday" msgstr "" -#: public/class-local-pickup-time.php:530 +#: public/class-local-pickup-time.php:603 msgid "Saturday" msgstr "" -#: public/class-local-pickup-time.php:531 +#: public/class-local-pickup-time.php:604 msgid "Sunday" msgstr "" -#: public/class-local-pickup-time.php:555 -msgid "Select time" -msgstr "" - -#: public/class-local-pickup-time.php:742 +#: public/class-local-pickup-time.php:889 msgid "Please select a pickup time." msgstr "" -#: public/class-local-pickup-time.php:745 -#: public/class-local-pickup-time.php:768 +#: public/class-local-pickup-time.php:892 +#: public/class-local-pickup-time.php:915 msgid "Expired or invalid submission!." msgstr "" -#: public/class-local-pickup-time.php:807 +#: public/class-local-pickup-time.php:956 msgid "None" msgstr "" +#: templates/emails/customer-ready-for-pickup-order.php:32 +#: templates/emails/plain/customer-ready-for-pickup-order.php:29 +#. translators: %s: Customer first name +msgid "Hi %s," +msgstr "" + +#: templates/emails/customer-ready-for-pickup-order.php:33 +#: templates/emails/plain/customer-ready-for-pickup-order.php:30 +msgid "We have finished preparing your order for pickup." +msgstr "" + #. Plugin Name of the plugin/theme msgid "WooCommerce Local Pickup Time Select" msgstr "" @@ -337,4 +446,10 @@ msgstr "" #. Author URI of the plugin/theme msgid "https://www.ndigitals.com/" +msgstr "" + +#: admin/class-local-pickup-time-admin.php:509 +#: admin/class-local-pickup-time-admin.php:531 +msgctxt "Order status" +msgid "Ready for Pickup" msgstr "" \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index e4f6bb0..48d61bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "woocommerce-local-pickup-time", - "version": "1.3.13", + "version": "1.4.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 3ec76b7..d57b143 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "woocommerce-local-pickup-time", - "version": "1.3.13", + "version": "1.4.0", "description": "Add an an option to WooCommerce checkout pages for Local Pickup that allows the user to choose a pickup time.", "main": "Gruntfile.js", "repository": { diff --git a/public/class-local-pickup-time.php b/public/class-local-pickup-time.php index add6fb2..94ee386 100644 --- a/public/class-local-pickup-time.php +++ b/public/class-local-pickup-time.php @@ -20,12 +20,12 @@ class Local_Pickup_Time { * * @var string */ - const VERSION = '1.3.13'; + const VERSION = '1.4.0'; /** * Plugin version wp_options meta key. * - * @since 0.0.0 + * @since 1.4.0 * * @var string */ @@ -97,7 +97,7 @@ class Local_Pickup_Time { /** * Configured checkout time selection required setting. Default: 'yes'. * - * @since 0.0.0 + * @since 1.4.0 * * @var string */ @@ -106,7 +106,7 @@ class Local_Pickup_Time { /** * Configured Local Pickup Shipping method only setting. Default: 'no'. * - * @since 0.0.0 + * @since 1.4.0 * * @var string */ @@ -115,7 +115,7 @@ class Local_Pickup_Time { /** * Legacy Local Pickup Time checkout display flag. Default: false. * - * @since 0.0.0 + * @since 1.4.0 * * @var boolean */ @@ -133,7 +133,7 @@ class Local_Pickup_Time { /** * Order $_POST key for storing Local Pickup Time. * - * @since 0.0.0 + * @since 1.4.0 * * @var string */ @@ -142,7 +142,7 @@ class Local_Pickup_Time { /** * Order pickup time nonce key. * - * @since 0.0.0 + * @since 1.4.0 * * @var string */ @@ -151,7 +151,7 @@ class Local_Pickup_Time { /** * Order pickup time action key. * - * @since 0.0.0 + * @since 1.4.0 * * @var string */ @@ -309,7 +309,7 @@ public function get_wp_timezone() { /** * Return the plugin pickup time required during checkout setting. * - * @since 0.0.0 + * @since 1.4.0 * * @return string */ @@ -322,7 +322,7 @@ public function get_checkout_time_required() { /** * Return the plugin pickup time only on Local Pickup Shipping methods setting. * - * @since 0.0.0 + * @since 1.4.0 * * @return string */ @@ -334,7 +334,7 @@ public function get_local_pickup_only() { /** Return the plugin checkout pickup time legacy display flag. * - * @since 0.0.0 + * @since 1.4.0 * * @return boolean */ @@ -360,7 +360,7 @@ public function get_order_meta_key() { /** * Return the plugin order $_POST key used for submitting the Local Pickup Time. * - * @since 0.0.0 + * @since 1.4.0 * * @return string The order $_POST key that stores the submitted Local Pickup Time. */ @@ -373,7 +373,7 @@ public function get_order_post_key() { /** * Return the plugin order pickup time nonce key, used to validate submissions. * - * @since 0.0.0 + * @since 1.4.0 * * @return string */ @@ -387,7 +387,7 @@ public function get_order_pickup_time_nonce_key() { * Return the plugin order pickup time action key, used to create and * validate the field nonce. * - * @since 0.0.0 + * @since 1.4.0 * * @return string */ @@ -565,7 +565,7 @@ public function load_plugin_textdomain() { /** * Perform a version check of the plugin against the last activated version. * - * @since 0.0.0 + * @since 1.4.0 * * @return boolean Returns TRUE if the plugin and database versions match, otherwise FALSE if the values don't match. */ @@ -794,7 +794,7 @@ public function time_select( $checkout ) { /** * Add the local pickup time field to the checkout page. * - * @since 0.0.0 + * @since 1.4.0 * * @param WC_Shipping_Rate|null $rate The shipping rate object. * diff --git a/readme.txt b/readme.txt index 2a36832..2a98fc3 100644 --- a/readme.txt +++ b/readme.txt @@ -3,8 +3,8 @@ Contributors: tnolte, mjbanks, vyskoczilova Donate link: https://www.ndigitals.com/donate/ Tags: woocommcerce, shipping, local pickup, checkout fields, ecommerce, e-commerce, wordpress ecommerce Requires at least: 4.9 -Tested up to: 5.7.4 -Stable tag: 1.3.13 +Tested up to: 5.9.3 +Stable tag: 1.4.0 Requires PHP: 7.2 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html @@ -73,77 +73,17 @@ The location, by default, is hooked to `woocommerce_admin_order_data_after_billi == Changelog == -= 1.3.13 = -* Compatibility versions bump. -* Plugin owner/author transition. +### 1.4.0 +#### Changed +- Updated WordPress & WooCommerce Supported Versions. -= 1.3.12 = -* Fixes Time Zone related pickup delay issue. +#### Fixed +- Updated Plugin Development Dependencies -= 1.3.11 = -* NPM development dependencies security vulnerability update. +#### Adds +- Added New Ready for Pickup Order Status & Customer Email +- Added Pickup Time Required & Local Pickup Link Capabilities -= 1.3.10 = -* Adds check for PHP 7.1+ Date/Time object changes and makes appropriate PHP version specific calls. +-------- -= 1.3.9 = -* Fixes how the starting interval is set, especially during the middle of the current open/close pickup time. -* Sets end time 1 interval past it in order to have the end close pickup time be inclusive for pickup. -* Changes field title and help text for Pickup Days Ahead to be clear that the number does now represent the number of open days inclusive of the current day. -* Updates language files to handle some new dashboard labels and help text. -* Fixes an incorrect use of the pickup time interval instead of the delay, causing incorrect starting pickup time. -* Changes direct WC_Order id attribute access to use get_id() method. -* Fixes additonal issue with how time delay is handled on the first available pickup time. - -= 1.3.8 = -* Fixes issue with recognizing the current date/time as the start of the pickup time selection. - -= 1.3.7 = -* Fixes an issue with not using the WordPress locale and built-in language pack to translate the pickup date output on checkout. - -= 1.3.6 = -* Fixes WordPress date/time format handling for pickup time selection. -* Fixes issues with some interval combinations. - -= 1.3.5 = -* fixes issue with allowing customers to pick a pickup date/time on a non-open day. - -= 1.3.4 = -* fixes 1.3.3 patch issue. - -= 1.3.3 = -* fixes PHP 5.6 issue with DateTime syntax usage. - -= 1.3.2 = -* fixes issue with missing space in pickup time options, from 1.3.1. -* adds pickup date/time to Order List in Admin Dashboard. -* adds longer pickup delay option. - -= 1.3.1 = -* expands pickup time delay to include 4/8/16/24/36 hours. -* changes days ahead setting to allow any number of days via text input. -* changes customer display of pickup time to include the date using the WordPress date format setting. -* removes closed dates from option list even if it's not today. - -= 1.3.0 = -* fix pickup time for multiple locales and update translations (props vyskoczilova) - -= 1.2.0 = -* added option to select the delay from the current time until the order can be picked up -* added option to select the number of days ahead for allowing orders to be picked up - -= 1.1.0 = -* added `local_pickup_time_select_location` filter to customize location of pickup time select during checkout -* added `local_pickup_time_admin_location` filter to customize location of pickup time shown in the admin Order Details screen - -= 1.0.3 = -* replace deprecated call to $order->order_custom_fields, which no longer words in WooCommerce 2.1 - -= 1.0.2 = -* fix typos - -= 1.0.1 = -* properly set closing time if trying to order after hours - -= 1.0.0 = -* initial version +[See the previous changelogs here](https://github.com/WC-Local-Pickup/woocommerce-local-pickup-time/blob/main/CHANGELOG.md#changelog) diff --git a/templates/emails/customer-ready-for-pickup-order.php b/templates/emails/customer-ready-for-pickup-order.php index 78e0ec3..2da6be6 100644 --- a/templates/emails/customer-ready-for-pickup-order.php +++ b/templates/emails/customer-ready-for-pickup-order.php @@ -15,7 +15,7 @@ * * @see https://docs.woocommerce.com/document/template-structure/ * @package Local_Pickup_Time\Templates\Emails - * @since 0.0.0 + * @since 1.4.0 */ if ( ! defined( 'ABSPATH' ) ) { @@ -44,7 +44,7 @@ * @hooked WC_Structured_Data::generate_order_data() Generates structured data. * @hooked WC_Structured_Data::output_structured_data() Outputs structured data. * - * @since 0.0.0 + * @since 1.4.0 */ /* @phpstan-ignore-next-line */ do_action( 'woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email ); diff --git a/templates/emails/plain/customer-ready-for-pickup-order.php b/templates/emails/plain/customer-ready-for-pickup-order.php index a7a81a7..f219f0c 100644 --- a/templates/emails/plain/customer-ready-for-pickup-order.php +++ b/templates/emails/plain/customer-ready-for-pickup-order.php @@ -15,7 +15,7 @@ * * @see https://docs.woocommerce.com/document/template-structure/ * @package Local_Pickup_Time\Templates\Emails\Plain - * @since 0.0.0 + * @since 1.4.0 */ defined( 'ABSPATH' ) || exit; @@ -33,7 +33,7 @@ * @hooked WC_Emails::order_details() Shows the order details table. * @hooked WC_Structured_Data::generate_order_data() Generates structured data. * @hooked WC_Structured_Data::output_structured_data() Outputs structured data. - * @since 0.0.0 + * @since 1.4.0 */ /* @phpstan-ignore-next-line */ do_action( 'woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email ); diff --git a/woocommerce-local-pickup-time.php b/woocommerce-local-pickup-time.php index 43cd97a..7337b23 100644 --- a/woocommerce-local-pickup-time.php +++ b/woocommerce-local-pickup-time.php @@ -12,7 +12,7 @@ * Plugin Name: WooCommerce Local Pickup Time Select * Plugin URI: https://github.com/WC-Local-Pickup/woocommerce-local-pickup-time * Description: Add an an option to WooCommerce checkout pages for Local Pickup that allows the user to choose a pickup time. - * Version: 1.3.13 + * Version: 1.4.0 * Requires at least: 4.9 * Requires PHP: 7.2 * Author: Tim Nolte @@ -23,7 +23,7 @@ * Domain Path: /languages * GitHub Plugin URI: https://github.com/WC-Local-Pickup/woocommerce-local-pickup-time * WC requires at least: 4.0.0 - * WC tested up to: 5.7.2 + * WC tested up to: 6.3.1 */ /**

QgN->VpRazP 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%0A$G>N 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 z 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 diff --git a/.wordpress-org/screenshot-3.png b/.wordpress-org/screenshot-3.png index 37ef37221f2c7ea4846b0b4d75276d8c7ad381b0..a51e545a031956772294e4c216002c6f00bbefc8 100644 GIT binary patch literal 44461 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