From b3c87156c22aab33bf83596d550e4578594a5c72 Mon Sep 17 00:00:00 2001 From: zadam Date: Mon, 7 Nov 2022 21:26:13 +0100 Subject: [PATCH] library upgrades --- docs/backend_api/AbstractEntity.html | 2 +- docs/backend_api/Attribute.html | 2 +- docs/backend_api/BackendScriptApi.html | 398 +-- docs/backend_api/Branch.html | 2 +- docs/backend_api/EtapiToken.html | 2 +- docs/backend_api/Note.html | 2272 +++++++-------- docs/backend_api/NoteRevision.html | 2 +- docs/backend_api/Option.html | 2 +- docs/backend_api/RecentNote.html | 2 +- .../becca_entities_abstract_entity.js.html | 2 +- .../becca_entities_attribute.js.html | 2 +- .../backend_api/becca_entities_branch.js.html | 6 +- .../becca_entities_etapi_token.js.html | 2 +- docs/backend_api/becca_entities_note.js.html | 71 +- .../becca_entities_note_revision.js.html | 2 +- .../backend_api/becca_entities_option.js.html | 2 +- .../becca_entities_recent_note.js.html | 2 +- docs/backend_api/global.html | 2 +- docs/backend_api/index.html | 2 +- docs/backend_api/module-sql.html | 48 +- .../services_backend_script_api.js.html | 2 +- docs/backend_api/services_sql.js.html | 2 +- docs/frontend_api/Attribute.html | 4 +- docs/frontend_api/Branch.html | 4 +- docs/frontend_api/FrontendScriptApi.html | 658 ++--- docs/frontend_api/NoteComplement.html | 4 +- docs/frontend_api/NoteShort.html | 2480 ++++++++--------- docs/frontend_api/entities_attribute.js.html | 4 +- docs/frontend_api/entities_branch.js.html | 4 +- .../entities_note_complement.js.html | 4 +- docs/frontend_api/entities_note_short.js.html | 4 +- docs/frontend_api/global.html | 4 +- docs/frontend_api/index.html | 4 +- docs/frontend_api/module.exports.html | 4 +- .../services_frontend_script_api.js.html | 6 +- .../widgets_collapsible_widget.js.html | 4 +- package-lock.json | 646 +++-- package.json | 20 +- src/becca/entities/note.js | 2 +- 39 files changed, 3443 insertions(+), 3242 deletions(-) diff --git a/docs/backend_api/AbstractEntity.html b/docs/backend_api/AbstractEntity.html index 83ea380cb..2e07d3086 100644 --- a/docs/backend_api/AbstractEntity.html +++ b/docs/backend_api/AbstractEntity.html @@ -991,7 +991,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
diff --git a/docs/backend_api/Attribute.html b/docs/backend_api/Attribute.html index fb0796b3b..5349663eb 100644 --- a/docs/backend_api/Attribute.html +++ b/docs/backend_api/Attribute.html @@ -1904,7 +1904,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
diff --git a/docs/backend_api/BackendScriptApi.html b/docs/backend_api/BackendScriptApi.html index 8d0cc9b6b..ea272a14d 100644 --- a/docs/backend_api/BackendScriptApi.html +++ b/docs/backend_api/BackendScriptApi.html @@ -3667,204 +3667,6 @@ if some action needs to happen on only one specific instance. -

getNotesWithLabel(name, valueopt) → {Array.<Note>}

- - - - - - -
- Retrieves notes with given label name & value -
- - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
name - - -string - - - - - - - - - - attribute name
value - - -string - - - - - - <optional>
- - - - - -
attribute value
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -Array.<Note> - - -
-
- - - - - - - - - - - - -

getNoteWithLabel(name, valueopt) → {Note|null}

@@ -4066,6 +3868,204 @@ if some action needs to happen on only one specific instance. +

getNotesWithLabel(name, valueopt) → {Array.<Note>}

+ + + + + + +
+ Retrieves notes with given label name & value +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
name + + +string + + + + + + + + + + attribute name
value + + +string + + + + + + <optional>
+ + + + + +
attribute value
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +Array.<Note> + + +
+
+ + + + + + + + + + + + +

getRootCalendarNote() → {Note|null}

@@ -6437,7 +6437,7 @@ exists, then we'll use that transaction.
diff --git a/docs/backend_api/Branch.html b/docs/backend_api/Branch.html index 332b283dc..b5b4fc21b 100644 --- a/docs/backend_api/Branch.html +++ b/docs/backend_api/Branch.html @@ -1844,7 +1844,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
diff --git a/docs/backend_api/EtapiToken.html b/docs/backend_api/EtapiToken.html index fd90ac06e..5f7b1e1e5 100644 --- a/docs/backend_api/EtapiToken.html +++ b/docs/backend_api/EtapiToken.html @@ -1461,7 +1461,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
diff --git a/docs/backend_api/Note.html b/docs/backend_api/Note.html index 3c95422fc..f059e8d9b 100644 --- a/docs/backend_api/Note.html +++ b/docs/backend_api/Note.html @@ -1154,7 +1154,7 @@ See addLabel, addRelation for more specific methods.
Source:
@@ -1441,7 +1441,7 @@ See addLabel, addRelation for more specific methods.
Source:
@@ -1620,7 +1620,7 @@ returned.
Source:
@@ -1855,7 +1855,7 @@ returned.
Source:
@@ -2055,7 +2055,7 @@ returned.
Source:
@@ -2317,7 +2317,7 @@ returned.
Source:
@@ -2423,7 +2423,7 @@ returned.
Source:
@@ -2655,6 +2655,187 @@ returned. +

getAttributeValue(type, name) → {string|null}

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
type + + +string + + + + attribute type (label, relation, etc.)
name + + +string + + + + attribute name
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ attribute value of given type and name or null if no such attribute exists. +
+ + + +
+
+ Type +
+
+ +string +| + +null + + +
+
+ + + + + + + + + + + + +

getAttributes(typeopt, nameopt) → {Array.<Attribute>}

@@ -2855,187 +3036,6 @@ returned. -

getAttributeValue(type, name) → {string|null}

- - - - - - - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
type - - -string - - - - attribute type (label, relation, etc.)
name - - -string - - - - attribute name
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Returns:
- - -
- attribute value of given type and name or null if no such attribute exists. -
- - - -
-
- Type -
-
- -string -| - -null - - -
-
- - - - - - - - - - - - -

getBranches() → {Array.<Branch>}

@@ -3920,173 +3920,6 @@ returned. -

getLabels(nameopt) → {Array.<Attribute>}

- - - - - - - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
name - - -string - - - - - - <optional>
- - - - - -
label name to filter
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Returns:
- - -
- all note's labels (attributes with type label), including inherited ones -
- - - -
-
- Type -
-
- -Array.<Attribute> - - -
-
- - - - - - - - - - - - -

getLabelValue(name) → {string|null}

@@ -4412,6 +4245,173 @@ returned. +

getLabels(nameopt) → {Array.<Attribute>}

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
name + + +string + + + + + + <optional>
+ + + + + +
label name to filter
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ all note's labels (attributes with type label), including inherited ones +
+ + + +
+
+ Type +
+
+ +Array.<Attribute> + + +
+
+ + + + + + + + + + + + +

getOwnedAttribute() → {Attribute}

@@ -4520,6 +4520,187 @@ This method can be significantly faster than the getAttribute() +

getOwnedAttributeValue(type, name) → {string|null}

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
type + + +string + + + + attribute type (label, relation, etc.)
name + + +string + + + + attribute name
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ attribute value of given type and name or null if no such attribute exists. +
+ + + +
+
+ Type +
+
+ +string +| + +null + + +
+
+ + + + + + + + + + + + +

getOwnedAttributes(typeopt, nameopt, valueopt) → {Array.<Attribute>}

@@ -4753,187 +4934,6 @@ This method can be significantly faster than the getAttribute() -

getOwnedAttributeValue(type, name) → {string|null}

- - - - - - - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
type - - -string - - - - attribute type (label, relation, etc.)
name - - -string - - - - attribute name
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Returns:
- - -
- attribute value of given type and name or null if no such attribute exists. -
- - - -
-
- Type -
-
- -string -| - -null - - -
-
- - - - - - - - - - - - -

getOwnedLabel(name) → {Attribute|null}

@@ -5092,173 +5092,6 @@ This method can be significantly faster than the getAttribute() -

getOwnedLabels(nameopt) → {Array.<Attribute>}

- - - - - - - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
name - - -string - - - - - - <optional>
- - - - - -
label name to filter
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Returns:
- - -
- all note's labels (attributes with type label), excluding inherited ones -
- - - -
-
- Type -
-
- -Array.<Attribute> - - -
-
- - - - - - - - - - - - -

getOwnedLabelValue(name) → {string|null}

@@ -5584,6 +5417,173 @@ This method can be significantly faster than the getAttribute() +

getOwnedLabels(nameopt) → {Array.<Attribute>}

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
name + + +string + + + + + + <optional>
+ + + + + +
label name to filter
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ all note's labels (attributes with type label), excluding inherited ones +
+ + + +
+
+ Type +
+
+ +Array.<Attribute> + + +
+
+ + + + + + + + + + + + +

getOwnedRelation(name) → {Attribute|null}

@@ -5742,6 +5742,164 @@ This method can be significantly faster than the getAttribute() +

getOwnedRelationValue(name) → {string|null}

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
name + + +string + + + + relation name
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ relation value if relation exists, null otherwise +
+ + + +
+
+ Type +
+
+ +string +| + +null + + +
+
+ + + + + + + + + + + + +

getOwnedRelations(nameopt) → {Array.<Attribute>}

@@ -5909,164 +6067,6 @@ This method can be significantly faster than the getAttribute() -

getOwnedRelationValue(name) → {string|null}

- - - - - - - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
name - - -string - - - - relation name
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Returns:
- - -
- relation value if relation exists, null otherwise -
- - - -
-
- Type -
-
- -string -| - -null - - -
-
- - - - - - - - - - - - -

getParentBranches() → {Array.<Branch>}

@@ -6518,6 +6518,164 @@ This method can be significantly faster than the getAttribute() +

getRelationValue(name) → {string|null}

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
name + + +string + + + + relation name
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ relation value if relation exists, null otherwise +
+ + + +
+
+ Type +
+
+ +string +| + +null + + +
+
+ + + + + + + + + + + + +

getRelations(nameopt) → {Array.<Attribute>}

@@ -6685,164 +6843,6 @@ This method can be significantly faster than the getAttribute() -

getRelationValue(name) → {string|null}

- - - - - - - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
name - - -string - - - - relation name
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Returns:
- - -
- relation value if relation exists, null otherwise -
- - - -
-
- Type -
-
- -string -| - -null - - -
-
- - - - - - - - - - - - -

getScriptEnv() → {string|null}

@@ -6952,6 +6952,108 @@ This method can be significantly faster than the getAttribute() +

getSubtree() → {Object}

+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +Object + + +
+
+ + + + + + + + + + + + +

getSubtreeNoteIds() → {Array.<String>}

@@ -7000,7 +7102,7 @@ This method can be significantly faster than the getAttribute()
Source:
@@ -7054,108 +7156,6 @@ This method can be significantly faster than the getAttribute() -

getSubtreeNotes() → {Array.<Note>}

- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -Array.<Note> - - -
-
- - - - - - - - - - - - -

getSubtreeNotesIncludingTemplated() → {Array.<Note>}

