Merge branch 'release/1.0.0' of github.com:ONLYOFFICE/AppServer into release/1.0.0
# Conflicts: # packages/asc-web-common/utils/sw-helper.js
This commit is contained in:
commit
f7ce0e210b
@ -10,9 +10,17 @@ package_services="";
|
||||
RES_APP_INSTALLED="is already installed";
|
||||
RES_APP_CHECK_PORTS="uses ports"
|
||||
RES_CHECK_PORTS="please, make sure that the ports are free.";
|
||||
RES_INSTALL_SUCCESS="Thank you for installing ONLYOFFICE ${product}.";
|
||||
RES_INSTALL_SUCCESS="Thank you for installing ONLYOFFICE ${product^^}.";
|
||||
RES_QUESTIONS="In case you have any questions contact us via http://support.onlyoffice.com or visit our forum at http://dev.onlyoffice.org"
|
||||
|
||||
res_unsupported_version () {
|
||||
RES_CHOICE="Please, enter Y or N"
|
||||
RES_CHOICE_INSTALLATION="Continue installation [Y/N]? "
|
||||
RES_UNSPPORTED_VERSION="You have an unsupported version of $DIST installed"
|
||||
RES_SELECT_INSTALLATION="Select 'N' to cancel the ONLYOFFICE installation (recommended). Select 'Y' to continue installing ONLYOFFICE"
|
||||
RES_ERROR_REMINDER="Please note, that if you continue with the installation, there may be errors"
|
||||
}
|
||||
|
||||
while [ "$1" != "" ]; do
|
||||
case $1 in
|
||||
|
||||
|
@ -15,6 +15,8 @@ ${package_manager} clean all
|
||||
|
||||
${package_manager} -y install yum-utils
|
||||
|
||||
DIST=$(rpm -q --whatprovides redhat-release || rpm -q --whatprovides centos-release);
|
||||
DIST=$(echo $DIST | sed -n '/-.*/s///p');
|
||||
REV=$(cat /etc/redhat-release | sed s/.*release\ // | sed s/\ .*//);
|
||||
REV_PARTS=(${REV//\./ });
|
||||
REV=${REV_PARTS[0]};
|
||||
@ -23,6 +25,33 @@ if ! [[ "$REV" =~ ^[0-9]+$ ]]; then
|
||||
REV=7;
|
||||
fi
|
||||
|
||||
read_unsupported_installation () {
|
||||
read -p "$RES_CHOICE_INSTALLATION " CHOICE_INSTALLATION
|
||||
case "$CHOICE_INSTALLATION" in
|
||||
y|Y ) yum -y install $DIST*-release
|
||||
;;
|
||||
|
||||
n|N ) exit 0;
|
||||
;;
|
||||
|
||||
* ) echo $RES_CHOICE;
|
||||
read_unsupported_installation
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
{ yum check-update $DIST*-release; exitCode=$?; } || true #Checking for distribution update
|
||||
|
||||
UPDATE_AVAILABLE_CODE=100
|
||||
if [[ $exitCode -eq $UPDATE_AVAILABLE_CODE ]]; then
|
||||
res_unsupported_version
|
||||
echo $RES_UNSPPORTED_VERSION
|
||||
echo $RES_SELECT_INSTALLATION
|
||||
echo $RES_ERROR_REMINDER
|
||||
echo $RES_QUESTIONS
|
||||
read_unsupported_installation
|
||||
fi
|
||||
|
||||
# add epel repo
|
||||
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-$REV.noarch.rpm || true
|
||||
rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-$REV.rpm || true
|
||||
@ -140,7 +169,7 @@ ${package_manager} -y install epel-release \
|
||||
make \
|
||||
yarn \
|
||||
dotnet-sdk-5.0 \
|
||||
elasticsearch-7.8.1 --enablerepo=elasticsearch \
|
||||
elasticsearch-7.13.1 --enablerepo=elasticsearch \
|
||||
mysql-server \
|
||||
nginx \
|
||||
supervisor \
|
||||
|
@ -75,18 +75,18 @@ reassign_values (){
|
||||
EXEC_FILE="ASC.ApiSystem.dll"
|
||||
;;
|
||||
urlshortener )
|
||||
SERVICE_PORT="9999"
|
||||
WORK_DIR="${BASE_DIR}/services/ASC.UrlShortener/"
|
||||
SERVICE_PORT="9998"
|
||||
WORK_DIR="${BASE_DIR}/services/ASC.UrlShortener.Svc/"
|
||||
EXEC_FILE="ASC.UrlShortener.Svc.dll"
|
||||
;;
|
||||
thumbnails )
|
||||
SERVICE_PORT="9800"
|
||||
WORK_DIR="${BASE_DIR}/services/ASC.Thumbnails/"
|
||||
SERVICE_PORT="9799"
|
||||
WORK_DIR="${BASE_DIR}/services/ASC.Thumbnails.Svc/"
|
||||
EXEC_FILE="ASC.Thumbnails.Svc.dll"
|
||||
;;
|
||||
socket )
|
||||
SERVICE_PORT="9899"
|
||||
WORK_DIR="${BASE_DIR}/services/ASC.Socket.IO/"
|
||||
SERVICE_PORT="9898"
|
||||
WORK_DIR="${BASE_DIR}/services/ASC.Socket.IO.Svc/"
|
||||
EXEC_FILE="ASC.Socket.IO.Svc.dll"
|
||||
;;
|
||||
studio-notify )
|
||||
|
@ -13,7 +13,7 @@ Packager: Ascensio System SIA <support@onlyoffice.com>
|
||||
ExclusiveArch: x86_64
|
||||
AutoReq: no
|
||||
AutoProv: no
|
||||
License: GPLv3
|
||||
License: AGPLv3
|
||||
Source0: https://github.com/ONLYOFFICE/%{product}/archive/%GIT_BRANCH.tar.gz
|
||||
BuildRequires: nodejs >= 12.0
|
||||
BuildRequires: yarn
|
||||
|
@ -166,18 +166,21 @@
|
||||
%files urlshortener
|
||||
%defattr(-, onlyoffice, onlyoffice, -)
|
||||
%{buildpath}/services/ASC.UrlShortener/
|
||||
%{buildpath}/services/ASC.UrlShortener.Svc/
|
||||
%{_sysconfdir}/systemd/system/%{product}-urlshortener.service
|
||||
%dir %{buildpath}/services/
|
||||
|
||||
%files thumbnails
|
||||
%defattr(-, onlyoffice, onlyoffice, -)
|
||||
%{buildpath}/services/ASC.Thumbnails/
|
||||
%{buildpath}/services/ASC.Thumbnails.Svc/
|
||||
%{_sysconfdir}/systemd/system/%{product}-thumbnails.service
|
||||
%dir %{buildpath}/services/
|
||||
|
||||
%files socket
|
||||
%defattr(-, onlyoffice, onlyoffice, -)
|
||||
%{buildpath}/services/ASC.Socket.IO/
|
||||
%{buildpath}/services/ASC.Socket.IO.Svc/
|
||||
%{buildpath}/products/ASC.Files/server/
|
||||
%{buildpath}/products/ASC.People/server/
|
||||
%{buildpath}/products/ASC.CRM/server/
|
||||
|
@ -13,7 +13,7 @@ mkdir -p "%{buildroot}%{buildpath}/products/ASC.CRM/client/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/products/ASC.CRM/server/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/products/ASC.Files/client/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/products/ASC.Files/editor/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/products/ASC.Files/server/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/products/ASC.Files/server/DocStore/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/products/ASC.Files/service/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/products/ASC.Mail/client/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/products/ASC.Mail/server/"
|
||||
@ -23,6 +23,7 @@ mkdir -p "%{buildroot}%{buildpath}/products/ASC.Projects/client/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/products/ASC.Projects/server/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/public/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/services/ASC.Socket.IO/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/services/ASC.Socket.IO.Svc/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/services/ASC.ApiSystem/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/services/ASC.Data.Backup/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/services/ASC.Notify/"
|
||||
@ -30,8 +31,10 @@ mkdir -p "%{buildroot}%{buildpath}/services/ASC.Data.Storage.Encryption/service"
|
||||
mkdir -p "%{buildroot}%{buildpath}/services/ASC.Data.Storage.Migration/service"
|
||||
mkdir -p "%{buildroot}%{buildpath}/services/ASC.Studio.Notify/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/services/ASC.TelegramService/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/services/ASC.Thumbnails/client/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/services/ASC.UrlShortener/client/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/services/ASC.Thumbnails/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/services/ASC.UrlShortener/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/services/ASC.UrlShortener.Svc/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/services/ASC.Thumbnails.Svc/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/sql/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/studio/api/"
|
||||
mkdir -p "%{buildroot}%{buildpath}/studio/client/"
|
||||
@ -48,15 +51,15 @@ cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.ApiSystem/service/* "%{bu
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Data.Backup/service/* "%{buildroot}%{buildpath}/services/ASC.Data.Backup/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Notify/service/* "%{buildroot}%{buildpath}/services/ASC.Notify/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Socket.IO/service/* "%{buildroot}%{buildpath}/services/ASC.Socket.IO/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Socket.IO.Svc/service/* "%{buildroot}%{buildpath}/services/ASC.Socket.IO/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Socket.IO.Svc/service/* "%{buildroot}%{buildpath}/services/ASC.Socket.IO.Svc/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Data.Storage.Encryption/service/* "%{buildroot}%{buildpath}/services/ASC.Data.Storage.Encryption/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Data.Storage.Migration/service/* "%{buildroot}%{buildpath}/services/ASC.Data.Storage.Migration/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Studio.Notify/service/* "%{buildroot}%{buildpath}/services/ASC.Studio.Notify/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.TelegramService/service/* "%{buildroot}%{buildpath}/services/ASC.TelegramService/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Thumbnails/service/* "%{buildroot}%{buildpath}/services/ASC.Thumbnails/client/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Thumbnails.Svc/service/* "%{buildroot}%{buildpath}/services/ASC.Thumbnails/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.UrlShortener/service/* "%{buildroot}%{buildpath}/services/ASC.UrlShortener/client/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.UrlShortener.Svc/service/* "%{buildroot}%{buildpath}/services/ASC.UrlShortener/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Thumbnails/service/* "%{buildroot}%{buildpath}/services/ASC.Thumbnails/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Thumbnails.Svc/service/* "%{buildroot}%{buildpath}/services/ASC.Thumbnails.Svc/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.UrlShortener/service/* "%{buildroot}%{buildpath}/services/ASC.UrlShortener/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.UrlShortener.Svc/service/* "%{buildroot}%{buildpath}/services/ASC.UrlShortener.Svc/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Web.Api/service/* "%{buildroot}%{buildpath}/studio/api/"
|
||||
cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Web.Studio/service/* "%{buildroot}%{buildpath}/studio/server/"
|
||||
cp -rf %{_builddir}/%{sourcename}/build/install/common/systemd/modules/* "%{buildroot}%{_sysconfdir}/systemd/system/"
|
||||
@ -67,6 +70,7 @@ cp -rf %{_builddir}/%{sourcename}/config/nginx/includes/onlyoffice*.conf "%{buil
|
||||
cp -rf %{_builddir}/%{sourcename}/config/nginx/onlyoffice*.conf "%{buildroot}%{_sysconfdir}/nginx/conf.d/"
|
||||
cp -rf %{_builddir}/%{sourcename}/products/ASC.CRM/Client/dist/* "%{buildroot}%{buildpath}/products/ASC.CRM/client/"
|
||||
cp -rf %{_builddir}/%{sourcename}/products/ASC.Files/Client/dist/* "%{buildroot}%{buildpath}/products/ASC.Files/client/"
|
||||
cp -rf %{_builddir}/%{sourcename}/products/ASC.Files/Server/DocStore/* "%{buildroot}%{buildpath}/products/ASC.Files/server/DocStore/"
|
||||
cp -rf %{_builddir}/%{sourcename}/products/ASC.People/Client/dist/* "%{buildroot}%{buildpath}/products/ASC.People/client/"
|
||||
cp -rf %{_builddir}/%{sourcename}/products/ASC.Projects/Client/dist/* "%{buildroot}%{buildpath}/products/ASC.Projects/client/"
|
||||
cp -rf %{_builddir}/%{sourcename}/products/ASC.Calendar/Client/dist/* "%{buildroot}%{buildpath}/products/ASC.Calendar/client/"
|
||||
|
@ -31,7 +31,6 @@ ELK_PORT="9200"
|
||||
|
||||
JSON="json -I -f"
|
||||
JSON_USERCONF="$JSON $USER_CONF -e"
|
||||
JSON_DSCONF="$JSON $DS_CONF -e"
|
||||
|
||||
[ $(id -u) -ne 0 ] && { echo "Root privileges required"; exit 1; }
|
||||
|
||||
@ -129,7 +128,7 @@ while [ "$1" != "" ]; do
|
||||
echo " -zkp, --zookeeperport zookeeper port (default 2181)"
|
||||
echo " -esh, --elastichost elasticsearch ip"
|
||||
echo " -esp, --elasticport elasticsearch port (default 9200)"
|
||||
echo " -e, --environment environment (default 'production')"
|
||||
echo " -e, --environment environment (default 'production')"
|
||||
echo " -?, -h, --help this help"
|
||||
echo
|
||||
exit 0
|
||||
@ -167,8 +166,8 @@ install_json() {
|
||||
|
||||
set_core_machinekey
|
||||
$JSON_USERCONF "this.core={'base-domain': \"$APP_HOST\", 'machinekey': \"$CORE_MACHINEKEY\" }" \
|
||||
-e "this.urlshortener={ 'path': 'client/index.js' }" -e "this.thumb={ 'path': 'client/' }" \
|
||||
-e "this.socket={ 'path': '../ASC.Socket.IO' }" >/dev/null 2>&1
|
||||
-e "this.urlshortener={ 'path': '../ASC.UrlShortener/index.js' }" -e "this.thumb={ 'path': '../ASC.Thumbnails/' }" \
|
||||
-e "this.socket={ 'path': '../ASC.Socket.IO/' }" >/dev/null 2>&1
|
||||
$JSON $APP_DIR/appsettings.json -e "this.core.products.subfolder='server'" >/dev/null 2>&1
|
||||
$JSON $APP_DIR/appsettings.services.json -e "this.core={ 'products': { 'folder': '../../products', 'subfolder': 'server'} }" >/dev/null 2>&1
|
||||
|
||||
@ -178,23 +177,21 @@ install_json() {
|
||||
restart_services() {
|
||||
echo -n "Restarting services... "
|
||||
|
||||
sed -i "s/ENVIRONMENT=.*/ENVIRONMENT=$ENVIRONMENT/" $SYSTEMD_DIR/${PRODUCT}*.service >/dev/null 2>&1
|
||||
systemctl daemon-reload
|
||||
|
||||
for SVC in nginx mysqld ${PRODUCT}-api ${PRODUCT}-api-system ${PRODUCT}-urlshortener ${PRODUCT}-thumbnails \
|
||||
${PRODUCT}-socket ${PRODUCT}-studio-notify ${PRODUCT}-notify ${PRODUCT}-people-server ${PRODUCT}-files \
|
||||
${PRODUCT}-files-services ${PRODUCT}-studio ${PRODUCT}-backup ${PRODUCT}-storage-encryption \
|
||||
${PRODUCT}-storage-migration ${PRODUCT}-projects-server ${PRODUCT}-telegram-service ${PRODUCT}-crm \
|
||||
${PRODUCT}-calendar ${PRODUCT}-mail elasticsearch kafka zookeeper
|
||||
do
|
||||
sed -i "s/ENVIRONMENT=.*/ENVIRONMENT=$ENVIRONMENT/" $SYSTEMD_DIR/$SVC.service >/dev/null 2>&1
|
||||
|
||||
if systemctl is-active $SVC | grep -q "active"; then
|
||||
systemctl restart $SVC.service >/dev/null 2>&1
|
||||
else
|
||||
systemctl enable $SVC.service >/dev/null 2>&1
|
||||
systemctl start $SVC.service >/dev/null 2>&1
|
||||
fi
|
||||
if systemctl is-active $SVC | grep -v "active" >/dev/null; then
|
||||
echo -e "\033[31m $SVC not started \033[0m"
|
||||
fi
|
||||
done
|
||||
echo "OK"
|
||||
}
|
||||
@ -418,6 +415,7 @@ setup_nginx(){
|
||||
setup_docs() {
|
||||
echo -n "Configuring Docs... "
|
||||
local DS_CONF="/etc/onlyoffice/documentserver/local.json"
|
||||
local JSON_DSCONF="$JSON $DS_CONF -e"
|
||||
|
||||
#Changing the Docs port in nginx conf
|
||||
sed -i "s/0.0.0.0:.*;/0.0.0.0:$DOCUMENT_SERVER_PORT;/" $NGINX_CONF/ds.conf
|
||||
@ -504,7 +502,7 @@ setup_elasticsearch() {
|
||||
echo -n "Configuring elasticsearch... "
|
||||
|
||||
#Save elasticsearch parameters in .json
|
||||
$JSON_USERCONF "this.elastic={'Scheme': \"${ELK_SHEME}\",'Host': \"${ELK_HOST}\",'Port': \"${ELK_PORT}\" }" >/dev/null 2>&1
|
||||
$JSON $APP_DIR/elastic.json -e "this.elastic={'Scheme': \"${ELK_SHEME}\",'Host': \"${ELK_HOST}\",'Port': \"${ELK_PORT}\",'Threads': \"1\" }" >/dev/null 2>&1
|
||||
|
||||
change_elasticsearch_config
|
||||
|
||||
@ -515,12 +513,14 @@ setup_kafka() {
|
||||
|
||||
local KAFKA_SERVICE=$(systemctl --type=service | grep 'kafka' | tr -d '●' | awk '{print $1;}')
|
||||
|
||||
if [ $KAFKA_SERVICE ]; then
|
||||
if [ -n ${KAFKA_SERVICE} ]; then
|
||||
|
||||
echo -n "Configuring kafka... "
|
||||
|
||||
local KAFKA_DIR="$(cat $SYSTEMD_DIR/$KAFKA_SERVICE | grep ExecStop= | cut -c 10- | rev | cut -c 26- | rev)"
|
||||
local KAFKA_CONF="${KAFKA_DIR}/config"
|
||||
|
||||
#Change kafka config
|
||||
local KAFKA_CONF="$(cat $SYSTEMD_DIR/$KAFKA_SERVICE | grep ExecStop= | cut -c 10- | rev | cut -c 26- | rev)/config"
|
||||
sed -i "s/clientPort=.*/clientPort=${ZOOKEEPER_PORT}/g" $KAFKA_CONF/zookeeper.properties
|
||||
sed -i "s/zookeeper.connect=.*/zookeeper.connect=${ZOOKEEPER_HOST}:${ZOOKEEPER_PORT}/g" $KAFKA_CONF/server.properties
|
||||
sed -i "s/bootstrap.servers=.*/bootstrap.servers=${KAFKA_HOST}:${KAFKA_PORT}/g" $KAFKA_CONF/consumer.properties
|
||||
@ -532,6 +532,17 @@ setup_kafka() {
|
||||
#Save kafka parameters in .json
|
||||
$JSON_USERCONF "this.kafka={'BootstrapServers': \"${KAFKA_HOST}:${KAFKA_PORT}\"}" >/dev/null 2>&1
|
||||
|
||||
#Add topics for kafka
|
||||
KAFKA_TOPICS=( ascchannelQuotaCacheItemAny
|
||||
ascchannelTariffCacheItemRemove
|
||||
ascchannelTenantCacheItemInsertOrUpdate
|
||||
ascchannelTenantSettingRemove )
|
||||
|
||||
for i in "${KAFKA_TOPICS[@]}"
|
||||
do
|
||||
${KAFKA_DIR}/bin/kafka-topics.sh --create --zookeeper ${ZOOKEEPER_HOST}:${ZOOKEEPER_PORT} --topic $i --replication-factor 1 --partitions 3 >/dev/null 2>&1
|
||||
done
|
||||
|
||||
echo "OK"
|
||||
fi
|
||||
|
||||
|
@ -8,7 +8,6 @@ using ASC.Api.Core.Middleware;
|
||||
using ASC.Common;
|
||||
using ASC.Common.Caching;
|
||||
using ASC.Common.DependencyInjection;
|
||||
using ASC.Common.Logging;
|
||||
using ASC.Common.Mapping;
|
||||
|
||||
using Autofac;
|
||||
@ -33,8 +32,7 @@ namespace ASC.Api.Core
|
||||
public abstract class BaseStartup
|
||||
{
|
||||
public IConfiguration Configuration { get; }
|
||||
public IHostEnvironment HostEnvironment { get; }
|
||||
public virtual string[] LogParams { get; }
|
||||
public IHostEnvironment HostEnvironment { get; }
|
||||
public virtual JsonConverter[] Converters { get; }
|
||||
public virtual bool ConfirmAddScheme { get; } = false;
|
||||
protected DIHelper DIHelper { get; }
|
||||
@ -83,7 +81,10 @@ namespace ASC.Api.Core
|
||||
|
||||
DIHelper.TryAdd(typeof(ICacheNotify<>), typeof(KafkaCache<>));
|
||||
|
||||
DIHelper.RegisterProducts(Configuration, HostEnvironment.ContentRootPath);
|
||||
if (LoadProducts)
|
||||
{
|
||||
DIHelper.RegisterProducts(Configuration, HostEnvironment.ContentRootPath);
|
||||
}
|
||||
|
||||
var builder = services.AddMvcCore(config =>
|
||||
{
|
||||
@ -111,11 +112,6 @@ namespace ASC.Api.Core
|
||||
if (ConfirmAddScheme)
|
||||
{
|
||||
authBuilder.AddScheme<AuthenticationSchemeOptions, ConfirmAuthHandler>("confirm", a => { });
|
||||
}
|
||||
|
||||
if (LogParams != null)
|
||||
{
|
||||
LogNLogExtension.ConfigureLog(DIHelper, LogParams);
|
||||
}
|
||||
|
||||
services.AddAutoMapper(Assembly.GetAssembly(typeof(MappingProfile)));
|
||||
|
@ -98,7 +98,9 @@ namespace ASC.Common.Logging
|
||||
void FatalFormat(IFormatProvider provider, string format, params object[] args);
|
||||
|
||||
string LogDirectory { get; }
|
||||
string Name { get; set; }
|
||||
string Name { get; set; }
|
||||
|
||||
void Configure(string name);
|
||||
}
|
||||
|
||||
public class Log : ILog
|
||||
@ -108,7 +110,7 @@ namespace ASC.Common.Logging
|
||||
XmlConfigurator.Configure(log4net.LogManager.GetRepository(Assembly.GetCallingAssembly()));
|
||||
}
|
||||
|
||||
private readonly log4net.ILog loger;
|
||||
private log4net.ILog loger;
|
||||
|
||||
public bool IsDebugEnabled { get; private set; }
|
||||
|
||||
@ -124,6 +126,11 @@ namespace ASC.Common.Logging
|
||||
|
||||
public Log(string name)
|
||||
{
|
||||
Configure(name);
|
||||
}
|
||||
|
||||
public void Configure(string name)
|
||||
{
|
||||
loger = log4net.LogManager.GetLogger(Assembly.GetCallingAssembly(), name);
|
||||
|
||||
IsDebugEnabled = loger.IsDebugEnabled;
|
||||
@ -131,8 +138,8 @@ namespace ASC.Common.Logging
|
||||
IsWarnEnabled = loger.IsWarnEnabled;
|
||||
IsErrorEnabled = loger.IsErrorEnabled;
|
||||
IsFatalEnabled = loger.IsFatalEnabled;
|
||||
IsTraceEnabled = loger.Logger.IsEnabledFor(Level.Trace);
|
||||
}
|
||||
IsTraceEnabled = loger.Logger.IsEnabledFor(Level.Trace);
|
||||
}
|
||||
|
||||
public void Trace(object message)
|
||||
{
|
||||
@ -401,14 +408,21 @@ namespace ASC.Common.Logging
|
||||
NLog.Targets.Target.Register<SelfCleaningTarget>("SelfCleaning");
|
||||
}
|
||||
|
||||
public void Configure(LogNLog options)
|
||||
{
|
||||
|
||||
public void Configure(LogNLog options)
|
||||
{
|
||||
options.Configure("ASC");
|
||||
}
|
||||
|
||||
public void Configure(string name, LogNLog options)
|
||||
{
|
||||
Configure(options);
|
||||
if (string.IsNullOrEmpty(name))
|
||||
{
|
||||
Configure(options);
|
||||
}
|
||||
else
|
||||
{
|
||||
options.Configure(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -443,7 +457,12 @@ namespace ASC.Common.Logging
|
||||
|
||||
public bool IsFatalEnabled { get; private set; }
|
||||
|
||||
public bool IsTraceEnabled { get; private set; }
|
||||
public bool IsTraceEnabled { get; private set; }
|
||||
|
||||
public void Configure(string name)
|
||||
{
|
||||
Name = name;
|
||||
}
|
||||
|
||||
public void Trace(object message)
|
||||
{
|
||||
@ -850,19 +869,23 @@ namespace ASC.Common.Logging
|
||||
|
||||
public void DebugWithProps(string message, KeyValuePair<string, object> prop1, KeyValuePair<string, object> prop2, KeyValuePair<string, object> prop3)
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void Configure(string name)
|
||||
{
|
||||
}
|
||||
|
||||
public string LogDirectory { get { return ""; } }
|
||||
|
||||
public string Name { get; set; }
|
||||
}
|
||||
|
||||
|
||||
[Singletone]
|
||||
public class LogManager<T> : OptionsMonitor<T> where T : class, ILog, new()
|
||||
{
|
||||
public LogManager(IOptionsFactory<T> factory, IEnumerable<IOptionsChangeTokenSource<T>> sources, IOptionsMonitorCache<T> cache) : base(factory, sources, cache)
|
||||
{
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override T Get(string name)
|
||||
@ -881,21 +904,8 @@ namespace ASC.Common.Logging
|
||||
public class LoggerExtension<T> where T : class, ILog, new()
|
||||
{
|
||||
public static void RegisterLog(DIHelper services)
|
||||
{
|
||||
const string baseName = "ASC";
|
||||
var baseSqlName = $"{baseName}.SQL";
|
||||
services.Configure<T>(r => r.Name = baseName);
|
||||
services.Configure<T>(baseName, r => r.Name = baseName);
|
||||
services.Configure<T>(baseSqlName, r => r.Name = baseSqlName);
|
||||
services.TryAdd(typeof(IOptionsMonitor<ILog>), typeof(LogManager<T>));
|
||||
}
|
||||
|
||||
public static void ConfigureLog(DIHelper services, params string[] additionalLoggers)
|
||||
{
|
||||
foreach (var l in additionalLoggers)
|
||||
{
|
||||
services.Configure<T>(l, r => r.Name = l);
|
||||
}
|
||||
services.TryAdd(typeof(IOptionsMonitor<ILog>), typeof(LogManager<T>));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -40,10 +40,12 @@ namespace ASC.Core.Data
|
||||
{
|
||||
private Expression<Func<Subscription, SubscriptionRecord>> FromSubscriptionToSubscriptionRecord { get; set; }
|
||||
private Expression<Func<DbSubscriptionMethod, SubscriptionMethod>> FromDbSubscriptionMethodToSubscriptionMethod { get; set; }
|
||||
private UserDbContext UserDbContext { get; set; }
|
||||
private Lazy<UserDbContext> LazyUserDbContext { get; }
|
||||
private UserDbContext UserDbContext { get => LazyUserDbContext.Value; }
|
||||
|
||||
public DbSubscriptionService(DbContextManager<UserDbContext> dbContextManager)
|
||||
{
|
||||
UserDbContext = dbContextManager.Value;
|
||||
LazyUserDbContext = new Lazy<UserDbContext>(() => dbContextManager.Value);
|
||||
|
||||
FromSubscriptionToSubscriptionRecord = r => new SubscriptionRecord
|
||||
{
|
||||
|
@ -61,7 +61,7 @@ namespace ASC.Core.Common.EF
|
||||
switch (Provider)
|
||||
{
|
||||
case Provider.MySql:
|
||||
optionsBuilder.UseMySql(ConnectionStringSettings.ConnectionString, ServerVersion.AutoDetect(ConnectionStringSettings.ConnectionString), r=>
|
||||
optionsBuilder.UseMySql(ConnectionStringSettings.ConnectionString, ServerVersion.Parse("8.0.25"), r=>
|
||||
{
|
||||
if (!string.IsNullOrEmpty(MigrateAssembly))
|
||||
{
|
||||
|
@ -48,12 +48,13 @@ namespace ASC.Feed.Data
|
||||
private AuthContext AuthContext { get; }
|
||||
private TenantManager TenantManager { get; }
|
||||
private TenantUtil TenantUtil { get; }
|
||||
private FeedDbContext FeedDbContext { get; }
|
||||
private Lazy<FeedDbContext> LazyFeedDbContext { get; }
|
||||
private FeedDbContext FeedDbContext { get => LazyFeedDbContext.Value; }
|
||||
|
||||
public FeedAggregateDataProvider(AuthContext authContext, TenantManager tenantManager, TenantUtil tenantUtil, DbContextManager<FeedDbContext> dbContextManager)
|
||||
: this(authContext, tenantManager, tenantUtil)
|
||||
{
|
||||
FeedDbContext = dbContextManager.Get(Constants.FeedDbId);
|
||||
LazyFeedDbContext = new Lazy<FeedDbContext>(() => dbContextManager.Get(Constants.FeedDbId));
|
||||
}
|
||||
|
||||
public FeedAggregateDataProvider(AuthContext authContext, TenantManager tenantManager, TenantUtil tenantUtil)
|
||||
|
@ -41,13 +41,14 @@ namespace ASC.Feed.Data
|
||||
|
||||
private AuthContext AuthContext { get; }
|
||||
private TenantManager TenantManager { get; }
|
||||
private FeedDbContext FeedDbContext { get; }
|
||||
private Lazy<FeedDbContext> LazyFeedDbContext { get; }
|
||||
private FeedDbContext FeedDbContext { get => LazyFeedDbContext.Value; }
|
||||
|
||||
public FeedReadedDataProvider(AuthContext authContext, TenantManager tenantManager, DbContextManager<FeedDbContext> dbContextManager)
|
||||
{
|
||||
AuthContext = authContext;
|
||||
TenantManager = tenantManager;
|
||||
FeedDbContext = dbContextManager.Get(dbId);
|
||||
LazyFeedDbContext = new Lazy<FeedDbContext>(() => dbContextManager.Get(dbId));
|
||||
}
|
||||
|
||||
public DateTime GetTimeReaded()
|
||||
|
@ -24,6 +24,7 @@
|
||||
*/
|
||||
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
@ -39,11 +40,12 @@ namespace ASC.IPSecurity
|
||||
{
|
||||
private const string dbId = "core";
|
||||
|
||||
private TenantDbContext TenantDbContext { get; }
|
||||
private Lazy<TenantDbContext> LazyTenantDbContext { get; }
|
||||
private TenantDbContext TenantDbContext { get => LazyTenantDbContext.Value; }
|
||||
|
||||
public IPRestrictionsRepository(DbContextManager<TenantDbContext> dbContextManager)
|
||||
{
|
||||
TenantDbContext = dbContextManager.Get(dbId);
|
||||
LazyTenantDbContext = new Lazy<TenantDbContext>(() => dbContextManager.Get(dbId));
|
||||
}
|
||||
|
||||
public List<IPRestriction> Get(int tenant)
|
||||
|
@ -36,11 +36,12 @@ namespace ASC.VoipService.Dao
|
||||
{
|
||||
private readonly string dbid = "default";
|
||||
|
||||
protected VoipDbContext VoipDbContext { get; set; }
|
||||
private Lazy<VoipDbContext> LazyVoipDbContext { get; }
|
||||
protected VoipDbContext VoipDbContext { get => LazyVoipDbContext.Value; }
|
||||
|
||||
protected AbstractDao(DbContextManager<VoipDbContext> dbOptions, TenantManager tenantManager)
|
||||
{
|
||||
VoipDbContext = dbOptions.Get(dbid);
|
||||
LazyVoipDbContext = new Lazy<VoipDbContext>(() => dbOptions.Get(dbid));
|
||||
TenantID = tenantManager.GetCurrentTenant().TenantId;
|
||||
}
|
||||
|
||||
|
@ -30,7 +30,6 @@ using ASC.ApiSystem.Controllers;
|
||||
using ASC.Common;
|
||||
using ASC.Common.Caching;
|
||||
using ASC.Common.DependencyInjection;
|
||||
using ASC.Common.Logging;
|
||||
|
||||
using Autofac;
|
||||
|
||||
@ -82,8 +81,6 @@ namespace ASC.ApiSystem
|
||||
services.AddAuthentication()
|
||||
.AddScheme<AuthenticationSchemeOptions, AuthHandler>("auth.allowskip", _ => { })
|
||||
.AddScheme<AuthenticationSchemeOptions, AuthHandler>("auth.allowskip.registerportal", _ => { });
|
||||
|
||||
LogNLogExtension.ConfigureLog(diHelper, "ASC.Apisystem");
|
||||
}
|
||||
|
||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
||||
|
@ -44,14 +44,15 @@ namespace ASC.AuditTrail
|
||||
{
|
||||
private MessageTarget MessageTarget { get; set; }
|
||||
private UserFormatter UserFormatter { get; set; }
|
||||
private AuditTrailContext AuditTrailContext { get; }
|
||||
private Lazy<AuditTrailContext> LazyAuditTrailContext { get; }
|
||||
private AuditTrailContext AuditTrailContext { get => LazyAuditTrailContext.Value; }
|
||||
private AuditActionMapper AuditActionMapper { get; }
|
||||
|
||||
public AuditEventsRepository(MessageTarget messageTarget, UserFormatter userFormatter, DbContextManager<AuditTrailContext> dbContextManager, AuditActionMapper auditActionMapper)
|
||||
{
|
||||
MessageTarget = messageTarget;
|
||||
UserFormatter = userFormatter;
|
||||
AuditTrailContext = dbContextManager.Value;
|
||||
LazyAuditTrailContext = new Lazy<AuditTrailContext>(() => dbContextManager.Value );
|
||||
AuditActionMapper = auditActionMapper;
|
||||
}
|
||||
|
||||
|
@ -43,14 +43,15 @@ namespace ASC.AuditTrail.Data
|
||||
[Scope]
|
||||
public class LoginEventsRepository
|
||||
{
|
||||
private UserFormatter UserFormatter { get; }
|
||||
private AuditTrailContext AuditTrailContext { get; }
|
||||
private UserFormatter UserFormatter { get; }
|
||||
private Lazy<AuditTrailContext> LazyAuditTrailContext { get; }
|
||||
private AuditTrailContext AuditTrailContext { get => LazyAuditTrailContext.Value; }
|
||||
private AuditActionMapper AuditActionMapper { get; }
|
||||
|
||||
public LoginEventsRepository(UserFormatter userFormatter, DbContextManager<AuditTrailContext> dbContextManager, AuditActionMapper auditActionMapper)
|
||||
{
|
||||
UserFormatter = userFormatter;
|
||||
AuditTrailContext = dbContextManager.Value;
|
||||
LazyAuditTrailContext = new Lazy<AuditTrailContext>(() => dbContextManager.Value);
|
||||
AuditActionMapper = auditActionMapper;
|
||||
}
|
||||
|
||||
|
@ -31,7 +31,6 @@ using System.Threading.Tasks;
|
||||
using ASC.Common;
|
||||
using ASC.Common.Caching;
|
||||
using ASC.Common.DependencyInjection;
|
||||
using ASC.Common.Logging;
|
||||
using ASC.Common.Utils;
|
||||
|
||||
using Autofac;
|
||||
@ -84,7 +83,6 @@ namespace ASC.Thumbnails.Svc
|
||||
var diHelper = new DIHelper(services);
|
||||
|
||||
diHelper.TryAdd(typeof(ICacheNotify<>), typeof(KafkaCache<>));
|
||||
LogNLogExtension.ConfigureLog(diHelper, "ASC.ClearEvents");
|
||||
services.AddHostedService<ClearEventsServiceLauncher>();
|
||||
diHelper.TryAdd<ClearEventsServiceLauncher>();
|
||||
})
|
||||
|
@ -38,8 +38,6 @@ namespace ASC.Data.Backup
|
||||
{
|
||||
public class Startup : BaseStartup
|
||||
{
|
||||
public override string[] LogParams { get => new string[] { "ASC.Data.Backup" }; }
|
||||
|
||||
public Startup(IConfiguration configuration, IHostEnvironment hostEnvironment) : base(configuration, hostEnvironment)
|
||||
{
|
||||
|
||||
|
@ -37,12 +37,13 @@ namespace ASC.Data.Backup.Storage
|
||||
{
|
||||
[Scope]
|
||||
public class BackupRepository : IBackupRepository
|
||||
{
|
||||
private BackupsContext BackupContext { get; }
|
||||
{
|
||||
private Lazy<BackupsContext> LazyBackupsContext { get; }
|
||||
private BackupsContext BackupContext { get => LazyBackupsContext.Value; }
|
||||
|
||||
public BackupRepository(DbContextManager<BackupsContext> backupContext)
|
||||
{
|
||||
BackupContext = backupContext.Value;
|
||||
LazyBackupsContext = new Lazy<BackupsContext>(() => backupContext.Value);
|
||||
}
|
||||
|
||||
public void SaveBackupRecord(BackupRecord backup)
|
||||
|
@ -63,7 +63,8 @@ namespace ASC.Data.Backup.Tasks
|
||||
private bool Dump { get; set; }
|
||||
private TenantManager TenantManager { get; set; }
|
||||
private TempStream TempStream { get; }
|
||||
private BackupsContext BackupRecordContext { get; set; }
|
||||
private Lazy<BackupsContext> LazyBackupsContext { get; }
|
||||
private BackupsContext BackupRecordContext { get => LazyBackupsContext.Value; }
|
||||
|
||||
public BackupPortalTask(DbFactory dbFactory, DbContextManager<BackupsContext> dbContextManager, IOptionsMonitor<ILog> options, TenantManager tenantManager, CoreBaseSettings coreBaseSettings, StorageFactory storageFactory, StorageFactoryConfig storageFactoryConfig, ModuleProvider moduleProvider, TempStream tempStream)
|
||||
: base(dbFactory, options, storageFactory, storageFactoryConfig, moduleProvider)
|
||||
@ -71,7 +72,7 @@ namespace ASC.Data.Backup.Tasks
|
||||
Dump = coreBaseSettings.Standalone;
|
||||
TenantManager = tenantManager;
|
||||
TempStream = tempStream;
|
||||
BackupRecordContext = dbContextManager.Get(DbFactory.ConnectionStringSettings.ConnectionString);
|
||||
LazyBackupsContext = new Lazy<BackupsContext>(() => dbContextManager.Get(DbFactory.ConnectionStringSettings.ConnectionString));
|
||||
}
|
||||
|
||||
public void Init(int tenantId, string fromConfigPath, string toFilePath, int limit)
|
||||
|
@ -34,8 +34,6 @@ namespace ASC.Data.Storage.Encryption
|
||||
{
|
||||
public class Startup : BaseStartup
|
||||
{
|
||||
public override string[] LogParams { get => new string[] { "ASC.Data.Storage.Encryption" }; }
|
||||
|
||||
public Startup(IConfiguration configuration, IHostEnvironment hostEnvironment) : base(configuration, hostEnvironment)
|
||||
{
|
||||
|
||||
|
@ -6,7 +6,6 @@ using ASC.Api.Core;
|
||||
using ASC.Common;
|
||||
using ASC.Common.Caching;
|
||||
using ASC.Common.DependencyInjection;
|
||||
using ASC.Common.Logging;
|
||||
using ASC.Common.Utils;
|
||||
|
||||
using Autofac;
|
||||
@ -64,7 +63,6 @@ namespace ASC.Data.Storage.Migration
|
||||
{
|
||||
services.AddMemoryCache();
|
||||
var diHelper = new DIHelper(services);
|
||||
LogNLogExtension.ConfigureLog(diHelper, "ASC.Data.Storage.Migration", "ASC.Migration");
|
||||
diHelper.TryAdd(typeof(ICacheNotify<>), typeof(KafkaCache<>));
|
||||
|
||||
diHelper.RegisterProducts(hostContext.Configuration, hostContext.HostingEnvironment.ContentRootPath);
|
||||
|
@ -92,8 +92,9 @@ namespace ASC.ElasticSearch
|
||||
private TenantManager TenantManager { get; }
|
||||
private BaseIndexerHelper BaseIndexerHelper { get; }
|
||||
private Settings Settings { get; }
|
||||
private IServiceProvider ServiceProvider { get; }
|
||||
private WebstudioDbContext WebstudioDbContext { get; }
|
||||
private IServiceProvider ServiceProvider { get; }
|
||||
private Lazy<WebstudioDbContext> LazyWebstudioDbContext { get; }
|
||||
private WebstudioDbContext WebstudioDbContext { get => LazyWebstudioDbContext.Value; }
|
||||
|
||||
public BaseIndexer(
|
||||
Client client,
|
||||
@ -110,7 +111,7 @@ namespace ASC.ElasticSearch
|
||||
BaseIndexerHelper = baseIndexerHelper;
|
||||
Settings = settings;
|
||||
ServiceProvider = serviceProvider;
|
||||
WebstudioDbContext = dbContextManager.Value;
|
||||
LazyWebstudioDbContext = new Lazy<WebstudioDbContext>(() => dbContextManager.Value);
|
||||
}
|
||||
|
||||
internal void Index(T data, bool immediately = true)
|
||||
|
@ -6,7 +6,6 @@ using ASC.Api.Core;
|
||||
using ASC.Common;
|
||||
using ASC.Common.Caching;
|
||||
using ASC.Common.DependencyInjection;
|
||||
using ASC.Common.Logging;
|
||||
using ASC.Common.Utils;
|
||||
using ASC.Core.Notify.Senders;
|
||||
using ASC.Notify.Config;
|
||||
@ -67,7 +66,6 @@ namespace ASC.Notify
|
||||
services.AddMemoryCache();
|
||||
var diHelper = new DIHelper(services);
|
||||
|
||||
LogNLogExtension.ConfigureLog(diHelper, "ASC.Notify", "ASC.Notify.Messages");
|
||||
diHelper.TryAdd(typeof(ICacheNotify<>), typeof(KafkaCache<>));
|
||||
diHelper.RegisterProducts(hostContext.Configuration, hostContext.HostingEnvironment.ContentRootPath);
|
||||
|
||||
|
@ -32,7 +32,6 @@ using ASC.Api.Core;
|
||||
using ASC.Common;
|
||||
using ASC.Common.Caching;
|
||||
using ASC.Common.DependencyInjection;
|
||||
using ASC.Common.Logging;
|
||||
using ASC.Common.Utils;
|
||||
|
||||
using Autofac;
|
||||
@ -93,8 +92,7 @@ namespace ASC.Socket.IO.Svc
|
||||
var diHelper = new DIHelper(services);
|
||||
diHelper.TryAdd(typeof(ICacheNotify<>), typeof(KafkaCache<>));
|
||||
diHelper.RegisterProducts(hostContext.Configuration, hostContext.HostingEnvironment.ContentRootPath);
|
||||
|
||||
LogNLogExtension.ConfigureLog(diHelper, "ASC.Socket.IO.Svc");
|
||||
|
||||
services.AddHostedService<SocketServiceLauncher>();
|
||||
diHelper.TryAdd<SocketServiceLauncher>();
|
||||
})
|
||||
|
@ -32,7 +32,6 @@ using ASC.Api.Core;
|
||||
using ASC.Common;
|
||||
using ASC.Common.Caching;
|
||||
using ASC.Common.DependencyInjection;
|
||||
using ASC.Common.Logging;
|
||||
using ASC.Common.Utils;
|
||||
using ASC.SsoAuth.Svc;
|
||||
|
||||
@ -94,8 +93,7 @@ namespace ASC.Socket.IO.Svc
|
||||
var diHelper = new DIHelper(services);
|
||||
diHelper.TryAdd(typeof(ICacheNotify<>), typeof(KafkaCache<>));
|
||||
diHelper.RegisterProducts(hostContext.Configuration, hostContext.HostingEnvironment.ContentRootPath);
|
||||
|
||||
LogNLogExtension.ConfigureLog(diHelper, "ASC.SsoAuth.Svc");
|
||||
|
||||
services.AddHostedService<Launcher>();
|
||||
diHelper.TryAdd<Launcher>();
|
||||
})
|
||||
|
@ -6,7 +6,6 @@ using ASC.Api.Core;
|
||||
using ASC.Common;
|
||||
using ASC.Common.Caching;
|
||||
using ASC.Common.DependencyInjection;
|
||||
using ASC.Common.Logging;
|
||||
using ASC.Common.Utils;
|
||||
using ASC.Core.Notify;
|
||||
using ASC.Notify;
|
||||
@ -69,7 +68,6 @@ namespace ASC.Studio.Notify
|
||||
var diHelper = new DIHelper(services);
|
||||
diHelper.TryAdd(typeof(ICacheNotify<>), typeof(KafkaCache<>));
|
||||
diHelper.RegisterProducts(hostContext.Configuration, hostContext.HostingEnvironment.ContentRootPath);
|
||||
LogNLogExtension.ConfigureLog(diHelper, "ASC.Notify", "ASC.Notify.Messages");
|
||||
services.AddHostedService<ServiceLauncher>();
|
||||
diHelper.TryAdd<ServiceLauncher>();
|
||||
NotifyConfigurationExtension.Register(diHelper);
|
||||
|
@ -34,8 +34,6 @@ namespace ASC.TelegramService
|
||||
{
|
||||
public class Startup : BaseStartup
|
||||
{
|
||||
public override string[] LogParams { get => new string[] { "ASC.TelegramService" }; }
|
||||
|
||||
public Startup(IConfiguration configuration, IHostEnvironment hostEnvironment) : base(configuration, hostEnvironment)
|
||||
{
|
||||
|
||||
|
@ -32,7 +32,6 @@ using ASC.Api.Core;
|
||||
using ASC.Common;
|
||||
using ASC.Common.Caching;
|
||||
using ASC.Common.DependencyInjection;
|
||||
using ASC.Common.Logging;
|
||||
using ASC.Common.Utils;
|
||||
|
||||
using Autofac;
|
||||
@ -92,8 +91,7 @@ namespace ASC.Thumbnails.Svc
|
||||
services.AddMemoryCache();
|
||||
var diHelper = new DIHelper(services);
|
||||
|
||||
diHelper.TryAdd(typeof(ICacheNotify<>), typeof(KafkaCache<>));
|
||||
LogNLogExtension.ConfigureLog(diHelper, "ASC.Thumbnails.Svc");
|
||||
diHelper.TryAdd(typeof(ICacheNotify<>), typeof(KafkaCache<>));
|
||||
services.AddHostedService<ThumbnailsServiceLauncher>();
|
||||
diHelper.TryAdd<ThumbnailsServiceLauncher>();
|
||||
})
|
||||
|
@ -31,7 +31,6 @@ using System.Threading.Tasks;
|
||||
using ASC.Api.Core;
|
||||
using ASC.Common;
|
||||
using ASC.Common.DependencyInjection;
|
||||
using ASC.Common.Logging;
|
||||
using ASC.Common.Utils;
|
||||
|
||||
using Autofac;
|
||||
@ -93,8 +92,7 @@ namespace ASC.UrlShortener.Svc
|
||||
services.AddMemoryCache();
|
||||
|
||||
var diHelper = new DIHelper(services);
|
||||
|
||||
LogNLogExtension.ConfigureLog(diHelper, "ASC.UrlShortener.Svc");
|
||||
|
||||
services.AddHostedService<UrlShortenerServiceLauncher>();
|
||||
diHelper.TryAdd<UrlShortenerServiceLauncher>();
|
||||
})
|
||||
|
@ -83,7 +83,7 @@ server {
|
||||
location / {
|
||||
|
||||
proxy_pass http://localhost:5001;
|
||||
location ~* /(manifest.json|service-worker.js|appIcon.png|bg-error.png) {
|
||||
location ~* /(manifest.json|sw.js|appIcon.png|bg-error.png) {
|
||||
root $public_root;
|
||||
try_files /$basename /index.html =404;
|
||||
}
|
||||
|
8
config/workbox-config.js
Normal file
8
config/workbox-config.js
Normal file
@ -0,0 +1,8 @@
|
||||
module.exports = {
|
||||
globDirectory: 'build/deploy/',
|
||||
globPatterns: [
|
||||
'**/*.{ico,woff2,svg,html,json,js,png}'
|
||||
],
|
||||
swSrc: 'packages/asc-web-common/utils/sw-template.js',
|
||||
swDest: 'build/deploy/public/sw.js'
|
||||
};
|
11
config/workbox-dev-config.js
Normal file
11
config/workbox-dev-config.js
Normal file
@ -0,0 +1,11 @@
|
||||
module.exports = {
|
||||
globDirectory: 'build/deploy/',
|
||||
globPatterns: [
|
||||
'**/*.{ico,woff2,svg,html,json,js,txt,png}'
|
||||
],
|
||||
ignoreURLParametersMatching: [
|
||||
/^utm_/,
|
||||
/^fbclid$/
|
||||
],
|
||||
swDest: 'build/deploy/public/sw.js'
|
||||
};
|
@ -26,12 +26,13 @@
|
||||
"storybook": "yarn workspace @appserver/components storybook",
|
||||
"storybook-build": "yarn workspace @appserver/components run storybook-build",
|
||||
"bump": "lerna version --no-push --no-git-tag-version",
|
||||
"deploy": "rimraf build/deploy && concurrently \"wsrun --parallel deploy\""
|
||||
"deploy": "rimraf build/deploy && concurrently \"wsrun --parallel deploy\" && cp -r public build/deploy && workbox injectManifest config/workbox-config.js"
|
||||
},
|
||||
"devDependencies": {
|
||||
"lerna": "^3.22.1",
|
||||
"concurrently": "^5.3.0",
|
||||
"wsrun": "^5.2.4",
|
||||
"rimraf": "^3.0.2"
|
||||
"lerna": "^3.22.1",
|
||||
"rimraf": "^3.0.2",
|
||||
"workbox-cli": "^6.1.5",
|
||||
"wsrun": "^5.2.4"
|
||||
}
|
||||
}
|
||||
|
@ -1,61 +1,26 @@
|
||||
import { Workbox } from "workbox-window";
|
||||
import Snackbar from "@appserver/components/snackbar";
|
||||
import React from "react";
|
||||
import ReactDOM from "react-dom";
|
||||
import SnackBar from "@appserver/components/snackbar";
|
||||
|
||||
export function registerSW(homepage) {
|
||||
export function registerSW() {
|
||||
if (process.env.NODE_ENV === "production" && "serviceWorker" in navigator) {
|
||||
const wb = new Workbox(`${homepage}/sw.js`);
|
||||
const wb = new Workbox(`/sw.js`);
|
||||
|
||||
//TODO: watch https://developers.google.com/web/tools/workbox/guides/advanced-recipes and https://github.com/webmaxru/prog-web-news/blob/5ff94b45c9d317409c21c0fbb7d76e92f064471b/src/app/app-shell/app-shell.component.ts
|
||||
|
||||
const showSkipWaitingPrompt = (event) => {
|
||||
console.log(
|
||||
`A new service worker has installed, but it can't activate` +
|
||||
`until all tabs running the current version have fully unloaded.`
|
||||
);
|
||||
|
||||
/*
|
||||
const barConfig = {
|
||||
parentElementId: "snackbar",
|
||||
text: "New Version Available",
|
||||
btnText: "Reload",
|
||||
onAction: () => onButtonClick(),
|
||||
opacity: 1,
|
||||
};
|
||||
// Assuming the user accepted the update, set up a listener
|
||||
// that will reload the page as soon as the previously waiting
|
||||
// service worker has taken control.
|
||||
wb.addEventListener("controlling", () => {
|
||||
window.location.reload();
|
||||
});
|
||||
|
||||
SnackBar.show(barConfig);
|
||||
|
||||
const onButtonClick = () => {
|
||||
// Assuming the user accepted the update, set up a listener
|
||||
// that will reload the page as soon as the previously waiting
|
||||
// service worker has taken control.
|
||||
wb.addEventListener("controlling", () => {
|
||||
window.location.reload();
|
||||
});
|
||||
|
||||
// This will postMessage() to the waiting service worker.
|
||||
wb.messageSkipWaiting();
|
||||
};*/
|
||||
|
||||
/*const barConfig = {
|
||||
textBody: "New Version Available",
|
||||
pos: "top_center",
|
||||
showSecondButton: true,
|
||||
secondButtonText: "Reload",
|
||||
|
||||
onSecondButtonClick: (element) => {
|
||||
element.style.opacity = 0;
|
||||
// Assuming the user accepted the update, set up a listener
|
||||
// that will reload the page as soon as the previously waiting
|
||||
// service worker has taken control.
|
||||
wb.addEventListener("controlling", () => {
|
||||
window.location.reload();
|
||||
});
|
||||
|
||||
// This will postMessage() to the waiting service worker.
|
||||
wb.messageSkipWaiting();
|
||||
},
|
||||
};*/
|
||||
// This will postMessage() to the waiting service worker.
|
||||
wb.messageSkipWaiting();
|
||||
|
||||
// let snackBarRef = this.snackBar.open(
|
||||
|
||||
|
@ -1,22 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
||||
using ASC.Common;
|
||||
using ASC.Common.Caching;
|
||||
using ASC.Common.Logging;
|
||||
using ASC.Common.DependencyInjection;
|
||||
using ASC.Common.Utils;
|
||||
using ASC.ElasticSearch;
|
||||
using ASC.Web.CRM.Core.Search;
|
||||
|
||||
|
||||
using Autofac;
|
||||
using Autofac.Extensions.DependencyInjection;
|
||||
|
||||
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using ASC.Common.DependencyInjection;
|
||||
|
||||
|
||||
namespace ASC.CRM.BackgroundTasks
|
||||
@ -73,9 +71,6 @@ namespace ASC.CRM.BackgroundTasks
|
||||
|
||||
services.AddHostedService<ServiceLauncher>();
|
||||
diHelper.TryAdd<ServiceLauncher>();
|
||||
|
||||
LogNLogExtension.ConfigureLog(diHelper, "ASC.Files", "ASC.Feed.Agregator");
|
||||
|
||||
diHelper.TryAdd<FactoryIndexerCase>();
|
||||
diHelper.TryAdd<FactoryIndexerContact>();
|
||||
diHelper.TryAdd<FactoryIndexerContactInfo>();
|
||||
|
@ -35,8 +35,7 @@
|
||||
"terser-webpack-plugin": "^5.1.1",
|
||||
"webpack": "5.14.0",
|
||||
"webpack-cli": "4.5.0",
|
||||
"webpack-dev-server": "3.11.2",
|
||||
"workbox-webpack-plugin": "^6.1.1"
|
||||
"webpack-dev-server": "3.11.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.12.5",
|
||||
|
3
products/ASC.CRM/Client/src/bootstrap.js
vendored
3
products/ASC.CRM/Client/src/bootstrap.js
vendored
@ -1,9 +1,8 @@
|
||||
import App from "./App";
|
||||
import React from "react";
|
||||
import ReactDOM from "react-dom";
|
||||
import config from "../package.json";
|
||||
import { registerSW } from "@appserver/common/utils/sw-helper";
|
||||
|
||||
ReactDOM.render(<App />, document.getElementById("root"));
|
||||
|
||||
registerSW(config.homepage);
|
||||
registerSW();
|
||||
|
@ -4,7 +4,6 @@ const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
const ModuleFederationPlugin = require("webpack").container
|
||||
.ModuleFederationPlugin;
|
||||
const TerserPlugin = require("terser-webpack-plugin");
|
||||
const { InjectManifest } = require("workbox-webpack-plugin");
|
||||
const combineUrl = require("@appserver/common/utils/combineUrl");
|
||||
const AppServerConfig = require("@appserver/common/constants/AppServerConfig");
|
||||
|
||||
@ -194,14 +193,6 @@ module.exports = (env, argv) => {
|
||||
minimize: true,
|
||||
minimizer: [new TerserPlugin()],
|
||||
};
|
||||
config.plugins.push(
|
||||
new InjectManifest({
|
||||
mode: "production", //"development",
|
||||
swSrc: "@appserver/common/utils/sw-template.js", // this is your sw template file
|
||||
swDest: "sw.js", // this will be created in the build step
|
||||
exclude: [/\.map$/, /manifest$/, /service-worker\.js$/],
|
||||
})
|
||||
);
|
||||
} else {
|
||||
config.devtool = "cheap-module-source-map";
|
||||
}
|
||||
|
@ -136,11 +136,6 @@ namespace ASC.CRM.ApiModels
|
||||
Data = "support@onlyoffice.com",
|
||||
InfoType = ContactInfoType.Email
|
||||
};
|
||||
}
|
||||
|
||||
public void Mapping(Profile profile)
|
||||
{
|
||||
profile.CreateMap<ContactInfo, ContactInfoDto>();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -31,7 +31,7 @@ using System.Linq;
|
||||
using ASC.Common;
|
||||
using ASC.Common.Web;
|
||||
using ASC.Core;
|
||||
using ASC.Core.Common.EF;
|
||||
using ASC.Core.Common.EF;
|
||||
using ASC.CRM.Resources;
|
||||
using ASC.Files.Core.EF;
|
||||
using ASC.Web.Core;
|
||||
@ -44,8 +44,10 @@ namespace ASC.Web.CRM.Configuration
|
||||
[Scope]
|
||||
public class CrmSpaceUsageStatManager : SpaceUsageStatManager
|
||||
{
|
||||
private int _tenantId;
|
||||
private FilesDbContext _filesDbContext;
|
||||
private int _tenantId;
|
||||
private Lazy<FilesDbContext> LazyFilesDbContext { get; }
|
||||
private FilesDbContext _filesDbContext { get => LazyFilesDbContext.Value; }
|
||||
|
||||
private PathProvider _pathProvider;
|
||||
|
||||
public CrmSpaceUsageStatManager(DbContextManager<FilesDbContext> filesDbContext,
|
||||
@ -53,7 +55,7 @@ namespace ASC.Web.CRM.Configuration
|
||||
TenantManager tenantManager)
|
||||
{
|
||||
_pathProvider = pathProvider;
|
||||
_filesDbContext = filesDbContext.Value;
|
||||
LazyFilesDbContext = new Lazy<FilesDbContext>(() => filesDbContext.Value);
|
||||
_tenantId = tenantManager.GetCurrentTenant().TenantId;
|
||||
}
|
||||
|
||||
|
@ -45,8 +45,11 @@ namespace ASC.CRM.Core.Dao
|
||||
{
|
||||
public class AbstractDao
|
||||
{
|
||||
protected readonly List<EntityType> _supportedEntityType = new List<EntityType>();
|
||||
public CrmDbContext CrmDbContext { get; }
|
||||
protected readonly List<EntityType> _supportedEntityType = new List<EntityType>();
|
||||
|
||||
private Lazy<CrmDbContext> LazyCrmDbContext { get; }
|
||||
public CrmDbContext CrmDbContext { get => LazyCrmDbContext.Value; }
|
||||
|
||||
protected readonly SecurityContext _securityContext;
|
||||
protected readonly ICache _cache;
|
||||
protected ILog _logger;
|
||||
@ -66,7 +69,7 @@ namespace ASC.CRM.Core.Dao
|
||||
|
||||
_cache = ascCache;
|
||||
|
||||
CrmDbContext = dbContextManager.Get(CrmConstants.DatabaseId);
|
||||
LazyCrmDbContext = new Lazy<CrmDbContext>(() => dbContextManager.Get(CrmConstants.DatabaseId));
|
||||
|
||||
TenantID = tenantManager.GetCurrentTenant().TenantId;
|
||||
_securityContext = securityContext;
|
||||
|
@ -390,7 +390,7 @@ namespace ASC.CRM.Core.Dao
|
||||
|
||||
if (result > 0)
|
||||
{
|
||||
_cache.Insert(cacheKey, result, TimeSpan.FromSeconds(30));
|
||||
_cache.Insert(cacheKey, result.ToString(), TimeSpan.FromSeconds(30));
|
||||
}
|
||||
|
||||
return result;
|
||||
|
@ -326,7 +326,7 @@ namespace ASC.CRM.Core.Dao
|
||||
}
|
||||
if (result > 0)
|
||||
{
|
||||
_cache.Insert(cacheKey, result, TimeSpan.FromMinutes(1));
|
||||
_cache.Insert(cacheKey, result.ToString(), TimeSpan.FromMinutes(1));
|
||||
}
|
||||
|
||||
return result;
|
||||
|
@ -544,7 +544,7 @@ namespace ASC.CRM.Core.Dao
|
||||
}
|
||||
if (result > 0)
|
||||
{
|
||||
_cache.Insert(cacheKey, result, TimeSpan.FromSeconds(30));
|
||||
_cache.Insert(cacheKey, result.ToString(), TimeSpan.FromSeconds(30));
|
||||
}
|
||||
|
||||
return result;
|
||||
|
@ -397,7 +397,7 @@ namespace ASC.CRM.Core.Dao
|
||||
|
||||
if (result > 0)
|
||||
{
|
||||
_cache.Insert(cacheKey, result, TimeSpan.FromSeconds(30));
|
||||
_cache.Insert(cacheKey, result.ToString(), TimeSpan.FromSeconds(30));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -232,7 +232,7 @@ namespace ASC.CRM.Core.Dao
|
||||
|
||||
if (result > 0)
|
||||
{
|
||||
_cache.Insert(cacheKey, result, TimeSpan.FromSeconds(30));
|
||||
_cache.Insert(cacheKey, result.ToString(), TimeSpan.FromSeconds(30));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -73,13 +73,11 @@ namespace ASC.CRM.Core.Dao
|
||||
private CurrencyInfo _defaultCurrency;
|
||||
private TenantUtil _tenantUtil;
|
||||
private DaoFactory _daoFactory;
|
||||
private UserDbContext _userDbContext;
|
||||
private DisplayUserSettingsHelper _displayUserSettings;
|
||||
|
||||
#region Constructor
|
||||
|
||||
public ReportDao(DbContextManager<CrmDbContext> dbContextManager,
|
||||
DbContextManager<UserDbContext> dbUserContextManager,
|
||||
TenantManager tenantManager,
|
||||
SecurityContext securityContext,
|
||||
FilesIntegration filesIntegration,
|
||||
@ -112,8 +110,6 @@ namespace ASC.CRM.Core.Dao
|
||||
|
||||
var crmSettings = settingsManager.Load<CrmSettings>();
|
||||
|
||||
_userDbContext = dbUserContextManager.Get(CrmConstants.DatabaseId);
|
||||
|
||||
_defaultCurrency = currencyProvider.Get(crmSettings.DefaultCurrency);
|
||||
|
||||
_displayUserSettings = displayUserSettingsHelper;
|
||||
@ -313,7 +309,7 @@ namespace ASC.CRM.Core.Dao
|
||||
|
||||
var file = _daoFactory.GetFileDao().SaveFile(document, stream);
|
||||
|
||||
SaveFile((int)file.ID, -1);
|
||||
SaveFile(file.ID, -1);
|
||||
|
||||
result.Add(file);
|
||||
}
|
||||
|
@ -52,10 +52,12 @@ namespace ASC.CRM.Core.Dao
|
||||
[Scope]
|
||||
public class TaskDao : AbstractDao
|
||||
{
|
||||
private readonly UserDbContext _userDbContext;
|
||||
private readonly FactoryIndexerTask _factoryIndexer;
|
||||
private readonly TenantUtil _tenantUtil;
|
||||
private readonly CrmSecurity _crmSecurity;
|
||||
|
||||
private Lazy<UserDbContext> LazyUserDbContext { get; }
|
||||
private UserDbContext _userDbContext { get => LazyUserDbContext.Value; }
|
||||
|
||||
public TaskDao(DbContextManager<CrmDbContext> dbContextManager,
|
||||
TenantManager tenantManager,
|
||||
@ -77,7 +79,7 @@ namespace ASC.CRM.Core.Dao
|
||||
_crmSecurity = crmSecurity;
|
||||
_tenantUtil = tenantUtil;
|
||||
_factoryIndexer = factoryIndexer;
|
||||
_userDbContext = userDbContext.Value;
|
||||
LazyUserDbContext = new Lazy<UserDbContext>(() => userDbContext.Value);
|
||||
_mapper = mapper;
|
||||
}
|
||||
|
||||
@ -510,7 +512,7 @@ namespace ASC.CRM.Core.Dao
|
||||
|
||||
if (result > 0)
|
||||
{
|
||||
_cache.Insert(cacheKey, result, TimeSpan.FromMinutes(1));
|
||||
_cache.Insert(cacheKey, result.ToString(), TimeSpan.FromMinutes(1));
|
||||
}
|
||||
|
||||
return result;
|
||||
|
@ -27,10 +27,13 @@
|
||||
using System;
|
||||
|
||||
using ASC.Common.Mapping;
|
||||
using ASC.CRM.ApiModels;
|
||||
using ASC.CRM.Classes;
|
||||
using ASC.CRM.Core.EF;
|
||||
using ASC.CRM.Core.Enums;
|
||||
|
||||
using AutoMapper;
|
||||
|
||||
namespace ASC.CRM.Core
|
||||
{
|
||||
public class ContactInfo : DomainObject, IMapFrom<DbContactInfo>
|
||||
@ -78,5 +81,12 @@ namespace ASC.CRM.Core
|
||||
return typeof(ContactInfoBaseCategory);
|
||||
}
|
||||
}
|
||||
|
||||
public void Mapping(Profile profile)
|
||||
{
|
||||
profile.CreateMap<DbContactInfo, ContactInfo>()
|
||||
.ForMember(x => x.InfoType, opt => opt.MapFrom(x => x.Type));
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -35,8 +35,7 @@
|
||||
"terser-webpack-plugin": "^5.1.1",
|
||||
"webpack": "5.14.0",
|
||||
"webpack-cli": "4.5.0",
|
||||
"webpack-dev-server": "3.11.2",
|
||||
"workbox-webpack-plugin": "^6.1.1"
|
||||
"webpack-dev-server": "3.11.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.12.5",
|
||||
|
@ -1,9 +1,8 @@
|
||||
import App from "./App";
|
||||
import React from "react";
|
||||
import ReactDOM from "react-dom";
|
||||
import config from "../package.json";
|
||||
import { registerSW } from "@appserver/common/utils/sw-helper";
|
||||
|
||||
ReactDOM.render(<App />, document.getElementById("root"));
|
||||
|
||||
registerSW(config.homepage);
|
||||
registerSW();
|
||||
|
@ -4,7 +4,6 @@ const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
const ModuleFederationPlugin = require("webpack").container
|
||||
.ModuleFederationPlugin;
|
||||
const TerserPlugin = require("terser-webpack-plugin");
|
||||
const { InjectManifest } = require("workbox-webpack-plugin");
|
||||
const combineUrl = require("@appserver/common/utils/combineUrl");
|
||||
const AppServerConfig = require("@appserver/common/constants/AppServerConfig");
|
||||
|
||||
@ -194,14 +193,6 @@ module.exports = (env, argv) => {
|
||||
minimize: true,
|
||||
minimizer: [new TerserPlugin()],
|
||||
};
|
||||
config.plugins.push(
|
||||
new InjectManifest({
|
||||
mode: "production", //"development",
|
||||
swSrc: "@appserver/common/utils/sw-template.js", // this is your sw template file
|
||||
swDest: "sw.js", // this will be created in the build step
|
||||
exclude: [/\.map$/, /manifest$/, /service-worker\.js$/],
|
||||
})
|
||||
);
|
||||
} else {
|
||||
config.devtool = "cheap-module-source-map";
|
||||
}
|
||||
|
@ -13,8 +13,6 @@ namespace ASC.Calendar
|
||||
{
|
||||
public class Startup : BaseStartup
|
||||
{
|
||||
public override string[] LogParams { get => new string[] { "ASC.Calendar" }; }
|
||||
|
||||
public Startup(IConfiguration configuration, IHostEnvironment hostEnvironment)
|
||||
: base(configuration, hostEnvironment)
|
||||
{
|
||||
|
@ -39,8 +39,7 @@
|
||||
"terser-webpack-plugin": "^5.1.1",
|
||||
"webpack": "5.14.0",
|
||||
"webpack-cli": "4.5.0",
|
||||
"webpack-dev-server": "3.11.2",
|
||||
"workbox-webpack-plugin": "^6.1.1"
|
||||
"webpack-dev-server": "3.11.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.12.5",
|
||||
|
3
products/ASC.Files/Client/src/bootstrap.js
vendored
3
products/ASC.Files/Client/src/bootstrap.js
vendored
@ -1,9 +1,8 @@
|
||||
import App from "./App";
|
||||
import React from "react";
|
||||
import ReactDOM from "react-dom";
|
||||
import config from "../package.json";
|
||||
import { registerSW } from "@appserver/common/utils/sw-helper";
|
||||
|
||||
ReactDOM.render(<App />, document.getElementById("root"));
|
||||
|
||||
registerSW(config.homepage);
|
||||
registerSW();
|
||||
|
@ -4,7 +4,6 @@ const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
const ModuleFederationPlugin = require("webpack").container
|
||||
.ModuleFederationPlugin;
|
||||
const TerserPlugin = require("terser-webpack-plugin");
|
||||
const { InjectManifest } = require("workbox-webpack-plugin");
|
||||
const combineUrl = require("@appserver/common/utils/combineUrl");
|
||||
const AppServerConfig = require("@appserver/common/constants/AppServerConfig");
|
||||
|
||||
@ -199,14 +198,6 @@ module.exports = (env, argv) => {
|
||||
minimize: true,
|
||||
minimizer: [new TerserPlugin()],
|
||||
};
|
||||
config.plugins.push(
|
||||
new InjectManifest({
|
||||
mode: "production", //"development",
|
||||
swSrc: "@appserver/common/utils/sw-template.js", // this is your sw template file
|
||||
swDest: "sw.js", // this will be created in the build step
|
||||
exclude: [/\.map$/, /manifest$/, /service-worker\.js$/],
|
||||
})
|
||||
);
|
||||
} else {
|
||||
config.devtool = "cheap-module-source-map";
|
||||
}
|
||||
|
@ -44,8 +44,9 @@ namespace ASC.Web.Files
|
||||
{
|
||||
[Scope]
|
||||
public class FilesSpaceUsageStatManager : SpaceUsageStatManager
|
||||
{
|
||||
private ASC.Files.Core.EF.FilesDbContext FilesDbContext { get; }
|
||||
{
|
||||
private Lazy<ASC.Files.Core.EF.FilesDbContext> LazyFilesDbContext { get; }
|
||||
private ASC.Files.Core.EF.FilesDbContext FilesDbContext { get => LazyFilesDbContext.Value; }
|
||||
private TenantManager TenantManager { get; }
|
||||
private UserManager UserManager { get; }
|
||||
private UserPhotoManager UserPhotoManager { get; }
|
||||
@ -64,7 +65,7 @@ namespace ASC.Web.Files
|
||||
GlobalFolderHelper globalFolderHelper,
|
||||
PathProvider pathProvider)
|
||||
{
|
||||
FilesDbContext = dbContextManager.Get(FileConstant.DatabaseId);
|
||||
LazyFilesDbContext = new Lazy<ASC.Files.Core.EF.FilesDbContext>(() => dbContextManager.Get(FileConstant.DatabaseId));
|
||||
TenantManager = tenantManager;
|
||||
UserManager = userManager;
|
||||
UserPhotoManager = userPhotoManager;
|
||||
@ -126,15 +127,16 @@ namespace ASC.Web.Files
|
||||
|
||||
[Scope]
|
||||
public class FilesUserSpaceUsage : IUserSpaceUsage
|
||||
{
|
||||
private ASC.Files.Core.EF.FilesDbContext FilesDbContext { get; }
|
||||
{
|
||||
private Lazy<ASC.Files.Core.EF.FilesDbContext> LazyFilesDbContext { get; }
|
||||
private ASC.Files.Core.EF.FilesDbContext FilesDbContext { get => LazyFilesDbContext.Value; }
|
||||
private TenantManager TenantManager { get; }
|
||||
|
||||
public FilesUserSpaceUsage(
|
||||
DbContextManager<ASC.Files.Core.EF.FilesDbContext> dbContextManager,
|
||||
TenantManager tenantManager)
|
||||
{
|
||||
FilesDbContext = dbContextManager.Get(FileConstant.DatabaseId);
|
||||
LazyFilesDbContext = new Lazy<ASC.Files.Core.EF.FilesDbContext>(() => dbContextManager.Get(FileConstant.DatabaseId));
|
||||
TenantManager = tenantManager;
|
||||
}
|
||||
|
||||
|
@ -49,9 +49,10 @@ namespace ASC.Files.Core.Data
|
||||
{
|
||||
public class AbstractDao
|
||||
{
|
||||
protected readonly ICache cache;
|
||||
|
||||
public FilesDbContext FilesDbContext { get; }
|
||||
protected readonly ICache cache;
|
||||
|
||||
private Lazy<FilesDbContext> LazyFilesDbContext { get; }
|
||||
public FilesDbContext FilesDbContext { get => LazyFilesDbContext.Value; }
|
||||
|
||||
private int tenantID;
|
||||
protected internal int TenantID { get => tenantID != 0 ? tenantID : (tenantID = TenantManager.GetCurrentTenant().TenantId); }
|
||||
@ -83,7 +84,7 @@ namespace ASC.Files.Core.Data
|
||||
ICache cache)
|
||||
{
|
||||
this.cache = cache;
|
||||
FilesDbContext = dbContextManager.Get(FileConstant.DatabaseId);
|
||||
LazyFilesDbContext = new Lazy<FilesDbContext>(() => dbContextManager.Get(FileConstant.DatabaseId));
|
||||
UserManager = userManager;
|
||||
TenantManager = tenantManager;
|
||||
TenantUtil = tenantUtil;
|
||||
|
@ -211,8 +211,9 @@ namespace ASC.Files.Thirdparty
|
||||
public int TenantID { get; private set; }
|
||||
protected IServiceProvider ServiceProvider { get; }
|
||||
protected UserManager UserManager { get; }
|
||||
protected TenantUtil TenantUtil { get; }
|
||||
protected FilesDbContext FilesDbContext { get; }
|
||||
protected TenantUtil TenantUtil { get; }
|
||||
private Lazy<FilesDbContext> LazyFilesDbContext { get; }
|
||||
protected FilesDbContext FilesDbContext { get => LazyFilesDbContext.Value; }
|
||||
protected SetupInfo SetupInfo { get; }
|
||||
protected ILog Log { get; }
|
||||
protected FileUtility FileUtility { get; }
|
||||
@ -237,7 +238,7 @@ namespace ASC.Files.Thirdparty
|
||||
ServiceProvider = serviceProvider;
|
||||
UserManager = userManager;
|
||||
TenantUtil = tenantUtil;
|
||||
FilesDbContext = dbContextManager.Get(FileConstant.DatabaseId);
|
||||
LazyFilesDbContext = new Lazy<FilesDbContext>(() => dbContextManager.Get(FileConstant.DatabaseId));
|
||||
SetupInfo = setupInfo;
|
||||
Log = monitor.CurrentValue;
|
||||
FileUtility = fileUtility;
|
||||
|
@ -80,8 +80,9 @@ namespace ASC.Files.Thirdparty
|
||||
internal class ProviderAccountDao : IProviderDao
|
||||
{
|
||||
private int tenantID;
|
||||
protected int TenantID { get => tenantID != 0 ? tenantID : (tenantID = TenantManager.GetCurrentTenant().TenantId); }
|
||||
private FilesDbContext FilesDbContext { get; }
|
||||
protected int TenantID { get => tenantID != 0 ? tenantID : (tenantID = TenantManager.GetCurrentTenant().TenantId); }
|
||||
private Lazy<FilesDbContext> LazyFilesDbContext { get; }
|
||||
private FilesDbContext FilesDbContext { get => LazyFilesDbContext.Value; }
|
||||
public ILog Logger { get; }
|
||||
private IServiceProvider ServiceProvider { get; }
|
||||
private TenantUtil TenantUtil { get; }
|
||||
@ -102,7 +103,7 @@ namespace ASC.Files.Thirdparty
|
||||
DbContextManager<FilesDbContext> dbContextManager,
|
||||
IOptionsMonitor<ILog> options)
|
||||
{
|
||||
FilesDbContext = dbContextManager.Get(FileConstant.DatabaseId);
|
||||
LazyFilesDbContext = new Lazy<FilesDbContext>(() => dbContextManager.Get(FileConstant.DatabaseId));
|
||||
Logger = options.Get("ASC.Files");
|
||||
ServiceProvider = serviceProvider;
|
||||
TenantUtil = tenantUtil;
|
||||
|
@ -88,8 +88,9 @@ namespace ASC.Web.Files.ThirdPartyApp
|
||||
[Scope]
|
||||
public class TokenHelper
|
||||
{
|
||||
public ILog Logger { get; }
|
||||
private FilesDbContext FilesDbContext { get; }
|
||||
public ILog Logger { get; }
|
||||
private Lazy<FilesDbContext> LazyFilesDbContext { get; }
|
||||
private FilesDbContext FilesDbContext { get => LazyFilesDbContext.Value; }
|
||||
private InstanceCrypto InstanceCrypto { get; }
|
||||
private AuthContext AuthContext { get; }
|
||||
private TenantManager TenantManager { get; }
|
||||
@ -102,7 +103,7 @@ namespace ASC.Web.Files.ThirdPartyApp
|
||||
TenantManager tenantManager)
|
||||
{
|
||||
Logger = option.CurrentValue;
|
||||
FilesDbContext = dbContextManager.Get(FileConstant.DatabaseId);
|
||||
LazyFilesDbContext = new Lazy<FilesDbContext>(() => dbContextManager.Get(FileConstant.DatabaseId));
|
||||
InstanceCrypto = instanceCrypto;
|
||||
AuthContext = authContext;
|
||||
TenantManager = tenantManager;
|
||||
|
@ -16,8 +16,7 @@ using Microsoft.Extensions.Hosting;
|
||||
namespace ASC.Files
|
||||
{
|
||||
public class Startup : BaseStartup
|
||||
{
|
||||
public override string[] LogParams { get => new string[] { "ASC.Files" }; }
|
||||
{
|
||||
public override JsonConverter[] Converters { get => new JsonConverter[] { new FileEntryWrapperConverter() }; }
|
||||
|
||||
public Startup(IConfiguration configuration, IHostEnvironment hostEnvironment)
|
||||
|
@ -6,7 +6,6 @@ using ASC.Api.Core;
|
||||
using ASC.Common;
|
||||
using ASC.Common.Caching;
|
||||
using ASC.Common.DependencyInjection;
|
||||
using ASC.Common.Logging;
|
||||
using ASC.Common.Utils;
|
||||
using ASC.ElasticSearch;
|
||||
using ASC.Feed.Aggregator;
|
||||
@ -83,7 +82,6 @@ namespace ASC.Files.Service
|
||||
services.AddHostedService<Launcher>();
|
||||
diHelper.TryAdd<Launcher>();
|
||||
|
||||
LogNLogExtension.ConfigureLog(diHelper, "ASC.Files", "ASC.Feed.Agregator");
|
||||
//diHelper.TryAdd<FileConverter>();
|
||||
diHelper.TryAdd<FactoryIndexerFile>();
|
||||
diHelper.TryAdd<FactoryIndexerFolder>();
|
||||
|
@ -35,8 +35,10 @@ namespace ASC.Files.ThumbnailBuilder
|
||||
{
|
||||
private readonly ThumbnailSettings thumbnailSettings;
|
||||
private readonly ICache cache;
|
||||
private readonly FilesDbContext filesDbContext;
|
||||
private readonly CoreDbContext coreDbContext;
|
||||
private Lazy<FilesDbContext> LazyFilesDbContext { get; }
|
||||
private FilesDbContext filesDbContext { get => LazyFilesDbContext.Value; }
|
||||
private Lazy<CoreDbContext> LazyCoreDbContext { get; }
|
||||
private CoreDbContext coreDbContext { get => LazyCoreDbContext.Value; }
|
||||
private readonly string cacheKey;
|
||||
|
||||
public FileDataProvider(
|
||||
@ -48,8 +50,8 @@ namespace ASC.Files.ThumbnailBuilder
|
||||
{
|
||||
this.thumbnailSettings = thumbnailSettings;
|
||||
cache = ascCache;
|
||||
filesDbContext = dbContextManager.Get(thumbnailSettings.ConnectionStringName);
|
||||
coreDbContext = coredbContextManager.Get(thumbnailSettings.ConnectionStringName);
|
||||
LazyFilesDbContext = new Lazy<FilesDbContext>(() => dbContextManager.Get(thumbnailSettings.ConnectionStringName));
|
||||
LazyCoreDbContext = new Lazy<CoreDbContext>(() => coredbContextManager.Get(thumbnailSettings.ConnectionStringName));
|
||||
cacheKey = "PremiumTenants";
|
||||
}
|
||||
|
||||
|
@ -35,8 +35,7 @@
|
||||
"terser-webpack-plugin": "^5.1.1",
|
||||
"webpack": "5.14.0",
|
||||
"webpack-cli": "4.5.0",
|
||||
"webpack-dev-server": "3.11.2",
|
||||
"workbox-webpack-plugin": "^6.1.1"
|
||||
"webpack-dev-server": "3.11.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.12.5",
|
||||
|
3
products/ASC.Mail/Client/src/bootstrap.js
vendored
3
products/ASC.Mail/Client/src/bootstrap.js
vendored
@ -1,9 +1,8 @@
|
||||
import App from "./App";
|
||||
import React from "react";
|
||||
import ReactDOM from "react-dom";
|
||||
import config from "../package.json";
|
||||
import { registerSW } from "@appserver/common/utils/sw-helper";
|
||||
|
||||
ReactDOM.render(<App />, document.getElementById("root"));
|
||||
|
||||
registerSW(config.homepage);
|
||||
registerSW();
|
||||
|
@ -4,7 +4,6 @@ const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
const ModuleFederationPlugin = require("webpack").container
|
||||
.ModuleFederationPlugin;
|
||||
const TerserPlugin = require("terser-webpack-plugin");
|
||||
const { InjectManifest } = require("workbox-webpack-plugin");
|
||||
const combineUrl = require("@appserver/common/utils/combineUrl");
|
||||
const AppServerConfig = require("@appserver/common/constants/AppServerConfig");
|
||||
|
||||
@ -194,14 +193,6 @@ module.exports = (env, argv) => {
|
||||
minimize: true,
|
||||
minimizer: [new TerserPlugin()],
|
||||
};
|
||||
config.plugins.push(
|
||||
new InjectManifest({
|
||||
mode: "production", //"development",
|
||||
swSrc: "@appserver/common/utils/sw-template.js", // this is your sw template file
|
||||
swDest: "sw.js", // this will be created in the build step
|
||||
exclude: [/\.map$/, /manifest$/, /service-worker\.js$/],
|
||||
})
|
||||
);
|
||||
} else {
|
||||
config.devtool = "cheap-module-source-map";
|
||||
}
|
||||
|
@ -13,8 +13,6 @@ namespace ASC.Mail
|
||||
{
|
||||
public class Startup : BaseStartup
|
||||
{
|
||||
public override string[] LogParams { get => new string[] { "ASC.Mail" }; }
|
||||
|
||||
public Startup(IConfiguration configuration, IHostEnvironment hostEnvironment)
|
||||
: base(configuration, hostEnvironment)
|
||||
{
|
||||
|
@ -35,8 +35,7 @@
|
||||
"terser-webpack-plugin": "^5.1.1",
|
||||
"webpack": "5.14.0",
|
||||
"webpack-cli": "4.5.0",
|
||||
"webpack-dev-server": "3.11.2",
|
||||
"workbox-webpack-plugin": "^6.1.1"
|
||||
"webpack-dev-server": "3.11.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.12.5",
|
||||
|
3
products/ASC.People/Client/src/bootstrap.js
vendored
3
products/ASC.People/Client/src/bootstrap.js
vendored
@ -1,9 +1,8 @@
|
||||
import App from "./App";
|
||||
import React from "react";
|
||||
import ReactDOM from "react-dom";
|
||||
import config from "../package.json";
|
||||
import { registerSW } from "@appserver/common/utils/sw-helper";
|
||||
|
||||
ReactDOM.render(<App />, document.getElementById("root"));
|
||||
|
||||
registerSW(config.homepage);
|
||||
registerSW();
|
||||
|
@ -4,7 +4,6 @@ const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
const ModuleFederationPlugin = require("webpack").container
|
||||
.ModuleFederationPlugin;
|
||||
const TerserPlugin = require("terser-webpack-plugin");
|
||||
const { InjectManifest } = require("workbox-webpack-plugin");
|
||||
const combineUrl = require("@appserver/common/utils/combineUrl");
|
||||
const AppServerConfig = require("@appserver/common/constants/AppServerConfig");
|
||||
|
||||
@ -203,14 +202,6 @@ module.exports = (env, argv) => {
|
||||
minimize: true,
|
||||
minimizer: [new TerserPlugin()],
|
||||
};
|
||||
config.plugins.push(
|
||||
new InjectManifest({
|
||||
mode: "production", //"development",
|
||||
swSrc: "@appserver/common/utils/sw-template.js", // this is your sw template file
|
||||
swDest: "sw.js", // this will be created in the build step
|
||||
exclude: [/\.map$/, /manifest$/, /service-worker\.js$/],
|
||||
})
|
||||
);
|
||||
} else {
|
||||
config.devtool = "cheap-module-source-map";
|
||||
}
|
||||
|
@ -11,7 +11,6 @@ namespace ASC.People
|
||||
{
|
||||
public class Startup : BaseStartup
|
||||
{
|
||||
public override string[] LogParams { get => new string[] { "ASC.Api", "ASC.Web" }; }
|
||||
public override bool ConfirmAddScheme { get => true; }
|
||||
|
||||
public Startup(IConfiguration configuration, IHostEnvironment hostEnvironment) : base(configuration, hostEnvironment)
|
||||
|
@ -35,8 +35,7 @@
|
||||
"terser-webpack-plugin": "^5.1.1",
|
||||
"webpack": "5.14.0",
|
||||
"webpack-cli": "4.5.0",
|
||||
"webpack-dev-server": "3.11.2",
|
||||
"workbox-webpack-plugin": "^6.1.1"
|
||||
"webpack-dev-server": "3.11.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.12.5",
|
||||
|
@ -1,9 +1,8 @@
|
||||
import App from "./App";
|
||||
import React from "react";
|
||||
import ReactDOM from "react-dom";
|
||||
import config from "../package.json";
|
||||
import { registerSW } from "@appserver/common/utils/sw-helper";
|
||||
|
||||
ReactDOM.render(<App />, document.getElementById("root"));
|
||||
|
||||
registerSW(config.homepage);
|
||||
registerSW();
|
||||
|
@ -4,7 +4,6 @@ const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
const ModuleFederationPlugin = require("webpack").container
|
||||
.ModuleFederationPlugin;
|
||||
const TerserPlugin = require("terser-webpack-plugin");
|
||||
const { InjectManifest } = require("workbox-webpack-plugin");
|
||||
const combineUrl = require("@appserver/common/utils/combineUrl");
|
||||
const AppServerConfig = require("@appserver/common/constants/AppServerConfig");
|
||||
|
||||
@ -194,14 +193,6 @@ module.exports = (env, argv) => {
|
||||
minimize: true,
|
||||
minimizer: [new TerserPlugin()],
|
||||
};
|
||||
config.plugins.push(
|
||||
new InjectManifest({
|
||||
mode: "production", //"development",
|
||||
swSrc: "@appserver/common/utils/sw-template.js", // this is your sw template file
|
||||
swDest: "sw.js", // this will be created in the build step
|
||||
exclude: [/\.map$/, /manifest$/, /service-worker\.js$/],
|
||||
})
|
||||
);
|
||||
} else {
|
||||
config.devtool = "cheap-module-source-map";
|
||||
}
|
||||
|
@ -13,8 +13,6 @@ namespace ASC.Projects
|
||||
{
|
||||
public class Startup : BaseStartup
|
||||
{
|
||||
public override string[] LogParams { get => new string[] { "ASC.Projects" }; }
|
||||
|
||||
public Startup(IConfiguration configuration, IHostEnvironment hostEnvironment)
|
||||
: base(configuration, hostEnvironment)
|
||||
{
|
||||
|
@ -1,111 +0,0 @@
|
||||
const precacheVersion = 1;
|
||||
const precacheName = 'precache-v' + precacheVersion;
|
||||
const precacheFiles = [
|
||||
'/',
|
||||
'/bg-error.png',
|
||||
'/api/2.0/modules',
|
||||
'/api/2.0/people/info.json',
|
||||
'/api/2.0/people/@self.json',
|
||||
'/api/2.0/settings.json',
|
||||
];
|
||||
|
||||
self.addEventListener('install', (e) => {
|
||||
self.skipWaiting();
|
||||
|
||||
e.waitUntil(
|
||||
caches.open(precacheName).then((cache) => {
|
||||
return cache.addAll(precacheFiles);
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
self.addEventListener('activate', (e) => {
|
||||
e.waitUntil(
|
||||
caches.keys().then((cacheNames) => {
|
||||
return Promise.all(cacheNames.map((thisCacheName) => {
|
||||
|
||||
if (thisCacheName.includes("precache") && thisCacheName !== precacheName) {
|
||||
console.log('[ServiceWorker] Removing cached files from old cache - ', thisCacheName);
|
||||
return caches.delete(thisCacheName);
|
||||
}
|
||||
|
||||
}));
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
self.addEventListener('fetch', (e) => {
|
||||
e.respondWith(
|
||||
fetch(e.request)
|
||||
.then((fetchResponse) => {
|
||||
e.waitUntil(
|
||||
update(e.request).then(refresh)
|
||||
);
|
||||
return fetchResponse;
|
||||
})
|
||||
.catch((err) => {
|
||||
return caches.match(e.request)
|
||||
.then((cachesResponse) =>{
|
||||
if(cachesResponse){
|
||||
return cachesResponse;
|
||||
}else{
|
||||
return useFallback();
|
||||
}
|
||||
})
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
function update(request) {
|
||||
return caches.open(precacheName).then((cache) =>
|
||||
{
|
||||
caches.match(request).then((cachesResponse) => {
|
||||
if(cachesResponse){
|
||||
fetch(request).then((response) =>
|
||||
cache.put(request, response.clone()).then(() => response)
|
||||
).catch((err) => console.log(`[ServiceWorker] ${err}`));
|
||||
}
|
||||
})
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
const fallback =
|
||||
'<div style="cursor: default;background: url(/bg-error.png);width: 100%;height: 310px;padding: 315px 0 0;background-repeat: no-repeat;background-position: 50%;'+
|
||||
'margin-top: -325px;'+
|
||||
'position: absolute;'+
|
||||
'left: 0;'+
|
||||
'top: 50%;'+
|
||||
'z-index: 1;">'+
|
||||
'<div style="width: 310px;'+
|
||||
'margin: 0 auto;'+
|
||||
'padding-left: 38px;'+
|
||||
'text-align: center;'+
|
||||
'font: normal 24px/35px Tahoma;'+
|
||||
'color: #275678;'+
|
||||
'position: relative;">\n'+
|
||||
'<p>No internet connection found.</p>\n'+
|
||||
'</div>\n'+
|
||||
'</div>';
|
||||
|
||||
function useFallback() {
|
||||
return Promise.resolve(new Response(fallback, { headers: {
|
||||
'Content-Type': 'text/html; charset=utf-8'
|
||||
}}));
|
||||
}
|
||||
|
||||
function refresh(response) {
|
||||
|
||||
//Send data update messages to all clients
|
||||
|
||||
/*return self.clients.matchAll().then((clients) => {
|
||||
clients.forEach((client) => {
|
||||
const message = {
|
||||
type: 'refresh',
|
||||
url: response.url,
|
||||
eTag: response.headers.get('ETag')
|
||||
};
|
||||
client.postMessage(JSON.stringify(message));
|
||||
});
|
||||
});*/
|
||||
}
|
@ -11,7 +11,6 @@ namespace ASC.Web.Api
|
||||
{
|
||||
public class Startup : BaseStartup
|
||||
{
|
||||
public override string[] LogParams { get => new string[] { "ASC.Api", "ASC.Web" }; }
|
||||
public override bool ConfirmAddScheme { get => true; }
|
||||
|
||||
public Startup(IConfiguration configuration, IHostEnvironment hostEnvironment) : base(configuration, hostEnvironment)
|
||||
|
@ -34,8 +34,7 @@
|
||||
"terser-webpack-plugin": "^5.1.1",
|
||||
"webpack": "5.14.0",
|
||||
"webpack-cli": "4.5.0",
|
||||
"webpack-dev-server": "3.11.2",
|
||||
"workbox-webpack-plugin": "^6.1.1"
|
||||
"webpack-dev-server": "3.11.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.12.5",
|
||||
|
3
web/ASC.Web.Client/src/bootstrap.js
vendored
3
web/ASC.Web.Client/src/bootstrap.js
vendored
@ -1,9 +1,8 @@
|
||||
import React from "react";
|
||||
import ReactDOM from "react-dom";
|
||||
import App from "./App";
|
||||
import config from "../package.json";
|
||||
import { registerSW } from "@appserver/common/utils/sw-helper";
|
||||
|
||||
ReactDOM.render(<App />, document.getElementById("root"));
|
||||
|
||||
registerSW(config.homepage);
|
||||
registerSW();
|
||||
|
@ -4,7 +4,6 @@ const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
const ModuleFederationPlugin = require("webpack").container
|
||||
.ModuleFederationPlugin;
|
||||
const TerserPlugin = require("terser-webpack-plugin");
|
||||
const { InjectManifest } = require("workbox-webpack-plugin");
|
||||
const combineUrl = require("@appserver/common/utils/combineUrl");
|
||||
const AppServerConfig = require("@appserver/common/constants/AppServerConfig");
|
||||
|
||||
@ -215,15 +214,6 @@ module.exports = (env, argv) => {
|
||||
}),
|
||||
],
|
||||
};
|
||||
|
||||
config.plugins.push(
|
||||
new InjectManifest({
|
||||
mode: "production", //"development",
|
||||
swSrc: "@appserver/common/utils/sw-template.js", // this is your sw template file
|
||||
swDest: "sw.js", // this will be created in the build step
|
||||
exclude: [/\.map$/, /manifest$/, /service-worker\.js$/],
|
||||
})
|
||||
);
|
||||
} else {
|
||||
config.devtool = "cheap-module-source-map";
|
||||
}
|
||||
|
@ -41,7 +41,9 @@ namespace ASC.Web.Core.Files
|
||||
[Scope]
|
||||
public class FileUtility
|
||||
{
|
||||
private DbContextManager<FilesDbContext> FilesDbContext { get; set; }
|
||||
private Lazy<FilesDbContext> LazyFilesDbContext { get; }
|
||||
private FilesDbContext FilesDbContext { get => LazyFilesDbContext.Value; }
|
||||
|
||||
public FileUtility(
|
||||
IConfiguration configuration,
|
||||
FilesLinkUtility filesLinkUtility,
|
||||
@ -49,7 +51,7 @@ namespace ASC.Web.Core.Files
|
||||
{
|
||||
Configuration = configuration;
|
||||
FilesLinkUtility = filesLinkUtility;
|
||||
FilesDbContext = dbContextManager;
|
||||
LazyFilesDbContext = new Lazy<FilesDbContext>(() => dbContextManager.Get("files"));
|
||||
CanForcesave = GetCanForcesave();
|
||||
}
|
||||
|
||||
@ -178,9 +180,7 @@ namespace ASC.Web.Core.Files
|
||||
_extsConvertible = new Dictionary<string, List<string>>();
|
||||
if (string.IsNullOrEmpty(FilesLinkUtility.DocServiceConverterUrl)) return _extsConvertible;
|
||||
|
||||
const string databaseId = "files";
|
||||
|
||||
var dbManager = FilesDbContext.Get(databaseId);
|
||||
var dbManager = FilesDbContext;
|
||||
var list = dbManager.FilesConverts.Select(r => new { r.Input, r.Output }).ToList();
|
||||
|
||||
|
||||
|
@ -78,7 +78,8 @@ namespace ASC.Web.Core.Mail
|
||||
private CoreBaseSettings CoreBaseSettings { get; }
|
||||
public MailServiceHelperStorage MailServiceHelperStorage { get; }
|
||||
private EFLoggerFactory LoggerFactory { get; }
|
||||
private MailDbContext MailDbContext { get; }
|
||||
private Lazy<MailDbContext> LazyMailDbContext { get; }
|
||||
private MailDbContext MailDbContext { get => LazyMailDbContext.Value; }
|
||||
private ICache Cache { get; }
|
||||
|
||||
public MailServiceHelper(
|
||||
@ -97,7 +98,7 @@ namespace ASC.Web.Core.Mail
|
||||
CoreBaseSettings = coreBaseSettings;
|
||||
MailServiceHelperStorage = mailServiceHelperStorage;
|
||||
LoggerFactory = loggerFactory;
|
||||
MailDbContext = dbContext.Get("webstudio");
|
||||
LazyMailDbContext = new Lazy<MailDbContext>(() => dbContext.Get("webstudio"));
|
||||
Cache = mailServiceHelperStorage.Cache;
|
||||
DefaultDatabase = GetDefaultDatabase();
|
||||
}
|
||||
|
@ -38,11 +38,12 @@ namespace ASC.Web.Core.Mobile
|
||||
[Scope]
|
||||
public class MobileAppInstallRegistrator : IMobileAppInstallRegistrator
|
||||
{
|
||||
private DbContext DbContext { get; }
|
||||
private Lazy<DbContext> LazyDbContext { get; }
|
||||
private DbContext DbContext { get => LazyDbContext.Value; }
|
||||
|
||||
public MobileAppInstallRegistrator(DbContextManager<DbContext> dbContext)
|
||||
{
|
||||
DbContext = dbContext.Value;
|
||||
LazyDbContext = new Lazy<DbContext>(() => dbContext.Value);
|
||||
}
|
||||
|
||||
public void RegisterInstall(string userEmail, MobileAppType appType)
|
||||
|
@ -45,11 +45,12 @@ namespace ASC.Web.Studio.Core.Statistic
|
||||
private static readonly TimeSpan cacheTime = TimeSpan.FromMinutes(2);
|
||||
private static readonly IDictionary<string, UserVisit> cache = new Dictionary<string, UserVisit>();
|
||||
|
||||
private WebstudioDbContext WebstudioDbContext { get; }
|
||||
private Lazy<WebstudioDbContext> LazyWebstudioDbContext { get; }
|
||||
private WebstudioDbContext WebstudioDbContext { get => LazyWebstudioDbContext.Value; }
|
||||
|
||||
public StatisticManager(DbContextManager<WebstudioDbContext> dbContextManager)
|
||||
{
|
||||
WebstudioDbContext = dbContextManager.Value;
|
||||
LazyWebstudioDbContext = new Lazy<WebstudioDbContext>(() => dbContextManager.Value);
|
||||
}
|
||||
|
||||
public void SaveUserVisit(int tenantID, Guid userID, Guid productID)
|
||||
|
@ -34,8 +34,7 @@
|
||||
"terser-webpack-plugin": "^5.1.1",
|
||||
"webpack": "5.14.0",
|
||||
"webpack-cli": "4.5.0",
|
||||
"webpack-dev-server": "3.11.2",
|
||||
"workbox-webpack-plugin": "^6.1.1"
|
||||
"webpack-dev-server": "3.11.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.13.9",
|
||||
|
3
web/ASC.Web.Editor/src/bootstrap.js
vendored
3
web/ASC.Web.Editor/src/bootstrap.js
vendored
@ -1,9 +1,8 @@
|
||||
import React from "react";
|
||||
import ReactDOM from "react-dom";
|
||||
import App from "./App";
|
||||
import config from "../package.json";
|
||||
import { registerSW } from "@appserver/common/utils/sw-helper";
|
||||
|
||||
ReactDOM.render(<App />, document.getElementById("root"));
|
||||
|
||||
registerSW(config.homepage);
|
||||
registerSW();
|
||||
|
@ -4,7 +4,6 @@ const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
const ModuleFederationPlugin = require("webpack").container
|
||||
.ModuleFederationPlugin;
|
||||
const TerserPlugin = require("terser-webpack-plugin");
|
||||
const { InjectManifest } = require("workbox-webpack-plugin");
|
||||
const combineUrl = require("@appserver/common/utils/combineUrl");
|
||||
const AppServerConfig = require("@appserver/common/constants/AppServerConfig");
|
||||
const { proxyURL } = AppServerConfig;
|
||||
@ -197,14 +196,6 @@ module.exports = (env, argv) => {
|
||||
minimize: true,
|
||||
minimizer: [new TerserPlugin()],
|
||||
};
|
||||
config.plugins.push(
|
||||
new InjectManifest({
|
||||
mode: "production", //"development",
|
||||
swSrc: "@appserver/common/utils/sw-template.js", // this is your sw template file
|
||||
swDest: "sw.js", // this will be created in the build step
|
||||
exclude: [/\.map$/, /manifest$/, /service-worker\.js$/],
|
||||
})
|
||||
);
|
||||
} else {
|
||||
config.devtool = "cheap-module-source-map";
|
||||
}
|
||||
|
@ -35,8 +35,7 @@
|
||||
"terser-webpack-plugin": "^5.1.1",
|
||||
"webpack": "5.14.0",
|
||||
"webpack-cli": "4.5.0",
|
||||
"webpack-dev-server": "3.11.2",
|
||||
"workbox-webpack-plugin": "^6.1.1"
|
||||
"webpack-dev-server": "3.11.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.12.5",
|
||||
|
3
web/ASC.Web.Login/src/bootstrap.js
vendored
3
web/ASC.Web.Login/src/bootstrap.js
vendored
@ -1,9 +1,8 @@
|
||||
import React from "react";
|
||||
import ReactDOM from "react-dom";
|
||||
import App from "./App";
|
||||
import config from "../package.json";
|
||||
import { registerSW } from "@appserver/common/utils/sw-helper";
|
||||
|
||||
ReactDOM.render(<App />, document.getElementById("root"));
|
||||
|
||||
registerSW(config.homepage);
|
||||
registerSW();
|
||||
|
@ -4,7 +4,6 @@ const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
const ModuleFederationPlugin = require("webpack").container
|
||||
.ModuleFederationPlugin;
|
||||
const TerserPlugin = require("terser-webpack-plugin");
|
||||
const { InjectManifest } = require("workbox-webpack-plugin");
|
||||
const combineUrl = require("@appserver/common/utils/combineUrl");
|
||||
const AppServerConfig = require("@appserver/common/constants/AppServerConfig");
|
||||
const { proxyURL } = AppServerConfig;
|
||||
@ -196,14 +195,6 @@ module.exports = (env, argv) => {
|
||||
minimize: true,
|
||||
minimizer: [new TerserPlugin()],
|
||||
};
|
||||
config.plugins.push(
|
||||
new InjectManifest({
|
||||
mode: "production", //"development",
|
||||
swSrc: "@appserver/common/utils/sw-template.js", // this is your sw template file
|
||||
swDest: "sw.js", // this will be created in the build step
|
||||
exclude: [/\.map$/, /manifest$/, /service-worker\.js$/],
|
||||
})
|
||||
);
|
||||
} else {
|
||||
config.devtool = "cheap-module-source-map";
|
||||
}
|
||||
|
@ -15,9 +15,7 @@ using Microsoft.Extensions.Hosting;
|
||||
namespace ASC.Web.Studio
|
||||
{
|
||||
public class Startup : BaseStartup
|
||||
{
|
||||
public override string[] LogParams { get => new string[] { "ASC.Web" }; }
|
||||
|
||||
{
|
||||
public Startup(IConfiguration configuration, IHostEnvironment hostEnvironment) : base(configuration, hostEnvironment)
|
||||
{
|
||||
}
|
||||
|
475
yarn.lock
475
yarn.lock
@ -3202,6 +3202,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.3.tgz#5405ee8e444ed212db44e79351f0c70a582aae25"
|
||||
integrity sha512-DetpxZw1fzPD5xUBrIAoplLChO2VB8DlL5Gg+I1IR9b2wPqYIca2WSUxL5g1vLeR4MsQq1NeWriXAVffV+U1Fw==
|
||||
|
||||
"@sindresorhus/is@^0.14.0":
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
|
||||
integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
|
||||
|
||||
"@storybook/addon-actions@6.3.0":
|
||||
version "6.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-6.3.0.tgz#e5a24c69d70da9aa98560f19d10c06a50495ca2e"
|
||||
@ -4193,6 +4198,13 @@
|
||||
"@svgr/plugin-svgo" "^5.5.0"
|
||||
loader-utils "^2.0.0"
|
||||
|
||||
"@szmarczak/http-timer@^1.1.2":
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421"
|
||||
integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==
|
||||
dependencies:
|
||||
defer-to-connect "^1.0.1"
|
||||
|
||||
"@tanem/svg-injector@^9.0.1":
|
||||
version "9.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@tanem/svg-injector/-/svg-injector-9.0.5.tgz#41a104301a812abc99caf89879eb355f5ea69087"
|
||||
@ -5355,6 +5367,11 @@ array-differ@^2.0.3:
|
||||
resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-2.1.0.tgz#4b9c1c3f14b906757082925769e8ab904f4801b1"
|
||||
integrity sha512-KbUpJgx909ZscOc/7CLATBFam7P1Z1QRQInvgT0UztM9Q72aGKCunKASAl7WNW0tnPmPyEMeMhdsfWhfmW037w==
|
||||
|
||||
array-each@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f"
|
||||
integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8=
|
||||
|
||||
array-equal@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93"
|
||||
@ -5396,6 +5413,11 @@ array-includes@^3.0.3, array-includes@^3.1.2, array-includes@^3.1.3:
|
||||
get-intrinsic "^1.1.1"
|
||||
is-string "^1.0.5"
|
||||
|
||||
array-slice@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4"
|
||||
integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==
|
||||
|
||||
array-union@^1.0.1, array-union@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
|
||||
@ -5518,6 +5540,16 @@ astral-regex@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
|
||||
integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
|
||||
|
||||
async-done@^1.2.0:
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.3.2.tgz#5e15aa729962a4b07414f528a88cdf18e0b290a2"
|
||||
integrity sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==
|
||||
dependencies:
|
||||
end-of-stream "^1.1.0"
|
||||
once "^1.3.2"
|
||||
process-nextick-args "^2.0.0"
|
||||
stream-exhaust "^1.0.1"
|
||||
|
||||
async-each@^1.0.1:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
|
||||
@ -5855,7 +5887,7 @@ balanced-match@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
||||
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
|
||||
|
||||
base64-js@^1.0.2:
|
||||
base64-js@^1.0.2, base64-js@^1.3.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
|
||||
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
|
||||
@ -5924,6 +5956,15 @@ bindings@^1.5.0:
|
||||
dependencies:
|
||||
file-uri-to-path "1.0.0"
|
||||
|
||||
bl@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
|
||||
integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
|
||||
dependencies:
|
||||
buffer "^5.5.0"
|
||||
inherits "^2.0.4"
|
||||
readable-stream "^3.4.0"
|
||||
|
||||
bluebird@^3.3.5, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5:
|
||||
version "3.7.2"
|
||||
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
|
||||
@ -6165,6 +6206,14 @@ buffer@^4.3.0:
|
||||
ieee754 "^1.1.4"
|
||||
isarray "^1.0.0"
|
||||
|
||||
buffer@^5.5.0:
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
|
||||
integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
|
||||
dependencies:
|
||||
base64-js "^1.3.1"
|
||||
ieee754 "^1.1.13"
|
||||
|
||||
builtin-modules@^3.1.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887"
|
||||
@ -6259,6 +6308,19 @@ cache-base@^1.0.1:
|
||||
union-value "^1.0.0"
|
||||
unset-value "^1.0.0"
|
||||
|
||||
cacheable-request@^6.0.0:
|
||||
version "6.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912"
|
||||
integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==
|
||||
dependencies:
|
||||
clone-response "^1.0.2"
|
||||
get-stream "^5.1.0"
|
||||
http-cache-semantics "^4.0.0"
|
||||
keyv "^3.0.0"
|
||||
lowercase-keys "^2.0.0"
|
||||
normalize-url "^4.1.0"
|
||||
responselike "^1.0.2"
|
||||
|
||||
call-bind@^1.0.0, call-bind@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
|
||||
@ -6496,7 +6558,7 @@ cheerio@^1.0.0-rc.3:
|
||||
optionalDependencies:
|
||||
fsevents "~2.3.1"
|
||||
|
||||
chokidar@^2.1.8:
|
||||
chokidar@^2.0.0, chokidar@^2.1.8:
|
||||
version "2.1.8"
|
||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
|
||||
integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
|
||||
@ -6614,6 +6676,11 @@ cli-cursor@^3.1.0:
|
||||
dependencies:
|
||||
restore-cursor "^3.1.0"
|
||||
|
||||
cli-spinners@^2.5.0:
|
||||
version "2.6.0"
|
||||
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939"
|
||||
integrity sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==
|
||||
|
||||
cli-table3@0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.0.tgz#b7b1bc65ca8e7b5cef9124e13dc2b21e2ce4faee"
|
||||
@ -6669,6 +6736,13 @@ clone-deep@^4.0.1:
|
||||
kind-of "^6.0.2"
|
||||
shallow-clone "^3.0.0"
|
||||
|
||||
clone-response@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b"
|
||||
integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=
|
||||
dependencies:
|
||||
mimic-response "^1.0.0"
|
||||
|
||||
clone@^1.0.2:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
|
||||
@ -6931,6 +7005,18 @@ config-chain@^1.1.11:
|
||||
ini "^1.3.4"
|
||||
proto-list "~1.2.1"
|
||||
|
||||
configstore@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96"
|
||||
integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==
|
||||
dependencies:
|
||||
dot-prop "^5.2.0"
|
||||
graceful-fs "^4.1.2"
|
||||
make-dir "^3.0.0"
|
||||
unique-string "^2.0.0"
|
||||
write-file-atomic "^3.0.0"
|
||||
xdg-basedir "^4.0.0"
|
||||
|
||||
connect-history-api-fallback@^1.6.0:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc"
|
||||
@ -7567,6 +7653,13 @@ decode-uri-component@^0.2.0:
|
||||
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
|
||||
integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
|
||||
|
||||
decompress-response@^3.3.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
|
||||
integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=
|
||||
dependencies:
|
||||
mimic-response "^1.0.0"
|
||||
|
||||
dedent@^0.7.0:
|
||||
version "0.7.0"
|
||||
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
|
||||
@ -7626,6 +7719,11 @@ defaults@^1.0.3:
|
||||
dependencies:
|
||||
clone "^1.0.2"
|
||||
|
||||
defer-to-connect@^1.0.1:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
|
||||
integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==
|
||||
|
||||
define-properties@^1.1.2, define-properties@^1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
|
||||
@ -7960,7 +8058,7 @@ dot-prop@^4.2.0:
|
||||
dependencies:
|
||||
is-obj "^1.0.0"
|
||||
|
||||
dot-prop@^5.1.0:
|
||||
dot-prop@^5.1.0, dot-prop@^5.2.0:
|
||||
version "5.3.0"
|
||||
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
|
||||
integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
|
||||
@ -8006,6 +8104,11 @@ downshift@^6.0.15:
|
||||
prop-types "^15.7.2"
|
||||
react-is "^17.0.2"
|
||||
|
||||
duplexer3@^0.1.4:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2"
|
||||
integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=
|
||||
|
||||
duplexer@^0.1.1:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
|
||||
@ -8344,6 +8447,11 @@ escalade@^3.0.2, escalade@^3.1.1:
|
||||
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
|
||||
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
|
||||
|
||||
escape-goat@^2.0.0:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675"
|
||||
integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==
|
||||
|
||||
escape-html@~1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
|
||||
@ -9068,11 +9176,18 @@ for-each@^0.3.3:
|
||||
dependencies:
|
||||
is-callable "^1.1.3"
|
||||
|
||||
for-in@^1.0.2:
|
||||
for-in@^1.0.1, for-in@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
|
||||
integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
|
||||
|
||||
for-own@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b"
|
||||
integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=
|
||||
dependencies:
|
||||
for-in "^1.0.1"
|
||||
|
||||
forever-agent@~0.6.1:
|
||||
version "0.6.1"
|
||||
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
|
||||
@ -9384,6 +9499,13 @@ get-stream@^4.0.0, get-stream@^4.1.0:
|
||||
dependencies:
|
||||
pump "^3.0.0"
|
||||
|
||||
get-stream@^5.1.0:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
|
||||
integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
|
||||
dependencies:
|
||||
pump "^3.0.0"
|
||||
|
||||
get-stream@^6.0.0:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
|
||||
@ -9504,6 +9626,19 @@ glob-to-regexp@^0.4.1:
|
||||
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
|
||||
integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
|
||||
|
||||
glob-watcher@^5.0.5:
|
||||
version "5.0.5"
|
||||
resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.5.tgz#aa6bce648332924d9a8489be41e3e5c52d4186dc"
|
||||
integrity sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==
|
||||
dependencies:
|
||||
anymatch "^2.0.0"
|
||||
async-done "^1.2.0"
|
||||
chokidar "^2.0.0"
|
||||
is-negated-glob "^1.0.0"
|
||||
just-debounce "^1.0.0"
|
||||
normalize-path "^3.0.0"
|
||||
object.defaults "^1.1.0"
|
||||
|
||||
glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
|
||||
version "7.1.7"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
|
||||
@ -9516,6 +9651,13 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, gl
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
global-dirs@^2.0.1:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d"
|
||||
integrity sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==
|
||||
dependencies:
|
||||
ini "1.3.7"
|
||||
|
||||
global-modules@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780"
|
||||
@ -9627,6 +9769,23 @@ good-listener@^1.2.2:
|
||||
dependencies:
|
||||
delegate "^3.1.2"
|
||||
|
||||
got@^9.6.0:
|
||||
version "9.6.0"
|
||||
resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85"
|
||||
integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==
|
||||
dependencies:
|
||||
"@sindresorhus/is" "^0.14.0"
|
||||
"@szmarczak/http-timer" "^1.1.2"
|
||||
cacheable-request "^6.0.0"
|
||||
decompress-response "^3.3.0"
|
||||
duplexer3 "^0.1.4"
|
||||
get-stream "^4.1.0"
|
||||
lowercase-keys "^1.0.1"
|
||||
mimic-response "^1.0.1"
|
||||
p-cancelable "^1.0.0"
|
||||
to-readable-stream "^1.0.0"
|
||||
url-parse-lax "^3.0.0"
|
||||
|
||||
graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4:
|
||||
version "4.2.6"
|
||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
|
||||
@ -9760,6 +9919,11 @@ has-values@^1.0.0:
|
||||
is-number "^3.0.0"
|
||||
kind-of "^4.0.0"
|
||||
|
||||
has-yarn@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77"
|
||||
integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==
|
||||
|
||||
has@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
|
||||
@ -10064,6 +10228,11 @@ http-cache-semantics@^3.8.1:
|
||||
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2"
|
||||
integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==
|
||||
|
||||
http-cache-semantics@^4.0.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
|
||||
integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
|
||||
|
||||
http-deceiver@^1.2.7:
|
||||
version "1.2.7"
|
||||
resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
|
||||
@ -10207,7 +10376,7 @@ idb@3.0.2:
|
||||
resolved "https://registry.yarnpkg.com/idb/-/idb-3.0.2.tgz#c8e9122d5ddd40f13b60ae665e4862f8b13fa384"
|
||||
integrity sha512-+FLa/0sTXqyux0o6C+i2lOR0VoS60LU/jzUo5xjfY6+7sEEgy4Gz1O7yFBXvjd7N0NyIGWIRg8DcQSLEG+VSPw==
|
||||
|
||||
ieee754@^1.1.4:
|
||||
ieee754@^1.1.13, ieee754@^1.1.4:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
|
||||
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
|
||||
@ -10255,6 +10424,11 @@ import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1:
|
||||
parent-module "^1.0.0"
|
||||
resolve-from "^4.0.0"
|
||||
|
||||
import-lazy@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
|
||||
integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=
|
||||
|
||||
import-local@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d"
|
||||
@ -10321,6 +10495,11 @@ inherits@2.0.3:
|
||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
|
||||
integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
|
||||
|
||||
ini@1.3.7:
|
||||
version "1.3.7"
|
||||
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84"
|
||||
integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==
|
||||
|
||||
ini@^1.3.2, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
|
||||
version "1.3.8"
|
||||
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
|
||||
@ -10364,7 +10543,7 @@ inquirer@^6.2.0:
|
||||
strip-ansi "^5.1.0"
|
||||
through "^2.3.6"
|
||||
|
||||
inquirer@^7.0.0:
|
||||
inquirer@^7.0.0, inquirer@^7.3.3:
|
||||
version "7.3.3"
|
||||
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003"
|
||||
integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==
|
||||
@ -10673,6 +10852,19 @@ is-hexadecimal@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
|
||||
integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
|
||||
|
||||
is-installed-globally@^0.3.1:
|
||||
version "0.3.2"
|
||||
resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141"
|
||||
integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==
|
||||
dependencies:
|
||||
global-dirs "^2.0.1"
|
||||
is-path-inside "^3.0.1"
|
||||
|
||||
is-interactive@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e"
|
||||
integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==
|
||||
|
||||
is-map@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127"
|
||||
@ -10683,11 +10875,21 @@ is-module@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
|
||||
integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=
|
||||
|
||||
is-negated-glob@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2"
|
||||
integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=
|
||||
|
||||
is-negative-zero@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"
|
||||
integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==
|
||||
|
||||
is-npm@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d"
|
||||
integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==
|
||||
|
||||
is-number-object@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197"
|
||||
@ -10739,6 +10941,11 @@ is-path-inside@^2.1.0:
|
||||
dependencies:
|
||||
path-is-inside "^1.0.2"
|
||||
|
||||
is-path-inside@^3.0.1:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
|
||||
integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
|
||||
|
||||
is-plain-obj@^1.0.0, is-plain-obj@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
|
||||
@ -10835,6 +11042,11 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
|
||||
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
|
||||
|
||||
is-unicode-supported@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
|
||||
integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
|
||||
|
||||
is-utf8@^0.2.0:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
|
||||
@ -10872,6 +11084,11 @@ is-wsl@^2.1.1:
|
||||
dependencies:
|
||||
is-docker "^2.0.0"
|
||||
|
||||
is-yarn-global@^0.3.0:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232"
|
||||
integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==
|
||||
|
||||
isarray@0.0.1:
|
||||
version "0.0.1"
|
||||
resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
|
||||
@ -11503,6 +11720,11 @@ jsesc@~0.5.0:
|
||||
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
|
||||
integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
|
||||
|
||||
json-buffer@3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
|
||||
integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
|
||||
|
||||
json-loader@^0.5.7:
|
||||
version "0.5.7"
|
||||
resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d"
|
||||
@ -11608,6 +11830,11 @@ junk@^3.1.0:
|
||||
resolved "https://registry.yarnpkg.com/junk/-/junk-3.1.0.tgz#31499098d902b7e98c5d9b9c80f43457a88abfa1"
|
||||
integrity sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==
|
||||
|
||||
just-debounce@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.1.0.tgz#2f81a3ad4121a76bc7cb45dbf704c0d76a8e5ddf"
|
||||
integrity sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==
|
||||
|
||||
keycode@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz#3d0af56dc7b8b8e5cba8d0a97f107204eec22b04"
|
||||
@ -11622,6 +11849,13 @@ keycon@^1.1.2:
|
||||
"@scena/event-emitter" "^1.0.2"
|
||||
keycode "^2.2.0"
|
||||
|
||||
keyv@^3.0.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
|
||||
integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==
|
||||
dependencies:
|
||||
json-buffer "3.0.0"
|
||||
|
||||
killable@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"
|
||||
@ -11668,6 +11902,13 @@ klona@^2.0.4:
|
||||
resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0"
|
||||
integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==
|
||||
|
||||
latest-version@^5.0.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face"
|
||||
integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==
|
||||
dependencies:
|
||||
package-json "^6.3.0"
|
||||
|
||||
lazy-universal-dotenv@^3.0.1:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lazy-universal-dotenv/-/lazy-universal-dotenv-3.0.1.tgz#a6c8938414bca426ab8c9463940da451a911db38"
|
||||
@ -11981,6 +12222,14 @@ lodash@4.17.21, lodash@^4, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lo
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
|
||||
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
|
||||
|
||||
log-symbols@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
|
||||
integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
|
||||
dependencies:
|
||||
chalk "^4.1.0"
|
||||
is-unicode-supported "^0.1.0"
|
||||
|
||||
loglevel@^1.6.8:
|
||||
version "1.7.1"
|
||||
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197"
|
||||
@ -12013,6 +12262,16 @@ lower-case@^2.0.2:
|
||||
dependencies:
|
||||
tslib "^2.0.3"
|
||||
|
||||
lowercase-keys@^1.0.0, lowercase-keys@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
|
||||
integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
|
||||
|
||||
lowercase-keys@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
|
||||
integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
|
||||
|
||||
lowlight@^1.14.0:
|
||||
version "1.20.0"
|
||||
resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.20.0.tgz#ddb197d33462ad0d93bf19d17b6c301aa3941888"
|
||||
@ -12292,6 +12551,23 @@ meow@^4.0.0:
|
||||
redent "^2.0.0"
|
||||
trim-newlines "^2.0.0"
|
||||
|
||||
meow@^7.1.0:
|
||||
version "7.1.1"
|
||||
resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306"
|
||||
integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==
|
||||
dependencies:
|
||||
"@types/minimist" "^1.2.0"
|
||||
camelcase-keys "^6.2.2"
|
||||
decamelize-keys "^1.1.0"
|
||||
hard-rejection "^2.1.0"
|
||||
minimist-options "4.1.0"
|
||||
normalize-package-data "^2.5.0"
|
||||
read-pkg-up "^7.0.1"
|
||||
redent "^3.0.0"
|
||||
trim-newlines "^3.0.0"
|
||||
type-fest "^0.13.1"
|
||||
yargs-parser "^18.1.3"
|
||||
|
||||
meow@^8.0.0:
|
||||
version "8.1.2"
|
||||
resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897"
|
||||
@ -12413,6 +12689,11 @@ mimic-fn@^2.1.0:
|
||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
|
||||
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
|
||||
|
||||
mimic-response@^1.0.0, mimic-response@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
|
||||
integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
|
||||
|
||||
min-document@^2.19.0:
|
||||
version "2.19.0"
|
||||
resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
|
||||
@ -12901,6 +13182,11 @@ normalize-url@^3.3.0:
|
||||
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
|
||||
integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
|
||||
|
||||
normalize-url@^4.1.0:
|
||||
version "4.5.1"
|
||||
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a"
|
||||
integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==
|
||||
|
||||
npm-bundled@^1.0.1:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1"
|
||||
@ -13062,6 +13348,16 @@ object.assign@^4.1.0, object.assign@^4.1.2:
|
||||
has-symbols "^1.0.1"
|
||||
object-keys "^1.1.1"
|
||||
|
||||
object.defaults@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf"
|
||||
integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=
|
||||
dependencies:
|
||||
array-each "^1.0.1"
|
||||
array-slice "^1.0.0"
|
||||
for-own "^1.0.0"
|
||||
isobject "^3.0.0"
|
||||
|
||||
object.entries@^1.1.0, object.entries@^1.1.1, object.entries@^1.1.2, object.entries@^1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6"
|
||||
@ -13135,7 +13431,7 @@ on-headers@~1.0.1, on-headers@~1.0.2:
|
||||
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
|
||||
integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
|
||||
|
||||
once@^1.3.0, once@^1.3.1, once@^1.4.0:
|
||||
once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
||||
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
|
||||
@ -13183,6 +13479,21 @@ optionator@^0.8.1, optionator@^0.8.3:
|
||||
type-check "~0.3.2"
|
||||
word-wrap "~1.2.3"
|
||||
|
||||
ora@^5.0.0:
|
||||
version "5.4.1"
|
||||
resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18"
|
||||
integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==
|
||||
dependencies:
|
||||
bl "^4.1.0"
|
||||
chalk "^4.1.0"
|
||||
cli-cursor "^3.1.0"
|
||||
cli-spinners "^2.5.0"
|
||||
is-interactive "^1.0.0"
|
||||
is-unicode-supported "^0.1.0"
|
||||
log-symbols "^4.1.0"
|
||||
strip-ansi "^6.0.0"
|
||||
wcwidth "^1.0.1"
|
||||
|
||||
original@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f"
|
||||
@ -13240,6 +13551,11 @@ p-all@^2.1.0:
|
||||
dependencies:
|
||||
p-map "^2.0.0"
|
||||
|
||||
p-cancelable@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
|
||||
integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
|
||||
|
||||
p-each-series@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71"
|
||||
@ -13389,6 +13705,16 @@ p-waterfall@^1.0.0:
|
||||
dependencies:
|
||||
p-reduce "^1.0.0"
|
||||
|
||||
package-json@^6.3.0:
|
||||
version "6.5.0"
|
||||
resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0"
|
||||
integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==
|
||||
dependencies:
|
||||
got "^9.6.0"
|
||||
registry-auth-token "^4.0.0"
|
||||
registry-url "^5.0.0"
|
||||
semver "^6.2.0"
|
||||
|
||||
pako@~1.0.5:
|
||||
version "1.0.11"
|
||||
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
|
||||
@ -13858,6 +14184,11 @@ prelude-ls@~1.1.2:
|
||||
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
|
||||
integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
|
||||
|
||||
prepend-http@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
|
||||
integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
|
||||
|
||||
prettier@2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5"
|
||||
@ -13868,7 +14199,7 @@ prettier@~2.2.1:
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5"
|
||||
integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==
|
||||
|
||||
pretty-bytes@^5.3.0, pretty-bytes@^5.4.1:
|
||||
pretty-bytes@^5.3.0:
|
||||
version "5.6.0"
|
||||
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb"
|
||||
integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==
|
||||
@ -13930,7 +14261,7 @@ prismjs@~1.17.0:
|
||||
optionalDependencies:
|
||||
clipboard "^2.0.0"
|
||||
|
||||
process-nextick-args@~2.0.0:
|
||||
process-nextick-args@^2.0.0, process-nextick-args@~2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
|
||||
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
|
||||
@ -14143,6 +14474,13 @@ punycode@^2.1.0, punycode@^2.1.1:
|
||||
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
|
||||
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
|
||||
|
||||
pupa@^2.0.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62"
|
||||
integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==
|
||||
dependencies:
|
||||
escape-goat "^2.0.0"
|
||||
|
||||
q@^1.1.2, q@^1.5.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
|
||||
@ -14325,7 +14663,7 @@ rc-util@^4.15.3, rc-util@^4.5.1:
|
||||
react-lifecycles-compat "^3.0.4"
|
||||
shallowequal "^1.1.0"
|
||||
|
||||
rc@^1.0.1, rc@^1.1.6:
|
||||
rc@^1.0.1, rc@^1.1.6, rc@^1.2.8:
|
||||
version "1.2.8"
|
||||
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
|
||||
integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
|
||||
@ -14954,7 +15292,7 @@ read@1, read@~1.0.1:
|
||||
string_decoder "~1.1.1"
|
||||
util-deprecate "~1.0.1"
|
||||
|
||||
"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0:
|
||||
"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
|
||||
integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
|
||||
@ -15127,6 +15465,13 @@ registry-auth-token@3.3.2:
|
||||
rc "^1.1.6"
|
||||
safe-buffer "^5.0.1"
|
||||
|
||||
registry-auth-token@^4.0.0:
|
||||
version "4.2.1"
|
||||
resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250"
|
||||
integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==
|
||||
dependencies:
|
||||
rc "^1.2.8"
|
||||
|
||||
registry-url@3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942"
|
||||
@ -15134,6 +15479,13 @@ registry-url@3.1.0:
|
||||
dependencies:
|
||||
rc "^1.0.1"
|
||||
|
||||
registry-url@^5.0.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009"
|
||||
integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==
|
||||
dependencies:
|
||||
rc "^1.2.8"
|
||||
|
||||
regjsgen@^0.5.1:
|
||||
version "0.5.2"
|
||||
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733"
|
||||
@ -15379,6 +15731,13 @@ resolve@^2.0.0-next.3:
|
||||
is-core-module "^2.2.0"
|
||||
path-parse "^1.0.6"
|
||||
|
||||
responselike@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
|
||||
integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=
|
||||
dependencies:
|
||||
lowercase-keys "^1.0.0"
|
||||
|
||||
restore-cursor@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
|
||||
@ -15662,6 +16021,13 @@ selfsigned@^1.10.8:
|
||||
dependencies:
|
||||
node-forge "^0.10.0"
|
||||
|
||||
semver-diff@^3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b"
|
||||
integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==
|
||||
dependencies:
|
||||
semver "^6.3.0"
|
||||
|
||||
"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1:
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
|
||||
@ -16287,6 +16653,11 @@ stream-each@^1.1.0:
|
||||
end-of-stream "^1.1.0"
|
||||
stream-shift "^1.0.0"
|
||||
|
||||
stream-exhaust@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d"
|
||||
integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==
|
||||
|
||||
stream-http@^2.7.2:
|
||||
version "2.8.3"
|
||||
resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
|
||||
@ -16988,6 +17359,11 @@ to-object-path@^0.3.0:
|
||||
dependencies:
|
||||
kind-of "^3.0.2"
|
||||
|
||||
to-readable-stream@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771"
|
||||
integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==
|
||||
|
||||
to-regex-range@^2.1.0:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
|
||||
@ -17139,6 +17515,11 @@ type-check@~0.3.2:
|
||||
dependencies:
|
||||
prelude-ls "~1.1.2"
|
||||
|
||||
type-fest@^0.13.1:
|
||||
version "0.13.1"
|
||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934"
|
||||
integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==
|
||||
|
||||
type-fest@^0.16.0:
|
||||
version "0.16.0"
|
||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860"
|
||||
@ -17414,6 +17795,25 @@ update-check@1.5.2:
|
||||
registry-auth-token "3.3.2"
|
||||
registry-url "3.1.0"
|
||||
|
||||
update-notifier@^4.1.0:
|
||||
version "4.1.3"
|
||||
resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3"
|
||||
integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==
|
||||
dependencies:
|
||||
boxen "^4.2.0"
|
||||
chalk "^3.0.0"
|
||||
configstore "^5.0.1"
|
||||
has-yarn "^2.1.0"
|
||||
import-lazy "^2.1.0"
|
||||
is-ci "^2.0.0"
|
||||
is-installed-globally "^0.3.1"
|
||||
is-npm "^4.0.0"
|
||||
is-yarn-global "^0.3.0"
|
||||
latest-version "^5.0.0"
|
||||
pupa "^2.0.1"
|
||||
semver-diff "^3.1.1"
|
||||
xdg-basedir "^4.0.0"
|
||||
|
||||
uri-js@^4.2.2:
|
||||
version "4.4.1"
|
||||
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
|
||||
@ -17435,6 +17835,13 @@ url-loader@^4.1.1:
|
||||
mime-types "^2.1.27"
|
||||
schema-utils "^3.0.0"
|
||||
|
||||
url-parse-lax@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
|
||||
integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=
|
||||
dependencies:
|
||||
prepend-http "^2.0.0"
|
||||
|
||||
url-parse@^1.4.3, url-parse@^1.5.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b"
|
||||
@ -17699,7 +18106,7 @@ wbuf@^1.1.0, wbuf@^1.7.3:
|
||||
dependencies:
|
||||
minimalistic-assert "^1.0.0"
|
||||
|
||||
wcwidth@^1.0.0:
|
||||
wcwidth@^1.0.0, wcwidth@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
|
||||
integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=
|
||||
@ -18090,6 +18497,25 @@ workbox-cacheable-response@^6.1.5:
|
||||
dependencies:
|
||||
workbox-core "^6.1.5"
|
||||
|
||||
workbox-cli@^6.1.5:
|
||||
version "6.1.5"
|
||||
resolved "https://registry.yarnpkg.com/workbox-cli/-/workbox-cli-6.1.5.tgz#4e14adb20aae5978a82b3fed0719fa3f19e62b59"
|
||||
integrity sha512-1/sfzXOxdnfqUti9mQPfLhoPCiKX3fYo+NojMAdCAYGnyGreI81R6O/00H9EozQAQutlLFngsxNtnR+WtGSElg==
|
||||
dependencies:
|
||||
chalk "^4.1.0"
|
||||
common-tags "^1.8.0"
|
||||
fs-extra "^9.0.1"
|
||||
glob "^7.1.6"
|
||||
glob-watcher "^5.0.5"
|
||||
inquirer "^7.3.3"
|
||||
meow "^7.1.0"
|
||||
ora "^5.0.0"
|
||||
pretty-bytes "^5.3.0"
|
||||
stringify-object "^3.3.0"
|
||||
upath "^1.2.0"
|
||||
update-notifier "^4.1.0"
|
||||
workbox-build "^6.1.5"
|
||||
|
||||
workbox-core@^6.1.5:
|
||||
version "6.1.5"
|
||||
resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-6.1.5.tgz#424ff600e2c5448b14ebd58b2f5ac8ed91b73fb9"
|
||||
@ -18174,18 +18600,6 @@ workbox-sw@^6.1.5:
|
||||
resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-6.1.5.tgz#06eb0c91f22e207422175b3f815cd2181c7074a0"
|
||||
integrity sha512-IMDiqxYbKzPorZLGMUMacLB6r76iVQbdTzYthIZoPfy+uFURJFUtqiWQJKg1L+RMyuYXwKXTahCIGkgFs4jBeg==
|
||||
|
||||
workbox-webpack-plugin@^6.1.1:
|
||||
version "6.1.5"
|
||||
resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-6.1.5.tgz#d573f959417c3dae49e112dae9c6b82cc1679229"
|
||||
integrity sha512-tsgeNAYiFP4STNPDxBVT58eiU8nGUmcv7Lq9FFJkQf5MMu6tPw1OLp+KpszhbCWP+R/nEdu85Gjexs6fY647Kg==
|
||||
dependencies:
|
||||
fast-json-stable-stringify "^2.1.0"
|
||||
pretty-bytes "^5.4.1"
|
||||
source-map-url "^0.4.0"
|
||||
upath "^1.2.0"
|
||||
webpack-sources "^1.4.3"
|
||||
workbox-build "^6.1.5"
|
||||
|
||||
workbox-window@^6.1.1, workbox-window@^6.1.5:
|
||||
version "6.1.5"
|
||||
resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-6.1.5.tgz#017b22342e10c6df6b9672326b575ec950b6cd80"
|
||||
@ -18317,6 +18731,11 @@ wsrun@^5.2.4:
|
||||
throat "^4.1.0"
|
||||
yargs "^13.0.0"
|
||||
|
||||
xdg-basedir@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13"
|
||||
integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==
|
||||
|
||||
xml-name-validator@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
|
||||
@ -18378,6 +18797,14 @@ yargs-parser@^15.0.1:
|
||||
camelcase "^5.0.0"
|
||||
decamelize "^1.2.0"
|
||||
|
||||
yargs-parser@^18.1.3:
|
||||
version "18.1.3"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
|
||||
integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
|
||||
dependencies:
|
||||
camelcase "^5.0.0"
|
||||
decamelize "^1.2.0"
|
||||
|
||||
yargs-parser@^20.2.3:
|
||||
version "20.2.7"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a"
|
||||
|
Loading…
Reference in New Issue
Block a user