Merge branch 'tbnobody:master' into master
This commit is contained in:
commit
83df4e0655
21
docs/DeviceProfiles/wemos-lolin32-oled.json
Normal file
21
docs/DeviceProfiles/wemos-lolin32-oled.json
Normal file
@ -0,0 +1,21 @@
|
||||
[
|
||||
{
|
||||
"name": "Wemos Lolin32 OLED",
|
||||
"nrf24": {
|
||||
"miso": 2,
|
||||
"mosi": 14,
|
||||
"clk": 12,
|
||||
"irq": 0,
|
||||
"en": 15,
|
||||
"cs": 13
|
||||
},
|
||||
"eth": {
|
||||
"enabled": false
|
||||
},
|
||||
"display": {
|
||||
"type": 2,
|
||||
"data": 5,
|
||||
"clk": 4
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -91,4 +91,13 @@ void MultiDataCommand::udpateCRC()
|
||||
uint16_t crc = crc16(&_payload[10], 14); // From data_type till password
|
||||
_payload[24] = (uint8_t)(crc >> 8);
|
||||
_payload[25] = (uint8_t)(crc);
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t MultiDataCommand::getTotalFragmentSize(fragment_t fragment[], uint8_t max_fragment_id)
|
||||
{
|
||||
uint8_t fragmentSize = 0;
|
||||
for (uint8_t i = 0; i < max_fragment_id; i++) {
|
||||
fragmentSize += fragment[i].len;
|
||||
}
|
||||
return fragmentSize;
|
||||
}
|
||||
|
||||
@ -20,6 +20,7 @@ protected:
|
||||
void setDataType(uint8_t data_type);
|
||||
uint8_t getDataType();
|
||||
void udpateCRC();
|
||||
static uint8_t getTotalFragmentSize(fragment_t fragment[], uint8_t max_fragment_id);
|
||||
|
||||
RequestFrameCommand _cmdRequestFrame;
|
||||
};
|
||||
@ -3,6 +3,7 @@
|
||||
* Copyright (C) 2022 Thomas Basler and others
|
||||
*/
|
||||
#include "RealTimeRunDataCommand.h"
|
||||
#include "Hoymiles.h"
|
||||
#include "inverters/InverterAbstract.h"
|
||||
|
||||
RealTimeRunDataCommand::RealTimeRunDataCommand(uint64_t target_address, uint64_t router_address, time_t time)
|
||||
@ -25,6 +26,18 @@ bool RealTimeRunDataCommand::handleResponse(InverterAbstract* inverter, fragment
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check if at least all required bytes are received
|
||||
// In case of low power in the inverter it occours that some incomplete fragments
|
||||
// with a valid CRC are received.
|
||||
if (getTotalFragmentSize(fragment, max_fragment_id) < inverter->Statistics()->getMaxByteCount()) {
|
||||
Hoymiles.getMessageOutput()->printf("ERROR in %s: Received fragment size: %d min. expected size: %d\r\n",
|
||||
getCommandName().c_str(),
|
||||
getTotalFragmentSize(fragment, max_fragment_id),
|
||||
inverter->Statistics()->getMaxByteCount());
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// Move all fragments into target buffer
|
||||
uint8_t offs = 0;
|
||||
inverter->Statistics()->clearBuffer();
|
||||
|
||||
@ -34,6 +34,25 @@ void StatisticsParser::setByteAssignment(const byteAssign_t* byteAssignment, uin
|
||||
_byteAssignmentSize = size;
|
||||
}
|
||||
|
||||
uint8_t StatisticsParser::getMaxByteCount()
|
||||
{
|
||||
static uint8_t maxByteCount = 0;
|
||||
|
||||
// Use already calculated value
|
||||
if (maxByteCount > 0) {
|
||||
return maxByteCount;
|
||||
}
|
||||
|
||||
for (uint8_t i = 0; i < _byteAssignmentSize; i++) {
|
||||
if (_byteAssignment[i].div == CMD_CALC) {
|
||||
continue;
|
||||
}
|
||||
maxByteCount = max<uint8_t>(maxByteCount, _byteAssignment[i].start + _byteAssignment[i].num);
|
||||
}
|
||||
|
||||
return maxByteCount;
|
||||
}
|
||||
|
||||
void StatisticsParser::clearBuffer()
|
||||
{
|
||||
memset(_payloadStatistic, 0, STATISTIC_PACKET_SIZE);
|
||||
|
||||
@ -109,6 +109,9 @@ public:
|
||||
|
||||
void setByteAssignment(const byteAssign_t* byteAssignment, uint8_t size);
|
||||
|
||||
// Returns 1 based amount of expected bytes of statistic data
|
||||
uint8_t getMaxByteCount();
|
||||
|
||||
const byteAssign_t* getAssignmentByChannelField(ChannelType_t type, ChannelNum_t channel, FieldId_t fieldId);
|
||||
fieldSettings_t* getSettingByChannelField(ChannelType_t type, ChannelNum_t channel, FieldId_t fieldId);
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ framework = arduino
|
||||
platform = espressif32@6.3.1
|
||||
|
||||
build_flags =
|
||||
-DCOMPONENT_EMBED_FILES=webapp_dist/index.html.gz:webapp_dist/zones.json.gz:webapp_dist/favicon.ico:webapp_dist/js/app.js.gz
|
||||
-DCOMPONENT_EMBED_FILES=webapp_dist/index.html.gz:webapp_dist/zones.json.gz:webapp_dist/favicon.ico:webapp_dist/favicon.png:webapp_dist/js/app.js.gz
|
||||
-DPIOENV=\"$PIOENV\"
|
||||
-Wall -Wextra -Werror
|
||||
-std=c++17
|
||||
|
||||
@ -6,11 +6,13 @@
|
||||
|
||||
extern const uint8_t file_index_html_start[] asm("_binary_webapp_dist_index_html_gz_start");
|
||||
extern const uint8_t file_favicon_ico_start[] asm("_binary_webapp_dist_favicon_ico_start");
|
||||
extern const uint8_t file_favicon_png_start[] asm("_binary_webapp_dist_favicon_png_start");
|
||||
extern const uint8_t file_zones_json_start[] asm("_binary_webapp_dist_zones_json_gz_start");
|
||||
extern const uint8_t file_app_js_start[] asm("_binary_webapp_dist_js_app_js_gz_start");
|
||||
|
||||
extern const uint8_t file_index_html_end[] asm("_binary_webapp_dist_index_html_gz_end");
|
||||
extern const uint8_t file_favicon_ico_end[] asm("_binary_webapp_dist_favicon_ico_end");
|
||||
extern const uint8_t file_favicon_png_end[] asm("_binary_webapp_dist_favicon_png_end");
|
||||
extern const uint8_t file_zones_json_end[] asm("_binary_webapp_dist_zones_json_gz_end");
|
||||
extern const uint8_t file_app_js_end[] asm("_binary_webapp_dist_js_app_js_gz_end");
|
||||
|
||||
@ -41,6 +43,11 @@ void WebApiWebappClass::init(AsyncWebServer* server)
|
||||
request->send(response);
|
||||
});
|
||||
|
||||
_server->on("/favicon.png", HTTP_GET, [](AsyncWebServerRequest* request) {
|
||||
AsyncWebServerResponse* response = request->beginResponse_P(200, "image/png", file_favicon_png_start, file_favicon_png_end - file_favicon_png_start);
|
||||
request->send(response);
|
||||
});
|
||||
|
||||
_server->on("/zones.json", HTTP_GET, [](AsyncWebServerRequest* request) {
|
||||
AsyncWebServerResponse* response = request->beginResponse_P(200, "application/json", file_zones_json_start, file_zones_json_end - file_zones_json_start);
|
||||
response->addHeader("Content-Encoding", "gzip");
|
||||
|
||||
@ -3,6 +3,8 @@
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<link rel="shortcut icon" type="image/png" href="/favicon.png">
|
||||
<link rel="apple-touch-icon" href="/favicon.png">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>OpenDTU</title>
|
||||
</head>
|
||||
|
||||
@ -26,21 +26,21 @@
|
||||
"@rushstack/eslint-patch": "^1.3.2",
|
||||
"@tsconfig/node18": "^2.0.1",
|
||||
"@types/bootstrap": "^5.2.6",
|
||||
"@types/node": "^20.3.1",
|
||||
"@types/node": "^20.3.2",
|
||||
"@types/sortablejs": "^1.15.1",
|
||||
"@types/spark-md5": "^3.0.2",
|
||||
"@vitejs/plugin-vue": "^4.2.3",
|
||||
"@vue/eslint-config-typescript": "^11.0.3",
|
||||
"@vue/tsconfig": "^0.4.0",
|
||||
"eslint": "^8.43.0",
|
||||
"eslint-plugin-vue": "^9.15.0",
|
||||
"eslint-plugin-vue": "^9.15.1",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"sass": "^1.63.5",
|
||||
"terser": "^5.18.1",
|
||||
"sass": "^1.63.6",
|
||||
"terser": "^5.18.2",
|
||||
"typescript": "^5.1.3",
|
||||
"vite": "^4.3.9",
|
||||
"vite-plugin-compression": "^0.5.1",
|
||||
"vite-plugin-css-injected-by-js": "^3.1.1",
|
||||
"vue-tsc": "^1.8.1"
|
||||
"vue-tsc": "^1.8.2"
|
||||
}
|
||||
}
|
||||
|
||||
BIN
webapp/public/favicon.png
Normal file
BIN
webapp/public/favicon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 682 B |
@ -27,8 +27,8 @@
|
||||
"Reload": "Reload"
|
||||
},
|
||||
"localeswitcher": {
|
||||
"Dark": "Dark",
|
||||
"Light": "Light",
|
||||
"Dark": "Sombre",
|
||||
"Light": "Clair",
|
||||
"Auto": "Auto"
|
||||
},
|
||||
"apiresponse": {
|
||||
@ -190,13 +190,13 @@
|
||||
},
|
||||
"radioinfo": {
|
||||
"RadioInformation": "Informations sur la radio",
|
||||
"Status": "{module} Status",
|
||||
"ChipStatus": "{module} sÉtat de la puce",
|
||||
"Status": "{module} Statut",
|
||||
"ChipStatus": "{module} État de la puce",
|
||||
"ChipType": "{module} Type de puce",
|
||||
"Connected": "connectée",
|
||||
"NotConnected": "non connectée",
|
||||
"Configured": "configured",
|
||||
"NotConfigured": "not configured",
|
||||
"Configured": "configurée",
|
||||
"NotConfigured": "non configurée",
|
||||
"Unknown": "Inconnue"
|
||||
},
|
||||
"networkinfo": {
|
||||
@ -245,12 +245,12 @@
|
||||
"Synced": "synchronisée",
|
||||
"NotSynced": "pas synchronisée",
|
||||
"LocalTime": "Heure locale",
|
||||
"Sunrise": "Sunrise",
|
||||
"Sunset": "Sunset",
|
||||
"Sunrise": "Lever du soleil",
|
||||
"Sunset": "Coucher du soleil",
|
||||
"NotAvailable": "Not Available",
|
||||
"Mode": "Mode",
|
||||
"Day": "Day",
|
||||
"Night": "Night"
|
||||
"Day": "Jour",
|
||||
"Night": "Nuit"
|
||||
},
|
||||
"mqttinfo": {
|
||||
"MqttInformation": "MQTT Information",
|
||||
@ -448,7 +448,7 @@
|
||||
"InverterSerial": "Numéro de série de l'onduleur",
|
||||
"InverterName": "Nom de l'onduleur :",
|
||||
"InverterNameHint": "Ici, vous pouvez spécifier un nom personnalisé pour votre onduleur.",
|
||||
"InverterStatus": "Receive / Send",
|
||||
"InverterStatus": "Recevoir / Envoyer",
|
||||
"PollEnable": "Interroger les données de l'onduleur",
|
||||
"PollEnableNight": "Interroger les données de l'onduleur la nuit",
|
||||
"CommandEnable": "Envoyer des commandes",
|
||||
@ -538,10 +538,10 @@
|
||||
"ScreensaverHint": "Déplacez un peu l'écran à chaque mise à jour pour éviter le phénomène de brûlure. (Utile surtout pour les écrans OLED)",
|
||||
"Contrast": "Contraste ({contrast}):",
|
||||
"Rotation": "Rotation:",
|
||||
"rot0": "No rotation",
|
||||
"rot90": "90 degree rotation",
|
||||
"rot180": "180 degree rotation",
|
||||
"rot270": "270 degree rotation",
|
||||
"rot0": "Pas de rotation",
|
||||
"rot90": "Rotation de 90 degrés",
|
||||
"rot180": "Rotation de 180 degrés",
|
||||
"rot270": "Rotation de 270 degrés",
|
||||
"DisplayLanguage": "Langue d'affichage",
|
||||
"en": "Anglais",
|
||||
"de": "Allemand",
|
||||
|
||||
@ -372,10 +372,10 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
|
||||
integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
|
||||
|
||||
"@types/node@^20.3.1":
|
||||
version "20.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.1.tgz#e8a83f1aa8b649377bb1fb5d7bac5cb90e784dfe"
|
||||
integrity sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==
|
||||
"@types/node@^20.3.2":
|
||||
version "20.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.2.tgz#fa6a90f2600e052a03c18b8cb3fd83dd4e599898"
|
||||
integrity sha512-vOBLVQeCQfIcF/2Y7eKFTqrMnizK5lRNQ7ykML/5RuwVXVWxYkgwS7xbt4B6fKCUPgbSL5FSsjHQpaGQP/dQmw==
|
||||
|
||||
"@types/semver@^7.3.12":
|
||||
version "7.3.13"
|
||||
@ -481,26 +481,26 @@
|
||||
resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz#ee0b6dfcc62fe65364e6395bf38fa2ba10bb44b6"
|
||||
integrity sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==
|
||||
|
||||
"@volar/language-core@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.7.8.tgz#88e33fda749ecb1ecb28c031027d45e778b8cd5f"
|
||||
integrity sha512-TPklg4c2e/f1xB/MGZEiQc3AWG+dH64ZfBlYjFB8nNaWJt4Z4k+IHBhmaP52APG+5PHFerwiWI9oF002RrRTPA==
|
||||
"@volar/language-core@1.7.9":
|
||||
version "1.7.9"
|
||||
resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.7.9.tgz#e9ca92fcbffa88136394c692454036548d97ea5a"
|
||||
integrity sha512-U6GMPDNqfGFqVRv4npUN2hEDW4/6EwL4YHd6qggapcvTzRrYAodTTbOTZs4PDzmw7NSZ2Cdrmd54SjzCCMXbZw==
|
||||
dependencies:
|
||||
"@volar/source-map" "1.7.8"
|
||||
"@volar/source-map" "1.7.9"
|
||||
|
||||
"@volar/source-map@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.7.8.tgz#46710f1d1e948e8009993595b70670e3ee4bfc1d"
|
||||
integrity sha512-g2dtC2kOghvfzMDWeODIo4HO1Ml4hxzPTZyAFDz+YhRF9HjZYJSCaWaVuPZ+z0kY+T2daOHYA10GdrWQ5q0teA==
|
||||
"@volar/source-map@1.7.9":
|
||||
version "1.7.9"
|
||||
resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.7.9.tgz#a9588fce0a989f320bcd1ab37e31948a6a57f5cc"
|
||||
integrity sha512-bLizh8HIAzbq7OdxfyoG18dXJJF9FNXBcaiRj7eqg2Bq+DkgkYHabaY+xobgaXeKFOp93Tg1KfMM7qyR2KXHmQ==
|
||||
dependencies:
|
||||
muggle-string "^0.3.1"
|
||||
|
||||
"@volar/typescript@1.7.8":
|
||||
version "1.7.8"
|
||||
resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-1.7.8.tgz#6997b3c7637292a6dc6e4a3737e45f3c4e49ef12"
|
||||
integrity sha512-NDcI5ZQcdr8kgxzMQrhSSWIM8Tl0MbMFrkvJPTjfm2rdAQZPFT8zv3LrEW9Fqh0e9z2YbCry7jr4a/GShBqeDA==
|
||||
"@volar/typescript@1.7.9":
|
||||
version "1.7.9"
|
||||
resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-1.7.9.tgz#28f3597a391a90036c9e90c770654cd45201f572"
|
||||
integrity sha512-cXGg7lgvdjpRjYfz52cXKo6ExBi8k3pWeBe6Gckf4+9zmTfEwEFfKWMj0H/IyUYO+S2rjyE9jytdsu1Imk+Azw==
|
||||
dependencies:
|
||||
"@volar/language-core" "1.7.8"
|
||||
"@volar/language-core" "1.7.9"
|
||||
|
||||
"@vue/compiler-core@3.2.47":
|
||||
version "3.2.47"
|
||||
@ -623,13 +623,13 @@
|
||||
"@typescript-eslint/parser" "^5.59.1"
|
||||
vue-eslint-parser "^9.1.1"
|
||||
|
||||
"@vue/language-core@1.8.1":
|
||||
version "1.8.1"
|
||||
resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-1.8.1.tgz#86b709f803bcc0cab84fd14677c0fb909154c562"
|
||||
integrity sha512-pumv3k4J7P58hVh4YGRM9Qz3HaAr4TlFWM9bnVOkZ/2K9o2CK1lAP2y9Jw+Z0+mNL4F2uWQqnAPzj3seLyfpDA==
|
||||
"@vue/language-core@1.8.2":
|
||||
version "1.8.2"
|
||||
resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-1.8.2.tgz#560c1df639394a5df0043f2d7989dc2fba5bf4ca"
|
||||
integrity sha512-QJujhmp89TRoWwzjn2sPMezG97+mNyaCTfznGHWNCE3LBsillZCBqAO7M7cxO8ee1V3r+qHjWytkoh3M4YkRJw==
|
||||
dependencies:
|
||||
"@volar/language-core" "1.7.8"
|
||||
"@volar/source-map" "1.7.8"
|
||||
"@volar/language-core" "1.7.9"
|
||||
"@volar/source-map" "1.7.9"
|
||||
"@vue/compiler-dom" "^3.3.0"
|
||||
"@vue/reactivity" "^3.3.0"
|
||||
"@vue/shared" "^3.3.0"
|
||||
@ -718,13 +718,13 @@
|
||||
resolved "https://registry.yarnpkg.com/@vue/tsconfig/-/tsconfig-0.4.0.tgz#f01e2f6089b5098136fb084a0dd0cdd4533b72b0"
|
||||
integrity sha512-CPuIReonid9+zOG/CGTT05FXrPYATEqoDGNrEaqS4hwcw5BUNM2FguC0mOwJD4Jr16UpRVl9N0pY3P+srIbqmg==
|
||||
|
||||
"@vue/typescript@1.8.1":
|
||||
version "1.8.1"
|
||||
resolved "https://registry.yarnpkg.com/@vue/typescript/-/typescript-1.8.1.tgz#2302f3cc8330e8dd91982eecd64d71ee11198cb0"
|
||||
integrity sha512-nQpo55j/roie8heCfqyXHnyayqD5+p4/0fzfxH4ZuHf7NSBQS791PNv7ztp2CCOjnGAiaiCMdtC9rc6oriyPUg==
|
||||
"@vue/typescript@1.8.2":
|
||||
version "1.8.2"
|
||||
resolved "https://registry.yarnpkg.com/@vue/typescript/-/typescript-1.8.2.tgz#d81e2c16197e8fcf032fe766d79952cb9a629af7"
|
||||
integrity sha512-5q2gpCBIfGlygfJupyjAQbc82r5J6qQuhupPeX3NlHvDK+mR6m5n4jVGknSacsp+7gtgs4RKYDq+tysoto+npA==
|
||||
dependencies:
|
||||
"@volar/typescript" "1.7.8"
|
||||
"@vue/language-core" "1.8.1"
|
||||
"@volar/typescript" "1.7.9"
|
||||
"@vue/language-core" "1.8.2"
|
||||
|
||||
acorn-jsx@^5.2.0, acorn-jsx@^5.3.2:
|
||||
version "5.3.2"
|
||||
@ -1089,10 +1089,10 @@ escodegen@^2.0.0:
|
||||
optionalDependencies:
|
||||
source-map "~0.6.1"
|
||||
|
||||
eslint-plugin-vue@^9.15.0:
|
||||
version "9.15.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.15.0.tgz#2bffe2b8a628ee438f983672a73cd89df455c461"
|
||||
integrity sha512-XYzpK6e2REli100+6iCeBA69v6Sm0D/yK2FZP+fCeNt0yH/m82qZQq+ztseyV0JsKdhFysuSEzeE1yCmSC92BA==
|
||||
eslint-plugin-vue@^9.15.1:
|
||||
version "9.15.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.15.1.tgz#3c09e0edab444b5d4d9239a12a645a0e2e2ea5be"
|
||||
integrity sha512-CJE/oZOslvmAR9hf8SClTdQ9JLweghT6JCBQNrT2Iel1uVw0W0OLJxzvPd6CxmABKCvLrtyDnqGV37O7KQv6+A==
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils" "^4.3.0"
|
||||
natural-compare "^1.4.0"
|
||||
@ -2184,10 +2184,10 @@ safe-regex-test@^1.0.0:
|
||||
get-intrinsic "^1.1.3"
|
||||
is-regex "^1.1.4"
|
||||
|
||||
sass@^1.63.5:
|
||||
version "1.63.5"
|
||||
resolved "https://registry.yarnpkg.com/sass/-/sass-1.63.5.tgz#6e1900b12576e3e74a8ab0a9d8607cacbe584ef1"
|
||||
integrity sha512-Q6c5gs482oezdAp+0fWF9cRisvpy7yfYb64knID0OE8AnMgtkluRPfpGMFjeD4/+M4+6QpJZCU6JRSxbjiktkg==
|
||||
sass@^1.63.6:
|
||||
version "1.63.6"
|
||||
resolved "https://registry.yarnpkg.com/sass/-/sass-1.63.6.tgz#481610e612902e0c31c46b46cf2dad66943283ea"
|
||||
integrity sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw==
|
||||
dependencies:
|
||||
chokidar ">=3.0.0 <4.0.0"
|
||||
immutable "^4.0.0"
|
||||
@ -2382,10 +2382,10 @@ supports-preserve-symlinks-flag@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
|
||||
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
|
||||
|
||||
terser@^5.18.1:
|
||||
version "5.18.1"
|
||||
resolved "https://registry.yarnpkg.com/terser/-/terser-5.18.1.tgz#6d8642508ae9fb7b48768e48f16d675c89a78460"
|
||||
integrity sha512-j1n0Ao919h/Ai5r43VAnfV/7azUYW43GPxK7qSATzrsERfW7+y2QW9Cp9ufnRF5CQUWbnLSo7UJokSWCqg4tsQ==
|
||||
terser@^5.18.2:
|
||||
version "5.18.2"
|
||||
resolved "https://registry.yarnpkg.com/terser/-/terser-5.18.2.tgz#ff3072a0faf21ffd38f99acc9a0ddf7b5f07b948"
|
||||
integrity sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==
|
||||
dependencies:
|
||||
"@jridgewell/source-map" "^0.3.3"
|
||||
acorn "^8.8.2"
|
||||
@ -2566,13 +2566,13 @@ vue-template-compiler@^2.7.14:
|
||||
de-indent "^1.0.2"
|
||||
he "^1.2.0"
|
||||
|
||||
vue-tsc@^1.8.1:
|
||||
version "1.8.1"
|
||||
resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-1.8.1.tgz#cdbc83ad7d1c80eac82e01917a58bc57e2debed2"
|
||||
integrity sha512-GxBQrcb0Qvyrj1uZqnTXQyWbXdNDRY2MTa+r7ESgjhf+WzBSdxZfkS3KD/C3WhKYG+aN8hf44Hp5Gqzb6PehAA==
|
||||
vue-tsc@^1.8.2:
|
||||
version "1.8.2"
|
||||
resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-1.8.2.tgz#dd9b0edfed10b590a82f964969e12d7733a282c4"
|
||||
integrity sha512-iLS+z7jzxEAZRGLo4bYWfzZeBNVA71uXKmT2+5bQSsOJBtGLniR45sVpR+X7sa0m3J8iMEIU5+phLB7FnMLS0A==
|
||||
dependencies:
|
||||
"@vue/language-core" "1.8.1"
|
||||
"@vue/typescript" "1.8.1"
|
||||
"@vue/language-core" "1.8.2"
|
||||
"@vue/typescript" "1.8.2"
|
||||
semver "^7.3.8"
|
||||
|
||||
vue@^3.3.4:
|
||||
|
||||
BIN
webapp_dist/favicon.png
Normal file
BIN
webapp_dist/favicon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 682 B |
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user