From 208a1b551e5c08ae5f34571c3e63f2eea93b9766 Mon Sep 17 00:00:00 2001 From: antelle Date: Sun, 11 Jul 2021 16:22:38 +0200 Subject: [PATCH 01/22] renames some ms teams constants --- app/scripts/const/default-app-settings.js | 8 ++++---- app/scripts/locales/base.json | 2 +- app/scripts/storage/impl/storage-teams.js | 15 ++++----------- app/scripts/storage/index.js | 2 +- 4 files changed, 10 insertions(+), 17 deletions(-) diff --git a/app/scripts/const/default-app-settings.js b/app/scripts/const/default-app-settings.js index eb0b1d4a..7afc88c3 100644 --- a/app/scripts/const/default-app-settings.js +++ b/app/scripts/const/default-app-settings.js @@ -90,10 +90,10 @@ const DefaultAppSettings = { onedriveClientSecret: null, // custom OneDrive client secret onedriveTenantId: null, // custom OneDrive tenant id - teams: true, // enable Teams integration - teamsClientId: null, // custom Teams client id - teamsClientSecret: null, // custom Teams client secret - teamsTenantId: null // custom Teams tenant id + msteams: false, // enable Microsoft Teams integration + msteamsClientId: null, // custom Microsoft Teams client id + msteamsClientSecret: null, // custom Microsoft Teams client secret + msteamsTenantId: null // custom Microsoft Teams tenant id }; export { DefaultAppSettings }; diff --git a/app/scripts/locales/base.json b/app/scripts/locales/base.json index a23691d3..d3f8c807 100644 --- a/app/scripts/locales/base.json +++ b/app/scripts/locales/base.json @@ -43,7 +43,7 @@ "dropbox": "Dropbox", "gdrive": "Google Drive", "onedrive": "OneDrive", - "teams": "Microsoft Teams", + "msteams": "Microsoft Teams", "menuAllItems": "All Items", "menuColors": "Colors", "menuTrash": "Trash", diff --git a/app/scripts/storage/impl/storage-teams.js b/app/scripts/storage/impl/storage-teams.js index 861486b0..1359757e 100644 --- a/app/scripts/storage/impl/storage-teams.js +++ b/app/scripts/storage/impl/storage-teams.js @@ -12,7 +12,7 @@ import { Features } from 'util/features'; // https://graph.microsoft.com/v1.0/groups/{group id}/drive/root/children class StorageTeams extends StorageBase { - name = 'teams'; + name = 'msteams'; enabled = true; uipos = 50; icon = 'user-friends'; @@ -34,7 +34,6 @@ class StorageTeams extends StorageBase { } genUrl(path) { - // console.warn('genUrl', path); if (!path) { const groupId = null; const dir = null; @@ -212,17 +211,11 @@ class StorageTeams extends StorageBase { this.logger.debug('List', dir); const ts = this.logger.ts(); - // console.warn('dir ', dir); const urlParts = this.genUrl(dir); const groupId = urlParts[0]; dir = urlParts[1]; const urlPath = groupId ? (dir ? ':/children' : '/drive/root/children') : ''; const url = urlParts[2] + urlPath; - // console.warn('urlParts', urlParts); - // console.warn('groupId ', groupId); - // console.warn('dir ', dir); - // console.warn('urlPath ', urlPath); - // console.warn('url ', url); const self = this; self._groupId = groupId; @@ -337,9 +330,9 @@ class StorageTeams extends StorageBase { } _getOAuthConfig() { - let clientId = this.appSettings.teamsClientId; - let clientSecret = this.appSettings.teamsClientSecret; - let tenant = this.appSettings.teamsTenantId; + let clientId = this.appSettings.msteamsClientId; + let clientSecret = this.appSettings.msteamsClientSecret; + let tenant = this.appSettings.msteamsTenantId; if (!clientId) { if (Features.isDesktop) { diff --git a/app/scripts/storage/index.js b/app/scripts/storage/index.js index b6ed5ac8..9e7f55c4 100644 --- a/app/scripts/storage/index.js +++ b/app/scripts/storage/index.js @@ -18,7 +18,7 @@ const ThirdPartyStorage = { dropbox: new StorageDropbox(), gdrive: new StorageGDrive(), onedrive: new StorageOneDrive(), - teams: new StorageTeams(), + msteams: new StorageTeams(), webdav: new StorageWebDav() }; From 062ddb3f729c3f4a876451940f18cb195a68bdff Mon Sep 17 00:00:00 2001 From: antelle Date: Tue, 13 Jul 2021 19:04:27 +0200 Subject: [PATCH 02/22] added MS Teams apps --- app/scripts/const/cloud-storage-apps.js | 15 ++++++++++++++- app/scripts/storage/impl/storage-teams.js | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/scripts/const/cloud-storage-apps.js b/app/scripts/const/cloud-storage-apps.js index c5755e26..fb6aa660 100644 --- a/app/scripts/const/cloud-storage-apps.js +++ b/app/scripts/const/cloud-storage-apps.js @@ -37,4 +37,17 @@ const OneDriveApps = { } }; -export { DropboxApps, GDriveApps, OneDriveApps }; +const MsTeamsApps = { + Local: { + id: '8fbe2245-13d5-446f-bedc-74c3b2e1f635' + }, + Production: { + id: '8fbe2245-13d5-446f-bedc-74c3b2e1f635' + }, + Desktop: { + id: '8fbe2245-13d5-446f-bedc-74c3b2e1f635', + secret: 'F02~HYaWs-~7MndJcVRtv9~h-50Brk_9ho' + } +}; + +export { DropboxApps, GDriveApps, OneDriveApps, MsTeamsApps }; diff --git a/app/scripts/storage/impl/storage-teams.js b/app/scripts/storage/impl/storage-teams.js index 1359757e..a65c6e3d 100644 --- a/app/scripts/storage/impl/storage-teams.js +++ b/app/scripts/storage/impl/storage-teams.js @@ -1,5 +1,5 @@ import { StorageBase } from 'storage/storage-base'; -import { TeamsApps } from 'const/cloud-storage-apps'; +import { MsTeamsApps } from 'const/cloud-storage-apps'; import { Features } from 'util/features'; // https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow From f0bb3824499e8aa5aefb5db4cc9348be988ee3c2 Mon Sep 17 00:00:00 2001 From: antelle Date: Tue, 13 Jul 2021 19:05:25 +0200 Subject: [PATCH 03/22] fixed variable usage --- app/scripts/storage/impl/storage-teams.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/scripts/storage/impl/storage-teams.js b/app/scripts/storage/impl/storage-teams.js index a65c6e3d..d30de541 100644 --- a/app/scripts/storage/impl/storage-teams.js +++ b/app/scripts/storage/impl/storage-teams.js @@ -336,11 +336,11 @@ class StorageTeams extends StorageBase { if (!clientId) { if (Features.isDesktop) { - ({ id: clientId, secret: clientSecret, tenantId: tenant } = TeamsApps.Desktop); + ({ id: clientId, secret: clientSecret, tenantId: tenant } = MsTeamsApps.Desktop); } else if (Features.isLocal) { - ({ id: clientId, secret: clientSecret, tenantId: tenant } = TeamsApps.Local); + ({ id: clientId, secret: clientSecret, tenantId: tenant } = MsTeamsApps.Local); } else { - ({ id: clientId, secret: clientSecret, tenantId: tenant } = TeamsApps.Production); + ({ id: clientId, secret: clientSecret, tenantId: tenant } = MsTeamsApps.Production); } } tenant = tenant || 'common'; From 9b2c40a07831dab2f426741585f5b5d5e02e1a21 Mon Sep 17 00:00:00 2001 From: antelle Date: Sun, 18 Jul 2021 16:01:53 +0200 Subject: [PATCH 04/22] added yubikeys code logging --- app/scripts/comp/app/yubikey.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/scripts/comp/app/yubikey.js b/app/scripts/comp/app/yubikey.js index 2e36e64c..ac92d17c 100644 --- a/app/scripts/comp/app/yubikey.js +++ b/app/scripts/comp/app/yubikey.js @@ -209,6 +209,10 @@ const YubiKey = { complete: (err, stdout) => { this.process = null; + if (window.debugYubiKey) { + logger.info('received codes', err, stdout); + } + if (this.aborted) { return callback('Aborted'); } From 29ae7e8ed24231312ddd4fd330d5000411bc1891 Mon Sep 17 00:00:00 2001 From: antelle Date: Sun, 18 Jul 2021 16:04:48 +0200 Subject: [PATCH 05/22] fix #1845: fixed an error during writing to closed socket --- desktop/scripts/ipc-handlers/browser-extension-connector.js | 6 +++++- release-notes.md | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/desktop/scripts/ipc-handlers/browser-extension-connector.js b/desktop/scripts/ipc-handlers/browser-extension-connector.js index 70d6b09d..dce1ac26 100644 --- a/desktop/scripts/ipc-handlers/browser-extension-connector.js +++ b/desktop/scripts/ipc-handlers/browser-extension-connector.js @@ -398,7 +398,11 @@ function sendMessageToSocket(socket, message) { const lengthBytes = Buffer.from(lengthBuf); const data = Buffer.concat([lengthBytes, responseData]); - socket.write(data); + try { + socket.write(data); + } catch (e) { + logger.error(`Error writing to socket ${state.socketId}`, e); + } } function sendToRenderer(event, socketId, data) { diff --git a/release-notes.md b/release-notes.md index d44133ab..d21df561 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,5 +1,8 @@ Release notes ------------- +##### v1.18.7 (2021-07-18) +`-` fix #1845: fixed a visible crash on socket write error + ##### v1.18.6 (2021-05-19) `-` fix #1824: saving KDBX3 files with compression disabled `-` fix #1818: extension connection error if browser cannot be identified From bf0e94582d5d156801b65d72fa42bc8d36c027ef Mon Sep 17 00:00:00 2001 From: antelle Date: Sun, 18 Jul 2021 16:05:25 +0200 Subject: [PATCH 06/22] release notes --- release-notes.md | 1 + 1 file changed, 1 insertion(+) diff --git a/release-notes.md b/release-notes.md index d21df561..ab569e4e 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,6 +1,7 @@ Release notes ------------- ##### v1.18.7 (2021-07-18) +`+` added an option to diagnose YubiKey code listing issues `-` fix #1845: fixed a visible crash on socket write error ##### v1.18.6 (2021-05-19) From 1673580dfabdf1eef2b17d7d37bfb335d1695804 Mon Sep 17 00:00:00 2001 From: antelle Date: Sun, 18 Jul 2021 16:05:39 +0200 Subject: [PATCH 07/22] bump version --- desktop/package.json | 2 +- package-lock.json | 2 +- package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/desktop/package.json b/desktop/package.json index 262c40ca..67954f42 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -1,6 +1,6 @@ { "name": "KeeWeb", - "version": "1.18.6", + "version": "1.18.7", "description": "Free cross-platform password manager compatible with KeePass", "main": "main.js", "homepage": "https://keeweb.info", diff --git a/package-lock.json b/package-lock.json index c51b74db..ed0d4e4b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "keeweb", - "version": "1.18.6", + "version": "1.18.7", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index b1763338..bd7cb56c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "keeweb", - "version": "1.18.6", + "version": "1.18.7", "description": "Free cross-platform password manager compatible with KeePass", "main": "Gruntfile.js", "private": true, From 93cee76b4fd4e9b80ab037dc1b7f84cf9adfdeaa Mon Sep 17 00:00:00 2001 From: antelle Date: Sun, 18 Jul 2021 16:09:59 +0200 Subject: [PATCH 08/22] up translations --- app/scripts/locales/fr-FR.json | 83 ++++++++++++++++++++++++++++++++-- 1 file changed, 79 insertions(+), 4 deletions(-) diff --git a/app/scripts/locales/fr-FR.json b/app/scripts/locales/fr-FR.json index f4872eba..628b9aed 100644 --- a/app/scripts/locales/fr-FR.json +++ b/app/scripts/locales/fr-FR.json @@ -14,6 +14,7 @@ "or": "ou", "history": "historique", "template": "modèle", + "templates": "templates", "notImplemented": "Non Implémenté", "saveChanges": "Sauvegarder les modifications", "discardChanges": "Annuler les modifications", @@ -46,6 +47,7 @@ "menuColors": "Couleurs", "menuTrash": "Corbeille", "menuSetGeneral": "Général", + "menuSetBrowser": "Navigateur", "menuSetAbout": "À propos", "menuSetDevices": "Appareils", "menuAlertNoTags": "Aucun tag", @@ -60,7 +62,7 @@ "sysMenuServices": "Services", "sysMenuHide": "Cacher {}", "sysMenuHideOthers": "Cacher autres", - "sysMenuUnhide": "Montrer tous", + "sysMenuUnhide": "Montrer tout", "sysMenuQuit": "Quitter {}", "sysMenuEdit": "Editer", "sysMenuUndo": "Annuler", @@ -80,6 +82,8 @@ "alertCopy": "Copier", "alertClose": "Fermer", "alertDoNotAsk": "Ne plus me le redemander", + "alertAllow": "Autoriser", + "alertDeny": "Refuser", "appBeta": "ATTENTION: version beta, aperçu seulement", "footerOpen": "Ouvrir/Nouveau", "footerSyncError": "Erreur de synchronisation", @@ -139,6 +143,7 @@ "keyChangeMessageExpired": "La clé maître pour cette base de donnée est expirée. Merci de saisir une nouvelle clé.", "keyChangeRepeatPassword": "Mot de passe, encore une fois", "keyEnter": "Entrée", + "keyEsc": "Esc", "iconFavTitle": "Télécharger et utiliser le favicon du site web", "iconSelCustom": "Sélectionner une icône personnalisée", "listEmptyTitle": "Vide", @@ -267,6 +272,7 @@ "detMore": "plus", "detClickToAddField": "cliquez pour ajouter un nouveau champ", "detMenuAddNewField": "Ajouter nouveau champ", + "detMenuAddNewWebsite": "Ajouter un autre site", "detMenuShowEmpty": "Montrer les champs vides", "detMenuHideEmpty": "Cacher les champs vides", "detMenuAddField": "Ajouter {}", @@ -340,6 +346,7 @@ "autoTypeSelectionHintOpt": "Entrez seulement le compte", "autoTypeSelectionHintShift": "Autres champs", "autoTypeSelectionOtp": "code à usage unique", + "autoTypeUnlockMessage": "Déverrouiller pour saisir automatiquement", "appSecWarn": "Non sécurisé !", "appSecWarnBody1": "Vous avez chargé cette appli avec une connexion non sécurisée. Quelqu'un peut vous observer et voler vos mots de passe. Nous vous recommandons fortement d'arrêter cette connexion, à moins que vous ne compreniez exactement ce que vous faites.", "appSecWarnBody2": "Oui, votre base est chiffrée mais personne ne peut garantir que l'application n'a pas été modifiée avant d'arriver à vous.", @@ -614,6 +621,38 @@ "setPlTranslateLink": "traduire l'appli dans votre langue", "setPlAutoUpdate": "Mise à jour automatique", "setPlLoadGallery": "Charger le catalogue", + "setBrowserTitle": "Navigateur", + "setBrowserIntroDesktop": "KeeWeb peut entrer des mots de passe en utilisant la saisie automatique, cependant, une extension peut être un moyen plus pratique de le faire. KeeWeb prend en charge deux extensions de navigateur:", + "setBrowserIntroKeeWebConnect": "l'extension officielle KeeWeb est construite avec les fonctionnalités de KeeWeb, mais vous risquez de manquer certaines fonctionnalités avancées que l'on peut trouver dans l'autre extension.", + "setBrowserIntroKeePassXcBrowser": "cette extension a été développée pour KeePassXC, elle existe depuis un moment et est assez fiable. L'extension ne fait pas partie de KeeWeb et il peut y avoir des problèmes de compatibilité.", + "setBrowserIntroWeb": "Installez notre extension de navigateur pour remplir automatiquement les mots de passe de KeeWeb sur différentes pages. L'extension de navigateur se connectera à un onglet KeeWeb de votre navigateur pour récupérer les mots de passe. Cliquez ici pour télécharger l'extension:", + "setBrowserNotEnabled": "L'intégration du navigateur n'est pas activée, les extensions ne pourront pas se connecter à KeeWeb. Utilisez les cases à cocher ci-dessous pour l'activer:", + "setBrowserEnablePerBrowser": "Activer l'intégration dans le navigateur en cochant ci dessous:", + "setBrowserFocusIfLocked": "Ouvrir KeeWeb si le navigateur essaye de se connecter alors que aucun fichier n'est ouvert", + "setBrowserFocusIfEmpty": "Afficher la liste si aucune correspondance n'est trouvée avec l'URL", + "setBrowserOtherBrowsers": "Autres navigateurs", + "setBrowserExtensionFor": "pour {}", + "setBrowserExtensionNotSupported": "Non supporté", + "setBrowserExtensionHelp": "Comment installer ?", + "setBrowserExtensionInstall": "Installer l'application", + "setBrowserExtensionKPXCWarnHeader": "{} cessera de fonctionner", + "setBrowserExtensionKPXCWarnBody1": "Malheureusement, il n'est pas possible de connecter une extension à plusieurs applications. Si vous connectez l'extension à KeeWeb, nous remplacerons son association d'application, ce qui signifie que l'intégration avec {} cessera de fonctionner. Même si vous décochez cette case, l'association avec {} ne sera pas restaurée. Pour le faire fonctionner à nouveau, configurez l'intégration du navigateur dans les paramètres de {}.", + "setBrowserExtensionKPXCWarnBody2": "Configurer l'extension pour utiliser KeeWeb?", + "setBrowserSessions": "Sessions", + "setBrowserSessionsEmpty": "Aucune session connectée", + "setBrowserSessionsIntro": "Ces extensions sont connectées à KeeWeb", + "setBrowserSessionsActiveTooltip": "Session active", + "setBrowserSessionsActiveText": "Cette session est active. Elle peut échanger des données avec KeeWeb selon les permissions:", + "setBrowserSessionsInactiveTooltip": "session inactive", + "setBrowserSessionsInactiveText": "Cette session est inactive. L'extension est connectée à KeeWeb, cependant, elle n'a pas essayé d'échanger des données. Lorsque l'extension demande quelque chose, vous pourrez choisir ce que vous souhaitez partager.", + "setBrowserSessionsDeniedTooltip": "Accès interdit", + "setBrowserSessionsDeniedText": "Cette session est inactive. L'extension est connectée à KeeWeb mais vous avez refusé l'accès aux données.", + "setBrowserSessionsConnectedDate": "Connecté", + "setBrowserSessionsTerminate": "Clôturer la session", + "setBrowserSessionsAccessToFiles": "Autoriser l'accès aux fichiers", + "setBrowserSessionsNoFileAccess": "L'extension n'a accès à aucun fichier, elle ne pourra pas récupérer les mots de passe de KeeWeb.", + "setBrowserSessionsPasswordsRead": "Accès aux mot de passe", + "setBrowserSessionsPasswordsWritten": "Mots de passe enregistrés", "setDevicesTitle": "Appareils", "setDevicesEnableUsb": "Autoriser les interactions avec les appareils USB", "setDevicesYubiKeyIntro": "Il est recommandé de lire {} avant d'utiliser une YubiKey.", @@ -648,12 +687,12 @@ "setHelpProblems2": "ou {}", "setHelpOpenIssue": "faire connaître le problème sur GitHub", "setHelpContactLink": "contactez le développeur directement", - "setHelpAppInfo": "Information", + "setHelpAppInfo": "Informations", "setHelpOtherPlatforms": "Autres plateformes", "setHelpDesktopApps": "Applis Desktop", "setHelpWebApp": "Appli web", "setHelpUpdates": "Mises à jour", - "setHelpTwitter": "Appli twitter", + "setHelpTwitter": "Twitter", "dropboxSetupDesc": "Une configuration particulière est nécessaire pour utiliser Dropbox dans une application auto-hébergée. Merci de créer votre propre application Dropbox et d'inscrire sa clé ci-dessous.", "dropboxAppKey": "Clé Dropbox", "dropboxAppKeyDesc": "Copier la clé de votre appli Dropbox (Réglages développeur)", @@ -669,6 +708,8 @@ "dropboxLinkFull": "Tout Dropbox ou n'importe quel dossier", "dropboxLinkCustom": "Votre appli Dropbox", "gdriveSharedWithMe": "Partagé avec moi", + "gdriveSharedDrives": "Lecteurs partagés", + "gdriveTeamDrives": "Team drives", "webdavSaveMethod": "Méthode de sauvegarde", "webdavSaveMove": "Envoyer un fichier temporaire et le déplacer", "webdavSavePut": "Écraser le fichier kdbx avec PUT", @@ -697,5 +738,39 @@ "yubiKeyDisabledErrorHeader": "L'USB est désactivé", "yubiKeyDisabledErrorBody": "Yubikey est nécessaire pour ouvrir ce fichier, merci d'activer les appareils USB dans les paramètres", "yubiKeyErrorWithCode": "Erreur Yubikey code {}.", - "bioOpenAuthPrompt": "ouvrir \"{}\"" + "bioOpenAuthPrompt": "ouvrir \"{}\"", + "extensionErrorNoOpenFiles": "Aucun fichier ouvert", + "extensionErrorUserRejected": "La requête a été refusée", + "extensionErrorNoMatches": "Aucune correspondance", + "extensionErrorAlertDisplayed": "Impossible de poser une question maintenant car une autre boîte de dialogue est affichée, veuillez réessayer", + "extensionConnectHeader": "Échange de données avec l'extension", + "extensionConnectIntro": "Une extension de navigateur qui a pour nom {} essaie d'échanger des données avec KeeWeb.", + "extensionConnectUnknownActivity": "KeeWeb ne vérifie pas que l'application connectée est ce qu'elle prétend être. N'approuvez la demande que si vous en connaissez l'origine.", + "extensionConnectFiles": "Lors de cette session, autoriser l'accès à:", + "extensionConnectAllOtherFiles": "Tous les autres fichiers", + "extensionConnectAllFiles": "Tous les fichiers", + "extensionConnectAskGet": "Demandez avant d'envoyer les mots de passe à l'extension:", + "extensionConnectAskGetMultiple": "s'il y a plus d'une correspondance", + "extensionConnectAskGetAlways": "Toujours", + "extensionConnectAskSave": "Demandez avant d'enregistrer de nouveaux mots de passe dans KeeWeb:", + "extensionConnectAskSaveAlways": "Toujours", + "extensionConnectAskSaveAuto": "quand ce n'est pas possible de sauvegarder automatiquement", + "extensionConnectSettingsAreForSession": "Les paramètres que vous sélectionnez ici ne sont valides que pour la session en cours. Vous pouvez afficher et gérer les sessions dans les paramètres de KeeWeb.", + "extensionUnlockMessage": "Déverrouiller pour connecter l'extension du navigateur", + "extensionNewGroupHeader": "Nouveau groupe", + "extensionNewGroupBody": "{} essaye de créer un nouveau groupe. Autoriser cela?", + "extensionNewGroupPath": "Dossier du groupe", + "extensionNewGroupFile": "Ce groupe sera créé dans:", + "extensionSaveEntryHeader": "Sauvegarder mot de passe", + "extensionSaveEntryBody": "{} essaye de sauvegarder un mot de passe. Autoriser cela?", + "extensionSaveEntryAuto": "Sauvegarder les autres mots de passe automatiquement lors de cette session", + "extensionSaveEntryNewGroup": "nouveau groupe", + "extensionSelectPasswordFor": "Sélectionner un mot de passe pour {}", + "selectEntryHeader": "Sélectionner une entrée", + "selectEntryEnterHint": "Utiliser la ligne sélectionnée", + "selectEntryTypingHint": "Ecrire pour filtrer", + "selectEntryContains": "Contient le texte", + "selectEntrySubdomains": "Sous-domaines", + "selectEntryFieldHeader": "Sélectionnez un champ", + "selectEntryFieldTouch": "Appuyez sur le bouton de votre appareil pour générer un code à usage unique." } \ No newline at end of file From 4b7124aa573cd8ed8b0eb203b2ce41c0046dbb5e Mon Sep 17 00:00:00 2001 From: antelle Date: Sun, 18 Jul 2021 16:19:28 +0200 Subject: [PATCH 09/22] disabled automatic installation of KeePassXC-Browser extension --- app/scripts/const/links.js | 9 +-- .../views/settings/settings-browser-view.js | 3 + app/templates/settings/settings-browser.hbs | 59 +++++++++++-------- release-notes.md | 1 + 4 files changed, 41 insertions(+), 31 deletions(-) diff --git a/app/scripts/const/links.js b/app/scripts/const/links.js index d74b4758..696df3ad 100644 --- a/app/scripts/const/links.js +++ b/app/scripts/const/links.js @@ -23,17 +23,14 @@ const Links = { HaveIBeenPwnedPrivacy: 'https://haveibeenpwned.com/Passwords', ExtensionHelpForOtherBrowsers: 'https://github.com/keeweb/keeweb/wiki/Browser-AutoFill#other-browsers', + ExtensionHelpForKPXC: + 'https://github.com/keeweb/keeweb/wiki/Browser-AutoFill#keepassxc-browser', KWCForChrome: 'https://chrome.google.com/webstore/detail/keeweb-connect/pikpfmjfkekaeinceagbebpfkmkdlcjk', KWCForFirefox: 'https://addons.mozilla.org/firefox/addon/keeweb-connect/', KWCForEdge: 'https://microsoftedge.microsoft.com/addons/detail/keewebconnect/nmggpehkjmeaeocmaijenpejbepckinm', - KWCForSafari: 'https://apps.apple.com/app/keeweb-connect/id1565748094', - KPXCForChrome: - 'https://chrome.google.com/webstore/detail/keepassxc-browser/oboonakemofpalcgghocfoadofidjkkk', - KPXCForFirefox: 'https://addons.mozilla.org/firefox/addon/keepassxc-browser/', - KPXCForEdge: - 'https://microsoftedge.microsoft.com/addons/detail/keepassxcbrowser/pdffhmdngciaglkoonimfcmckehcpafo' + KWCForSafari: 'https://apps.apple.com/app/keeweb-connect/id1565748094' }; export { Links }; diff --git a/app/scripts/views/settings/settings-browser-view.js b/app/scripts/views/settings/settings-browser-view.js index 29c6cb80..d747dcfb 100644 --- a/app/scripts/views/settings/settings-browser-view.js +++ b/app/scripts/views/settings/settings-browser-view.js @@ -72,6 +72,9 @@ class SettingsBrowserView extends View { enabled: !!AppSettingsModel[`extensionEnabled${ext.alias}${browser}`], installUrl: Links[`${ext.alias}For${browser}`] }; + if (ext.alias === 'KPXC') { + ext.manualUrl = Links.ExtensionHelpForKPXC; + } if (!ext.installUrl) { if (browser === 'Other') { ext.helpUrl = Links.ExtensionHelpForOtherBrowsers; diff --git a/app/templates/settings/settings-browser.hbs b/app/templates/settings/settings-browser.hbs index 618c8acb..6984aad1 100644 --- a/app/templates/settings/settings-browser.hbs +++ b/app/templates/settings/settings-browser.hbs @@ -24,33 +24,42 @@ {{perBrowser.browserName}} {{#each perBrowser.extensions as |setting|}} - {{#if setting.supported}} - - + {{#if setting.manualUrl}} + + + {{else}} - - {{/if}} - {{#if setting.enabled}} - {{#if setting.helpUrl}} - - - + {{#if setting.supported}} + + + {{else}} + {{/if}} - {{#if setting.installUrl}} - - - + {{#if setting.enabled}} + {{#if setting.helpUrl}} + + + + {{/if}} + {{#if setting.installUrl}} + + + + {{/if}} {{/if}} {{/if}} diff --git a/release-notes.md b/release-notes.md index ab569e4e..58b4fe17 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,6 +1,7 @@ Release notes ------------- ##### v1.18.7 (2021-07-18) +`!` disabled automatic installation of KeePassXC-Browser extension `+` added an option to diagnose YubiKey code listing issues `-` fix #1845: fixed a visible crash on socket write error From 1c434d7c797a55a5fda00fa8aa274267264cc95d Mon Sep 17 00:00:00 2001 From: antelle Date: Sun, 18 Jul 2021 16:20:52 +0200 Subject: [PATCH 10/22] release notes --- release-notes.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/release-notes.md b/release-notes.md index 58b4fe17..d721009f 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,6 +1,8 @@ Release notes ------------- ##### v1.18.7 (2021-07-18) +`+` added Microsoft Teams storage +`+` added a possibility to override tenant in Microsoft OneDrive `!` disabled automatic installation of KeePassXC-Browser extension `+` added an option to diagnose YubiKey code listing issues `-` fix #1845: fixed a visible crash on socket write error From e6df216291b9b5322049a11fe1301a2089679483 Mon Sep 17 00:00:00 2001 From: Dimitri Witkowski Date: Thu, 9 Jun 2022 20:16:26 +0200 Subject: [PATCH 11/22] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 93e055f1..5821cdb6 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,8 @@ Donate: [OpenCollective](https://opencollective.com/keeweb#support), [GitHub](ht ## Status -The app is quite stable now. Basic stuff, as well as more advanced operations, should be rather reliable. +The app is quite stable now. Basic stuff, as well as more advanced operations, should be rather reliable. +Looking for a new maintainer, see [#2022](https://github.com/keeweb/keeweb/issues/2022) ## Self-hosting From 1499fd789bffe64df9024f2b240da8d80778e992 Mon Sep 17 00:00:00 2001 From: Aetherinox Date: Thu, 4 Apr 2024 13:16:56 -0700 Subject: [PATCH 12/22] dep: update packages --- package-lock.json | 639 +++++++++++++++++++++++++++++++--------------- package.json | 3 +- 2 files changed, 436 insertions(+), 206 deletions(-) diff --git a/package-lock.json b/package-lock.json index c51b74db..968ce01c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,12 @@ { "name": "keeweb", - "version": "1.18.6", + "version": "1.18.7", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "1.18.5", + "name": "keeweb", + "version": "1.18.7", "license": "MIT", "dependencies": { "@babel/core": "^7.14.0", @@ -4038,12 +4039,18 @@ } }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5423,15 +5430,36 @@ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.1.tgz", "integrity": "sha512-J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ==" }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { - "object-keys": "^1.0.12" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-property": { @@ -6550,11 +6578,41 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-module-lexer": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz", "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==" }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -8145,30 +8203,30 @@ }, "node_modules/fsevents/node_modules/abbrev": { "version": "1.1.1", - "extraneous": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/ansi-regex": { "version": "2.1.1", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/aproba": { "version": "1.2.0", - "extraneous": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/are-we-there-yet": { "version": "1.1.5", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -8176,15 +8234,15 @@ }, "node_modules/fsevents/node_modules/balanced-match": { "version": "1.0.0", - "extraneous": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/brace-expansion": { "version": "1.1.11", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -8192,66 +8250,66 @@ }, "node_modules/fsevents/node_modules/chownr": { "version": "1.1.3", - "extraneous": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/code-point-at": { "version": "1.1.0", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/concat-map": { "version": "0.0.1", - "extraneous": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/console-control-strings": { "version": "1.1.0", - "extraneous": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/core-util-is": { "version": "1.0.2", - "extraneous": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/debug": { "version": "3.2.6", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "ms": "^2.1.1" } }, "node_modules/fsevents/node_modules/deep-extend": { "version": "0.6.0", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=4.0.0" } }, "node_modules/fsevents/node_modules/delegates": { "version": "1.0.0", - "extraneous": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/detect-libc": { "version": "1.0.3", - "extraneous": true, "inBundle": true, "license": "Apache-2.0", + "optional": true, "bin": { "detect-libc": "bin/detect-libc.js" }, @@ -8261,24 +8319,24 @@ }, "node_modules/fsevents/node_modules/fs-minipass": { "version": "1.2.7", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "minipass": "^2.6.0" } }, "node_modules/fsevents/node_modules/fs.realpath": { "version": "1.0.0", - "extraneous": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/gauge": { "version": "2.7.4", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", @@ -8292,9 +8350,9 @@ }, "node_modules/fsevents/node_modules/glob": { "version": "7.1.6", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -8312,15 +8370,15 @@ }, "node_modules/fsevents/node_modules/has-unicode": { "version": "2.0.1", - "extraneous": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/iconv-lite": { "version": "0.4.24", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -8330,18 +8388,18 @@ }, "node_modules/fsevents/node_modules/ignore-walk": { "version": "3.0.3", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "minimatch": "^3.0.4" } }, "node_modules/fsevents/node_modules/inflight": { "version": "1.0.6", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -8349,24 +8407,24 @@ }, "node_modules/fsevents/node_modules/inherits": { "version": "2.0.4", - "extraneous": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/ini": { "version": "1.3.5", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "engines": { "node": "*" } }, "node_modules/fsevents/node_modules/is-fullwidth-code-point": { "version": "1.0.0", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "number-is-nan": "^1.0.0" }, @@ -8376,15 +8434,15 @@ }, "node_modules/fsevents/node_modules/isarray": { "version": "1.0.0", - "extraneous": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/minimatch": { "version": "3.0.4", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -8394,15 +8452,15 @@ }, "node_modules/fsevents/node_modules/minimist": { "version": "0.0.8", - "extraneous": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/minipass": { "version": "2.9.0", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -8410,18 +8468,18 @@ }, "node_modules/fsevents/node_modules/minizlib": { "version": "1.3.3", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "minipass": "^2.9.0" } }, "node_modules/fsevents/node_modules/mkdirp": { "version": "0.5.1", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "minimist": "0.0.8" }, @@ -8431,15 +8489,15 @@ }, "node_modules/fsevents/node_modules/ms": { "version": "2.1.2", - "extraneous": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/needle": { "version": "2.4.0", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "debug": "^3.2.6", "iconv-lite": "^0.4.4", @@ -8454,9 +8512,9 @@ }, "node_modules/fsevents/node_modules/node-pre-gyp": { "version": "0.14.0", - "extraneous": true, "inBundle": true, "license": "BSD-3-Clause", + "optional": true, "dependencies": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", @@ -8475,9 +8533,9 @@ }, "node_modules/fsevents/node_modules/nopt": { "version": "4.0.1", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "abbrev": "1", "osenv": "^0.1.4" @@ -8488,24 +8546,24 @@ }, "node_modules/fsevents/node_modules/npm-bundled": { "version": "1.1.1", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "npm-normalize-package-bin": "^1.0.1" } }, "node_modules/fsevents/node_modules/npm-normalize-package-bin": { "version": "1.0.1", - "extraneous": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/npm-packlist": { "version": "1.4.7", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1" @@ -8513,9 +8571,9 @@ }, "node_modules/fsevents/node_modules/npmlog": { "version": "4.1.2", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -8525,54 +8583,54 @@ }, "node_modules/fsevents/node_modules/number-is-nan": { "version": "1.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/object-assign": { "version": "4.1.1", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/once": { "version": "1.4.0", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "wrappy": "1" } }, "node_modules/fsevents/node_modules/os-homedir": { "version": "1.0.2", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/os-tmpdir": { "version": "1.0.2", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/osenv": { "version": "0.1.5", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -8580,24 +8638,24 @@ }, "node_modules/fsevents/node_modules/path-is-absolute": { "version": "1.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/process-nextick-args": { "version": "2.0.1", - "extraneous": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/rc": { "version": "1.2.8", - "extraneous": true, "inBundle": true, "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -8610,15 +8668,15 @@ }, "node_modules/fsevents/node_modules/rc/node_modules/minimist": { "version": "1.2.0", - "extraneous": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/readable-stream": { "version": "2.3.6", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8631,9 +8689,9 @@ }, "node_modules/fsevents/node_modules/rimraf": { "version": "2.7.1", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "glob": "^7.1.3" }, @@ -8643,57 +8701,57 @@ }, "node_modules/fsevents/node_modules/safe-buffer": { "version": "5.1.2", - "extraneous": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/safer-buffer": { "version": "2.1.2", - "extraneous": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/sax": { "version": "1.2.4", - "extraneous": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/semver": { "version": "5.7.1", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "bin": { "semver": "bin/semver" } }, "node_modules/fsevents/node_modules/set-blocking": { "version": "2.0.0", - "extraneous": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/signal-exit": { "version": "3.0.2", - "extraneous": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/string_decoder": { "version": "1.1.1", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/fsevents/node_modules/string-width": { "version": "1.0.2", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -8705,9 +8763,9 @@ }, "node_modules/fsevents/node_modules/strip-ansi": { "version": "3.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "ansi-regex": "^2.0.0" }, @@ -8717,18 +8775,18 @@ }, "node_modules/fsevents/node_modules/strip-json-comments": { "version": "2.0.1", - "extraneous": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/fsevents/node_modules/tar": { "version": "4.4.13", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", @@ -8744,35 +8802,38 @@ }, "node_modules/fsevents/node_modules/util-deprecate": { "version": "1.0.2", - "extraneous": true, "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/fsevents/node_modules/wide-align": { "version": "1.1.3", - "extraneous": true, "inBundle": true, "license": "ISC", + "optional": true, "dependencies": { "string-width": "^1.0.2 || 2" } }, "node_modules/fsevents/node_modules/wrappy": { "version": "1.0.2", - "extraneous": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/fsevents/node_modules/yallist": { "version": "3.1.1", - "extraneous": true, "inBundle": true, - "license": "ISC" + "license": "ISC", + "optional": true }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/functional-red-black-tree": { "version": "1.0.1", @@ -8986,13 +9047,18 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9321,6 +9387,17 @@ "node": ">= 6.0.0" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/got": { "version": "9.6.0", "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", @@ -10087,10 +10164,32 @@ "node": ">=4" } }, - "node_modules/has-symbols": { + "node_modules/has-property-descriptors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "engines": { "node": ">= 0.4" }, @@ -10183,6 +10282,17 @@ "resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.4.tgz", "integrity": "sha512-Gjzu0Xn7IagXVkSu9cSFuK1fqzwtLwFhNhVL8IFJijRNMgUttFbBSIAzKuSIrsFMO1+g1RlsoN49zPIbwPDMGQ==" }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -17231,6 +17341,22 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -17954,6 +18080,19 @@ "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==" }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/string.prototype.trimstart": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", @@ -23898,12 +24037,15 @@ } }, "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" } }, "caller-callsite": { @@ -24987,12 +25129,24 @@ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.1.tgz", "integrity": "sha512-J7thop4u3mRTkYRQ+Vpfwy2G5Ehoy82I14+14W4YMDLKdWloI9gSzRbV30s/NckQGVJtPkWNcW4oMAUigTdqiQ==" }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "requires": { - "object-keys": "^1.0.12" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" } }, "define-property": { @@ -25869,11 +26023,32 @@ "unbox-primitive": "^1.0.0" } }, + "es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + }, "es-module-lexer": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz", "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==" }, + "es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "requires": { + "es-errors": "^1.3.0" + } + }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -27062,22 +27237,22 @@ "abbrev": { "version": "1.1.1", "bundled": true, - "extraneous": true + "optional": true }, "ansi-regex": { "version": "2.1.1", "bundled": true, - "extraneous": true + "optional": true }, "aproba": { "version": "1.2.0", "bundled": true, - "extraneous": true + "optional": true }, "are-we-there-yet": { "version": "1.1.5", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -27086,12 +27261,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "extraneous": true + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -27100,32 +27275,32 @@ "chownr": { "version": "1.1.3", "bundled": true, - "extraneous": true + "optional": true }, "code-point-at": { "version": "1.1.0", "bundled": true, - "extraneous": true + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "extraneous": true + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "extraneous": true + "optional": true }, "core-util-is": { "version": "1.0.2", "bundled": true, - "extraneous": true + "optional": true }, "debug": { "version": "3.2.6", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "ms": "^2.1.1" } @@ -27133,22 +27308,22 @@ "deep-extend": { "version": "0.6.0", "bundled": true, - "extraneous": true + "optional": true }, "delegates": { "version": "1.0.0", "bundled": true, - "extraneous": true + "optional": true }, "detect-libc": { "version": "1.0.3", "bundled": true, - "extraneous": true + "optional": true }, "fs-minipass": { "version": "1.2.7", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "minipass": "^2.6.0" } @@ -27156,12 +27331,12 @@ "fs.realpath": { "version": "1.0.0", "bundled": true, - "extraneous": true + "optional": true }, "gauge": { "version": "2.7.4", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", @@ -27176,7 +27351,7 @@ "glob": { "version": "7.1.6", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -27189,12 +27364,12 @@ "has-unicode": { "version": "2.0.1", "bundled": true, - "extraneous": true + "optional": true }, "iconv-lite": { "version": "0.4.24", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -27202,7 +27377,7 @@ "ignore-walk": { "version": "3.0.3", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "minimatch": "^3.0.4" } @@ -27210,7 +27385,7 @@ "inflight": { "version": "1.0.6", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -27219,17 +27394,17 @@ "inherits": { "version": "2.0.4", "bundled": true, - "extraneous": true + "optional": true }, "ini": { "version": "1.3.5", "bundled": true, - "extraneous": true + "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -27237,12 +27412,12 @@ "isarray": { "version": "1.0.0", "bundled": true, - "extraneous": true + "optional": true }, "minimatch": { "version": "3.0.4", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -27250,12 +27425,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "extraneous": true + "optional": true }, "minipass": { "version": "2.9.0", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -27264,7 +27439,7 @@ "minizlib": { "version": "1.3.3", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "minipass": "^2.9.0" } @@ -27272,7 +27447,7 @@ "mkdirp": { "version": "0.5.1", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -27280,12 +27455,12 @@ "ms": { "version": "2.1.2", "bundled": true, - "extraneous": true + "optional": true }, "needle": { "version": "2.4.0", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "debug": "^3.2.6", "iconv-lite": "^0.4.4", @@ -27295,7 +27470,7 @@ "node-pre-gyp": { "version": "0.14.0", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", @@ -27312,7 +27487,7 @@ "nopt": { "version": "4.0.1", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "abbrev": "1", "osenv": "^0.1.4" @@ -27321,7 +27496,7 @@ "npm-bundled": { "version": "1.1.1", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "npm-normalize-package-bin": "^1.0.1" } @@ -27329,12 +27504,12 @@ "npm-normalize-package-bin": { "version": "1.0.1", "bundled": true, - "extraneous": true + "optional": true }, "npm-packlist": { "version": "1.4.7", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1" @@ -27343,7 +27518,7 @@ "npmlog": { "version": "4.1.2", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -27354,17 +27529,17 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "extraneous": true + "optional": true }, "object-assign": { "version": "4.1.1", "bundled": true, - "extraneous": true + "optional": true }, "once": { "version": "1.4.0", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "wrappy": "1" } @@ -27372,17 +27547,17 @@ "os-homedir": { "version": "1.0.2", "bundled": true, - "extraneous": true + "optional": true }, "os-tmpdir": { "version": "1.0.2", "bundled": true, - "extraneous": true + "optional": true }, "osenv": { "version": "0.1.5", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -27391,17 +27566,17 @@ "path-is-absolute": { "version": "1.0.1", "bundled": true, - "extraneous": true + "optional": true }, "process-nextick-args": { "version": "2.0.1", "bundled": true, - "extraneous": true + "optional": true }, "rc": { "version": "1.2.8", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -27412,14 +27587,14 @@ "minimist": { "version": "1.2.0", "bundled": true, - "extraneous": true + "optional": true } } }, "readable-stream": { "version": "2.3.6", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -27433,7 +27608,7 @@ "rimraf": { "version": "2.7.1", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "glob": "^7.1.3" } @@ -27441,37 +27616,37 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "extraneous": true + "optional": true }, "safer-buffer": { "version": "2.1.2", "bundled": true, - "extraneous": true + "optional": true }, "sax": { "version": "1.2.4", "bundled": true, - "extraneous": true + "optional": true }, "semver": { "version": "5.7.1", "bundled": true, - "extraneous": true + "optional": true }, "set-blocking": { "version": "2.0.0", "bundled": true, - "extraneous": true + "optional": true }, "signal-exit": { "version": "3.0.2", "bundled": true, - "extraneous": true + "optional": true }, "string_decoder": { "version": "1.1.1", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "safe-buffer": "~5.1.0" } @@ -27479,7 +27654,7 @@ "string-width": { "version": "1.0.2", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -27489,7 +27664,7 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -27497,12 +27672,12 @@ "strip-json-comments": { "version": "2.0.1", "bundled": true, - "extraneous": true + "optional": true }, "tar": { "version": "4.4.13", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", @@ -27516,12 +27691,12 @@ "util-deprecate": { "version": "1.0.2", "bundled": true, - "extraneous": true + "optional": true }, "wide-align": { "version": "1.1.3", "bundled": true, - "extraneous": true, + "optional": true, "requires": { "string-width": "^1.0.2 || 2" } @@ -27529,19 +27704,19 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "extraneous": true + "optional": true }, "yallist": { "version": "3.1.1", "bundled": true, - "extraneous": true + "optional": true } } }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" }, "functional-red-black-tree": { "version": "1.0.1", @@ -27724,13 +27899,15 @@ "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" }, "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" } }, "get-package-info": { @@ -27990,6 +28167,14 @@ } } }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, "got": { "version": "9.6.0", "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", @@ -28591,10 +28776,23 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, - "has-symbols": { + "has-property-descriptors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "requires": { + "es-define-property": "^1.0.0" + } + }, + "has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, "has-unicode": { "version": "2.0.1", @@ -28666,6 +28864,14 @@ "resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.4.tgz", "integrity": "sha512-Gjzu0Xn7IagXVkSu9cSFuK1fqzwtLwFhNhVL8IFJijRNMgUttFbBSIAzKuSIrsFMO1+g1RlsoN49zPIbwPDMGQ==" }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "requires": { + "function-bind": "^1.1.2" + } + }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -34154,6 +34360,19 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, + "set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + } + }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -34765,6 +34984,16 @@ "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz", "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==" }, + "string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "requires": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + } + }, "string.prototype.trimstart": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", diff --git a/package.json b/package.json index b1763338..4f45fdef 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "keeweb", - "version": "1.18.6", + "version": "1.18.7", "description": "Free cross-platform password manager compatible with KeePass", "main": "Gruntfile.js", "private": true, @@ -110,6 +110,7 @@ }, "scripts": { "start": "grunt", + "lint": "grunt eslint", "test": "grunt test", "build-beta": "grunt --beta && cp dist/index.html ../keeweb-beta/index.html && cd ../keeweb-beta && git add index.html && git commit -a -m 'beta' && git push origin master", "electron": "cross-env KEEWEB_IS_PORTABLE=0 ELECTRON_DISABLE_SECURITY_WARNINGS=1 KEEWEB_EMULATE_HARDWARE_ENCRYPTION=persistent KEEWEB_HTML_PATH=http://localhost:8085 electron desktop --no-sandbox", From 7e06762b25a32a64a7464ad1f64981c0c750927b Mon Sep 17 00:00:00 2001 From: Aetherinox Date: Thu, 4 Apr 2024 13:19:16 -0700 Subject: [PATCH 13/22] chore: cleanup tests --- build/tasks/grunt-run-test.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/build/tasks/grunt-run-test.js b/build/tasks/grunt-run-test.js index 39599c45..88ab5e93 100644 --- a/build/tasks/grunt-run-test.js +++ b/build/tasks/grunt-run-test.js @@ -7,9 +7,7 @@ module.exports = function (grunt) { const puppeteer = require('puppeteer'); (async function () { grunt.log.writeln('Running tests...'); - const fullPath = 'file://' + path.resolve(file); - const browser = await puppeteer.launch({ headless: opt.headless, executablePath: process.env.CHROME_BIN || null, @@ -18,7 +16,6 @@ module.exports = function (grunt) { grunt.log.writeln('puppeteer launched...'); const page = await browser.newPage(); await page.goto(fullPath); - async function check() { const result = await page.evaluate(() => { const { output, done } = window; From ce7838d9359bc181925d8940079cf7bd3d47f544 Mon Sep 17 00:00:00 2001 From: Aetherinox Date: Thu, 4 Apr 2024 13:36:44 -0700 Subject: [PATCH 14/22] ci: remove test verify workflow --- .github/workflows/verify.yml | 44 ------------------------------------ 1 file changed, 44 deletions(-) delete mode 100644 .github/workflows/verify.yml diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml deleted file mode 100644 index cf87de1f..00000000 --- a/.github/workflows/verify.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Verify -on: - push: - pull_request: - workflow_dispatch: - -jobs: - lint: - runs-on: ubuntu-latest - steps: - - - name: "Lint › Checkout" - uses: actions/checkout@v3 - - - name: "Lint › Setup NodeJS" - uses: actions/setup-node@v3 - with: - node-version: '16' - - - name: "Lint › Install NPM Modules" - run: npm ci - - - name: "Lint › Run" - run: npm run lint - - test: - needs: - - lint - runs-on: ubuntu-latest - steps: - - - name: "Test › Checkout" - uses: actions/checkout@v3 - - - name: "Test › Setup NodeJS" - uses: actions/setup-node@v3 - with: - node-version: '16' - - - name: "Test › Install NPM Modules" - run: npm ci - - - name: "Test › Run" - run: npm test \ No newline at end of file From 3dda7f171bf68af54a516367e289b49b547b1774 Mon Sep 17 00:00:00 2001 From: Kevin McCormack Date: Thu, 4 Apr 2024 09:11:10 -0400 Subject: [PATCH 15/22] Add .nvmrc --- .nvmrc | 1 + 1 file changed, 1 insertion(+) create mode 100644 .nvmrc diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 00000000..2ab3d4be --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v16.20.2 From 8bb2719b21e57693491460e18979fa435c55438f Mon Sep 17 00:00:00 2001 From: Kevin McCormack Date: Thu, 4 Apr 2024 09:11:20 -0400 Subject: [PATCH 16/22] Add verify workflow --- .github/workflows/verify.yaml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/workflows/verify.yaml diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml new file mode 100644 index 00000000..150b103c --- /dev/null +++ b/.github/workflows/verify.yaml @@ -0,0 +1,13 @@ +name: Verify +on: + push: + pull_request: + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + - name: Test + run: npm test From 9d346490f71a97bda79cc8bc34390d66d2841230 Mon Sep 17 00:00:00 2001 From: Kevin McCormack Date: Thu, 4 Apr 2024 09:16:57 -0400 Subject: [PATCH 17/22] fixup! Add verify workflow --- .github/workflows/verify.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml index 150b103c..e9e219cb 100644 --- a/.github/workflows/verify.yaml +++ b/.github/workflows/verify.yaml @@ -9,5 +9,7 @@ jobs: steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 + with: + node-version-file: .nvmrc - name: Test run: npm test From 72b25a2c2008a69f3eb05e64640b11b56bf76ec2 Mon Sep 17 00:00:00 2001 From: Kevin McCormack Date: Thu, 4 Apr 2024 09:20:14 -0400 Subject: [PATCH 18/22] fixup! Add verify workflow --- .github/workflows/verify.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml index e9e219cb..d97ed74e 100644 --- a/.github/workflows/verify.yaml +++ b/.github/workflows/verify.yaml @@ -10,6 +10,9 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version-file: .nvmrc + node-version-file: '.nvmrc' + cache: 'npm' + - name: Install npm modules + run: npm ci - name: Test run: npm test From 2fb3357ed3b8cb1f130552431a6cd7db855f9769 Mon Sep 17 00:00:00 2001 From: Kevin McCormack Date: Thu, 4 Apr 2024 10:49:22 -0400 Subject: [PATCH 19/22] Update caniuse --- package-lock.json | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 968ce01c..02c7aa63 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4123,9 +4123,23 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001218", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001218.tgz", - "integrity": "sha512-0ASydOWSy3bB88FbDpJSTt+PfDwnMqrym3yRZfqG8EXSQ06OZhF+q5wgYP/EN+jJMERItNcDQUqMyNjzZ+r5+Q==" + "version": "1.0.30001605", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001605.tgz", + "integrity": "sha512-nXwGlFWo34uliI9z3n6Qc0wZaf7zaZWA1CPZ169La5mV3I/gem7bst0vr5XQH5TJXZIMfDeZyOrZnSlVzKxxHQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] }, "node_modules/chai": { "version": "4.3.4", @@ -24102,9 +24116,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001218", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001218.tgz", - "integrity": "sha512-0ASydOWSy3bB88FbDpJSTt+PfDwnMqrym3yRZfqG8EXSQ06OZhF+q5wgYP/EN+jJMERItNcDQUqMyNjzZ+r5+Q==" + "version": "1.0.30001605", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001605.tgz", + "integrity": "sha512-nXwGlFWo34uliI9z3n6Qc0wZaf7zaZWA1CPZ169La5mV3I/gem7bst0vr5XQH5TJXZIMfDeZyOrZnSlVzKxxHQ==" }, "chai": { "version": "4.3.4", From 790b32e5d0b32b0c722ee5031491119296c735b7 Mon Sep 17 00:00:00 2001 From: Kevin McCormack Date: Thu, 4 Apr 2024 10:49:37 -0400 Subject: [PATCH 20/22] Add lint job --- .github/workflows/verify.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml index d97ed74e..36a6a5f2 100644 --- a/.github/workflows/verify.yaml +++ b/.github/workflows/verify.yaml @@ -4,6 +4,18 @@ on: pull_request: jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + cache: 'npm' + # - name: Install npm modules + # run: npm ci + - name: Test + run: npm run lint test: runs-on: ubuntu-latest steps: From b09e1344cce6c11a14c5271b8e60a148f387617c Mon Sep 17 00:00:00 2001 From: Kevin McCormack Date: Thu, 4 Apr 2024 10:50:43 -0400 Subject: [PATCH 21/22] fixup! Add lint job --- .github/workflows/verify.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml index 36a6a5f2..ab8ede5e 100644 --- a/.github/workflows/verify.yaml +++ b/.github/workflows/verify.yaml @@ -12,9 +12,9 @@ jobs: with: node-version-file: '.nvmrc' cache: 'npm' - # - name: Install npm modules - # run: npm ci - - name: Test + - name: Install npm modules + run: npm ci + - name: Lint run: npm run lint test: runs-on: ubuntu-latest From 5ea7328bb88e912c5f8b3ca13e83f26c933220d4 Mon Sep 17 00:00:00 2001 From: Kevin McCormack Date: Thu, 4 Apr 2024 17:01:30 -0400 Subject: [PATCH 22/22] Add workflow_dispatch to verify workflow --- .github/workflows/verify.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/verify.yaml b/.github/workflows/verify.yaml index ab8ede5e..da0886eb 100644 --- a/.github/workflows/verify.yaml +++ b/.github/workflows/verify.yaml @@ -2,6 +2,7 @@ name: Verify on: push: pull_request: + workflow_dispatch: jobs: lint: