mirror of
https://github.com/fccview/cronmaster.git
synced 2026-09-08 11:17:21 -04:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e198db0d81 | ||
|
|
feb24e6369 | ||
|
|
fde426bbc3 | ||
|
|
7c21f79085 | ||
|
|
debf40ed3c | ||
|
|
9fd1d4d2e9 | ||
|
|
d4fd83e606 | ||
|
|
e9b529a05e | ||
|
|
711fed00b3 | ||
|
|
68de9c7692 | ||
|
|
aa392fed50 | ||
|
|
b81ecb099f | ||
|
|
d260f2d5db | ||
|
|
9154835a24 | ||
|
|
14f395fc08 | ||
|
|
79b011c32e | ||
|
|
9184c85cd7 | ||
|
|
d05e76c582 | ||
|
|
35a983ba9d | ||
|
|
1f18f743b1 | ||
|
|
c81586a9b7 | ||
|
|
23c09e9342 |
No files matched your search
@@ -48,6 +48,9 @@ EXPOSE 3000
|
||||
ENV PORT=3000
|
||||
ENV HOSTNAME="0.0.0.0"
|
||||
|
||||
HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \
|
||||
CMD curl -f http://localhost:3000/api/health || exit 1
|
||||
|
||||
USER nextjs
|
||||
|
||||
CMD ["node", "server.js"]
|
||||
@@ -8,7 +8,13 @@ import { Switch } from "@/app/_components/GlobalComponents/UIElements/Switch";
|
||||
import { CronExpressionHelper } from "@/app/_components/FeatureComponents/Scripts/CronExpressionHelper";
|
||||
import { SelectScriptModal } from "@/app/_components/FeatureComponents/Modals/SelectScriptModal";
|
||||
import { UserSwitcher } from "@/app/_components/FeatureComponents/User/UserSwitcher";
|
||||
import { PlusIcon, TerminalIcon, FileTextIcon, XIcon, FileArrowDownIcon } from "@phosphor-icons/react";
|
||||
import {
|
||||
PlusIcon,
|
||||
TerminalIcon,
|
||||
FileTextIcon,
|
||||
XIcon,
|
||||
FileArrowDownIcon,
|
||||
} from "@phosphor-icons/react";
|
||||
import { getScriptContent } from "@/app/_server/actions/scripts";
|
||||
import { getHostScriptPath } from "@/app/_server/actions/scripts";
|
||||
import { useTranslations } from "next-intl";
|
||||
@@ -45,8 +51,6 @@ export const CreateTaskModal = ({
|
||||
form,
|
||||
onFormChange,
|
||||
}: CreateTaskModalProps) => {
|
||||
const [selectedScriptContent, setSelectedScriptContent] =
|
||||
useState<string>("");
|
||||
const [isSelectScriptModalOpen, setIsSelectScriptModalOpen] = useState(false);
|
||||
const selectedScript = scripts.find((s) => s.id === form.selectedScriptId);
|
||||
const t = useTranslations();
|
||||
@@ -54,10 +58,7 @@ export const CreateTaskModal = ({
|
||||
useEffect(() => {
|
||||
const loadScriptContent = async () => {
|
||||
if (selectedScript) {
|
||||
const content = await getScriptContent(selectedScript.filename);
|
||||
setSelectedScriptContent(content);
|
||||
} else {
|
||||
setSelectedScriptContent("");
|
||||
await getScriptContent(selectedScript.filename);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -125,10 +126,11 @@ export const CreateTaskModal = ({
|
||||
<button
|
||||
type="button"
|
||||
onClick={handleCustomCommand}
|
||||
className={`p-4 rounded-lg transition-all ${!form.selectedScriptId
|
||||
? "border-border border-2"
|
||||
: "border-border border"
|
||||
}`}
|
||||
className={`p-4 rounded-lg transition-all ${
|
||||
!form.selectedScriptId
|
||||
? "border-border border-2"
|
||||
: "border-border border"
|
||||
}`}
|
||||
>
|
||||
<div className="flex items-center gap-3">
|
||||
<TerminalIcon className="h-5 w-5" />
|
||||
@@ -146,10 +148,11 @@ export const CreateTaskModal = ({
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => setIsSelectScriptModalOpen(true)}
|
||||
className={`p-4 rounded-lg transition-all ${form.selectedScriptId
|
||||
? "border-border border-2"
|
||||
: "border-border border"
|
||||
}`}
|
||||
className={`p-4 rounded-lg transition-all ${
|
||||
form.selectedScriptId
|
||||
? "border-border border-2"
|
||||
: "border-border border"
|
||||
}`}
|
||||
>
|
||||
<div className="flex items-center gap-3">
|
||||
<FileTextIcon className="h-5 w-5" />
|
||||
@@ -223,7 +226,7 @@ export const CreateTaskModal = ({
|
||||
? "/app/scripts/script_name.sh"
|
||||
: "/usr/bin/command"
|
||||
}
|
||||
className="w-full h-24 p-2 border border-border rounded bg-background0 text-foreground font-mono text-sm resize-none focus:outline-none focus:ring-1 focus:ring-primary/20"
|
||||
className="w-full h-24 p-2 border border-border rounded bg-background0 text-foreground font-mono text-sm resize-y focus:outline-none focus:ring-1 focus:ring-primary/20"
|
||||
required
|
||||
readOnly={!!form.selectedScriptId}
|
||||
/>
|
||||
@@ -254,7 +257,6 @@ export const CreateTaskModal = ({
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
<div className="border border-border bg-muted/10 rounded-lg p-4">
|
||||
<div
|
||||
className="flex items-start gap-3 cursor-pointer"
|
||||
@@ -279,7 +281,6 @@ export const CreateTaskModal = ({
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div className="flex justify-end gap-2 pt-3 border-t border-border">
|
||||
<Button
|
||||
type="button"
|
||||
|
||||
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"common": {
|
||||
"cronManagementMadeEasy": "Спрошчанае кіраванне Cron",
|
||||
"allUsers": "Усе карыстальнікі",
|
||||
"userWithUsername": "Карыстальнік: {user}",
|
||||
"user": "Карыстальнік",
|
||||
"change": "Змяніць",
|
||||
"description": "Апісанне",
|
||||
"optional": "Неабавязкова",
|
||||
"cancel": "Скасаваць",
|
||||
"close": "Закрыць",
|
||||
"refresh": "Абнавіць",
|
||||
"loading": "Загрузка",
|
||||
"version": "Версія {version}"
|
||||
},
|
||||
"cronjobs": {
|
||||
"cronJobs": "Заданні Cron",
|
||||
"cronJob": "Заданне Cron",
|
||||
"scheduledTasks": "Запланаваныя заданні",
|
||||
"nOfNJObs": "Заданняў: {filtered} з {total}",
|
||||
"forUser": "для карыстальніка {user}",
|
||||
"newTask": "Новае заданне",
|
||||
"runCronManually": "Запусціць уручную",
|
||||
"editCronJob": "Рэдагаваць",
|
||||
"cloneCronJob": "Кланіраваць",
|
||||
"deleteCronJob": "Выдаліць",
|
||||
"pauseCronJob": "Прыпыніць",
|
||||
"resumeCronJob": "Узнавіць",
|
||||
"runCronJob": "Запусціць заданне cron",
|
||||
"runCronJobSuccess": "Заданне cron паспяхова выканана",
|
||||
"runCronJobFailed": "Не ўдалося выканаць заданне cron",
|
||||
"paused": "Прыпынена",
|
||||
"createNewScheduledTask": "Стварэнне новага запланаванага задання",
|
||||
"schedule": "Расклад",
|
||||
"taskType": "Тып задання",
|
||||
"customCommand": "Уласная каманда",
|
||||
"singleCommand": "Адзіночная каманда",
|
||||
"command": "Каманда",
|
||||
"whatDoesThisTaskDo": "Што робіць гэта заданне?",
|
||||
"createTask": "Стварыць заданне",
|
||||
"editScheduledTask": "Рэдагаванне запланаванага задання",
|
||||
"enableLogging": "Уключыць вядзенне журнала",
|
||||
"disableLogging": "Адключыць вядзенне журнала",
|
||||
"loggingDescription": "Запісваць stdout, stderr, коды выхаду і пазнакі часу для выканання заданняў. Журналы захоўваюцца ў ./data/logs і аўтаматычна выдаляюцца (прадвызначана захоўваецца 50 журналаў на заданне і 30 дзён, вы можаце змяніць гэтыя значэнні ў пераменных асяроддзя).",
|
||||
"logged": "У журнале",
|
||||
"viewLogs": "Праглядзець журналы",
|
||||
"logs": "журналы",
|
||||
"logFiles": "Файлы журналаў",
|
||||
"logContent": "Змесціва журнала",
|
||||
"downloadLog": "Спампаваць",
|
||||
"selectLogToView": "Выберыце файл журнала для прагляду яго зместу",
|
||||
"noLogsFound": "Не знойдзена журналаў для гэтага задання",
|
||||
"confirmDeleteLog": "Вы ўпэўнены, што хочаце выдаліць гэты файл журнала?",
|
||||
"confirmDeleteAllLogs": "Вы ўпэўнены, што хочаце выдаліць усе файлы журналаў для гэтага задання? Гэта дзеянне немагчыма адрабіць.",
|
||||
"deleteAll": "Выдаліць усе",
|
||||
"refresh": "Абнавіць",
|
||||
"loading": "Загрузка",
|
||||
"close": "Закрыць",
|
||||
"healthy": "Спраўнае",
|
||||
"failed": "Памылка (Код: {exitCode})",
|
||||
"backupJob": "Стварыць рэзервовую копію",
|
||||
"restoreJob": "Аднавіць заданне",
|
||||
"backupAll": "Зрабіць рэзервовую копію ўсіх",
|
||||
"backups": "Рэзервовыя копіі",
|
||||
"restoreAll": "Аднавіць усе",
|
||||
"confirmRestoreAll": "Вы ўпэўнены, што хочаце аднавіць усе захаваныя заданні? Гэта дадасць іх у crontab.",
|
||||
"backupJobSuccess": "Рэзервовая копія задання паспяхова створана",
|
||||
"backupJobFailed": "Не ўдалося стварыць рэзервовую копію задання",
|
||||
"backupAllSuccess": "Рэзервовыя копіі ўсіх заданняў паспяхова створаны",
|
||||
"backupAllFailed": "Не ўдалося стварыць рэзервовыя копіі ўсіх заданняў",
|
||||
"restoreJobSuccess": "Заданне паспяхова адноўлена",
|
||||
"restoreJobFailed": "Не ўдалося аднавіць заданне",
|
||||
"moreActions": "Больш дзеянняў",
|
||||
"restoreBackups": "Аднавіць з рэзервовых копій",
|
||||
"availableBackups": "Даступныя рэзервовыя копіі",
|
||||
"noBackupsFound": "Файлы рэзервовых копій не знойдзены",
|
||||
"backedUpAt": "Рэзервовая копія створана ў",
|
||||
"restoreThisBackup": "Аднавіць гэту рэзервовую копію",
|
||||
"deleteBackup": "Выдаліць рэзервовую копію",
|
||||
"confirmDeleteBackup": "Вы ўпэўнены, што хочаце выдаліць гэту рэзервовую копію? Гэта дзеянне немагчыма адрабіць.",
|
||||
"backupDeleted": "Рэзервовая копія паспяхова выдалена",
|
||||
"filters": "Фільтры",
|
||||
"filtersAndDisplay": "Фільтры і параметры адлюстравання",
|
||||
"filterByUser": "Фільтраваць па карыстальніку",
|
||||
"scheduleDisplay": "Адлюстраванне раскладу",
|
||||
"cronSyntax": "Сінтаксіс Cron",
|
||||
"humanReadable": "Зразумелае чалавеку",
|
||||
"both": "Абодва",
|
||||
"minimalMode": "Кампактны рэжым",
|
||||
"minimalModeDescription": "Паказваць кампактны выгляд са значкамі замест усяго тэксту",
|
||||
"applyFilters": "Прымяніць фільтры",
|
||||
"nLines": "{count} радкоў",
|
||||
"liveJobExecution": "Выкананне задання ў рэальным часе",
|
||||
"running": "Выконваецца...",
|
||||
"completed": "Завершана (Код: {exitCode})",
|
||||
"jobFailed": "Збой (Код: {exitCode})",
|
||||
"showLast": "Паказваць апошнія:",
|
||||
"viewFullLog": "Праглядзець увесь журнал (радкоў: {totalLines})",
|
||||
"viewFullLogNoCount": "Праглядзець поўны лог",
|
||||
"viewingFullLog": "Прагляд усяго журнала (радкоў: {totalLines})",
|
||||
"viewingFullLogNoCount": "Прагляд усяго журнала",
|
||||
"backToWindowedView": "Вярнуцца да аконнага выгляду",
|
||||
"showingLastOf": "Паказваюцца апошнія {lineCount} з {totalLines} радкоў",
|
||||
"showingLastLines": "Паказваюцца апошнія {lineCount} радкоў",
|
||||
"largeLogFileDetected": "Выяўлены вялікі файл журнала",
|
||||
"tailModeEnabled": "Уключаны рэжым tail, паказваюцца апошнія {tailLines} радкоў",
|
||||
"showAllLines": "Паказаць усе радкі",
|
||||
"enableTailMode": "Уключыць рэжым tail",
|
||||
"waitingForJobToStart": "Чаканне запуску задання...\n\nЗапісы журналы будуць з'яўляцца тут у рэальным часе.",
|
||||
"runIdJobId": "ID запуску: {runId} | ID задання: {jobId}"
|
||||
},
|
||||
"scripts": {
|
||||
"scripts": "Скрыпты",
|
||||
"scriptsLibrary": "Бібліятэка скрыптоў",
|
||||
"file": "Файл",
|
||||
"newScript": "Новы скрыпт",
|
||||
"noScriptsYet": "Скрыптоў пакуль няма",
|
||||
"createReusableBashScripts": "Стварайце шматразовыя bash-скрыпты для выкарыстання ў запланаваных заданнях.",
|
||||
"createYourFirstScript": "Стварыць першы скрыпт",
|
||||
"nOfNSavedScripts": "Захаваных скрыптоў: {count}",
|
||||
"savedScript": "Захаваны скрыпт",
|
||||
"selectFromLibrary": "Выбраць з бібліятэкі",
|
||||
"scriptPathReadOnly": "Шлях да скрыпта даступны толькі для чытання. Адрэдагуйце скрыпт у бібліятэцы скрыптоў",
|
||||
"selectScript": "Выбраць скрыпт",
|
||||
"availableScripts": "Даступна скрыптоў: {count}",
|
||||
"noScriptsFound": "Скрыпты не знойдзены",
|
||||
"noScriptsAvailable": "Няма даступных скрыптоў",
|
||||
"scriptPreview": "Перадпрагляд скрыпта",
|
||||
"commandPreview": "Перадпрагляд каманды",
|
||||
"scriptContent": "Змест скрыпта",
|
||||
"selectScriptToPreview": "Выберыце скрыпт для перадпрагляду",
|
||||
"searchScripts": "Пошук скрыптоў...",
|
||||
"draft": "Чарнавік",
|
||||
"clearDraft": "Ачысціць чарнавік",
|
||||
"close": "Закрыць",
|
||||
"draftCleared": "Чарнавік ачышчаны"
|
||||
},
|
||||
"sidebar": {
|
||||
"systemOverview": "Агляд сістэмы",
|
||||
"uptime": "Час працы",
|
||||
"memory": "Памяць",
|
||||
"cpu": "ЦП",
|
||||
"gpu": "ГП",
|
||||
"network": "Сетка",
|
||||
"networkLatency": "Сеткавая затрымка",
|
||||
"memoryUsage": "Выкарыстанне памяці",
|
||||
"cpuUsage": "Выкарыстанне ЦП",
|
||||
"systemInformation": "Сістэмная інфармацыя",
|
||||
"performanceMetrics": "Паказчыкі прадукцыйнасці",
|
||||
"statsUpdateEvery": "Статыстыка абнаўляецца кожныя",
|
||||
"updating": "Абнаўленне",
|
||||
"networkSpeedEstimatedFromLatency": "Хуткасць сеткі разлічана на аснове затрымкі"
|
||||
},
|
||||
"system": {
|
||||
"optimal": "Аптымальны",
|
||||
"critical": "Крытычны",
|
||||
"high": "Высокі",
|
||||
"moderate": "Умераны",
|
||||
"warning": "Папярэджанне",
|
||||
"unknown": "Невядомы",
|
||||
"connected": "Падключана",
|
||||
"allSystemsRunningNormally": "Усе сістэмы працуюць нармальна",
|
||||
"highResourceUsageDetectedImmediateAttentionRequired": "Выяўлена высокае выкарыстанне рэсурсаў - патрабуецца неадкладная ўвага",
|
||||
"moderateResourceUsageMonitoringRecommended": "Умеранае выкарыстанне рэсурсаў - рэкамендуецца маніторынг",
|
||||
"unknownGPU": "Невядомы ГП",
|
||||
"noGPUDetected": "ГП не выяўлены",
|
||||
"gpuDetectionFailed": "Не ўдалося выявіць ГП",
|
||||
"available": "Даступны",
|
||||
"systemStatus": "Стан загрузкі сістэмы",
|
||||
"lastUpdated": "Апошняе абнаўленне"
|
||||
},
|
||||
"login": {
|
||||
"welcomeTitle": "Вітаем у Cr*nMaster",
|
||||
"signInWithPasswordOrSSO": "Увайсці з дапамогай пароля або SSO",
|
||||
"signInWithSSO": "Увайсці праз SSO",
|
||||
"enterPasswordToContinue": "Увядзіце пароль, каб працягнуць",
|
||||
"authenticationNotConfigured": "Аўтэнтыфікацыя не наладжана",
|
||||
"noAuthMethodsEnabled": "Ні аўтэнтыфікацыя па паролі, ні OIDC SSO не ўключаны. Наладзьце хаця б адзін метад аўтэнтыфікацыі ў пераменных асяроддзя, каб мець магчымасць увайсці.",
|
||||
"enterPassword": "Увядзіце пароль",
|
||||
"signingIn": "Уваход...",
|
||||
"signIn": "Увайсці",
|
||||
"redirecting": "Перанакіраванне...",
|
||||
"redirectingToOIDC": "Перанакіраванне да правайдара OIDC",
|
||||
"pleaseWait": "Пачакайце...",
|
||||
"orContinueWith": "Або працягніце з дапамогай",
|
||||
"loginFailed": "Памылка ўваходу",
|
||||
"genericError": "Адбылася памылка. Паспрабуйце яшчэ раз."
|
||||
},
|
||||
"warnings": {
|
||||
"wrapperScriptModified": "Скрыпт-абгортка зменены",
|
||||
"wrapperScriptModifiedDescription": "Скрыпт cron-log-wrapper.sh не адпавядае афіцыйнай версіі. Гэта можа паўплываць на функцыянальнасць вядзення журнала. Паспрабуйце вярнуцца да афіцыйнай версіі або пераканайцеся, што вашы змены не парушаюць патрэбны фармат для аналізу журнала."
|
||||
},
|
||||
"notFound": {
|
||||
"title": "404 - Старонка не знойдзена",
|
||||
"subtitle": "ПАМЫЛКА: Запытаны рэсурс не знойдзены",
|
||||
"message": "Старонка, якую вы шукаеце, не існуе. Хочаце замест гэтага пагуляць у змейку?",
|
||||
"gameOver": "ГУЛЬНЯ СКОНЧАНА",
|
||||
"score": "Балы",
|
||||
"highScore": "Найлепшы вынік",
|
||||
"pressToStart": "Націсніце ПРАБЕЛ або дакраніцеся, каб пачаць",
|
||||
"pressToRestart": "Націсніце ПРАБЕЛ або дакраніцеся, каб перазапусціць",
|
||||
"controls": "Кіраванне",
|
||||
"useArrowKeys": "Выкарыстоўвайце стрэлкі для перамяшчэння",
|
||||
"tapToMove": "Дакранайцеся да краёў экрана для перамяшчэння",
|
||||
"goHome": "Вярнуцца на панэль кіравання",
|
||||
"pauseGame": "Націсніце P, каб прыпыніць гульню",
|
||||
"paused": "ПРЫПЫНЕНА"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"common": {
|
||||
"cronManagementMadeEasy": "Cron-Verwaltung leicht gemacht",
|
||||
"allUsers": "Alle Benutzer",
|
||||
"userWithUsername": "Benutzer: {user}",
|
||||
"user": "Benutzer",
|
||||
"change": "Ändern",
|
||||
"description": "Beschreibung",
|
||||
"optional": "Optional",
|
||||
"cancel": "Abbrechen",
|
||||
"close": "Schließen",
|
||||
"refresh": "Aktualisieren",
|
||||
"loading": "Wird geladen",
|
||||
"version": "Version {version}"
|
||||
},
|
||||
"cronjobs": {
|
||||
"cronJobs": "Cron-Jobs",
|
||||
"cronJob": "Cron-Job",
|
||||
"scheduledTasks": "Geplante Aufgaben",
|
||||
"nOfNJObs": "{filtered} von {total} geplanten Aufgaben",
|
||||
"forUser": "für Benutzer {user}",
|
||||
"newTask": "Neue Aufgabe",
|
||||
"runCronManually": "Cron-Job manuell ausführen",
|
||||
"editCronJob": "Cron-Job bearbeiten",
|
||||
"cloneCronJob": "Cron-Job klonen",
|
||||
"deleteCronJob": "Cron-Job löschen",
|
||||
"pauseCronJob": "Cron-Job pausieren",
|
||||
"resumeCronJob": "Cron-Job fortsetzen",
|
||||
"runCronJob": "Cron-Job ausführen",
|
||||
"runCronJobSuccess": "Cron-Job erfolgreich ausgeführt",
|
||||
"runCronJobFailed": "Fehler beim Ausführen des Cron-Jobs",
|
||||
"paused": "Angehalten",
|
||||
"createNewScheduledTask": "Neue geplante Aufgabe erstellen",
|
||||
"schedule": "Zeitplan",
|
||||
"taskType": "Aufgabentyp",
|
||||
"customCommand": "Benutzerdefinierter Befehl",
|
||||
"singleCommand": "Einzelner Befehl",
|
||||
"command": "Befehl",
|
||||
"whatDoesThisTaskDo": "Was macht diese Aufgabe?",
|
||||
"createTask": "Aufgabe erstellen",
|
||||
"editScheduledTask": "Geplante Aufgabe bearbeiten",
|
||||
"enableLogging": "Protokollierung aktivieren",
|
||||
"disableLogging": "Protokollierung deaktivieren",
|
||||
"loggingDescription": "Erfasst stdout, stderr, Exit-Codes und Zeitstempel für die Ausführung von Jobs. Protokolle werden in ./data/logs gespeichert und automatisch bereinigt (standardmäßig 50 Protokolle pro Job und 30 Tage Aufbewahrungsfrist. Diese Werte können in den Umgebungsvariablen geändert werden).",
|
||||
"logged": "Protokolliert",
|
||||
"viewLogs": "Protokolle anzeigen",
|
||||
"logs": "Protokolle",
|
||||
"logFiles": "Protokolldateien",
|
||||
"logContent": "Protokollinhalt",
|
||||
"downloadLog": "Herunterladen",
|
||||
"selectLogToView": "Protokolldatei auswählen, um den Inhalt anzuzeigen",
|
||||
"noLogsFound": "Für diesen Job wurden keine Protokolle gefunden",
|
||||
"confirmDeleteLog": "Soll diese Protokolldatei wirklich gelöscht werden?",
|
||||
"confirmDeleteAllLogs": "Sollen wirklich alle Protokolldateien für diesen Job gelöscht werden? Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"deleteAll": "Alle löschen",
|
||||
"refresh": "Aktualisieren",
|
||||
"loading": "Lädt",
|
||||
"close": "Schließen",
|
||||
"healthy": "Gesund",
|
||||
"failed": "Fehlgeschlagen (Exit: {exitCode})",
|
||||
"backupJob": "Job sichern",
|
||||
"restoreJob": "Job wiederherstellen",
|
||||
"backupAll": "Alle sichern",
|
||||
"backups": "Sicherungen",
|
||||
"restoreAll": "Alle wiederherstellen",
|
||||
"confirmRestoreAll": "Sollen wirklich alle gesicherten Jobs wiederhergestellt werden? Dies fügt sie crontab hinzu.",
|
||||
"backupJobSuccess": "Job erfolgreich gesichert",
|
||||
"backupJobFailed": "Sicherung des Jobs fehlgeschlagen",
|
||||
"backupAllSuccess": "Alle Jobs erfolgreich gesichert",
|
||||
"backupAllFailed": "Sicherung aller Jobs fehlgeschlagen",
|
||||
"restoreJobSuccess": "Job erfolgreich wiederhergestellt",
|
||||
"restoreJobFailed": "Wiederherstellung des Jobs fehlgeschlagen",
|
||||
"moreActions": "Weitere Aktionen",
|
||||
"restoreBackups": "Sicherungen wiederherstellen",
|
||||
"availableBackups": "Verfügbare Sicherungen",
|
||||
"noBackupsFound": "Keine Sicherungsdateien gefunden",
|
||||
"backedUpAt": "Gesichert am",
|
||||
"restoreThisBackup": "Diese Sicherung wiederherstellen",
|
||||
"deleteBackup": "Sicherung löschen",
|
||||
"confirmDeleteBackup": "Soll diese Sicherung wirklich gelöscht werden? Diese Aktion kann nicht rückgängig gemacht werden.",
|
||||
"backupDeleted": "Sicherung erfolgreich gelöscht",
|
||||
"filters": "Filter",
|
||||
"filtersAndDisplay": "Filter- & Anzeigeoptionen",
|
||||
"filterByUser": "Nach Benutzer filtern",
|
||||
"scheduleDisplay": "Anzeige des Zeitplans",
|
||||
"cronSyntax": "Cron-Syntax",
|
||||
"humanReadable": "menschenlesbar",
|
||||
"both": "Beides",
|
||||
"minimalMode": "Minimalmodus",
|
||||
"minimalModeDescription": "Zeigt kompakte Ansicht mit Symbolen statt vollem Text",
|
||||
"applyFilters": "Filter anwenden",
|
||||
"nLines": "{count} Zeilen",
|
||||
"liveJobExecution": "Live-Job-Ausführung",
|
||||
"running": "Läuft...",
|
||||
"completed": "Abgeschlossen (Exit: {exitCode})",
|
||||
"jobFailed": "Fehlgeschlagen (Exit: {exitCode})",
|
||||
"showLast": "Zeige die letzten:",
|
||||
"viewFullLog": "Vollständiges Protokoll anzeigen ({totalLines} Zeilen)",
|
||||
"viewFullLogNoCount": "Vollständiges Protokoll anzeigen",
|
||||
"viewingFullLog": "Vollständiges Protokoll wird angezeigt ({totalLines} Zeilen)",
|
||||
"viewingFullLogNoCount": "Vollständiges Protokoll wird angezeigt",
|
||||
"backToWindowedView": "Zur Fensteransicht zurückkehren",
|
||||
"showingLastOf": "Anzeigen der letzten {lineCount} von {totalLines} Zeilen",
|
||||
"showingLastLines": "Anzeigen der letzten {lineCount} Zeilen",
|
||||
"largeLogFileDetected": "Große Protokolldatei erkannt",
|
||||
"tailModeEnabled": "Tail-Modus aktiviert, Anzeige der letzten {tailLines} Zeilen",
|
||||
"showAllLines": "Alle Zeilen anzeigen",
|
||||
"enableTailMode": "Tail-Modus aktivieren",
|
||||
"waitingForJobToStart": "Warten auf Start des Jobs...\n\nProtokolle werden hier in Echtzeit angezeigt.",
|
||||
"runIdJobId": "Ausführungs-ID: {runId} | Job-ID: {jobId}"
|
||||
},
|
||||
"scripts": {
|
||||
"scripts": "Skripte",
|
||||
"scriptsLibrary": "Skript-Bibliothek",
|
||||
"file": "Datei",
|
||||
"newScript": "Neues Skript",
|
||||
"noScriptsYet": "Noch keine Skripte vorhanden",
|
||||
"createReusableBashScripts": "Erstellung wiederverwendbarer Bash-Skripte für geplante Aufgaben.",
|
||||
"createYourFirstScript": "Erstes Skript erstellen",
|
||||
"nOfNSavedScripts": "{count} gespeicherte Skripte",
|
||||
"savedScript": "Gespeichertes Skript",
|
||||
"selectFromLibrary": "Aus Bibliothek auswählen",
|
||||
"scriptPathReadOnly": "Der Skriptpfad ist schreibgeschützt. Skript in der Skript-Bibliothek bearbeiten",
|
||||
"selectScript": "Skript auswählen",
|
||||
"availableScripts": "{count} verfügbare Skripte",
|
||||
"noScriptsFound": "Keine Skripte gefunden",
|
||||
"noScriptsAvailable": "Keine Skripte verfügbar",
|
||||
"scriptPreview": "Skript-Vorschau",
|
||||
"commandPreview": "Befehlsvorschau",
|
||||
"scriptContent": "Skript-Inhalt",
|
||||
"selectScriptToPreview": "Skript zum Vorschauen auswählen",
|
||||
"searchScripts": "Skripte suchen...",
|
||||
"draft": "Entwurf",
|
||||
"clearDraft": "Entwurf löschen",
|
||||
"close": "Schließen",
|
||||
"draftCleared": "Entwurf gelöscht"
|
||||
},
|
||||
"sidebar": {
|
||||
"systemOverview": "Systemübersicht",
|
||||
"uptime": "Betriebszeit",
|
||||
"memory": "Speicher",
|
||||
"cpu": "CPU",
|
||||
"gpu": "GPU",
|
||||
"network": "Netzwerk",
|
||||
"networkLatency": "Netzwerklatenz",
|
||||
"memoryUsage": "Speichernutzung",
|
||||
"cpuUsage": "CPU-Auslastung",
|
||||
"systemInformation": "Systeminformationen",
|
||||
"performanceMetrics": "Leistungsmetriken",
|
||||
"statsUpdateEvery": "Statistiken aktualisieren alle",
|
||||
"updating": "Wird aktualisiert",
|
||||
"networkSpeedEstimatedFromLatency": "Netzwerkgeschwindigkeit anhand der Latenz geschätzt"
|
||||
},
|
||||
"system": {
|
||||
"optimal": "Optimal",
|
||||
"critical": "Kritisch",
|
||||
"high": "Hoch",
|
||||
"moderate": "Mäßig",
|
||||
"warning": "Warnung",
|
||||
"unknown": "Unbekannt",
|
||||
"connected": "Verbunden",
|
||||
"allSystemsRunningNormally": "Alle Systeme laufen normal",
|
||||
"highResourceUsageDetectedImmediateAttentionRequired": "Hohe Ressourcenauslastung erkannt - sofortige Aufmerksamkeit erforderlich",
|
||||
"moderateResourceUsageMonitoringRecommended": "Moderate Ressourcenauslastung - Überwachung empfohlen",
|
||||
"unknownGPU": "Unbekannte GPU",
|
||||
"noGPUDetected": "Keine GPU erkannt",
|
||||
"gpuDetectionFailed": "GPU-Erkennung fehlgeschlagen",
|
||||
"available": "Verfügbar",
|
||||
"systemStatus": "Systemstatus",
|
||||
"lastUpdated": "Letzte Aktualisierung"
|
||||
},
|
||||
"login": {
|
||||
"welcomeTitle": "Willkommen bei Cr*nMaster",
|
||||
"signInWithPasswordOrSSO": "Mit Passwort oder SSO anmelden",
|
||||
"signInWithSSO": "Mit SSO anmelden",
|
||||
"enterPasswordToContinue": "Passwort eingeben, um fortzufahren",
|
||||
"authenticationNotConfigured": "Authentifizierung nicht konfiguriert",
|
||||
"noAuthMethodsEnabled": "Weder Passwortauthentifizierung noch OIDC SSO sind aktiviert. Bitte wenigstens eine Authentifizierungsmethode in den Umgebungsvariablen konfigurieren, um sich anmelden zu können.",
|
||||
"enterPassword": "Passwort eingeben",
|
||||
"signingIn": "Wird angemeldet...",
|
||||
"signIn": "Anmelden",
|
||||
"redirecting": "Wird umgeleitet...",
|
||||
"redirectingToOIDC": "Wird zum OIDC-Provider weitergeleitet",
|
||||
"pleaseWait": "Bitte warten...",
|
||||
"orContinueWith": "Oder fortfahren mit",
|
||||
"loginFailed": "Anmeldung fehlgeschlagen",
|
||||
"genericError": "Es ist ein Fehler aufgetreten. Bitte erneut versuchen."
|
||||
},
|
||||
"warnings": {
|
||||
"wrapperScriptModified": "Wrapper-Skript geändert",
|
||||
"wrapperScriptModifiedDescription": "Ihr cron-log-wrapper.sh-Skript wurde von der offiziellen Version geändert. Dies kann die Protokollierungsfunktionalität beeinflussen. Rückkehr zur offiziellen Version erwägen oder sicherstellen, dass Änderungen das erforderliche Format für die Protokollanalyse nicht beschädigen."
|
||||
},
|
||||
"notFound": {
|
||||
"title": "404 - Seite nicht gefunden",
|
||||
"subtitle": "FEHLER: Die angeforderte Ressource konnte nicht gefunden werden",
|
||||
"message": "Die gesuchte Seite existiert nicht. Stattdessen Snake spielen?",
|
||||
"gameOver": "GAME OVER",
|
||||
"score": "Punktzahl",
|
||||
"highScore": "Höchste Punktzahl",
|
||||
"pressToStart": "Zum Starten LEERTASTE drücken oder auf den Bildschirm tippen",
|
||||
"pressToRestart": "Zum Neustarten LEERTASTE drücken oder auf den Bildschirm tippen",
|
||||
"controls": "Steuerung",
|
||||
"useArrowKeys": "Zum Bewegen die Pfeiltasten verwenden",
|
||||
"tapToMove": "Zum Bewegen auf die Bildschirmkanten tippen",
|
||||
"goHome": "Zum Dashboard zurückkehren",
|
||||
"pauseGame": "Zum Pausieren P drücken",
|
||||
"paused": "PAUSIERT"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"common": {
|
||||
"cronManagementMadeEasy": "La gestion de vos tâches cron simplifiée",
|
||||
"allUsers": "Tous les utilisateurs",
|
||||
"userWithUsername": "Utilisateur : {user}",
|
||||
"user": "Utilisateur",
|
||||
"change": "Modifier",
|
||||
"description": "Description",
|
||||
"optional": "Optionnel",
|
||||
"cancel": "Annuler",
|
||||
"close": "Fermer",
|
||||
"refresh": "Actualiser",
|
||||
"loading": "Chargement",
|
||||
"version": "Version {version}"
|
||||
},
|
||||
"cronjobs": {
|
||||
"cronJobs": "Tâches Cron",
|
||||
"cronJob": "Tâche Cron",
|
||||
"scheduledTasks": "Tâches planifiées",
|
||||
"nOfNJObs": "{filtered} sur {total} tâches planifiées",
|
||||
"forUser": "pour l'utilisateur {user}",
|
||||
"newTask": "Nouvelle tâche",
|
||||
"runCronManually": "Exécuter manuellement",
|
||||
"editCronJob": "Modifier la tâche",
|
||||
"cloneCronJob": "Cloner la tâche",
|
||||
"deleteCronJob": "Supprimer la tâche",
|
||||
"pauseCronJob": "Mettre en pause",
|
||||
"resumeCronJob": "Reprendre la tâche",
|
||||
"runCronJob": "Exécuter la tâche",
|
||||
"runCronJobSuccess": "Tâche exécutée avec succès",
|
||||
"runCronJobFailed": "Échec lors de l'exécution",
|
||||
"paused": "En pause",
|
||||
"createNewScheduledTask": "Créer une nouvelle tâche planifiée",
|
||||
"schedule": "Planification",
|
||||
"taskType": "Type de tâche",
|
||||
"customCommand": "Commande personnalisée",
|
||||
"singleCommand": "Commande simple",
|
||||
"command": "Commande",
|
||||
"whatDoesThisTaskDo": "Que fait cette tâche ?",
|
||||
"createTask": "Créer la tâche",
|
||||
"editScheduledTask": "Modifier la tâche planifiée",
|
||||
"enableLogging": "Activer les logs",
|
||||
"disableLogging": "Désactiver les logs",
|
||||
"loggingDescription": "Capture les sorties (stdout, stderr), les codes de sortie et les timestamps. Les logs sont stockés dans ./data/logs et nettoyés automatiquement (par défaut : 50 logs par tâche et 30 jours de rétention, modifiable via les variables d'environnement).",
|
||||
"logged": "Journalisé",
|
||||
"viewLogs": "Voir les logs",
|
||||
"logs": "logs",
|
||||
"logFiles": "Fichiers de log",
|
||||
"logContent": "Contenu du log",
|
||||
"downloadLog": "Télécharger",
|
||||
"selectLogToView": "Sélectionnez un fichier pour voir son contenu",
|
||||
"noLogsFound": "Aucun log trouvé pour cette tâche",
|
||||
"confirmDeleteLog": "Voulez-vous vraiment supprimer ce fichier de log ?",
|
||||
"confirmDeleteAllLogs": "Voulez-vous vraiment supprimer tous les logs de cette tâche ? Cette action est irréversible.",
|
||||
"deleteAll": "Tout supprimer",
|
||||
"refresh": "Actualiser",
|
||||
"loading": "Chargement",
|
||||
"close": "Fermer",
|
||||
"healthy": "Opérationnel",
|
||||
"failed": "Échoué (Code : {exitCode})",
|
||||
"backupJob": "Sauvegarder la tâche",
|
||||
"restoreJob": "Restaurer la tâche",
|
||||
"backupAll": "Tout sauvegarder",
|
||||
"backups": "Sauvegardes",
|
||||
"restoreAll": "Tout restaurer",
|
||||
"confirmRestoreAll": "Voulez-vous vraiment restaurer toutes les tâches sauvegardées ? Elles seront ajoutées à votre crontab.",
|
||||
"backupJobSuccess": "Tâche sauvegardée avec succès",
|
||||
"backupJobFailed": "Échec de la sauvegarde",
|
||||
"backupAllSuccess": "Toutes les tâches sauvegardées avec succès",
|
||||
"backupAllFailed": "Échec de la sauvegarde globale",
|
||||
"restoreJobSuccess": "Tâche restaurée avec succès",
|
||||
"restoreJobFailed": "Échec de la restauration",
|
||||
"moreActions": "Plus d'actions",
|
||||
"restoreBackups": "Restaurer les sauvegardes",
|
||||
"availableBackups": "Sauvegardes disponibles",
|
||||
"noBackupsFound": "Aucune sauvegarde trouvée",
|
||||
"backedUpAt": "Sauvegardé le",
|
||||
"restoreThisBackup": "Restaurer cette sauvegarde",
|
||||
"deleteBackup": "Supprimer la sauvegarde",
|
||||
"confirmDeleteBackup": "Voulez-vous vraiment supprimer cette sauvegarde ? Cette action est irréversible.",
|
||||
"backupDeleted": "Sauvegarde supprimée avec succès",
|
||||
"filters": "Filtres",
|
||||
"filtersAndDisplay": "Filtres et affichage",
|
||||
"filterByUser": "Filtrer par utilisateur",
|
||||
"scheduleDisplay": "Affichage de la planification",
|
||||
"cronSyntax": "Syntaxe Cron",
|
||||
"humanReadable": "Lisible par un humain",
|
||||
"both": "Les deux",
|
||||
"minimalMode": "Mode minimal",
|
||||
"minimalModeDescription": "Affichage compact avec des icônes",
|
||||
"applyFilters": "Appliquer les filtres",
|
||||
"nLines": "{count} lignes",
|
||||
"liveJobExecution": "Exécution en temps réel",
|
||||
"running": "En cours...",
|
||||
"completed": "Terminé (Code : {exitCode})",
|
||||
"jobFailed": "Échoué (Code : {exitCode})",
|
||||
"showLast": "Voir les dernières :",
|
||||
"viewFullLog": "Voir tout le log ({totalLines} lignes)",
|
||||
"viewFullLogNoCount": "Voir tout le log",
|
||||
"viewingFullLog": "Affichage complet ({totalLines} lignes)",
|
||||
"viewingFullLogNoCount": "Affichage complet",
|
||||
"backToWindowedView": "Retour à la vue fenêtrée",
|
||||
"showingLastOf": "Affichage des {lineCount} dernières lignes sur {totalLines}",
|
||||
"showingLastLines": "Affichage des {lineCount} dernières lignes",
|
||||
"largeLogFileDetected": "Fichier de log volumineux détecté",
|
||||
"tailModeEnabled": "Mode suivi activé, affichage des {tailLines} dernières lignes",
|
||||
"showAllLines": "Tout afficher",
|
||||
"enableTailMode": "Activer le mode suivi",
|
||||
"waitingForJobToStart": "En attente du démarrage de la tâche...\n\nLes logs apparaîtront ici en temps réel.",
|
||||
"runIdJobId": "ID exécution : {runId} | ID tâche : {jobId}"
|
||||
},
|
||||
"scripts": {
|
||||
"scripts": "Scripts",
|
||||
"scriptsLibrary": "Bibliothèque de scripts",
|
||||
"file": "Fichier",
|
||||
"newScript": "Nouveau script",
|
||||
"noScriptsYet": "Aucun script pour le moment",
|
||||
"createReusableBashScripts": "Créez des scripts Bash réutilisables pour vos tâches.",
|
||||
"createYourFirstScript": "Créer votre premier script",
|
||||
"nOfNSavedScripts": "{count} scripts enregistrés",
|
||||
"savedScript": "Script enregistré",
|
||||
"selectFromLibrary": "Sélectionner dans la bibliothèque",
|
||||
"scriptPathReadOnly": "Le chemin du script est en lecture seule. Modifiez-le dans la bibliothèque.",
|
||||
"selectScript": "Sélectionner un script",
|
||||
"availableScripts": "{count} scripts disponibles",
|
||||
"noScriptsFound": "Aucun script trouvé",
|
||||
"noScriptsAvailable": "Aucun script disponible",
|
||||
"scriptPreview": "Aperçu du script",
|
||||
"commandPreview": "Aperçu de la commande",
|
||||
"scriptContent": "Contenu du script",
|
||||
"selectScriptToPreview": "Sélectionnez un script pour l'aperçu",
|
||||
"searchScripts": "Rechercher...",
|
||||
"draft": "Brouillon",
|
||||
"clearDraft": "Effacer le brouillon",
|
||||
"close": "Fermer",
|
||||
"draftCleared": "Brouillon effacé"
|
||||
},
|
||||
"sidebar": {
|
||||
"systemOverview": "Vue d'ensemble système",
|
||||
"uptime": "Temps de fonctionnement",
|
||||
"memory": "Mémoire",
|
||||
"cpu": "Processeur",
|
||||
"gpu": "Carte graphique",
|
||||
"network": "Réseau",
|
||||
"networkLatency": "Latence réseau",
|
||||
"memoryUsage": "Utilisation mémoire",
|
||||
"cpuUsage": "Utilisation CPU",
|
||||
"systemInformation": "Informations système",
|
||||
"performanceMetrics": "Performances",
|
||||
"statsUpdateEvery": "Mise à jour des stats toutes les",
|
||||
"updating": "Mise à jour",
|
||||
"networkSpeedEstimatedFromLatency": "Vitesse réseau estimée via la latence"
|
||||
},
|
||||
"system": {
|
||||
"optimal": "Optimal",
|
||||
"critical": "Critique",
|
||||
"high": "Élevé",
|
||||
"moderate": "Modéré",
|
||||
"warning": "Avertissement",
|
||||
"unknown": "Inconnu",
|
||||
"connected": "Connecté",
|
||||
"allSystemsRunningNormally": "Tout fonctionne normalement",
|
||||
"highResourceUsageDetectedImmediateAttentionRequired": "Usage élevé des ressources - attention requise",
|
||||
"moderateResourceUsageMonitoringRecommended": "Usage modéré - surveillance recommandée",
|
||||
"unknownGPU": "GPU inconnu",
|
||||
"noGPUDetected": "Aucun GPU détecté",
|
||||
"gpuDetectionFailed": "Échec détection GPU",
|
||||
"available": "Disponible",
|
||||
"systemStatus": "État du système",
|
||||
"lastUpdated": "Dernière mise à jour"
|
||||
},
|
||||
"login": {
|
||||
"welcomeTitle": "Bienvenue sur Cr*nMaster",
|
||||
"signInWithPasswordOrSSO": "Connexion par mot de passe ou SSO",
|
||||
"signInWithSSO": "Connexion via SSO",
|
||||
"enterPasswordToContinue": "Entrez votre mot de passe pour continuer",
|
||||
"authenticationNotConfigured": "Authentification non configurée",
|
||||
"noAuthMethodsEnabled": "Ni le mot de passe, ni l'OIDC SSO ne sont activés. Veuillez configurer au moins une méthode dans vos variables d'environnement.",
|
||||
"enterPassword": "Entrez le mot de passe",
|
||||
"signingIn": "Connexion en cours...",
|
||||
"signIn": "Se connecter",
|
||||
"redirecting": "Redirection...",
|
||||
"redirectingToOIDC": "Redirection vers le fournisseur OIDC",
|
||||
"pleaseWait": "Veuillez patienter...",
|
||||
"orContinueWith": "Ou continuer avec",
|
||||
"loginFailed": "Échec de connexion",
|
||||
"genericError": "Une erreur est survenue. Veuillez réessayer."
|
||||
},
|
||||
"warnings": {
|
||||
"wrapperScriptModified": "Script wrapper modifié",
|
||||
"wrapperScriptModifiedDescription": "Votre script 'cron-log-wrapper.sh' est différent de la version officielle. Cela peut affecter les logs. Revenez à la version officielle ou vérifiez que vos changements respectent le format attendu."
|
||||
},
|
||||
"notFound": {
|
||||
"title": "404 - Page non trouvée",
|
||||
"subtitle": "ERREUR : La ressource demandée est introuvable",
|
||||
"message": "La page que vous cherchez n'existe pas. Vous voulez faire une partie de Snake ?",
|
||||
"gameOver": "PARTIE TERMINÉE",
|
||||
"score": "Score",
|
||||
"highScore": "Meilleur score",
|
||||
"pressToStart": "Appuyez sur ESPACE ou touchez l'écran pour commencer",
|
||||
"pressToRestart": "Appuyez sur ESPACE ou touchez l'écran pour recommencer",
|
||||
"controls": "Contrôles",
|
||||
"useArrowKeys": "Utilisez les flèches pour bouger",
|
||||
"tapToMove": "Touchez les bords de l'écran pour bouger",
|
||||
"goHome": "Retour au tableau de bord",
|
||||
"pauseGame": "Appuyez sur P pour mettre en pause",
|
||||
"paused": "EN PAUSE"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"common": {
|
||||
"cronManagementMadeEasy": "让计划任务管理变得简单",
|
||||
"allUsers": "所有用户",
|
||||
"userWithUsername": "用户: {user}",
|
||||
"user": "用户",
|
||||
"change": "修改",
|
||||
"description": "描述",
|
||||
"optional": "可选",
|
||||
"cancel": "取消",
|
||||
"close": "关闭",
|
||||
"refresh": "刷新",
|
||||
"loading": "加载中",
|
||||
"version": "版本: {version}"
|
||||
},
|
||||
"cronjobs": {
|
||||
"cronJobs": "定时任务",
|
||||
"cronJob": "定时任务",
|
||||
"scheduledTasks": "计划任务",
|
||||
"nOfNJObs": "{filtered} / {total} 计划任务",
|
||||
"forUser": "所属用户 {user}",
|
||||
"newTask": "新建任务",
|
||||
"runCronManually": "手动运行定时任务",
|
||||
"editCronJob": "编辑定时任务",
|
||||
"cloneCronJob": "复制定时任务",
|
||||
"deleteCronJob": "删除定时任务",
|
||||
"pauseCronJob": "暂停定时任务",
|
||||
"resumeCronJob": "继续定时任务",
|
||||
"runCronJob": "运行定时任务",
|
||||
"runCronJobSuccess": "定时任务执行成功",
|
||||
"runCronJobFailed": "定时任务执行失败",
|
||||
"paused": "已暂停",
|
||||
"createNewScheduledTask": "新建计划任务",
|
||||
"schedule": "计划",
|
||||
"taskType": "任务类型",
|
||||
"customCommand": "自定义命令",
|
||||
"singleCommand": "单个命令",
|
||||
"command": "命令",
|
||||
"whatDoesThisTaskDo": "这个任务的作用?",
|
||||
"createTask": "创建任务",
|
||||
"editScheduledTask": "编辑计划任务",
|
||||
"enableLogging": "开启日志",
|
||||
"disableLogging": "禁用日志",
|
||||
"loggingDescription": "采集标准(及错误)输出, 退出码, 以及任务执行的时间戳.日志存于./data/logs,有自动清理机制(默认每个任务保留50条日志或30天, 可以在环境变量中修改).",
|
||||
"logged": "已记录",
|
||||
"viewLogs": "查看日志",
|
||||
"logs": "日志",
|
||||
"logFiles": "日志文件",
|
||||
"logContent": "日志内容",
|
||||
"downloadLog": "下载",
|
||||
"selectLogToView": "选择一个日志以查看内容",
|
||||
"noLogsFound": "这个任务还没有日志",
|
||||
"confirmDeleteLog": "确定删除这个日志文件?",
|
||||
"confirmDeleteAllLogs": "确定删除这个任务的所有日志?此操作不可撤销!",
|
||||
"deleteAll": "清空",
|
||||
"refresh": "刷新",
|
||||
"loading": "加载中",
|
||||
"close": "关闭",
|
||||
"healthy": "健康",
|
||||
"failed": "失败 (退出码: {exitCode})",
|
||||
"backupJob": "备份任务",
|
||||
"restoreJob": "恢复任务",
|
||||
"backupAll": "备份所有",
|
||||
"backups": "备份",
|
||||
"restoreAll": "恢复所有",
|
||||
"confirmRestoreAll": "确定恢复所有备份的任务吗?这将添加到你现有的定时任务表中.",
|
||||
"backupJobSuccess": "任务备份成功",
|
||||
"backupJobFailed": "任务备份失败",
|
||||
"backupAllSuccess": "所有任务备份成功",
|
||||
"backupAllFailed": "所有任务备份失败",
|
||||
"restoreJobSuccess": "任务恢复成功",
|
||||
"restoreJobFailed": "任务恢复失败",
|
||||
"moreActions": "更多操作",
|
||||
"restoreBackups": "恢复备份",
|
||||
"availableBackups": "可用的备份",
|
||||
"noBackupsFound": "没找到备份文件",
|
||||
"backedUpAt": "备份于",
|
||||
"restoreThisBackup": "恢复这个备份",
|
||||
"deleteBackup": "删除备份",
|
||||
"confirmDeleteBackup": "确定删除此备份?此操作不可撤销!",
|
||||
"backupDeleted": "备份删除成功",
|
||||
"filters": "筛选",
|
||||
"filtersAndDisplay": "筛选 & 显示选项",
|
||||
"filterByUser": "筛选用户",
|
||||
"scheduleDisplay": "计划显示",
|
||||
"cronSyntax": "定时语法",
|
||||
"humanReadable": "人类可读",
|
||||
"both": "都有",
|
||||
"minimalMode": "最小模式",
|
||||
"minimalModeDescription": "使用简洁图标代替文字",
|
||||
"applyFilters": "应用筛选",
|
||||
"nLines": "{count} 行",
|
||||
"liveJobExecution": "实时任务执行",
|
||||
"running": "运行中...",
|
||||
"completed": "完成 (退出码: {exitCode})",
|
||||
"jobFailed": "失败 (退出码: {exitCode})",
|
||||
"showLast": "显示最后:",
|
||||
"viewFullLog": "查看整个日志共 ({totalLines} 行)",
|
||||
"viewFullLogNoCount": "查看整个日志",
|
||||
"viewingFullLog": "正在查看共 ({totalLines} 行)",
|
||||
"viewingFullLogNoCount": "正在查看整个日志",
|
||||
"backToWindowedView": "返回窗口模式",
|
||||
"showingLastOf": "正在显示 {lineCount} / {totalLines} 行",
|
||||
"showingLastLines": "正在显示最后 {lineCount} 行",
|
||||
"largeLogFileDetected": "检测到大型日志文件",
|
||||
"tailModeEnabled": "已启用尾部(tail)模式, 正在显示最后 {tailLines} 行",
|
||||
"showAllLines": "显示所有行",
|
||||
"enableTailMode": "启用尾部(tail)模式",
|
||||
"waitingForJobToStart": "等待任务开始...\n\n日志将实时展示。",
|
||||
"runIdJobId": "运行 ID: {runId} | 任务 ID: {jobId}"
|
||||
},
|
||||
"scripts": {
|
||||
"scripts": "脚本",
|
||||
"scriptsLibrary": "脚本库",
|
||||
"file": "文件",
|
||||
"newScript": "新建脚本",
|
||||
"noScriptsYet": "还没有脚本",
|
||||
"createReusableBashScripts": "创建可重复使用的bash脚本,用于你的计划任务。",
|
||||
"createYourFirstScript": "创建你的第一个脚本",
|
||||
"nOfNSavedScripts": "{count} 份已保存的脚本",
|
||||
"savedScript": "已保存的脚本",
|
||||
"selectFromLibrary": "从库中选择",
|
||||
"scriptPathReadOnly": "脚本路径是只读的。在脚本库中编辑脚本",
|
||||
"selectScript": "选择脚本",
|
||||
"availableScripts": "{count} 份可用脚本",
|
||||
"noScriptsFound": "未找到适合的脚本",
|
||||
"noScriptsAvailable": "没有可用的脚本",
|
||||
"scriptPreview": "脚本预览",
|
||||
"commandPreview": "命令预览",
|
||||
"scriptContent": "脚本内容",
|
||||
"selectScriptToPreview": "选择脚本以预览",
|
||||
"searchScripts": "搜索脚本中...",
|
||||
"draft": "草稿",
|
||||
"clearDraft": "清空草稿",
|
||||
"close": "关闭",
|
||||
"draftCleared": "草稿已清空"
|
||||
},
|
||||
"sidebar": {
|
||||
"systemOverview": "系统概述",
|
||||
"uptime": "运行时间",
|
||||
"memory": "内存",
|
||||
"cpu": "CPU",
|
||||
"gpu": "GPU",
|
||||
"network": "网络",
|
||||
"networkLatency": "网络延迟",
|
||||
"memoryUsage": "内存使用率",
|
||||
"cpuUsage": "CPU使用率",
|
||||
"systemInformation": "系统信息",
|
||||
"performanceMetrics": "性能指标",
|
||||
"statsUpdateEvery": "状态更新于每",
|
||||
"updating": "更新中",
|
||||
"networkSpeedEstimatedFromLatency": "网速由延迟估算(所以不准)"
|
||||
},
|
||||
"system": {
|
||||
"optimal": "非常好",
|
||||
"critical": "危急",
|
||||
"high": "高效",
|
||||
"moderate": "适中",
|
||||
"warning": "警告",
|
||||
"unknown": "未知",
|
||||
"connected": "已连接",
|
||||
"allSystemsRunningNormally": "系统正常运行",
|
||||
"highResourceUsageDetectedImmediateAttentionRequired": "检测到高资源使用 - 需要立即注意",
|
||||
"moderateResourceUsageMonitoringRecommended": "处于适度的资源使用 - 持续监测即可",
|
||||
"unknownGPU": "未知GPU",
|
||||
"noGPUDetected": "未检测到GPU",
|
||||
"gpuDetectionFailed": "GPU检测失败",
|
||||
"available": "可用的",
|
||||
"systemStatus": "系统状态",
|
||||
"lastUpdated": "上次更新于"
|
||||
},
|
||||
"login": {
|
||||
"welcomeTitle": "欢迎来到定时管家",
|
||||
"signInWithPasswordOrSSO": "使用密码或SSO登录",
|
||||
"signInWithSSO": "使用SSO登录",
|
||||
"enterPasswordToContinue": "输入密码以继续",
|
||||
"authenticationNotConfigured": "未配置认证信息",
|
||||
"noAuthMethodsEnabled": "密码认证或OIDC SSO都未启用.请在环境变量中至少配置一种用于登录。",
|
||||
"enterPassword": "输入密码",
|
||||
"signingIn": "登录中...",
|
||||
"signIn": "登录",
|
||||
"redirecting": "重定向中...",
|
||||
"redirectingToOIDC": "正在定向到OIDC提供商",
|
||||
"pleaseWait": "请稍等...",
|
||||
"orContinueWith": "或者继续使用",
|
||||
"loginFailed": "登录失败",
|
||||
"genericError": "发生错误,请重试。"
|
||||
},
|
||||
"warnings": {
|
||||
"wrapperScriptModified": "封装脚本已被修改",
|
||||
"wrapperScriptModifiedDescription": "你的cron-log-wrapper.sh已经被修改为非官方版本。这可能会影响日志功能。可以考虑切换回官方版本或者确认不会影响日志解析功能"
|
||||
},
|
||||
"notFound": {
|
||||
"title": "404 - 页面未找到",
|
||||
"subtitle": "错误: 找不到要找的资源。",
|
||||
"message": "你要找的页面不存在,是否玩几句贪吃蛇?",
|
||||
"gameOver": "游戏结束",
|
||||
"score": "分数",
|
||||
"highScore": "最高分",
|
||||
"pressToStart": "敲空格键或点击来开始",
|
||||
"pressToRestart": "敲空格键或点击来重新开始",
|
||||
"controls": "控制方法",
|
||||
"useArrowKeys": "使用方向键来移动",
|
||||
"tapToMove": "点击屏幕边缘来移动",
|
||||
"goHome": "返回仪表盘",
|
||||
"pauseGame": "按 P 暂停",
|
||||
"paused": "已暂停"
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,21 @@
|
||||
const SH_C_PREFIX = /^sh -c '/;
|
||||
|
||||
export const toShellArg = (cmd: string): string =>
|
||||
SH_C_PREFIX.test(cmd) ? cmd : `sh -c '${cmd.replace(/'/g, "'\\''")}'`;
|
||||
|
||||
export const fromShellArg = (cmd: string): string => {
|
||||
const match = cmd.match(/^sh -c '(.*)'$/);
|
||||
if (!match) return cmd;
|
||||
return match[1].replace(/'\\''/g, "'");
|
||||
};
|
||||
|
||||
export const unwrapCommand = (command: string): string => {
|
||||
const wrapperPattern = /^(.+\/cron-log-wrapper\.sh)\s+"([^"]+)"\s+(.+)$/;
|
||||
|
||||
const match = command.match(wrapperPattern);
|
||||
|
||||
if (match && match[3]) {
|
||||
return match[3];
|
||||
return fromShellArg(match[3]);
|
||||
}
|
||||
|
||||
return command;
|
||||
|
||||
@@ -2,6 +2,7 @@ import { existsSync, copyFileSync } from "fs";
|
||||
import path from "path";
|
||||
import { DATA_DIR } from "../_consts/file";
|
||||
import { getHostDataPath } from "../_server/actions/global";
|
||||
import { toShellArg, fromShellArg } from "./wrapper-utils-client";
|
||||
|
||||
const sanitizeForFilesystem = (input: string): string => {
|
||||
return input
|
||||
@@ -53,11 +54,13 @@ export const wrapCommandWithLogger = async (
|
||||
|
||||
const logFolderName = generateLogFolderName(jobId, comment);
|
||||
|
||||
const safeCmd = toShellArg(command);
|
||||
|
||||
if (isDocker) {
|
||||
const hostDataPath = await getHostDataPath();
|
||||
if (hostDataPath) {
|
||||
const hostWrapperPath = path.join(hostDataPath, "cron-log-wrapper.sh");
|
||||
return `${hostWrapperPath} "${logFolderName}" ${command}`;
|
||||
return `${hostWrapperPath} "${logFolderName}" ${safeCmd}`;
|
||||
}
|
||||
console.warn("Could not determine host data path, using container path");
|
||||
}
|
||||
@@ -67,7 +70,7 @@ export const wrapCommandWithLogger = async (
|
||||
DATA_DIR,
|
||||
"cron-log-wrapper.sh"
|
||||
);
|
||||
return `${localWrapperPath} "${logFolderName}" ${command}`;
|
||||
return `${localWrapperPath} "${logFolderName}" ${safeCmd}`;
|
||||
};
|
||||
|
||||
export const unwrapCommand = (command: string): string => {
|
||||
@@ -76,7 +79,7 @@ export const unwrapCommand = (command: string): string => {
|
||||
const match = command.match(wrapperPattern);
|
||||
|
||||
if (match && match[3]) {
|
||||
return match[3];
|
||||
return fromShellArg(match[3]);
|
||||
}
|
||||
|
||||
return command;
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
import { NextResponse } from "next/server";
|
||||
|
||||
export const GET = () => NextResponse.json({ status: "healthy" });
|
||||
@@ -22,3 +22,9 @@ services:
|
||||
privileged: true
|
||||
restart: always
|
||||
init: true
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:3000/api/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
start_period: 30s
|
||||
retries: 3
|
||||
+10
-21
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "cronjob-manager",
|
||||
"version": "2.2.0",
|
||||
"name": "cronmaster",
|
||||
"version": "2.3.1",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
@@ -37,18 +37,18 @@
|
||||
"fflate": "^0.8.2",
|
||||
"jose": "^6.1.1",
|
||||
"minimatch": "^10.2.3",
|
||||
"next": "16.2.1",
|
||||
"next-intl": "^4.4.0",
|
||||
"next": "^16.2.6",
|
||||
"next-intl": "^4.9.2",
|
||||
"next-themes": "^0.2.1",
|
||||
"postcss": "^8",
|
||||
"postcss": "^8.5.10",
|
||||
"proper-lockfile": "^4.1.2",
|
||||
"react": "19.2.4",
|
||||
"react-dom": "19.2.4",
|
||||
"react-syntax-highlighter": "^15.6.1",
|
||||
"serwist": "^9.5.5",
|
||||
"systeminformation": "^5.31.0",
|
||||
"systeminformation": "^5.31.6",
|
||||
"tailwind-merge": "^2.0.0",
|
||||
"tailwindcss": "^3.3.0",
|
||||
"tailwindcss": "^3.4.17",
|
||||
"typescript": "^5"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -56,22 +56,11 @@
|
||||
"@types/bcryptjs": "^2.4.6",
|
||||
"@types/minimatch": "^6.0.0",
|
||||
"eslint": "^9",
|
||||
"eslint-config-next": "16.2.1",
|
||||
"eslint-config-next": "16.2.6",
|
||||
"postcss-import": "^16.1.1"
|
||||
},
|
||||
"resolutions": {
|
||||
"@isaacs/brace-expansion": "^5.0.1",
|
||||
"eslint/minimatch": "^3.1.3",
|
||||
"@eslint/config-array/minimatch": "^3.1.3",
|
||||
"@eslint/eslintrc/minimatch": "^3.1.3",
|
||||
"eslint-plugin-import/minimatch": "^3.1.3",
|
||||
"eslint-plugin-jsx-a11y/minimatch": "^3.1.3",
|
||||
"@types/react": "19.2.14",
|
||||
"@types/react-dom": "19.2.3",
|
||||
"lodash": "^4.17.23",
|
||||
"prismjs": "^1.30.0",
|
||||
"systeminformation": "^5.31.0",
|
||||
"ajv": "^6.14.0",
|
||||
"flatted": "^3.4.2"
|
||||
"prismjs": "1.30.0",
|
||||
"postcss": "8.5.10"
|
||||
}
|
||||
}
|
||||
@@ -355,53 +355,29 @@
|
||||
resolved "https://registry.yarnpkg.com/@fontsource/ibm-plex-mono/-/ibm-plex-mono-5.2.7.tgz#ef5b6f052115fdf6666208a5f8a0f13fcd7ba1fd"
|
||||
integrity sha512-MKAb8qV+CaiMQn2B0dIi1OV3565NYzp3WN5b4oT6LTkk+F0jR6j0ZN+5BKJiIhffDC3rtBULsYZE65+0018z9w==
|
||||
|
||||
"@formatjs/ecma402-abstract@2.3.6":
|
||||
version "2.3.6"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.6.tgz#d6ca9d3579054fe1e1a0a0b5e872e0d64922e4e1"
|
||||
integrity sha512-HJnTFeRM2kVFVr5gr5kH1XP6K0JcJtE7Lzvtr3FS/so5f1kpsqqqxy5JF+FRaO6H2qmcMfAUIox7AJteieRtVw==
|
||||
dependencies:
|
||||
"@formatjs/fast-memoize" "2.2.7"
|
||||
"@formatjs/intl-localematcher" "0.6.2"
|
||||
decimal.js "^10.4.3"
|
||||
tslib "^2.8.0"
|
||||
"@formatjs/fast-memoize@3.1.5", "@formatjs/fast-memoize@^3.1.0":
|
||||
version "3.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-3.1.5.tgz#bdfe0b884cdecc25100534086f36a0b30bd15b3b"
|
||||
integrity sha512-KLi3fan6WnCHmigd9pmEEN8Hid0v4wiFBW576M/d07KMWYecf1CvyMI3n34vCmHT4AoVqG2n702kiHbXjzZX2A==
|
||||
|
||||
"@formatjs/fast-memoize@2.2.7", "@formatjs/fast-memoize@^2.2.0":
|
||||
version "2.2.7"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-2.2.7.tgz#707f9ddaeb522a32f6715bb7950b0831f4cc7b15"
|
||||
integrity sha512-Yabmi9nSvyOMrlSeGGWDiH7rf3a7sIwplbvo/dlz9WCIjzIQAfy1RMf4S0X3yG724n5Ghu2GmEl5NJIV6O9sZQ==
|
||||
"@formatjs/icu-messageformat-parser@3.5.10", "@formatjs/icu-messageformat-parser@^3.4.0":
|
||||
version "3.5.10"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-3.5.10.tgz#0ced2d6e8009eed57c6f0e7b4cc51dfea63b9bff"
|
||||
integrity sha512-XeJihYLy1lCe19xfK1KWKG/betBOK2rB0luL8lSkjfvJj0zP+LTJvkC+RKd0jsFI8mWxN71LrarHSrEXE8xxOQ==
|
||||
dependencies:
|
||||
tslib "^2.8.0"
|
||||
"@formatjs/icu-skeleton-parser" "2.1.9"
|
||||
|
||||
"@formatjs/icu-messageformat-parser@2.11.4":
|
||||
version "2.11.4"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.4.tgz#63bd2cd82d08ae2bef55adeeb86486df68826f32"
|
||||
integrity sha512-7kR78cRrPNB4fjGFZg3Rmj5aah8rQj9KPzuLsmcSn4ipLXQvC04keycTI1F7kJYDwIXtT2+7IDEto842CfZBtw==
|
||||
dependencies:
|
||||
"@formatjs/ecma402-abstract" "2.3.6"
|
||||
"@formatjs/icu-skeleton-parser" "1.8.16"
|
||||
tslib "^2.8.0"
|
||||
"@formatjs/icu-skeleton-parser@2.1.9":
|
||||
version "2.1.9"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-2.1.9.tgz#746edae664b2ef148df1301845d1bb40000bbebb"
|
||||
integrity sha512-rsxswgHMfU1zUgB2byc08fesf83wLGjFnzLCEtuf00mx2doiqc6pYrf67raI37XqdRcGUviQepk2UKGqpng74Q==
|
||||
|
||||
"@formatjs/icu-skeleton-parser@1.8.16":
|
||||
version "1.8.16"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.16.tgz#13f81f6845c7cf6599623006aacaf7d6b4ad2970"
|
||||
integrity sha512-H13E9Xl+PxBd8D5/6TVUluSpxGNvFSlN/b3coUp0e0JpuWXXnQDiavIpY3NnvSp4xhEMoXyyBvVfdFX8jglOHQ==
|
||||
"@formatjs/intl-localematcher@^0.8.1":
|
||||
version "0.8.8"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.8.8.tgz#1de8a06e7964299c67ba6c9efd033f70f79e8612"
|
||||
integrity sha512-pBr2hVKWvkHVnfXegW+53NT9U2uaVQCc+EgzLPCCwXqBA3nvM5fPbK9IcJlNjV+NMKGyZ2F3ZSG78iGdxAAqbA==
|
||||
dependencies:
|
||||
"@formatjs/ecma402-abstract" "2.3.6"
|
||||
tslib "^2.8.0"
|
||||
|
||||
"@formatjs/intl-localematcher@0.6.2":
|
||||
version "0.6.2"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.6.2.tgz#e9ebe0b4082d7d48e5b2d753579fb7ece4eaefea"
|
||||
integrity sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==
|
||||
dependencies:
|
||||
tslib "^2.8.0"
|
||||
|
||||
"@formatjs/intl-localematcher@^0.5.4":
|
||||
version "0.5.10"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.5.10.tgz#1e0bd3fc1332c1fe4540cfa28f07e9227b659a58"
|
||||
integrity sha512-af3qATX+m4Rnd9+wHcjJ4w2ijq+rAVP3CCinJQvFv1kgSu1W6jypUmvleJxcewdxmutM8dmIRZFxO/IQBZmP2Q==
|
||||
dependencies:
|
||||
tslib "2"
|
||||
"@formatjs/fast-memoize" "3.1.5"
|
||||
|
||||
"@humanfs/core@^0.19.1":
|
||||
version "0.19.1"
|
||||
@@ -573,18 +549,6 @@
|
||||
resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz#a81ffb00e69267cd0a1d626eaedb8a8430b2b2f8"
|
||||
integrity sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==
|
||||
|
||||
"@isaacs/balanced-match@^4.0.1":
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz#3081dadbc3460661b751e7591d7faea5df39dd29"
|
||||
integrity sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==
|
||||
|
||||
"@isaacs/brace-expansion@^5.0.1":
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz#0ef5a92d91f2fff2a37646ce54da9e5f599f6eff"
|
||||
integrity sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==
|
||||
dependencies:
|
||||
"@isaacs/balanced-match" "^4.0.1"
|
||||
|
||||
"@isaacs/cliui@^8.0.2":
|
||||
version "8.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550"
|
||||
@@ -673,57 +637,57 @@
|
||||
"@emnapi/runtime" "^1.4.3"
|
||||
"@tybys/wasm-util" "^0.10.0"
|
||||
|
||||
"@next/env@16.2.1":
|
||||
version "16.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@next/env/-/env-16.2.1.tgz#3896715e28c850355b7b1c9c687beb9d7e9cdc40"
|
||||
integrity sha512-n8P/HCkIWW+gVal2Z8XqXJ6aB3J0tuM29OcHpCsobWlChH/SITBs1DFBk/HajgrwDkqqBXPbuUuzgDvUekREPg==
|
||||
"@next/env@16.2.6":
|
||||
version "16.2.6"
|
||||
resolved "https://registry.yarnpkg.com/@next/env/-/env-16.2.6.tgz#93a173801cb088463070cc6a113c68e26c1838ea"
|
||||
integrity sha512-gd8HoHN4ufj73WmR3JmVolrpJR47ILK6LouP5xElPglaVxir6e1a7VzvTvDWkOoPXT9rkkTzyCxBu4yeZfZwcw==
|
||||
|
||||
"@next/eslint-plugin-next@16.2.1":
|
||||
version "16.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-16.2.1.tgz#994717439ae3259268ed5f7d6830966f0fbb3c9d"
|
||||
integrity sha512-r0epZGo24eT4g08jJlg2OEryBphXqO8aL18oajoTKLzHJ6jVr6P6FI58DLMug04MwD3j8Fj0YK0slyzneKVyzA==
|
||||
"@next/eslint-plugin-next@16.2.6":
|
||||
version "16.2.6"
|
||||
resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-16.2.6.tgz#24f3b2945b2856a5559af5ad630b7cddf1f65329"
|
||||
integrity sha512-Z8l6o4JWKUl755x4R+wogD86KPeU+Ckw4K+SYG4kHeOJtRenDeK+OSbGcqZpDtbwn9DsJVdir2UxmwXuinUbUw==
|
||||
dependencies:
|
||||
fast-glob "3.3.1"
|
||||
|
||||
"@next/swc-darwin-arm64@16.2.1":
|
||||
version "16.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.1.tgz#8bd5c16ee04eb5f07d4f3ca71a3d5270093a9de6"
|
||||
integrity sha512-BwZ8w8YTaSEr2HIuXLMLxIdElNMPvY9fLqb20LX9A9OMGtJilhHLbCL3ggyd0TwjmMcTxi0XXt+ur1vWUoxj2Q==
|
||||
"@next/swc-darwin-arm64@16.2.6":
|
||||
version "16.2.6"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.6.tgz#0e19055594fbd2d198ce95cf5842bdbe57235d4e"
|
||||
integrity sha512-ZJGkkcNfYgrrMkqOdZ7zoLa1TOy0qpcMfk/z4Mh/FKUz40gVO+HNQWqmLxf67Z5WB64DRp0dhEbyHfel+6sJUg==
|
||||
|
||||
"@next/swc-darwin-x64@16.2.1":
|
||||
version "16.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.1.tgz#4c1a9134cd442e7fcd74bbe85ab283616ece06cb"
|
||||
integrity sha512-/vrcE6iQSJq3uL3VGVHiXeaKbn8Es10DGTGRJnRZlkNQQk3kaNtAJg8Y6xuAlrx/6INKVjkfi5rY0iEXorZ6uA==
|
||||
"@next/swc-darwin-x64@16.2.6":
|
||||
version "16.2.6"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.6.tgz#487086280b56017bb547f5975ef1a3d6235a070f"
|
||||
integrity sha512-v/YLBHIY132Ced3puBJ7YJKw1lqsCrgcNo2aRJlCEyQrrCeRJlvGlnmxhPxNQI3KE3N1DN5r9TPNPvka3nq5RQ==
|
||||
|
||||
"@next/swc-linux-arm64-gnu@16.2.1":
|
||||
version "16.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.1.tgz#ec08722d22551ea649872df907a8fee027ab1828"
|
||||
integrity sha512-uLn+0BK+C31LTVbQ/QU+UaVrV0rRSJQ8RfniQAHPghDdgE+SlroYqcmFnO5iNjNfVWCyKZHYrs3Nl0mUzWxbBw==
|
||||
"@next/swc-linux-arm64-gnu@16.2.6":
|
||||
version "16.2.6"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.6.tgz#b28ffbc31ee527a3ad48f29c2fd7b7f75bbdf180"
|
||||
integrity sha512-RPOvqlYBbcQjkz9VQQDZ2T2bARIjXZV1KFlt+V2Mr6SW/e4I9fcKsaA0hdyf2FHoTlsV2xnBd5Y912rP/1Ce6w==
|
||||
|
||||
"@next/swc-linux-arm64-musl@16.2.1":
|
||||
version "16.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.1.tgz#4d6270f5be7905c1a3e4f1c4f9cf4b8c62331561"
|
||||
integrity sha512-ssKq6iMRnHdnycGp9hCuGnXJZ0YPr4/wNwrfE5DbmvEcgl9+yv97/Kq3TPVDfYome1SW5geciLB9aiEqKXQjlQ==
|
||||
"@next/swc-linux-arm64-musl@16.2.6":
|
||||
version "16.2.6"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.6.tgz#d2eac5600e7083527669fa8cb8758efbbf9c8210"
|
||||
integrity sha512-URUTu1+dMkxJsPFgm+OeEvq9wf5sujw0EvgYy80TDGHTSLTnIHeqb0Eu8A3sC95IRgjejQL+kC4mw+4yPxiAXA==
|
||||
|
||||
"@next/swc-linux-x64-gnu@16.2.1":
|
||||
version "16.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.1.tgz#2d55519ba822cd27d9d65ed45a0ace3562df1dcc"
|
||||
integrity sha512-HQm7SrHRELJ30T1TSmT706IWovFFSRGxfgUkyWJZF/RKBMdbdRWJuFrcpDdE5vy9UXjFOx6L3mRdqH04Mmx0hg==
|
||||
"@next/swc-linux-x64-gnu@16.2.6":
|
||||
version "16.2.6"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.6.tgz#e70dc3469bf9bfef16da2ba240c07ef6cfe8ad55"
|
||||
integrity sha512-DOj182mPV8G3UkrayLoREM5YEYI+Dk5wv7Ox9xl1fFibAELEsFD0lDPfHIeILlutMMfdyhlzYPELG3peuKaurw==
|
||||
|
||||
"@next/swc-linux-x64-musl@16.2.1":
|
||||
version "16.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.1.tgz#607b03c3a5bade2368beb4f5b4cac9c243333638"
|
||||
integrity sha512-aV2iUaC/5HGEpbBkE+4B8aHIudoOy5DYekAKOMSHoIYQ66y/wIVeaRx8MS2ZMdxe/HIXlMho4ubdZs/J8441Tg==
|
||||
"@next/swc-linux-x64-musl@16.2.6":
|
||||
version "16.2.6"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.6.tgz#49ecd2f622d0f3741654c59411f604dbbe1a38de"
|
||||
integrity sha512-HKQ5SP/V/ub73UvF7n/zeJlxk2kLmtL7Wzrg4WfmkjmNos5onJ2tKu7yZOPdL18A6Svfn3max29ym+ry7NkK4g==
|
||||
|
||||
"@next/swc-win32-arm64-msvc@16.2.1":
|
||||
version "16.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.1.tgz#a96e776f37287b39e309e0850a8d8e2c6c749070"
|
||||
integrity sha512-IXdNgiDHaSk0ZUJ+xp0OQTdTgnpx1RCfRTalhn3cjOP+IddTMINwA7DXZrwTmGDO8SUr5q2hdP/du4DcrB1GxA==
|
||||
"@next/swc-win32-arm64-msvc@16.2.6":
|
||||
version "16.2.6"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.6.tgz#8a6dfec005364e1cf4fa1724c3d7fa0093660406"
|
||||
integrity sha512-LZXpTlPyS5v7HhSmnvsLGP3iIYgYOBnc8r8ArlT55sGHV89bR2HlDdBjWQ+PY6SJMmk8TuVGFuxalnP3k/0Dwg==
|
||||
|
||||
"@next/swc-win32-x64-msvc@16.2.1":
|
||||
version "16.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.1.tgz#a299bf2b5688029429061d13492c57ccf947c9c5"
|
||||
integrity sha512-qvU+3a39Hay+ieIztkGSbF7+mccbbg1Tk25hc4JDylf8IHjYmY/Zm64Qq1602yPyQqvie+vf5T/uPwNxDNIoeg==
|
||||
"@next/swc-win32-x64-msvc@16.2.6":
|
||||
version "16.2.6"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.6.tgz#4fb656ccfcf60cbf8ffedb40fc1b625987c82742"
|
||||
integrity sha512-F0+4i0h9J6C4eE3EAPWsoCk7UW/dbzOjyzxY0qnDUOYFu6FFmdZ6l97/XdV3/Nz3VYyO7UWjyEJUXkGqcoXfMA==
|
||||
|
||||
"@nodelib/fs.scandir@2.1.5":
|
||||
version "2.1.5"
|
||||
@@ -1347,7 +1311,7 @@ acorn@^8.15.0:
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816"
|
||||
integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
|
||||
|
||||
ajv@^6.12.4, ajv@^6.14.0:
|
||||
ajv@^6.12.4:
|
||||
version "6.14.0"
|
||||
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.14.0.tgz#fd067713e228210636ebb08c60bd3765d6dbe73a"
|
||||
integrity sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==
|
||||
@@ -1568,24 +1532,24 @@ binary-extensions@^2.0.0:
|
||||
integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
|
||||
|
||||
brace-expansion@^1.1.7:
|
||||
version "1.1.12"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843"
|
||||
integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==
|
||||
version "1.1.15"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.15.tgz#a6d90d54067236e5f42570a3b7378d594d9b7738"
|
||||
integrity sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==
|
||||
dependencies:
|
||||
balanced-match "^1.0.0"
|
||||
concat-map "0.0.1"
|
||||
|
||||
brace-expansion@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7"
|
||||
integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.1.1.tgz#c68b1c4111c76aae3a6fba55d496cee10c39dad8"
|
||||
integrity sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==
|
||||
dependencies:
|
||||
balanced-match "^1.0.0"
|
||||
|
||||
brace-expansion@^5.0.2:
|
||||
version "5.0.5"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.5.tgz#dcc3a37116b79f3e1b46db994ced5d570e930fdb"
|
||||
integrity sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==
|
||||
version "5.0.6"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.6.tgz#ec68fe0a641a29d8711579caf641d05bae1f2285"
|
||||
integrity sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==
|
||||
dependencies:
|
||||
balanced-match "^4.0.2"
|
||||
|
||||
@@ -1828,11 +1792,6 @@ debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, debug@^4.4.0, debug@^4.4.3:
|
||||
dependencies:
|
||||
ms "^2.1.3"
|
||||
|
||||
decimal.js@^10.4.3:
|
||||
version "10.6.0"
|
||||
resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.6.0.tgz#e649a43e3ab953a72192ff5983865e509f37ed9a"
|
||||
integrity sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==
|
||||
|
||||
deep-is@^0.1.3:
|
||||
version "0.1.4"
|
||||
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
|
||||
@@ -2047,12 +2006,12 @@ escape-string-regexp@^4.0.0:
|
||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
|
||||
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
|
||||
|
||||
eslint-config-next@16.2.1:
|
||||
version "16.2.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-16.2.1.tgz#d3b6fe5076979285a2b607c70e469dc167b43237"
|
||||
integrity sha512-qhabwjQZ1Mk53XzXvmogf8KQ0tG0CQXF0CZ56+2/lVhmObgmaqj7x5A1DSrWdZd3kwI7GTPGUjFne+krRxYmFg==
|
||||
eslint-config-next@16.2.6:
|
||||
version "16.2.6"
|
||||
resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-16.2.6.tgz#1a04578efe6fde5cdb6265e98e88c9f61927e2c7"
|
||||
integrity sha512-z2ELYSkyrrJ6cuunTU8vhsT/RpouPkjaSah06nVW6Rg2Hpg0Vs8s497/e5s8G8qtdp4ccsiovz5P1rv+5VSW2Q==
|
||||
dependencies:
|
||||
"@next/eslint-plugin-next" "16.2.1"
|
||||
"@next/eslint-plugin-next" "16.2.6"
|
||||
eslint-import-resolver-node "^0.3.6"
|
||||
eslint-import-resolver-typescript "^3.5.2"
|
||||
eslint-plugin-import "^2.32.0"
|
||||
@@ -2354,7 +2313,7 @@ flat-cache@^4.0.0:
|
||||
flatted "^3.2.9"
|
||||
keyv "^4.5.4"
|
||||
|
||||
flatted@^3.2.9, flatted@^3.4.2:
|
||||
flatted@^3.2.9:
|
||||
version "3.4.2"
|
||||
resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.4.2.tgz#f5c23c107f0f37de8dbdf24f13722b3b98d52726"
|
||||
integrity sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==
|
||||
@@ -2596,6 +2555,13 @@ highlightjs-vue@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/highlightjs-vue/-/highlightjs-vue-1.0.0.tgz#fdfe97fbea6354e70ee44e3a955875e114db086d"
|
||||
integrity sha512-PDEfEF102G23vHmPhLyPboFCD+BkMGu+GuJe2d9/eH4FsCwvgBpnc9n0pGE+ffKdph38s6foEZiEjdgHdzp+IA==
|
||||
|
||||
icu-minify@^4.12.0:
|
||||
version "4.12.0"
|
||||
resolved "https://registry.yarnpkg.com/icu-minify/-/icu-minify-4.12.0.tgz#b187caecaa4369187a9025c624f657bf78397488"
|
||||
integrity sha512-zDmM05uav3t3+kxSfRrNlmyXOdj2b+uHA+p04CG32eJabtaHbugXujuL+YfRkwP9joAnf0Uh+RMGCKD5NLa5rQ==
|
||||
dependencies:
|
||||
"@formatjs/icu-messageformat-parser" "^3.4.0"
|
||||
|
||||
idb@8.0.3:
|
||||
version "8.0.3"
|
||||
resolved "https://registry.yarnpkg.com/idb/-/idb-8.0.3.tgz#c91e558f15a8d53f1d7f53a094d226fc3ad71fd9"
|
||||
@@ -2633,15 +2599,13 @@ internal-slot@^1.1.0:
|
||||
hasown "^2.0.2"
|
||||
side-channel "^1.1.0"
|
||||
|
||||
intl-messageformat@^10.5.14:
|
||||
version "10.7.18"
|
||||
resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-10.7.18.tgz#51a6f387afbca9b0f881b2ec081566db8c540b0d"
|
||||
integrity sha512-m3Ofv/X/tV8Y3tHXLohcuVuhWKo7BBq62cqY15etqmLxg2DZ34AGGgQDeR+SCta2+zICb1NX83af0GJmbQ1++g==
|
||||
intl-messageformat@^11.1.0:
|
||||
version "11.2.7"
|
||||
resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-11.2.7.tgz#1d922a7df8964ec496c56f62928ef2134674bdae"
|
||||
integrity sha512-+q6Ktg119nULZEpZ8YTuGOst9MyEzFtjD63FTGBlN1mLz0Z/MOUYDIvnpVKwq17eezIEh+cfJIebfJoCetpiNw==
|
||||
dependencies:
|
||||
"@formatjs/ecma402-abstract" "2.3.6"
|
||||
"@formatjs/fast-memoize" "2.2.7"
|
||||
"@formatjs/icu-messageformat-parser" "2.11.4"
|
||||
tslib "^2.8.0"
|
||||
"@formatjs/fast-memoize" "3.1.5"
|
||||
"@formatjs/icu-messageformat-parser" "3.5.10"
|
||||
|
||||
is-alphabetical@^1.0.0:
|
||||
version "1.0.4"
|
||||
@@ -3022,11 +2986,6 @@ lodash.sortby@^4.7.0:
|
||||
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
|
||||
integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==
|
||||
|
||||
lodash@^4.17.23:
|
||||
version "4.17.23"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.23.tgz#f113b0378386103be4f6893388c73d0bde7f2c5a"
|
||||
integrity sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==
|
||||
|
||||
loose-envify@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
|
||||
@@ -3077,7 +3036,7 @@ micromatch@^4.0.4, micromatch@^4.0.5, micromatch@^4.0.8:
|
||||
braces "^3.0.3"
|
||||
picomatch "^2.3.1"
|
||||
|
||||
minimatch@*, minimatch@^3.1.2, minimatch@^3.1.3:
|
||||
minimatch@*, minimatch@^3.1.2:
|
||||
version "3.1.5"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e"
|
||||
integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==
|
||||
@@ -3122,10 +3081,10 @@ mz@^2.7.0:
|
||||
object-assign "^4.0.1"
|
||||
thenify-all "^1.0.0"
|
||||
|
||||
nanoid@^3.3.11, nanoid@^3.3.6:
|
||||
version "3.3.11"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b"
|
||||
integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==
|
||||
nanoid@^3.3.12, nanoid@^3.3.6:
|
||||
version "3.3.12"
|
||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.12.tgz#ab3d912e217a6d0a514f00a72a16543a28982c05"
|
||||
integrity sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==
|
||||
|
||||
napi-postinstall@^0.3.0:
|
||||
version "0.3.4"
|
||||
@@ -3142,49 +3101,50 @@ negotiator@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a"
|
||||
integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==
|
||||
|
||||
next-intl-swc-plugin-extractor@^4.6.0:
|
||||
version "4.6.0"
|
||||
resolved "https://registry.yarnpkg.com/next-intl-swc-plugin-extractor/-/next-intl-swc-plugin-extractor-4.6.0.tgz#1a9333a0fabda8fb43eea21a648ed9a8a55e94cd"
|
||||
integrity sha512-H0Qd44LfvVWRidzmtDHicWPANrAsiLIR2jPwCVck3tNuf7H/F6g4JwucmR1TWrd/X6wOJe8pbYHRA9THhjc4vQ==
|
||||
next-intl-swc-plugin-extractor@^4.12.0:
|
||||
version "4.12.0"
|
||||
resolved "https://registry.yarnpkg.com/next-intl-swc-plugin-extractor/-/next-intl-swc-plugin-extractor-4.12.0.tgz#a8710a0da49a2fa45bc66696975764cc83717b94"
|
||||
integrity sha512-jUxVEu1Nryjt4YgaDktSys7ioOgQfcNPF/SF2dbPNxbVb6U+P1INRgHeCVN+EC59H2rnTFIQwbddmOCrUWFr3g==
|
||||
|
||||
next-intl@^4.4.0:
|
||||
version "4.6.0"
|
||||
resolved "https://registry.yarnpkg.com/next-intl/-/next-intl-4.6.0.tgz#bf5da06887e503fac0426b6a03d78dd5e3788b6f"
|
||||
integrity sha512-Z2LUrIwqMt1/pnh7LwU0OUju17Q0eO1b75I2hAsVU5zZhOkxRP7dRKabgDPg4Hy4EoEx70jNqLVKll+BT1wz0w==
|
||||
next-intl@^4.9.2:
|
||||
version "4.12.0"
|
||||
resolved "https://registry.yarnpkg.com/next-intl/-/next-intl-4.12.0.tgz#976fef8889a4d9510c454e6abf7eb6d042c56375"
|
||||
integrity sha512-v8KpppWG0yLLlChJ3Of6uoPew9LeRDBAtY6vpJmF7YJmBZlHEzzoEL4w1g1dAU+VleEPNoXNm9hg1eEsKWV5hw==
|
||||
dependencies:
|
||||
"@formatjs/intl-localematcher" "^0.5.4"
|
||||
"@formatjs/intl-localematcher" "^0.8.1"
|
||||
"@parcel/watcher" "^2.4.1"
|
||||
"@swc/core" "^1.15.2"
|
||||
icu-minify "^4.12.0"
|
||||
negotiator "^1.0.0"
|
||||
next-intl-swc-plugin-extractor "^4.6.0"
|
||||
po-parser "^2.0.0"
|
||||
use-intl "^4.6.0"
|
||||
next-intl-swc-plugin-extractor "^4.12.0"
|
||||
po-parser "^2.1.1"
|
||||
use-intl "^4.12.0"
|
||||
|
||||
next-themes@^0.2.1:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/next-themes/-/next-themes-0.2.1.tgz#0c9f128e847979daf6c67f70b38e6b6567856e45"
|
||||
integrity sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==
|
||||
|
||||
next@16.2.1:
|
||||
version "16.2.1"
|
||||
resolved "https://registry.yarnpkg.com/next/-/next-16.2.1.tgz#8e3ee1051f900e2a52e5978fc1cc3bbd7fe76cad"
|
||||
integrity sha512-VaChzNL7o9rbfdt60HUj8tev4m6d7iC1igAy157526+cJlXOQu5LzsBXNT+xaJnTP/k+utSX5vMv7m0G+zKH+Q==
|
||||
next@^16.2.6:
|
||||
version "16.2.6"
|
||||
resolved "https://registry.yarnpkg.com/next/-/next-16.2.6.tgz#4564833d2865efc598b7c63541b5771792d3d811"
|
||||
integrity sha512-qOVgKJg1+At15NpeUP+eJgCHvTCgXsogweq87Ri/Ix7PkqQHg4sdaXmSFqKlgaIXE4kW0g25LE68W87UANlHtw==
|
||||
dependencies:
|
||||
"@next/env" "16.2.1"
|
||||
"@next/env" "16.2.6"
|
||||
"@swc/helpers" "0.5.15"
|
||||
baseline-browser-mapping "^2.9.19"
|
||||
caniuse-lite "^1.0.30001579"
|
||||
postcss "8.4.31"
|
||||
styled-jsx "5.1.6"
|
||||
optionalDependencies:
|
||||
"@next/swc-darwin-arm64" "16.2.1"
|
||||
"@next/swc-darwin-x64" "16.2.1"
|
||||
"@next/swc-linux-arm64-gnu" "16.2.1"
|
||||
"@next/swc-linux-arm64-musl" "16.2.1"
|
||||
"@next/swc-linux-x64-gnu" "16.2.1"
|
||||
"@next/swc-linux-x64-musl" "16.2.1"
|
||||
"@next/swc-win32-arm64-msvc" "16.2.1"
|
||||
"@next/swc-win32-x64-msvc" "16.2.1"
|
||||
"@next/swc-darwin-arm64" "16.2.6"
|
||||
"@next/swc-darwin-x64" "16.2.6"
|
||||
"@next/swc-linux-arm64-gnu" "16.2.6"
|
||||
"@next/swc-linux-arm64-musl" "16.2.6"
|
||||
"@next/swc-linux-x64-gnu" "16.2.6"
|
||||
"@next/swc-linux-x64-musl" "16.2.6"
|
||||
"@next/swc-win32-arm64-msvc" "16.2.6"
|
||||
"@next/swc-win32-x64-msvc" "16.2.6"
|
||||
sharp "^0.34.5"
|
||||
|
||||
node-addon-api@^7.0.0:
|
||||
@@ -3366,14 +3326,14 @@ picocolors@^1.0.0, picocolors@^1.1.1:
|
||||
integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
|
||||
|
||||
picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
|
||||
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
|
||||
version "2.3.2"
|
||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.2.tgz#5a942915e26b372dc0f0e6753149a16e6b1c5601"
|
||||
integrity sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==
|
||||
|
||||
picomatch@^4.0.3:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042"
|
||||
integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==
|
||||
version "4.0.4"
|
||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.4.tgz#fd6f5e00a143086e074dffe4c924b8fb293b0589"
|
||||
integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==
|
||||
|
||||
pify@^2.3.0:
|
||||
version "2.3.0"
|
||||
@@ -3385,10 +3345,10 @@ pirates@^4.0.1:
|
||||
resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.7.tgz#643b4a18c4257c8a65104b73f3049ce9a0a15e22"
|
||||
integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==
|
||||
|
||||
po-parser@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/po-parser/-/po-parser-2.0.0.tgz#2bfdda0b0a8ed3cc8db60967f2f8431a472dc250"
|
||||
integrity sha512-SZvoKi3PoI/hHa2V9je9CW7Xgxl4dvO74cvaa6tWShIHT51FkPxje6pt0gTJznJrU67ix91nDaQp2hUxkOYhKA==
|
||||
po-parser@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/po-parser/-/po-parser-2.1.1.tgz#54bb7a0bd11c91ce8f21f54db5e02406492854b2"
|
||||
integrity sha512-ECF4zHLbUItpUgE3OTtLKlPjeBN+fKEczj2zYjDfCGOzicNs0GK3Vg2IoAYwx7LH/XYw43fZQP6xnZ4TkNxSLQ==
|
||||
|
||||
possible-typed-array-names@^1.0.0:
|
||||
version "1.1.0"
|
||||
@@ -3456,12 +3416,12 @@ postcss@8.4.31:
|
||||
picocolors "^1.0.0"
|
||||
source-map-js "^1.0.2"
|
||||
|
||||
postcss@^8, postcss@^8.4.47:
|
||||
version "8.5.6"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c"
|
||||
integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==
|
||||
postcss@^8.4.47, postcss@^8.5.10:
|
||||
version "8.5.15"
|
||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.15.tgz#d1eaf677a324e9ec02196da2d3fecf4a0b9a735c"
|
||||
integrity sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==
|
||||
dependencies:
|
||||
nanoid "^3.3.11"
|
||||
nanoid "^3.3.12"
|
||||
picocolors "^1.1.1"
|
||||
source-map-js "^1.2.1"
|
||||
|
||||
@@ -3475,11 +3435,16 @@ pretty-bytes@6.1.1:
|
||||
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-6.1.1.tgz#38cd6bb46f47afbf667c202cfc754bffd2016a3b"
|
||||
integrity sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==
|
||||
|
||||
prismjs@^1.30.0, prismjs@~1.27.0:
|
||||
prismjs@^1.30.0:
|
||||
version "1.30.0"
|
||||
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.30.0.tgz#d9709969d9d4e16403f6f348c63553b19f0975a9"
|
||||
integrity sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==
|
||||
|
||||
prismjs@~1.27.0:
|
||||
version "1.27.0"
|
||||
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057"
|
||||
integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==
|
||||
|
||||
prop-types@^15.8.1:
|
||||
version "15.8.1"
|
||||
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
|
||||
@@ -3851,8 +3816,16 @@ stop-iteration-iterator@^1.1.0:
|
||||
es-errors "^1.3.0"
|
||||
internal-slot "^1.1.0"
|
||||
|
||||
"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0:
|
||||
name string-width-cjs
|
||||
"string-width-cjs@npm:string-width@^4.2.0":
|
||||
version "4.2.3"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
|
||||
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
||||
dependencies:
|
||||
emoji-regex "^8.0.0"
|
||||
is-fullwidth-code-point "^3.0.0"
|
||||
strip-ansi "^6.0.1"
|
||||
|
||||
string-width@^4.1.0:
|
||||
version "4.2.3"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
|
||||
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
||||
@@ -3938,8 +3911,14 @@ string.prototype.trimstart@^1.0.8:
|
||||
define-properties "^1.2.1"
|
||||
es-object-atoms "^1.0.0"
|
||||
|
||||
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
|
||||
name strip-ansi-cjs
|
||||
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
|
||||
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
|
||||
dependencies:
|
||||
ansi-regex "^5.0.1"
|
||||
|
||||
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
|
||||
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
|
||||
@@ -4000,17 +3979,17 @@ 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==
|
||||
|
||||
systeminformation@^5.31.0:
|
||||
version "5.31.5"
|
||||
resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.31.5.tgz#e839fa6b40620a8bee010eb9d9d55c2d5f7042c8"
|
||||
integrity sha512-5SyLdip4/3alxD4Kh+63bUQTJmu7YMfYQTC+koZy7X73HgNqZSD2P4wOZQWtUncvPvcEmnfIjCoygN4MRoEejQ==
|
||||
systeminformation@^5.31.6:
|
||||
version "5.31.6"
|
||||
resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.31.6.tgz#2da4979a7262974fd068a3a306ded30aed6127c0"
|
||||
integrity sha512-Uv2b2uGGM6ns+26czgW2cYRabYdnswM0ddSOOlryHOaelzsmDSet1iM/NT7VOYxW8x/BW+HkY+b1Ve2pLTSGSA==
|
||||
|
||||
tailwind-merge@^2.0.0:
|
||||
version "2.6.0"
|
||||
resolved "https://registry.yarnpkg.com/tailwind-merge/-/tailwind-merge-2.6.0.tgz#ac5fb7e227910c038d458f396b7400d93a3142d5"
|
||||
integrity sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==
|
||||
|
||||
tailwindcss@^3.3.0:
|
||||
tailwindcss@^3.4.17:
|
||||
version "3.4.19"
|
||||
resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.19.tgz#af2a0a4ae302d52ebe078b6775e799e132500ee2"
|
||||
integrity sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==
|
||||
@@ -4094,7 +4073,7 @@ tsconfig-paths@^3.15.0:
|
||||
minimist "^1.2.6"
|
||||
strip-bom "^3.0.0"
|
||||
|
||||
tslib@2, tslib@^2.4.0, tslib@^2.8.0:
|
||||
tslib@^2.4.0, tslib@^2.8.0:
|
||||
version "2.8.1"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
|
||||
integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
|
||||
@@ -4223,14 +4202,15 @@ uri-js@^4.2.2:
|
||||
dependencies:
|
||||
punycode "^2.1.0"
|
||||
|
||||
use-intl@^4.6.0:
|
||||
version "4.6.0"
|
||||
resolved "https://registry.yarnpkg.com/use-intl/-/use-intl-4.6.0.tgz#782effb1a75c5400c96224445d8f9bdf6037fdda"
|
||||
integrity sha512-eEV2y3jpwH0DqGuc7iCRikH4D7tBrN4gHQD8uSNT3KGQSNJ9erHnfUdLkuWTSO8dJGpru3jbOmT4Xev/eqh7lg==
|
||||
use-intl@^4.12.0:
|
||||
version "4.12.0"
|
||||
resolved "https://registry.yarnpkg.com/use-intl/-/use-intl-4.12.0.tgz#1017700cf01a60caecc4f1625a934ee72503d832"
|
||||
integrity sha512-r+qVb7UI1+kiOhjYsmsNUCY+jrnjVopwGeFlmMyQj4YInlwZzgMeMSv9n8MqnWWy77HL5BVM8K2WgX50SbtcpA==
|
||||
dependencies:
|
||||
"@formatjs/fast-memoize" "^2.2.0"
|
||||
"@formatjs/fast-memoize" "^3.1.0"
|
||||
"@schummar/icu-type-parser" "1.21.5"
|
||||
intl-messageformat "^10.5.14"
|
||||
icu-minify "^4.12.0"
|
||||
intl-messageformat "^11.1.0"
|
||||
|
||||
util-deprecate@^1.0.2:
|
||||
version "1.0.2"
|
||||
|
||||
Reference in new issue
Block a user