@@ -7306,7 +7306,7 @@ This method can be significantly faster than the getAttribute()
Source:
@@ -7502,7 +7502,7 @@ This method can be significantly faster than the getAttribute()
Source:
@@ -8981,7 +8981,7 @@ This method can be significantly faster than the getAttribute()
Source:
@@ -9903,7 +9903,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
Source:
@@ -10083,7 +10083,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
Source:
@@ -10263,7 +10263,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
Source:
@@ -10458,7 +10458,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
Source:
@@ -10690,7 +10690,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
Source:
@@ -10870,7 +10870,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
Source:
@@ -11030,7 +11030,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
Source:
@@ -11272,7 +11272,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
Source:
@@ -11483,7 +11483,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
Source:
@@ -11694,7 +11694,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
Source:
@@ -11746,7 +11746,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
diff --git a/docs/backend_api/NoteRevision.html b/docs/backend_api/NoteRevision.html index f2443f927..5bb9a2eb3 100644 --- a/docs/backend_api/NoteRevision.html +++ b/docs/backend_api/NoteRevision.html @@ -2174,7 +2174,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
diff --git a/docs/backend_api/Option.html b/docs/backend_api/Option.html index e4764f7db..f31eaf5e9 100644 --- a/docs/backend_api/Option.html +++ b/docs/backend_api/Option.html @@ -1319,7 +1319,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
diff --git a/docs/backend_api/RecentNote.html b/docs/backend_api/RecentNote.html index 0b293ddae..62c311b5e 100644 --- a/docs/backend_api/RecentNote.html +++ b/docs/backend_api/RecentNote.html @@ -1251,7 +1251,7 @@ This is a low level method, for notes and branches use `note.deleteNote()` and '
diff --git a/docs/backend_api/becca_entities_abstract_entity.js.html b/docs/backend_api/becca_entities_abstract_entity.js.html index 58361497f..f06a0c9f1 100644 --- a/docs/backend_api/becca_entities_abstract_entity.js.html +++ b/docs/backend_api/becca_entities_abstract_entity.js.html @@ -209,7 +209,7 @@ module.exports = AbstractEntity;
diff --git a/docs/backend_api/becca_entities_attribute.js.html b/docs/backend_api/becca_entities_attribute.js.html index 7c88c09f3..76d06856f 100644 --- a/docs/backend_api/becca_entities_attribute.js.html +++ b/docs/backend_api/becca_entities_attribute.js.html @@ -254,7 +254,7 @@ module.exports = Attribute;
diff --git a/docs/backend_api/becca_entities_branch.js.html b/docs/backend_api/becca_entities_branch.js.html index fc264138a..5cf5b3d74 100644 --- a/docs/backend_api/becca_entities_branch.js.html +++ b/docs/backend_api/becca_entities_branch.js.html @@ -198,6 +198,10 @@ class Branch extends AbstractEntity { log.info("Deleting note " + note.noteId); + // marking note as deleted as a signal to event handlers that the note is being deleted + // (isDeleted is being checked against becca) + delete this.becca.notes[note.noteId]; + for (const attribute of note.getOwnedAttributes()) { attribute.markAsDeleted(deleteId); } @@ -274,7 +278,7 @@ module.exports = Branch;
diff --git a/docs/backend_api/becca_entities_etapi_token.js.html b/docs/backend_api/becca_entities_etapi_token.js.html index 72b9adef4..064d6494b 100644 --- a/docs/backend_api/becca_entities_etapi_token.js.html +++ b/docs/backend_api/becca_entities_etapi_token.js.html @@ -120,7 +120,7 @@ module.exports = EtapiToken;
diff --git a/docs/backend_api/becca_entities_note.js.html b/docs/backend_api/becca_entities_note.js.html index d50098ce1..f584efb8e 100644 --- a/docs/backend_api/becca_entities_note.js.html +++ b/docs/backend_api/becca_entities_note.js.html @@ -38,7 +38,7 @@ const AbstractEntity = require("./abstract_entity"); const NoteRevision = require("./note_revision"); const TaskContext = require("../../services/task_context"); const dayjs = require("dayjs"); -const utc = require('dayjs/plugin/utc') +const utc = require('dayjs/plugin/utc'); dayjs.extend(utc) const LABEL = 'label'; @@ -867,30 +867,81 @@ class Note extends AbstractEntity { return Array.from(set); } - /** @returns {Note[]} */ - getSubtreeNotes(includeArchived = true) { + /** + * @returns {{notes: Note[], relationships: Array.<{parentNoteId: string, childNoteId: string}>}} + */ + getSubtree({includeArchived = true, resolveSearch = false} = {}) { const noteSet = new Set(); + const relationships = []; // list of tuples parentNoteId -> childNoteId + + function resolveSearchNote(searchNote) { + try { + const searchService = require("../../services/search/services/search"); + const becca = searchNote.becca; + const {searchResultNoteIds} = searchService.searchFromNote(searchNote); + + for (const resultNoteId of searchResultNoteIds) { + const resultNote = becca.notes[resultNoteId]; + + if (resultNote) { + addSubtreeNotesInner(resultNote, searchNote); + } + } + } + catch (e) { + log.error(`Could not resolve search note ${searchNote?.noteId}: ${e.message}`); + } + } + + function addSubtreeNotesInner(note, parentNote = null) { + // share can be removed after 0.57 since it will be put under hidden + if (note.noteId === 'hidden' || note.noteId === 'share') { + return; + } + + if (parentNote) { + // this needs to happen first before noteSet check to include all clone relationships + relationships.push({ + parentNoteId: parentNote.noteId, + childNoteId: note.noteId + }); + } + + if (noteSet.has(note)) { + return; + } - function addSubtreeNotesInner(note) { if (!includeArchived && note.isArchived) { return; } noteSet.add(note); - for (const childNote of note.children) { - addSubtreeNotesInner(childNote); + if (note.type === 'search') { + if (resolveSearch) { + resolveSearchNote(note); + } + } + else { + for (const childNote of note.children) { + addSubtreeNotesInner(childNote, note); + } } } addSubtreeNotesInner(this); - return Array.from(noteSet); + return { + notes: Array.from(noteSet), + relationships + }; } /** @returns {String[]} */ - getSubtreeNoteIds(includeArchived = true) { - return this.getSubtreeNotes(includeArchived).map(note => note.noteId); + getSubtreeNoteIds({includeArchived = true, resolveSearch = false} = {}) { + return this.getSubtree({includeArchived, resolveSearch}) + .notes + .map(note => note.noteId); } getDescendantNoteIds() { @@ -1378,7 +1429,7 @@ module.exports = Note;
diff --git a/docs/backend_api/becca_entities_note_revision.js.html b/docs/backend_api/becca_entities_note_revision.js.html index f22ca3048..f82037b93 100644 --- a/docs/backend_api/becca_entities_note_revision.js.html +++ b/docs/backend_api/becca_entities_note_revision.js.html @@ -235,7 +235,7 @@ module.exports = NoteRevision;
diff --git a/docs/backend_api/becca_entities_option.js.html b/docs/backend_api/becca_entities_option.js.html index a6ab8a5e3..f63984cec 100644 --- a/docs/backend_api/becca_entities_option.js.html +++ b/docs/backend_api/becca_entities_option.js.html @@ -89,7 +89,7 @@ module.exports = Option;
diff --git a/docs/backend_api/becca_entities_recent_note.js.html b/docs/backend_api/becca_entities_recent_note.js.html index 6b3f05d15..5d6268cb2 100644 --- a/docs/backend_api/becca_entities_recent_note.js.html +++ b/docs/backend_api/becca_entities_recent_note.js.html @@ -77,7 +77,7 @@ module.exports = RecentNote;
diff --git a/docs/backend_api/global.html b/docs/backend_api/global.html index 43ea3274e..e6c91e6a8 100644 --- a/docs/backend_api/global.html +++ b/docs/backend_api/global.html @@ -1089,7 +1089,7 @@
diff --git a/docs/backend_api/index.html b/docs/backend_api/index.html index 3a8828939..afc8c4960 100644 --- a/docs/backend_api/index.html +++ b/docs/backend_api/index.html @@ -56,7 +56,7 @@
diff --git a/docs/backend_api/module-sql.html b/docs/backend_api/module-sql.html index f006a89d7..5279b0454 100644 --- a/docs/backend_api/module-sql.html +++ b/docs/backend_api/module-sql.html @@ -28,8 +28,6 @@
- -
@@ -38,6 +36,50 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + @@ -1258,7 +1300,7 @@
diff --git a/docs/backend_api/services_backend_script_api.js.html b/docs/backend_api/services_backend_script_api.js.html index f6de2455f..f2aff4847 100644 --- a/docs/backend_api/services_backend_script_api.js.html +++ b/docs/backend_api/services_backend_script_api.js.html @@ -512,7 +512,7 @@ module.exports = BackendScriptApi;
diff --git a/docs/backend_api/services_sql.js.html b/docs/backend_api/services_sql.js.html index 87a04b733..56e81262e 100644 --- a/docs/backend_api/services_sql.js.html +++ b/docs/backend_api/services_sql.js.html @@ -404,7 +404,7 @@ module.exports = {
diff --git a/docs/frontend_api/Attribute.html b/docs/frontend_api/Attribute.html index f37b6de37..2f337a101 100644 --- a/docs/frontend_api/Attribute.html +++ b/docs/frontend_api/Attribute.html @@ -844,13 +844,13 @@ and relation (representing named relationship between source and target note)
diff --git a/docs/frontend_api/Branch.html b/docs/frontend_api/Branch.html index d5b3f7327..b67be1575 100644 --- a/docs/frontend_api/Branch.html +++ b/docs/frontend_api/Branch.html @@ -1056,13 +1056,13 @@ parents.
diff --git a/docs/frontend_api/FrontendScriptApi.html b/docs/frontend_api/FrontendScriptApi.html index 793e73149..105a352d3 100644 --- a/docs/frontend_api/FrontendScriptApi.html +++ b/docs/frontend_api/FrontendScriptApi.html @@ -453,116 +453,6 @@ -

currentNote

- - - - - - - - - - -
Properties:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
note - - -object - - - - where script is currently executing
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - -

NoteContextAwareWidget

@@ -775,6 +665,332 @@ +

TabAwareWidget

+ + + + + + + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ + +NoteContextAwareWidget + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +
Deprecated:
  • use NoteContextAwareWidget instead
+ + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

TabCachingWidget

+ + + + + + + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeDescription
+ + +NoteContextCachingWidget + + + +
+ + + + +
+ + + + + + + + + + + + + + + + +
Deprecated:
  • use NoteContextCachingWidget instead
+ + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

currentNote

+ + + + + + + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
note + + +object + + + + where script is currently executing
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + +

originEntity

@@ -997,222 +1213,6 @@ - -

TabAwareWidget

- - - - - - - - - - -
Properties:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeDescription
- - -NoteContextAwareWidget - - - -
- - - - -
- - - - - - - - - - - - - - - - -
Deprecated:
  • use NoteContextAwareWidget instead
- - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - -

TabCachingWidget

- - - - - - - - - - -
Properties:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TypeDescription
- - -NoteContextCachingWidget - - - -
- - - - -
- - - - - - - - - - - - - - - - -
Deprecated:
  • use NoteContextCachingWidget instead
- - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - @@ -1542,7 +1542,7 @@
- Adds new button the the plugin area. + Adds new button to the plugin area.
@@ -8141,13 +8141,13 @@ Typical use case is when new note has been created, we should wait until it is s
diff --git a/docs/frontend_api/NoteComplement.html b/docs/frontend_api/NoteComplement.html index cb2d6501b..9238439ef 100644 --- a/docs/frontend_api/NoteComplement.html +++ b/docs/frontend_api/NoteComplement.html @@ -775,13 +775,13 @@
diff --git a/docs/frontend_api/NoteShort.html b/docs/frontend_api/NoteShort.html index fc95148b8..22a030fdb 100644 --- a/docs/frontend_api/NoteShort.html +++ b/docs/frontend_api/NoteShort.html @@ -285,74 +285,6 @@ This note's representation is used in note tree and is kept in Froca. -

children :Array.<string>

- - - - - - -
Type:
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - -

childToBranch :Object.<string, string>

@@ -421,6 +353,74 @@ This note's representation is used in note tree and is kept in Froca. +

children :Array.<string>

+ + + + + + +
Type:
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + +

isProtected :boolean

@@ -629,74 +629,6 @@ This note's representation is used in note tree and is kept in Froca. -

parents :Array.<string>

- - - - - - -
Type:
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - -

parentToBranch :Object.<string, string>

@@ -765,6 +697,74 @@ This note's representation is used in note tree and is kept in Froca. +

parents :Array.<string>

+ + + + + + +
Type:
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + +

targetRelations :Array.<string>

@@ -1161,6 +1161,184 @@ This note's representation is used in note tree and is kept in Froca. +

getAttributeValue(type, name) → {string}

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
type + + +string + + + + attribute type (label, relation, etc.)
name + + +string + + + + attribute name
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ attribute value of given type and name or null if no such attribute exists. +
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + + + + + +

getAttributes(typeopt, nameopt) → {Array.<Attribute>}

@@ -1361,7 +1539,7 @@ This note's representation is used in note tree and is kept in Froca. -

getAttributeValue(type, name) → {string}

+

getBranchIds() → {Array.<string>}

@@ -1376,78 +1554,6 @@ This note's representation is used in note tree and is kept in Froca. -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
type - - -string - - - - attribute type (label, relation, etc.)
name - - -string - - - - attribute name
- - @@ -1469,6 +1575,8 @@ This note's representation is used in note tree and is kept in Froca. +
Deprecated:
  • use getParentBranchIds() instead
+ @@ -1481,7 +1589,7 @@ This note's representation is used in note tree and is kept in Froca.
Source:
@@ -1509,10 +1617,6 @@ This note's representation is used in note tree and is kept in Froca.
Returns:
-
- attribute value of given type and name or null if no such attribute exists. -
-
@@ -1521,7 +1625,7 @@ This note's representation is used in note tree and is kept in Froca.
-string +Array.<string>
@@ -1643,110 +1747,6 @@ This note's representation is used in note tree and is kept in Froca. -

getBranchIds() → {Array.<string>}

- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - -
Deprecated:
  • use getParentBranchIds() instead
- - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -Array.<string> - - -
-
- - - - - - - - - - - - -

getChildBranches() → {Array.<Branch>}

@@ -2208,6 +2208,161 @@ This note's representation is used in note tree and is kept in Froca. +

getLabelValue(name) → {string}

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
name + + +string + + + + label name
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ label value if label exists, null otherwise +
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + + + + + +

getLabels(nameopt) → {Array.<Attribute>}

@@ -2375,161 +2530,6 @@ This note's representation is used in note tree and is kept in Froca. -

getLabelValue(name) → {string}

- - - - - - - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
name - - -string - - - - label name
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Returns:
- - -
- label value if label exists, null otherwise -
- - - -
-
- Type -
-
- -string - - -
-
- - - - - - - - - - - - -

(async) getNoteComplement() → {Promise.<NoteComplement>}

@@ -2814,6 +2814,184 @@ This note's representation is used in note tree and is kept in Froca. +

getOwnedAttributeValue(type, name) → {string}

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
type + + +string + + + + attribute type (label, relation, etc.)
name + + +string + + + + attribute name
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ attribute value of given type and name or null if no such attribute exists. +
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + + + + + +

getOwnedAttributes(typeopt, nameopt) → {Array.<Attribute>}

@@ -3014,184 +3192,6 @@ This note's representation is used in note tree and is kept in Froca. -

getOwnedAttributeValue(type, name) → {string}

- - - - - - - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
type - - -string - - - - attribute type (label, relation, etc.)
name - - -string - - - - attribute name
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Returns:
- - -
- attribute value of given type and name or null if no such attribute exists. -
- - - -
-
- Type -
-
- -string - - -
-
- - - - - - - - - - - - -

getOwnedLabel(name) → {Attribute}

@@ -3347,6 +3347,161 @@ This note's representation is used in note tree and is kept in Froca. +

getOwnedLabelValue(name) → {string}

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
name + + +string + + + + label name
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ label value if label exists, null otherwise +
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + + + + + +

getOwnedLabels(nameopt) → {Array.<Attribute>}

@@ -3514,161 +3669,6 @@ This note's representation is used in note tree and is kept in Froca. -

getOwnedLabelValue(name) → {string}

- - - - - - - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
name - - -string - - - - label name
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Returns:
- - -
- label value if label exists, null otherwise -
- - - -
-
- Type -
-
- -string - - -
-
- - - - - - - - - - - - -

getOwnedRelation(name) → {Attribute}

@@ -3824,6 +3824,161 @@ This note's representation is used in note tree and is kept in Froca. +

getOwnedRelationValue(name) → {string}

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
name + + +string + + + + relation name
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ relation value if relation exists, null otherwise +
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + + + + + +

getOwnedRelations(nameopt) → {Array.<Attribute>}

@@ -3991,7 +4146,7 @@ This note's representation is used in note tree and is kept in Froca. -

getOwnedRelationValue(name) → {string}

+

getParentBranchIds() → {Array.<string>}

@@ -4006,55 +4161,6 @@ This note's representation is used in note tree and is kept in Froca. -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
name - - -string - - - - relation name
- - @@ -4088,7 +4194,7 @@ This note's representation is used in note tree and is kept in Froca.
Source:
@@ -4116,10 +4222,6 @@ This note's representation is used in note tree and is kept in Froca.
Returns:
-
- relation value if relation exists, null otherwise -
-
@@ -4128,7 +4230,7 @@ This note's representation is used in note tree and is kept in Froca.
-string +Array.<string>
@@ -4248,108 +4350,6 @@ This note's representation is used in note tree and is kept in Froca. -

getParentBranchIds() → {Array.<string>}

- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -Array.<string> - - -
-
- - - - - - - - - - - - -

getParentNoteIds() → {Array.<string>}

@@ -4709,173 +4709,6 @@ This note's representation is used in note tree and is kept in Froca. -

getRelations(nameopt) → {Array.<Attribute>}

- - - - - - - - - - - - - - -
Parameters:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
name - - -string - - - - - - <optional>
- - - - - -
relation name to filter
- - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Returns:
- - -
- all note's relations (attributes with type relation), including inherited ones -
- - - -
-
- Type -
-
- -Array.<Attribute> - - -
-
- - - - - - - - - - - - -

(async) getRelationTarget(name) → {Promise.<NoteShort>|null}

@@ -5352,6 +5185,173 @@ This note's representation is used in note tree and is kept in Froca. +

getRelations(nameopt) → {Array.<Attribute>}

+ + + + + + + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
name + + +string + + + + + + <optional>
+ + + + + +
relation name to filter
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ all note's relations (attributes with type relation), including inherited ones +
+ + + +
+
+ Type +
+
+ +Array.<Attribute> + + +
+
+ + + + + + + + + + + + +

getScriptEnv() → {string|null}

@@ -5461,112 +5461,6 @@ This note's representation is used in note tree and is kept in Froca. -

getTargetRelations() → {Array.<Attribute>}

- - - - - - -
- Get relations which target this note -
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - - - - - - -
- - - - - - - - - - - - - - - -
Returns:
- - - - -
-
- Type -
-
- -Array.<Attribute> - - -
-
- - - - - - - - - - - - -

(async) getTargetRelationSourceNotes() → {Array.<NoteShort>}

@@ -5673,6 +5567,112 @@ This note's representation is used in note tree and is kept in Froca. +

getTargetRelations() → {Array.<Attribute>}

+ + + + + + +
+ Get relations which target this note +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +Array.<Attribute> + + +
+
+ + + + + + + + + + + + +

getTemplateNotes() → {Array.<NoteShort>}

@@ -7263,13 +7263,13 @@ This note's representation is used in note tree and is kept in Froca.
diff --git a/docs/frontend_api/entities_attribute.js.html b/docs/frontend_api/entities_attribute.js.html index d44f46ece..31db32461 100644 --- a/docs/frontend_api/entities_attribute.js.html +++ b/docs/frontend_api/entities_attribute.js.html @@ -115,13 +115,13 @@ export default Attribute;
diff --git a/docs/frontend_api/entities_branch.js.html b/docs/frontend_api/entities_branch.js.html index e96a6a59b..49e04e632 100644 --- a/docs/frontend_api/entities_branch.js.html +++ b/docs/frontend_api/entities_branch.js.html @@ -99,13 +99,13 @@ export default Branch;
diff --git a/docs/frontend_api/entities_note_complement.js.html b/docs/frontend_api/entities_note_complement.js.html index 360dce760..a7b13f24a 100644 --- a/docs/frontend_api/entities_note_complement.js.html +++ b/docs/frontend_api/entities_note_complement.js.html @@ -76,13 +76,13 @@ export default NoteComplement;
diff --git a/docs/frontend_api/entities_note_short.js.html b/docs/frontend_api/entities_note_short.js.html index a63cacf28..254372125 100644 --- a/docs/frontend_api/entities_note_short.js.html +++ b/docs/frontend_api/entities_note_short.js.html @@ -864,13 +864,13 @@ export default NoteShort;
diff --git a/docs/frontend_api/global.html b/docs/frontend_api/global.html index 48b1f623a..c988f8be7 100644 --- a/docs/frontend_api/global.html +++ b/docs/frontend_api/global.html @@ -425,13 +425,13 @@
diff --git a/docs/frontend_api/index.html b/docs/frontend_api/index.html index 8dc8b7de8..55816361e 100644 --- a/docs/frontend_api/index.html +++ b/docs/frontend_api/index.html @@ -50,13 +50,13 @@
diff --git a/docs/frontend_api/module.exports.html b/docs/frontend_api/module.exports.html index a20ad67f4..c743929ac 100644 --- a/docs/frontend_api/module.exports.html +++ b/docs/frontend_api/module.exports.html @@ -155,13 +155,13 @@
diff --git a/docs/frontend_api/services_frontend_script_api.js.html b/docs/frontend_api/services_frontend_script_api.js.html index a39196f1c..e47bb0eb5 100644 --- a/docs/frontend_api/services_frontend_script_api.js.html +++ b/docs/frontend_api/services_frontend_script_api.js.html @@ -159,7 +159,7 @@ function FrontendScriptApi(startNote, currentNote, originEntity = null, $contain */ /** - * Adds new button the the plugin area. + * Adds new button to the plugin area. * * @param {ToolbarButtonOptions} opts */ @@ -663,13 +663,13 @@ export default FrontendScriptApi;
diff --git a/docs/frontend_api/widgets_collapsible_widget.js.html b/docs/frontend_api/widgets_collapsible_widget.js.html index 4a731fa1a..b5871ed12 100644 --- a/docs/frontend_api/widgets_collapsible_widget.js.html +++ b/docs/frontend_api/widgets_collapsible_widget.js.html @@ -74,13 +74,13 @@ export default class CollapsibleWidget extends NoteContextAwareWidget {
diff --git a/package-lock.json b/package-lock.json index 2f3024b08..90b601659 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@excalidraw/excalidraw": "0.12.0", "archiver": "5.3.1", "async-mutex": "0.4.0", - "axios": "1.1.2", + "axios": "1.1.3", "better-sqlite3": "7.4.5", "chokidar": "3.5.3", "cls-hooked": "4.2.2", @@ -22,11 +22,11 @@ "compression": "1.7.4", "cookie-parser": "1.4.6", "csurf": "1.11.0", - "dayjs": "1.11.5", + "dayjs": "1.11.6", "dayjs-plugin-utc": "^0.1.2", "ejs": "3.1.8", "electron-debug": "3.2.0", - "electron-dl": "3.4.0", + "electron-dl": "3.4.1", "electron-window-state": "5.0.3", "express": "4.18.2", "express-partial-content": "1.0.2", @@ -44,10 +44,10 @@ "is-svg": "4.3.2", "jimp": "0.16.2", "joplin-turndown-plugin-gfm": "1.0.12", - "jsdom": "20.0.1", + "jsdom": "20.0.2", "mime-types": "2.1.35", "multer": "1.4.5-lts.1", - "node-abi": "3.26.0", + "node-abi": "3.28.0", "normalize-strings": "1.1.1", "open": "8.4.0", "rand-token": "1.0.1", @@ -57,7 +57,7 @@ "rimraf": "3.0.2", "safe-compare": "1.1.4", "sanitize-filename": "1.6.3", - "sanitize-html": "2.7.2", + "sanitize-html": "2.7.3", "sax": "1.2.4", "semver": "7.3.8", "serve-favicon": "2.5.0", @@ -67,7 +67,7 @@ "tmp": "0.2.1", "turndown": "7.1.1", "unescape": "1.0.1", - "ws": "8.9.0", + "ws": "8.11.0", "yauzl": "2.10.0" }, "bin": { @@ -77,11 +77,11 @@ "cross-env": "7.0.3", "electron": "16.2.8", "electron-builder": "23.6.0", - "electron-packager": "16.0.0", + "electron-packager": "17.1.1", "electron-rebuild": "3.2.9", "esm": "3.2.25", - "jasmine": "4.4.0", - "jsdoc": "3.6.11", + "jasmine": "4.5.0", + "jsdoc": "4.0.0", "lorem-ipsum": "2.0.8", "rcedit": "3.0.1", "webpack": "5.74.0", @@ -140,6 +140,27 @@ "node": ">=10.0.0" } }, + "node_modules/@electron/asar": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.2.tgz", + "integrity": "sha512-32fMU68x8a6zvxtC1IC/BhPDKTh8rQjdmwEplj3CDpnkcwBzZVN9v/8cK0LJqQ0FOQQVZW8BWZ1S6UU53TYR4w==", + "dev": true, + "dependencies": { + "chromium-pickle-js": "^0.2.0", + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "bin": { + "asar": "bin/asar.js" + }, + "engines": { + "node": ">=10.12.0" + }, + "optionalDependencies": { + "@types/glob": "^7.1.1" + } + }, "node_modules/@electron/get": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz", @@ -182,6 +203,76 @@ "semver": "bin/semver.js" } }, + "node_modules/@electron/notarize": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-1.2.3.tgz", + "integrity": "sha512-9oRzT56rKh5bspk3KpAVF8lPKHYQrBnRwcgiOeR0hdilVEQmszDaAu0IPCPrwwzJN0ugNs0rRboTreHMt/6mBQ==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/notarize/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@electron/notarize/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@electron/notarize/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron/osx-sign": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.0.1.tgz", + "integrity": "sha512-WkUcva+qkt809bI6uxxEG/uOWfl8HAw0m8aPijpKmGMIpZ1CWWB808YG6aY3wckUO86xZdmiOsUJTM4keLhY8A==", + "dev": true, + "dependencies": { + "compare-version": "^0.1.2", + "debug": "^4.3.4", + "fs-extra": "^10.0.0", + "isbinaryfile": "^4.0.8", + "minimist": "^1.2.6", + "plist": "^3.0.5" + }, + "bin": { + "electron-osx-flat": "bin/electron-osx-flat.js", + "electron-osx-sign": "bin/electron-osx-sign.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/@electron/remote": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.8.tgz", @@ -683,6 +774,18 @@ "regenerator-runtime": "^0.13.3" } }, + "node_modules/@jsdoc/salty": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.1.tgz", + "integrity": "sha512-JXwylDNSHa549N9uceDYu8D4GMXwSo3H8CCPYEQqxhhHpxD28+lRl2b3bS/caaPj5w1YD3SWtrficJNTnUjGpg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=v12.0.0" + } + }, "node_modules/@malept/cross-spawn-promise": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.0.tgz", @@ -1698,9 +1801,9 @@ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, "node_modules/axios": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.2.tgz", - "integrity": "sha512-bznQyETwElsXl2RK7HLLwb5GPpOLlycxHCtrpDR/4RqqBzjARaOTo3jz4IgtntWUYee7Ne4S8UHd92VCuzPaWA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz", + "integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -2945,9 +3048,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.5.tgz", - "integrity": "sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA==" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.6.tgz", + "integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==" }, "node_modules/dayjs-plugin-utc": { "version": "0.1.2", @@ -3368,9 +3471,9 @@ } }, "node_modules/electron-dl": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/electron-dl/-/electron-dl-3.4.0.tgz", - "integrity": "sha512-7Oa4J+bmmm14FcIlPc3XyjVrzOLd3HqiSRO3gjzhaoEW4+8C+6gfG/KQX8GBsoQomNa7d8i1e47xCwx4fDCt7g==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/electron-dl/-/electron-dl-3.4.1.tgz", + "integrity": "sha512-NUrjWTlFW7n/+0ECxQ1AkjikNxdeRDpaprLY7YhmOg6pkFcPHwdEfpkTK+CIhyGMAlZOuto1clB1z5HAwgZcaA==", "dependencies": { "ext-name": "^5.0.0", "pupa": "^2.0.1", @@ -3569,110 +3672,19 @@ "keyboardevents-areequal": "^0.2.1" } }, - "node_modules/electron-notarize": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.1.1.tgz", - "integrity": "sha512-kufsnqh86CTX89AYNG3NCPoboqnku/+32RxeJ2+7A4Rbm4bbOx0Nc7XTy3/gAlBfpj9xPAxHfhZLOHgfi6cJVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "fs-extra": "^9.0.1" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/electron-notarize/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/electron-notarize/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/electron-notarize/node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/electron-osx-sign": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz", - "integrity": "sha512-icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ==", - "dev": true, - "dependencies": { - "bluebird": "^3.5.0", - "compare-version": "^0.1.2", - "debug": "^2.6.8", - "isbinaryfile": "^3.0.2", - "minimist": "^1.2.0", - "plist": "^3.0.1" - }, - "bin": { - "electron-osx-flat": "bin/electron-osx-flat.js", - "electron-osx-sign": "bin/electron-osx-sign.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/electron-osx-sign/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/electron-osx-sign/node_modules/isbinaryfile": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", - "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", - "dev": true, - "dependencies": { - "buffer-alloc": "^1.2.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/electron-packager": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-16.0.0.tgz", - "integrity": "sha512-7Ey4UUaHg3FYhA7ktsAvCWP8srp9+iPljGdeJBsNaZBakU6HWhvRC+Pc7LWXGCgAVIN5BQsUwR3xrCbFno91VA==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-17.1.1.tgz", + "integrity": "sha512-r1NDtlajsq7gf2EXgjRfblCVPquvD2yeg+6XGErOKblvxOpDi0iulZLVhgYDP4AEF1P5/HgbX/vwjlkEv7PEIQ==", "dev": true, "dependencies": { + "@electron/asar": "^3.2.1", "@electron/get": "^2.0.0", - "@electron/universal": "^1.2.1", - "asar": "^3.1.0", + "@electron/notarize": "^1.2.3", + "@electron/osx-sign": "^1.0.1", + "@electron/universal": "^1.3.2", "cross-spawn-windows-exe": "^1.2.0", "debug": "^4.0.1", - "electron-notarize": "^1.1.1", - "electron-osx-sign": "^0.5.0", "extract-zip": "^2.0.0", "filenamify": "^4.1.0", "fs-extra": "^10.1.0", @@ -3741,6 +3753,60 @@ "semver": "bin/semver.js" } }, + "node_modules/electron-packager/node_modules/@electron/universal": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.3.3.tgz", + "integrity": "sha512-79yc61D5QWaQpia+sLQbIIi5iVoV4y9HtgOTlE0fYT0xoyg+ChwndBl4a0Q7yJfDsqq+/nLEPE655F0bTpDiCg==", + "dev": true, + "dependencies": { + "@electron/asar": "^3.2.1", + "@malept/cross-spawn-promise": "^1.1.0", + "debug": "^4.3.1", + "dir-compare": "^2.4.0", + "fs-extra": "^9.0.1", + "minimatch": "^3.0.4", + "plist": "^3.0.4" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/electron-packager/node_modules/@electron/universal/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-packager/node_modules/@electron/universal/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-packager/node_modules/@electron/universal/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/electron-packager/node_modules/@sindresorhus/is": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", @@ -6009,22 +6075,22 @@ "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" }, "node_modules/jasmine": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-4.4.0.tgz", - "integrity": "sha512-xrbOyYkkCvgduNw7CKktDtNb+BwwBv/zvQeHpTkbxqQ37AJL5V4sY3jHoMIJPP/hTc3QxLVwOyxc87AqA+kw5g==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-4.5.0.tgz", + "integrity": "sha512-9olGRvNZyADIwYL9XBNBst5BTU/YaePzuddK+YRslc7rI9MdTIE4r3xaBKbv2GEmzYYUfMOdTR8/i6JfLZaxSQ==", "dev": true, "dependencies": { "glob": "^7.1.6", - "jasmine-core": "^4.4.0" + "jasmine-core": "^4.5.0" }, "bin": { "jasmine": "bin/jasmine.js" } }, "node_modules/jasmine-core": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.4.0.tgz", - "integrity": "sha512-+l482uImx5BVd6brJYlaHe2UwfKoZBqQfNp20ZmdNfsjGFTemGfqHLsXjKEW23w9R/m8WYeFc9JmIgjj6dUtAA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.5.0.tgz", + "integrity": "sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw==", "dev": true }, "node_modules/jest-worker": { @@ -6110,12 +6176,13 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "node_modules/jsdoc": { - "version": "3.6.11", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz", - "integrity": "sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.0.tgz", + "integrity": "sha512-tzTgkklbWKrlaQL2+e3NNgLcZu3NaK2vsHRx7tyHQ+H5jcB9Gx0txSd2eJWlMC/xU1+7LQu4s58Ry0RkuaEQVg==", "dev": true, "dependencies": { "@babel/parser": "^7.9.4", + "@jsdoc/salty": "^0.2.1", "@types/markdown-it": "^12.2.3", "bluebird": "^3.7.2", "catharsis": "^0.9.0", @@ -6128,7 +6195,6 @@ "mkdirp": "^1.0.4", "requizzle": "^0.2.3", "strip-json-comments": "^3.1.0", - "taffydb": "2.6.2", "underscore": "~1.13.2" }, "bin": { @@ -6178,9 +6244,9 @@ } }, "node_modules/jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-pksjj7Rqoa+wdpkKcLzQRHhJCEE42qQhl/xLMUKHgoSejaKOdaXEAnqs6uDNwMl/fciHTzKeR8Wm8cw7N+g98A==", + "version": "20.0.2", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.2.tgz", + "integrity": "sha512-AHWa+QO/cgRg4N+DsmHg1Y7xnz+8KU3EflM0LVDTdmrYOc1WWTSkOjtpUveQH+1Bqd5rtcVnb/DuxV/UjDO4rA==", "dependencies": { "abab": "^2.0.6", "acorn": "^8.8.0", @@ -6824,9 +6890,12 @@ } }, "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/minipass": { "version": "3.3.4", @@ -6993,9 +7062,9 @@ "dev": true }, "node_modules/node-abi": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.26.0.tgz", - "integrity": "sha512-jRVtMFTChbi2i/jqo/i2iP9634KMe+7K1v35mIdj3Mn59i5q27ZYhn+sW6npISM/PQg7HrP2kwtRBMmh5Uvzdg==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.28.0.tgz", + "integrity": "sha512-fRlDb4I0eLcQeUvGq7IY3xHrSb0c9ummdvDSYWfT9+LKP+3jCKw/tKoqaM7r1BAoiAC6GtwyjaGnOz6B3OtF+A==", "dependencies": { "semver": "^7.3.5" }, @@ -8319,9 +8388,9 @@ } }, "node_modules/sanitize-html": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.7.2.tgz", - "integrity": "sha512-DggSTe7MviO+K4YTCwprG6W1vsG+IIX67yp/QY55yQqKCJYSWzCA1rZbaXzkjoKeL9+jqwm56wD6srYLtUNivg==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.7.3.tgz", + "integrity": "sha512-jMaHG29ak4miiJ8wgqA1849iInqORgNv7SLfSw9LtfOhEUQ1C0YHKH73R+hgyufBW9ZFeJrb057k9hjlfBCVlw==", "dependencies": { "deepmerge": "^4.2.2", "escape-string-regexp": "^4.0.0", @@ -9053,12 +9122,6 @@ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, - "node_modules/taffydb": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", - "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", - "dev": true - }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -9893,9 +9956,9 @@ } }, "node_modules/ws": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz", - "integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", "engines": { "node": ">=10.0.0" }, @@ -10120,6 +10183,19 @@ "integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==", "dev": true }, + "@electron/asar": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.2.tgz", + "integrity": "sha512-32fMU68x8a6zvxtC1IC/BhPDKTh8rQjdmwEplj3CDpnkcwBzZVN9v/8cK0LJqQ0FOQQVZW8BWZ1S6UU53TYR4w==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "chromium-pickle-js": "^0.2.0", + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + } + }, "@electron/get": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.14.1.tgz", @@ -10153,6 +10229,60 @@ } } }, + "@electron/notarize": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-1.2.3.tgz", + "integrity": "sha512-9oRzT56rKh5bspk3KpAVF8lPKHYQrBnRwcgiOeR0hdilVEQmszDaAu0IPCPrwwzJN0ugNs0rRboTreHMt/6mBQ==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "fs-extra": "^9.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, + "@electron/osx-sign": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.0.1.tgz", + "integrity": "sha512-WkUcva+qkt809bI6uxxEG/uOWfl8HAw0m8aPijpKmGMIpZ1CWWB808YG6aY3wckUO86xZdmiOsUJTM4keLhY8A==", + "dev": true, + "requires": { + "compare-version": "^0.1.2", + "debug": "^4.3.4", + "fs-extra": "^10.0.0", + "isbinaryfile": "^4.0.8", + "minimist": "^1.2.6", + "plist": "^3.0.5" + } + }, "@electron/remote": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.8.tgz", @@ -10539,6 +10669,15 @@ "regenerator-runtime": "^0.13.3" } }, + "@jsdoc/salty": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.1.tgz", + "integrity": "sha512-JXwylDNSHa549N9uceDYu8D4GMXwSo3H8CCPYEQqxhhHpxD28+lRl2b3bS/caaPj5w1YD3SWtrficJNTnUjGpg==", + "dev": true, + "requires": { + "lodash": "^4.17.21" + } + }, "@malept/cross-spawn-promise": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.0.tgz", @@ -11408,9 +11547,9 @@ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, "axios": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.2.tgz", - "integrity": "sha512-bznQyETwElsXl2RK7HLLwb5GPpOLlycxHCtrpDR/4RqqBzjARaOTo3jz4IgtntWUYee7Ne4S8UHd92VCuzPaWA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz", + "integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==", "requires": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -12382,9 +12521,9 @@ } }, "dayjs": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.5.tgz", - "integrity": "sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA==" + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.6.tgz", + "integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==" }, "dayjs-plugin-utc": { "version": "0.1.2", @@ -12723,9 +12862,9 @@ } }, "electron-dl": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/electron-dl/-/electron-dl-3.4.0.tgz", - "integrity": "sha512-7Oa4J+bmmm14FcIlPc3XyjVrzOLd3HqiSRO3gjzhaoEW4+8C+6gfG/KQX8GBsoQomNa7d8i1e47xCwx4fDCt7g==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/electron-dl/-/electron-dl-3.4.1.tgz", + "integrity": "sha512-NUrjWTlFW7n/+0ECxQ1AkjikNxdeRDpaprLY7YhmOg6pkFcPHwdEfpkTK+CIhyGMAlZOuto1clB1z5HAwgZcaA==", "requires": { "ext-name": "^5.0.0", "pupa": "^2.0.1", @@ -12882,93 +13021,19 @@ "keyboardevents-areequal": "^0.2.1" } }, - "electron-notarize": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.1.1.tgz", - "integrity": "sha512-kufsnqh86CTX89AYNG3NCPoboqnku/+32RxeJ2+7A4Rbm4bbOx0Nc7XTy3/gAlBfpj9xPAxHfhZLOHgfi6cJVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "fs-extra": "^9.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "electron-osx-sign": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz", - "integrity": "sha512-icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.0", - "compare-version": "^0.1.2", - "debug": "^2.6.8", - "isbinaryfile": "^3.0.2", - "minimist": "^1.2.0", - "plist": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "isbinaryfile": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", - "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", - "dev": true, - "requires": { - "buffer-alloc": "^1.2.0" - } - } - } - }, "electron-packager": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-16.0.0.tgz", - "integrity": "sha512-7Ey4UUaHg3FYhA7ktsAvCWP8srp9+iPljGdeJBsNaZBakU6HWhvRC+Pc7LWXGCgAVIN5BQsUwR3xrCbFno91VA==", + "version": "17.1.1", + "resolved": "https://registry.npmjs.org/electron-packager/-/electron-packager-17.1.1.tgz", + "integrity": "sha512-r1NDtlajsq7gf2EXgjRfblCVPquvD2yeg+6XGErOKblvxOpDi0iulZLVhgYDP4AEF1P5/HgbX/vwjlkEv7PEIQ==", "dev": true, "requires": { + "@electron/asar": "^3.2.1", "@electron/get": "^2.0.0", - "@electron/universal": "^1.2.1", - "asar": "^3.1.0", + "@electron/notarize": "^1.2.3", + "@electron/osx-sign": "^1.0.1", + "@electron/universal": "^1.3.2", "cross-spawn-windows-exe": "^1.2.0", "debug": "^4.0.1", - "electron-notarize": "^1.1.1", - "electron-osx-sign": "^0.5.0", "extract-zip": "^2.0.0", "filenamify": "^4.1.0", "fs-extra": "^10.1.0", @@ -13019,6 +13084,51 @@ } } }, + "@electron/universal": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-1.3.3.tgz", + "integrity": "sha512-79yc61D5QWaQpia+sLQbIIi5iVoV4y9HtgOTlE0fYT0xoyg+ChwndBl4a0Q7yJfDsqq+/nLEPE655F0bTpDiCg==", + "dev": true, + "requires": { + "@electron/asar": "^3.2.1", + "@malept/cross-spawn-promise": "^1.1.0", + "debug": "^4.3.1", + "dir-compare": "^2.4.0", + "fs-extra": "^9.0.1", + "minimatch": "^3.0.4", + "plist": "^3.0.4" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + } + } + }, "@sindresorhus/is": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", @@ -14696,19 +14806,19 @@ } }, "jasmine": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-4.4.0.tgz", - "integrity": "sha512-xrbOyYkkCvgduNw7CKktDtNb+BwwBv/zvQeHpTkbxqQ37AJL5V4sY3jHoMIJPP/hTc3QxLVwOyxc87AqA+kw5g==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-4.5.0.tgz", + "integrity": "sha512-9olGRvNZyADIwYL9XBNBst5BTU/YaePzuddK+YRslc7rI9MdTIE4r3xaBKbv2GEmzYYUfMOdTR8/i6JfLZaxSQ==", "dev": true, "requires": { "glob": "^7.1.6", - "jasmine-core": "^4.4.0" + "jasmine-core": "^4.5.0" } }, "jasmine-core": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.4.0.tgz", - "integrity": "sha512-+l482uImx5BVd6brJYlaHe2UwfKoZBqQfNp20ZmdNfsjGFTemGfqHLsXjKEW23w9R/m8WYeFc9JmIgjj6dUtAA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.5.0.tgz", + "integrity": "sha512-9PMzyvhtocxb3aXJVOPqBDswdgyAeSB81QnLop4npOpbqnheaTEwPc9ZloQeVswugPManznQBjD8kWDTjlnHuw==", "dev": true }, "jest-worker": { @@ -14784,12 +14894,13 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "jsdoc": { - "version": "3.6.11", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.11.tgz", - "integrity": "sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.0.tgz", + "integrity": "sha512-tzTgkklbWKrlaQL2+e3NNgLcZu3NaK2vsHRx7tyHQ+H5jcB9Gx0txSd2eJWlMC/xU1+7LQu4s58Ry0RkuaEQVg==", "dev": true, "requires": { "@babel/parser": "^7.9.4", + "@jsdoc/salty": "^0.2.1", "@types/markdown-it": "^12.2.3", "bluebird": "^3.7.2", "catharsis": "^0.9.0", @@ -14802,7 +14913,6 @@ "mkdirp": "^1.0.4", "requizzle": "^0.2.3", "strip-json-comments": "^3.1.0", - "taffydb": "2.6.2", "underscore": "~1.13.2" }, "dependencies": { @@ -14833,9 +14943,9 @@ } }, "jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-pksjj7Rqoa+wdpkKcLzQRHhJCEE42qQhl/xLMUKHgoSejaKOdaXEAnqs6uDNwMl/fciHTzKeR8Wm8cw7N+g98A==", + "version": "20.0.2", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.2.tgz", + "integrity": "sha512-AHWa+QO/cgRg4N+DsmHg1Y7xnz+8KU3EflM0LVDTdmrYOc1WWTSkOjtpUveQH+1Bqd5rtcVnb/DuxV/UjDO4rA==", "requires": { "abab": "^2.0.6", "acorn": "^8.8.0", @@ -15343,9 +15453,9 @@ } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" }, "minipass": { "version": "3.3.4", @@ -15471,9 +15581,9 @@ "dev": true }, "node-abi": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.26.0.tgz", - "integrity": "sha512-jRVtMFTChbi2i/jqo/i2iP9634KMe+7K1v35mIdj3Mn59i5q27ZYhn+sW6npISM/PQg7HrP2kwtRBMmh5Uvzdg==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.28.0.tgz", + "integrity": "sha512-fRlDb4I0eLcQeUvGq7IY3xHrSb0c9ummdvDSYWfT9+LKP+3jCKw/tKoqaM7r1BAoiAC6GtwyjaGnOz6B3OtF+A==", "requires": { "semver": "^7.3.5" } @@ -16515,9 +16625,9 @@ } }, "sanitize-html": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.7.2.tgz", - "integrity": "sha512-DggSTe7MviO+K4YTCwprG6W1vsG+IIX67yp/QY55yQqKCJYSWzCA1rZbaXzkjoKeL9+jqwm56wD6srYLtUNivg==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.7.3.tgz", + "integrity": "sha512-jMaHG29ak4miiJ8wgqA1849iInqORgNv7SLfSw9LtfOhEUQ1C0YHKH73R+hgyufBW9ZFeJrb057k9hjlfBCVlw==", "requires": { "deepmerge": "^4.2.2", "escape-string-regexp": "^4.0.0", @@ -17079,12 +17189,6 @@ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, - "taffydb": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz", - "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=", - "dev": true - }, "tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -17709,9 +17813,9 @@ } }, "ws": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz", - "integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", "requires": {} }, "xhr": { diff --git a/package.json b/package.json index 76ac8cdac..9179aa5e3 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "@excalidraw/excalidraw": "0.12.0", "archiver": "5.3.1", "async-mutex": "0.4.0", - "axios": "1.1.2", + "axios": "1.1.3", "better-sqlite3": "7.4.5", "chokidar": "3.5.3", "cls-hooked": "4.2.2", @@ -39,11 +39,11 @@ "compression": "1.7.4", "cookie-parser": "1.4.6", "csurf": "1.11.0", - "dayjs": "1.11.5", + "dayjs": "1.11.6", "dayjs-plugin-utc": "^0.1.2", "ejs": "3.1.8", "electron-debug": "3.2.0", - "electron-dl": "3.4.0", + "electron-dl": "3.4.1", "electron-window-state": "5.0.3", "express": "4.18.2", "express-partial-content": "1.0.2", @@ -61,10 +61,10 @@ "is-svg": "4.3.2", "jimp": "0.16.2", "joplin-turndown-plugin-gfm": "1.0.12", - "jsdom": "20.0.1", + "jsdom": "20.0.2", "mime-types": "2.1.35", "multer": "1.4.5-lts.1", - "node-abi": "3.26.0", + "node-abi": "3.28.0", "normalize-strings": "1.1.1", "open": "8.4.0", "rand-token": "1.0.1", @@ -74,7 +74,7 @@ "rimraf": "3.0.2", "safe-compare": "1.1.4", "sanitize-filename": "1.6.3", - "sanitize-html": "2.7.2", + "sanitize-html": "2.7.3", "sax": "1.2.4", "semver": "7.3.8", "serve-favicon": "2.5.0", @@ -84,18 +84,18 @@ "tmp": "0.2.1", "turndown": "7.1.1", "unescape": "1.0.1", - "ws": "8.9.0", + "ws": "8.11.0", "yauzl": "2.10.0" }, "devDependencies": { "cross-env": "7.0.3", "electron": "16.2.8", "electron-builder": "23.6.0", - "electron-packager": "16.0.0", + "electron-packager": "17.1.1", "electron-rebuild": "3.2.9", "esm": "3.2.25", - "jasmine": "4.4.0", - "jsdoc": "3.6.11", + "jasmine": "4.5.0", + "jsdoc": "4.0.0", "lorem-ipsum": "2.0.8", "rcedit": "3.0.1", "webpack": "5.74.0", diff --git a/src/becca/entities/note.js b/src/becca/entities/note.js index a64e6f672..1f3d208be 100644 --- a/src/becca/entities/note.js +++ b/src/becca/entities/note.js @@ -840,7 +840,7 @@ class Note extends AbstractEntity { } /** - * @returns {{notes: Note[], relationships: {parentNoteId, childNoteId}[]}} + * @returns {{notes: Note[], relationships: Array.<{parentNoteId: string, childNoteId: string}>}} */ getSubtree({includeArchived = true, resolveSearch = false} = {}) { const noteSet = new Set();