diff --git a/.dockerignore b/.dockerignore
index a4e242a99..2ceb847c9 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -34,6 +34,7 @@ npm-debug.log
# exceptions
!/bin/copy-dist.ts
+!/bin/electron-forge/sign-windows.cjs
# temporary exception to make copy-dist inside Docker build not fail
# TriliumNextTODO: make copy-dist *not* requiring to copy this file for builds other than electron-forge
diff --git a/.github/actions/build-electron/action.yml b/.github/actions/build-electron/action.yml
index 51b022bed..6c1b6d819 100644
--- a/.github/actions/build-electron/action.yml
+++ b/.github/actions/build-electron/action.yml
@@ -8,8 +8,11 @@ inputs:
arch:
description: "The architecture to build for: x64, arm64"
required: true
- extension:
- description: "Platform specific extensions to copy in the output: dmg, deb, rpm, exe, zip"
+ shell:
+ description: "Which shell to use"
+ required: true
+ forge_platform:
+ description: "The --platform to pass to Electron Forge"
required: true
runs:
@@ -38,21 +41,21 @@ runs:
- name: Verify certificates
if: inputs.os == 'macos'
- shell: bash
+ shell: ${{ inputs.shell }}
run: |
echo "Available signing identities:"
security find-identity -v -p codesigning build.keychain
- name: Set up Python and other macOS dependencies
if: ${{ inputs.os == 'macos' }}
- shell: bash
+ shell: ${{ inputs.shell }}
run: |
brew install python-setuptools
brew install create-dmg
- name: Install dependencies for RPM and Flatpak package building
if: ${{ inputs.os == 'linux' }}
- shell: bash
+ shell: ${{ inputs.shell }}
run: |
sudo apt-get update && sudo apt-get install rpm flatpak-builder elfutils
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
@@ -62,39 +65,32 @@ runs:
# Build setup
- name: Install dependencies
- shell: bash
+ shell: ${{ inputs.shell }}
run: npm ci
- name: Update build info
- shell: bash
+ shell: ${{ inputs.shell }}
run: npm run chore:update-build-info
# Critical debugging configuration
- name: Run electron-forge build with enhanced logging
- shell: bash
+ shell: ${{ inputs.shell }}
env:
# Pass through required environment variables for signing and notarization
APPLE_TEAM_ID: ${{ env.APPLE_TEAM_ID }}
APPLE_ID: ${{ env.APPLE_ID }}
APPLE_ID_PASSWORD: ${{ env.APPLE_ID_PASSWORD }}
+ WINDOWS_SIGN_EXECUTABLE: ${{ env.WINDOWS_SIGN_EXECUTABLE }}
+ TRILIUM_ARTIFACT_NAME_HINT: TriliumNextNotes ${{ inputs.os }} ${{ inputs.arch }}
run: |
- # Map OS names to Electron Forge platform names
- if [ "${{ inputs.os }}" = "macos" ]; then
- PLATFORM="darwin"
- elif [ "${{ inputs.os }}" = "windows" ]; then
- PLATFORM="win32"
- else
- PLATFORM="${{ inputs.os }}"
- fi
-
npm run electron-forge:make -- \
--arch=${{ inputs.arch }} \
- --platform=$PLATFORM
+ --platform=${{ inputs.forge_platform }}
# Add DMG signing step
- name: Sign DMG
if: inputs.os == 'macos'
- shell: bash
+ shell: ${{ inputs.shell }}
run: |
echo "Signing DMG file..."
dmg_file=$(find ./dist -name "*.dmg" -print -quit)
@@ -119,7 +115,7 @@ runs:
- name: Verify code signing
if: inputs.os == 'macos'
- shell: bash
+ shell: ${{ inputs.shell }}
run: |
echo "Verifying code signing for all artifacts..."
@@ -165,49 +161,3 @@ runs:
echo "Found ZIP: $zip_file"
echo "Note: ZIP files are not code signed, but their contents should be"
fi
-
- - name: Prepare artifacts
- shell: bash
- run: |
- mkdir -p upload
-
- if [ "${{ inputs.os }}" = "macos" ]; then
- # For macOS, we need to look in specific directories based on the maker
- echo "Collecting macOS artifacts..."
-
- # Look for DMG files recursively
- echo "Looking for DMG files..."
- dmg_file=$(find ./dist -name "*.dmg" -print -quit)
- if [ -n "$dmg_file" ]; then
- echo "Found DMG: $dmg_file"
- cp "$dmg_file" "upload/TriliumNextNotes-${{ github.ref_name }}-macos-${{ inputs.arch }}.dmg"
- else
- echo "Warning: No DMG file found"
- fi
-
- # Look for ZIP files recursively
- echo "Looking for ZIP files..."
- zip_file=$(find ./dist -name "*.zip" -print -quit)
- if [ -n "$zip_file" ]; then
- echo "Found ZIP: $zip_file"
- cp "$zip_file" "upload/TriliumNextNotes-${{ github.ref_name }}-macos-${{ inputs.arch }}.zip"
- else
- echo "Warning: No ZIP file found"
- fi
- else
- # For other platforms, use the existing logic but with better error handling
- echo "Collecting artifacts for ${{ inputs.os }}..."
- for ext in ${{ inputs.extension }}; do
- echo "Looking for .$ext files..."
- file=$(find ./dist -name "*.$ext" -print -quit)
- if [ -n "$file" ]; then
- echo "Found $file for extension $ext"
- cp "$file" "upload/TriliumNextNotes-${{ github.ref_name }}-${{ inputs.os }}-${{ inputs.arch }}.$ext"
- else
- echo "Warning: No file found with extension .$ext"
- fi
- done
- fi
-
- echo "Final contents of upload directory:"
- ls -la upload/
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
deleted file mode 100644
index 1acdf4709..000000000
--- a/.github/workflows/main.yml
+++ /dev/null
@@ -1,93 +0,0 @@
-name: Main
-on:
- push:
- branches:
- - "feature/update**"
- - "feature/server_esm**"
- paths-ignore:
- - "docs/**"
- - ".github/workflows/main-docker.yml"
- workflow_dispatch:
-
-concurrency:
- group: ${{ github.workflow }}-${{ github.ref }}
- cancel-in-progress: true
-
-jobs:
- make-electron:
- name: Make Electron
- strategy:
- fail-fast: false
- matrix:
- arch: [x64, arm64]
- os:
- - name: macos
- image: macos-latest
- extension: [dmg, zip]
- - name: linux
- image: ubuntu-latest
- extension: [deb, rpm, zip, flatpak]
- - name: windows
- image: windows-latest
- extension: [exe, zip]
- runs-on: ${{ matrix.os.image }}
- steps:
- - uses: actions/checkout@v4
- - name: Set up node & dependencies
- uses: actions/setup-node@v4
- with:
- node-version: 20
- - name: Run the build
- uses: ./.github/actions/build-electron
- with:
- os: ${{ matrix.os.name }}
- arch: ${{ matrix.arch }}
- extension: ${{ matrix.os.extension }}
- env:
- APPLE_APP_CERTIFICATE_BASE64: ${{ secrets.APPLE_APP_CERTIFICATE_BASE64 }}
- APPLE_APP_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_APP_CERTIFICATE_PASSWORD }}
- APPLE_INSTALLER_CERTIFICATE_BASE64: ${{ secrets.APPLE_INSTALLER_CERTIFICATE_BASE64 }}
- APPLE_INSTALLER_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_INSTALLER_CERTIFICATE_PASSWORD }}
- APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
- APPLE_ID: ${{ secrets.APPLE_ID }}
- APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
-
- # Clean up keychain after build
- - name: Clean up keychain
- if: matrix.os.name == 'macos' && always()
- run: |
- security delete-keychain build.keychain
-
- - name: Publish artifacts
- uses: actions/upload-artifact@v4
- with:
- name: TriliumNextNotes ${{ matrix.os.name }} ${{ matrix.arch }}.zip
- path: upload/*.zip
- - name: Publish installer artifacts
- uses: actions/upload-artifact@v4
- with:
- name: TriliumNextNotes ${{ matrix.os.name }} ${{ matrix.arch }}.${{matrix.os.extension}}
- path: upload/*.${{ matrix.os.extension }}
-
- build_linux_server:
- name: Build Linux Server
- strategy:
- fail-fast: false
- matrix:
- arch: [x64, arm64]
- include:
- - arch: x64
- runs-on: ubuntu-latest
- - arch: arm64
- runs-on: ubuntu-24.04-arm
- runs-on: ${{ matrix.runs-on }}
- steps:
- - uses: actions/checkout@v4
- - name: Run the build
- uses: ./.github/actions/build-server
- with:
- arch: ${{ matrix.arch }}
- - uses: actions/upload-artifact@v4
- with:
- name: TriliumNextNotes linux server ${{ matrix.arch }}
- path: upload/TriliumNextNotes-linux-${{ matrix.arch }}-${{ github.ref_name }}.tar.xz
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index 1a7437423..f63c9f578 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -5,6 +5,9 @@ on:
- cron: "0 2 * * *" # run at 2 AM UTC
# This can be used to allow manually triggering nightlies from the web interface
workflow_dispatch:
+ pull_request:
+ paths:
+ - .github/actions/build-electron/*
env:
GITHUB_UPLOAD_URL: https://uploads.github.com/repos/TriliumNext/Notes/releases/179589950/assets{?name,label}
GITHUB_RELEASE_ID: 179589950
@@ -20,13 +23,16 @@ jobs:
os:
- name: macos
image: macos-latest
- extension: [dmg, zip]
+ shell: bash
+ forge_platform: darwin
- name: linux
image: ubuntu-latest
- extension: [deb, rpm, zip, flatpak]
+ shell: bash
+ forge_platform: linux
- name: windows
- image: windows-latest
- extension: [exe, zip]
+ image: win-signing
+ shell: cmd
+ forge_platform: win32
runs-on: ${{ matrix.os.image }}
steps:
- uses: actions/checkout@v4
@@ -35,7 +41,6 @@ jobs:
with:
node-version: 20
- name: Install dependencies
- shell: bash
run: npm ci
- name: Update nightly version
run: npm run chore:ci-update-nightly-version
@@ -44,7 +49,8 @@ jobs:
with:
os: ${{ matrix.os.name }}
arch: ${{ matrix.arch }}
- extension: ${{ join(matrix.os.extension, ' ') }}
+ shell: ${{ matrix.os.shell }}
+ forge_platform: ${{ matrix.os.forge_platform }}
env:
APPLE_APP_CERTIFICATE_BASE64: ${{ secrets.APPLE_APP_CERTIFICATE_BASE64 }}
APPLE_APP_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_APP_CERTIFICATE_PASSWORD }}
@@ -53,9 +59,11 @@ jobs:
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
+ WINDOWS_SIGN_EXECUTABLE: ${{ vars.WINDOWS_SIGN_EXECUTABLE }}
- name: Publish release
uses: softprops/action-gh-release@v2
+ if: ${{ github.event_name != 'pull_request' }}
with:
make_latest: false
prerelease: true
@@ -65,34 +73,9 @@ jobs:
tag_name: nightly
name: Nightly Build
- nightly-server:
- name: Deploy server nightly
- strategy:
- fail-fast: false
- matrix:
- arch: [x64, arm64]
- include:
- - arch: x64
- runs-on: ubuntu-latest
- - arch: arm64
- runs-on: ubuntu-24.04-arm
- runs-on: ${{ matrix.runs-on }}
- steps:
- - uses: actions/checkout@v4
-
- - name: Run the build
- uses: ./.github/actions/build-server
+ - name: Publish artifacts
+ uses: actions/upload-artifact@v4
+ if: ${{ github.event_name == 'pull_request' }}
with:
- os: linux
- arch: ${{ matrix.arch }}
-
- - name: Publish release
- uses: softprops/action-gh-release@v2
- with:
- make_latest: false
- prerelease: true
- draft: false
- fail_on_unmatched_files: true
- files: upload/*.*
- tag_name: nightly
- name: Nightly Build
+ name: TriliumNextNotes ${{ matrix.os.name }} ${{ matrix.arch }}
+ path: upload
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index dc523893b..4f791bda0 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -20,13 +20,16 @@ jobs:
os:
- name: macos
image: macos-latest
- extension: [dmg, zip]
+ shell: bash
+ forge_platform: darwin
- name: linux
image: ubuntu-latest
- extension: [deb, rpm, zip, flatpak]
+ shell: bash
+ forge_platform: linux
- name: windows
- image: windows-latest
- extension: [exe, zip]
+ image: win-signing
+ shell: cmd
+ forge_platform: win32
runs-on: ${{ matrix.os.image }}
steps:
- uses: actions/checkout@v4
@@ -39,7 +42,8 @@ jobs:
with:
os: ${{ matrix.os.name }}
arch: ${{ matrix.arch }}
- extension: ${{ join(matrix.os.extension, ' ') }}
+ shell: ${{ matrix.os.shell }}
+ forge_platform: ${{ matrix.os.forge_platform }}
env:
APPLE_APP_CERTIFICATE_BASE64: ${{ secrets.APPLE_APP_CERTIFICATE_BASE64 }}
APPLE_APP_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_APP_CERTIFICATE_PASSWORD }}
@@ -48,6 +52,7 @@ jobs:
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
+ WINDOWS_SIGN_EXECUTABLE: ${{ vars.WINDOWS_SIGN_EXECUTABLE }}
- name: Publish release
uses: softprops/action-gh-release@v2
diff --git a/bin/copy-dist.ts b/bin/copy-dist.ts
index 2c071142c..eaa79808e 100644
--- a/bin/copy-dist.ts
+++ b/bin/copy-dist.ts
@@ -21,6 +21,7 @@ function copyNodeModuleFileOrFolder(source: string) {
try {
const assetsToCopy = new Set([
+ "./node_modules",
"./images",
"./libraries",
"./translations",
@@ -33,6 +34,7 @@ try {
"./forge.config.cjs",
"./bin/tpl/",
"./bin/electron-forge/desktop.ejs",
+ "./bin/electron-forge/sign-windows.cjs",
"./src/views/",
"./src/etapi/etapi.openapi.yaml",
"./src/routes/api/openapi.json",
diff --git a/bin/electron-forge/sign-windows.cjs b/bin/electron-forge/sign-windows.cjs
new file mode 100644
index 000000000..527a27dc6
--- /dev/null
+++ b/bin/electron-forge/sign-windows.cjs
@@ -0,0 +1,14 @@
+const child_process = require("child_process");
+
+module.exports = function (filePath) {
+ const { WINDOWS_SIGN_EXECUTABLE } = process.env;
+
+ if (!WINDOWS_SIGN_EXECUTABLE) {
+ console.warn("[Sign] Skip signing due to missing environment variable.");
+ return;
+ }
+
+ const command = `${WINDOWS_SIGN_EXECUTABLE} --executable "${filePath}"`;
+ console.log(`[Sign] ${command}`);
+ child_process.execSync(command);
+}
\ No newline at end of file
diff --git a/config-sample.ini b/config-sample.ini
index 7b70da5a3..8e14ce48f 100644
--- a/config-sample.ini
+++ b/config-sample.ini
@@ -8,9 +8,6 @@ noAuthentication=false
# set to true to disable backups (e.g. because of limited space on server)
noBackup=false
-# Disable automatically generating desktop icon
-# noDesktopIcon=true
-
[Network]
# host setting is relevant only for web deployments - set the host on which the server will listen
# host=0.0.0.0
diff --git a/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases/Day Notes.md b/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases/Day Notes.md
index 87b9bad27..4b3bc103f 100644
--- a/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases/Day Notes.md
+++ b/docs/User Guide/User Guide/Advanced Usage/Advanced Showcases/Day Notes.md
@@ -43,6 +43,7 @@ It's possible to customize the title of generated date notes by defining a `#dat
It is also possible to customize the title of generated month notes through the `#monthPattern` attribute, much like `#datePattern`. The options are:
+* `{isoMonth}` results in an ISO 8061 formatted month (e.g. "2025-03" for March 2025)
* `{monthNumberPadded}` results in a number like `09` for September, and `11` for November
* `{month}` results in the full month name (e.g. `September` or `October`)
* `{shortMonth3}` is replaced with the first 3 letters of the month, e.g. Jan, Feb, etc.
@@ -56,4 +57,4 @@ Trilium has some special support for day notes in the form of [backend Script AP
Day (and year, month) notes are created with a label - e.g. `#dateNote="2018-08-16"` this can then be used by other scripts to add new notes to day note etc.
-Journal also has relation `child:child:child:template=Day template` (see \[\[attribute inheritance\]\]) which effectively adds \[\[template\]\] to day notes (grand-grand-grand children of Journal).
\ No newline at end of file
+Journal also has relation `child:child:child:template=Day template` (see \[\[attribute inheritance\]\]) which effectively adds \[\[template\]\] to day notes (grand-grand-grand children of Journal).
diff --git a/e2e/note_types/mermaid.spec.ts b/e2e/note_types/mermaid.spec.ts
index f7a0dd401..f64a447d7 100644
--- a/e2e/note_types/mermaid.spec.ts
+++ b/e2e/note_types/mermaid.spec.ts
@@ -63,7 +63,7 @@ async function testAriaSnapshot({ page, context, noteTitle, snapshot }: AriaTest
await app.goto();
await app.goToNoteInNewTab(noteTitle);
- const svgData = app.currentNoteSplit.locator(".mermaid-render svg");
+ const svgData = app.currentNoteSplit.locator(".render-container svg");
await expect(svgData).toBeVisible();
await expect(svgData).toMatchAriaSnapshot(snapshot);
}
diff --git a/e2e/support/app.ts b/e2e/support/app.ts
index 55f36a7ff..b526638d9 100644
--- a/e2e/support/app.ts
+++ b/e2e/support/app.ts
@@ -54,6 +54,7 @@ export default class App {
async goToNoteInNewTab(noteTitle: string) {
const autocomplete = this.currentNoteSplit.locator(".note-autocomplete");
await autocomplete.fill(noteTitle);
+ await expect(this.currentNoteSplit.locator(".note-detail-empty-results")).toContainText(noteTitle);
await autocomplete.press("ArrowDown");
await autocomplete.press("Enter");
}
diff --git a/electron.ts b/electron.ts
index dc93e6688..6beda97cf 100644
--- a/electron.ts
+++ b/electron.ts
@@ -4,9 +4,9 @@ import electron from "electron";
import electronDebug from "electron-debug";
import electronDl from "electron-dl";
import sqlInit from "./src/services/sql_init.js";
-import appIconService from "./src/services/app_icon.js";
import windowService from "./src/services/window.js";
import tray from "./src/services/tray.js";
+import options from "./src/services/options.js";
import sourceMapSupport from "source-map-support";
sourceMapSupport.install();
@@ -19,12 +19,11 @@ if ((await import("electron-squirrel-startup")).default) {
// Adds debug features like hotkeys for triggering dev tools and reload
electronDebug();
-appIconService.installLocalAppIcon();
-
electronDl({ saveAs: true });
// needed for excalidraw export https://github.com/zadam/trilium/issues/4271
electron.app.commandLine.appendSwitch("enable-experimental-web-platform-features");
+electron.app.commandLine.appendSwitch("lang", options.getOption("formattingLocale") ?? "en");
electron.app.userAgentFallback = `${electron.app.getName()} ${electron.app.getVersion()}`;
diff --git a/forge.config.cjs b/forge.config.cjs
index dabcd7ca4..ba3d8c3ff 100644
--- a/forge.config.cjs
+++ b/forge.config.cjs
@@ -2,13 +2,17 @@ const path = require("path");
const fs = require("fs-extra");
const APP_NAME = "TriliumNext Notes";
+const BIN_PATH = path.normalize("./bin/electron-forge");
const extraResourcesForPlatform = getExtraResourcesForPlatform();
const baseLinuxMakerConfigOptions = {
icon: "./images/app-icons/png/128x128.png",
- desktopTemplate: path.resolve("./bin/electron-forge/desktop.ejs"),
+ desktopTemplate: path.resolve(path.join(BIN_PATH, "desktop.ejs")),
categories: ["Office", "Utility"]
};
+const windowsSignConfiguration = process.env.WINDOWS_SIGN_EXECUTABLE ? {
+ hookModulePath: path.join(BIN_PATH, "sign-windows.cjs")
+} : undefined;
module.exports = {
// we run electron-forge inside the ./build folder,
@@ -26,6 +30,7 @@ module.exports = {
appleIdPassword: process.env.APPLE_ID_PASSWORD,
teamId: process.env.APPLE_TEAM_ID
},
+ windowsSign: windowsSignConfiguration,
extraResource: [
// All resources should stay in Resources directory for macOS
...(process.platform === "darwin" ? [] : extraResourcesForPlatform),
@@ -105,7 +110,8 @@ module.exports = {
config: {
iconUrl: "https://raw.githubusercontent.com/TriliumNext/Notes/develop/images/app-icons/icon.ico",
setupIcon: "./images/app-icons/win/setup.ico",
- loadingGif: "./images/app-icons/win/setup-banner.gif"
+ loadingGif: "./images/app-icons/win/setup-banner.gif",
+ windowsSign: windowsSignConfiguration
}
},
{
@@ -129,7 +135,33 @@ module.exports = {
name: "@electron-forge/plugin-auto-unpack-natives",
config: {}
}
- ]
+ ],
+ hooks: {
+ postMake(_, makeResults) {
+ const outputDir = path.join(__dirname, "..", "upload");
+ fs.mkdirp(outputDir);
+ for (const makeResult of makeResults) {
+ for (const artifactPath of makeResult.artifacts) {
+ // Ignore certain artifacts.
+ let fileName = path.basename(artifactPath);
+ const extension = path.extname(fileName);
+ if (fileName === "RELEASES" || extension === ".nupkg") {
+ continue;
+ }
+
+ // Override the extension for the CI.
+ const { TRILIUM_ARTIFACT_NAME_HINT } = process.env;
+ if (TRILIUM_ARTIFACT_NAME_HINT) {
+ fileName = TRILIUM_ARTIFACT_NAME_HINT + extension;
+ }
+
+ const outputPath = path.join(outputDir, fileName);
+ console.log(`[Artifact] ${artifactPath} -> ${outputPath}`);
+ fs.copyFile(artifactPath, outputPath);
+ }
+ }
+ }
+ }
};
function getExtraResourcesForPlatform() {
diff --git a/package-lock.json b/package-lock.json
index 8cbb5d4bd..bfdf4e330 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -39,7 +39,7 @@
"electron-squirrel-startup": "1.0.1",
"electron-window-state": "5.0.3",
"escape-html": "1.0.3",
- "eslint-linter-browserify": "9.22.0",
+ "eslint-linter-browserify": "9.23.0",
"express": "4.21.2",
"express-openid-connect": "^2.17.1",
"express-rate-limit": "7.5.0",
@@ -111,7 +111,7 @@
"@electron-forge/maker-zip": "7.7.0",
"@electron-forge/plugin-auto-unpack-natives": "7.7.0",
"@electron/rebuild": "3.7.1",
- "@eslint/js": "9.22.0",
+ "@eslint/js": "9.23.0",
"@fullcalendar/core": "6.1.15",
"@fullcalendar/daygrid": "6.1.15",
"@fullcalendar/interaction": "6.1.15",
@@ -140,12 +140,12 @@
"@types/jquery": "3.5.32",
"@types/js-yaml": "4.0.9",
"@types/jsdom": "21.1.7",
- "@types/leaflet": "1.9.16",
+ "@types/leaflet": "1.9.17",
"@types/leaflet-gpx": "1.3.7",
"@types/mime-types": "2.1.4",
"@types/multer": "1.4.12",
- "@types/node": "22.13.10",
- "@types/react": "18.3.19",
+ "@types/node": "22.13.13",
+ "@types/react": "18.3.20",
"@types/react-dom": "18.3.5",
"@types/safe-compare": "1.1.2",
"@types/sanitize-html": "2.13.0",
@@ -154,7 +154,7 @@
"@types/session-file-store": "1.2.5",
"@types/source-map-support": "0.5.10",
"@types/stream-throttle": "0.1.4",
- "@types/supertest": "6.0.2",
+ "@types/supertest": "6.0.3",
"@types/swagger-ui-express": "4.1.8",
"@types/tmp": "0.2.6",
"@types/turndown": "5.0.5",
@@ -167,7 +167,7 @@
"cross-env": "7.0.3",
"css-loader": "7.1.2",
"electron": "35.0.3",
- "eslint": "9.22.0",
+ "eslint": "9.23.0",
"esm": "3.2.25",
"globals": "16.0.0",
"happy-dom": "17.4.4",
@@ -194,7 +194,7 @@
"tsx": "4.19.3",
"typedoc": "0.28.1",
"typescript": "5.8.2",
- "typescript-eslint": "8.27.0",
+ "typescript-eslint": "8.28.0",
"vitest": "3.0.9",
"webpack": "5.98.0",
"webpack-cli": "6.0.1",
@@ -1818,9 +1818,9 @@
}
},
"node_modules/@eslint/config-helpers": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.1.0.tgz",
- "integrity": "sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.0.tgz",
+ "integrity": "sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -1841,9 +1841,9 @@
}
},
"node_modules/@eslint/eslintrc": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.0.tgz",
- "integrity": "sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
+ "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1902,9 +1902,9 @@
"license": "MIT"
},
"node_modules/@eslint/js": {
- "version": "9.22.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.22.0.tgz",
- "integrity": "sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==",
+ "version": "9.23.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.23.0.tgz",
+ "integrity": "sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5007,9 +5007,9 @@
}
},
"node_modules/@types/leaflet": {
- "version": "1.9.16",
- "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.16.tgz",
- "integrity": "sha512-wzZoyySUxkgMZ0ihJ7IaUIblG8Rdc8AbbZKLneyn+QjYsj5q1QU7TEKYqwTr10BGSzY5LI7tJk9Ifo+mEjdFRw==",
+ "version": "1.9.17",
+ "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.17.tgz",
+ "integrity": "sha512-IJ4K6t7I3Fh5qXbQ1uwL3CFVbCi6haW9+53oLWgdKlLP7EaS21byWFJxxqOx9y8I0AP0actXSJLVMbyvxhkUTA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5112,9 +5112,9 @@
}
},
"node_modules/@types/node": {
- "version": "22.13.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz",
- "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==",
+ "version": "22.13.13",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.13.tgz",
+ "integrity": "sha512-ClsL5nMwKaBRwPcCvH8E7+nU4GxHVx1axNvMZTFHMEfNI7oahimt26P5zjVCRrjiIWj6YFXfE1v3dEp94wLcGQ==",
"license": "MIT",
"dependencies": {
"undici-types": "~6.20.0"
@@ -5142,9 +5142,9 @@
"license": "MIT"
},
"node_modules/@types/react": {
- "version": "18.3.19",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.19.tgz",
- "integrity": "sha512-fcdJqaHOMDbiAwJnXv6XCzX0jDW77yI3tJqYh1Byn8EL5/S628WRx9b/y3DnNe55zTukUQKrfYxiZls2dHcUMw==",
+ "version": "18.3.20",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.20.tgz",
+ "integrity": "sha512-IPaCZN7PShZK/3t6Q87pfTkRm6oLTd4vztyoj+cbHUF1g3FfVb2tFIL79uCRKEfv16AhqDMBywP2VW3KIZUvcg==",
"devOptional": true,
"license": "MIT",
"dependencies": {
@@ -5293,9 +5293,9 @@
}
},
"node_modules/@types/supertest": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.2.tgz",
- "integrity": "sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-6.0.3.tgz",
+ "integrity": "sha512-8WzXq62EXFhJ7QsH3Ocb/iKQ/Ty9ZVWnVzoTKc9tyyFRRF3a74Tk2+TLFgaFFw364Ere+npzHKEJ6ga2LzIL7w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5397,17 +5397,17 @@
}
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.27.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.27.0.tgz",
- "integrity": "sha512-4henw4zkePi5p252c8ncBLzLce52SEUz2Ebj8faDnuUXz2UuHEONYcJ+G0oaCF+bYCWVZtrGzq3FD7YXetmnSA==",
+ "version": "8.28.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.28.0.tgz",
+ "integrity": "sha512-lvFK3TCGAHsItNdWZ/1FkvpzCxTHUVuFrdnOGLMa0GGCFIbCgQWVk3CzCGdA7kM3qGVc+dfW9tr0Z/sHnGDFyg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.27.0",
- "@typescript-eslint/type-utils": "8.27.0",
- "@typescript-eslint/utils": "8.27.0",
- "@typescript-eslint/visitor-keys": "8.27.0",
+ "@typescript-eslint/scope-manager": "8.28.0",
+ "@typescript-eslint/type-utils": "8.28.0",
+ "@typescript-eslint/utils": "8.28.0",
+ "@typescript-eslint/visitor-keys": "8.28.0",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@@ -5427,16 +5427,16 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.27.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.27.0.tgz",
- "integrity": "sha512-XGwIabPallYipmcOk45DpsBSgLC64A0yvdAkrwEzwZ2viqGqRUJ8eEYoPz0CWnutgAFbNMPdsGGvzjSmcWVlEA==",
+ "version": "8.28.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.28.0.tgz",
+ "integrity": "sha512-LPcw1yHD3ToaDEoljFEfQ9j2xShY367h7FZ1sq5NJT9I3yj4LHer1Xd1yRSOdYy9BpsrxU7R+eoDokChYM53lQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/scope-manager": "8.27.0",
- "@typescript-eslint/types": "8.27.0",
- "@typescript-eslint/typescript-estree": "8.27.0",
- "@typescript-eslint/visitor-keys": "8.27.0",
+ "@typescript-eslint/scope-manager": "8.28.0",
+ "@typescript-eslint/types": "8.28.0",
+ "@typescript-eslint/typescript-estree": "8.28.0",
+ "@typescript-eslint/visitor-keys": "8.28.0",
"debug": "^4.3.4"
},
"engines": {
@@ -5452,14 +5452,14 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.27.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.27.0.tgz",
- "integrity": "sha512-8oI9GwPMQmBryaaxG1tOZdxXVeMDte6NyJA4i7/TWa4fBwgnAXYlIQP+uYOeqAaLJ2JRxlG9CAyL+C+YE9Xknw==",
+ "version": "8.28.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.28.0.tgz",
+ "integrity": "sha512-u2oITX3BJwzWCapoZ/pXw6BCOl8rJP4Ij/3wPoGvY8XwvXflOzd1kLrDUUUAIEdJSFh+ASwdTHqtan9xSg8buw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.27.0",
- "@typescript-eslint/visitor-keys": "8.27.0"
+ "@typescript-eslint/types": "8.28.0",
+ "@typescript-eslint/visitor-keys": "8.28.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -5470,14 +5470,14 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.27.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.27.0.tgz",
- "integrity": "sha512-wVArTVcz1oJOIEJxui/nRhV0TXzD/zMSOYi/ggCfNq78EIszddXcJb7r4RCp/oBrjt8n9A0BSxRMKxHftpDxDA==",
+ "version": "8.28.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.28.0.tgz",
+ "integrity": "sha512-oRoXu2v0Rsy/VoOGhtWrOKDiIehvI+YNrDk5Oqj40Mwm0Yt01FC/Q7nFqg088d3yAsR1ZcZFVfPCTTFCe/KPwg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "8.27.0",
- "@typescript-eslint/utils": "8.27.0",
+ "@typescript-eslint/typescript-estree": "8.28.0",
+ "@typescript-eslint/utils": "8.28.0",
"debug": "^4.3.4",
"ts-api-utils": "^2.0.1"
},
@@ -5494,9 +5494,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.27.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.27.0.tgz",
- "integrity": "sha512-/6cp9yL72yUHAYq9g6DsAU+vVfvQmd1a8KyA81uvfDE21O2DwQ/qxlM4AR8TSdAu+kJLBDrEHKC5/W2/nxsY0A==",
+ "version": "8.28.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.28.0.tgz",
+ "integrity": "sha512-bn4WS1bkKEjx7HqiwG2JNB3YJdC1q6Ue7GyGlwPHyt0TnVq6TtD/hiOdTZt71sq0s7UzqBFXD8t8o2e63tXgwA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5508,14 +5508,14 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.27.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.27.0.tgz",
- "integrity": "sha512-BnKq8cqPVoMw71O38a1tEb6iebEgGA80icSxW7g+kndx0o6ot6696HjG7NdgfuAVmVEtwXUr3L8R9ZuVjoQL6A==",
+ "version": "8.28.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.28.0.tgz",
+ "integrity": "sha512-H74nHEeBGeklctAVUvmDkxB1mk+PAZ9FiOMPFncdqeRBXxk1lWSYraHw8V12b7aa6Sg9HOBNbGdSHobBPuQSuA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.27.0",
- "@typescript-eslint/visitor-keys": "8.27.0",
+ "@typescript-eslint/types": "8.28.0",
+ "@typescript-eslint/visitor-keys": "8.28.0",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -5561,16 +5561,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.27.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.27.0.tgz",
- "integrity": "sha512-njkodcwH1yvmo31YWgRHNb/x1Xhhq4/m81PhtvmRngD8iHPehxffz1SNCO+kwaePhATC+kOa/ggmvPoPza5i0Q==",
+ "version": "8.28.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.28.0.tgz",
+ "integrity": "sha512-OELa9hbTYciYITqgurT1u/SzpQVtDLmQMFzy/N8pQE+tefOyCWT79jHsav294aTqV1q1u+VzqDGbuujvRYaeSQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.27.0",
- "@typescript-eslint/types": "8.27.0",
- "@typescript-eslint/typescript-estree": "8.27.0"
+ "@typescript-eslint/scope-manager": "8.28.0",
+ "@typescript-eslint/types": "8.28.0",
+ "@typescript-eslint/typescript-estree": "8.28.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -5585,13 +5585,13 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.27.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.27.0.tgz",
- "integrity": "sha512-WsXQwMkILJvffP6z4U3FYJPlbf/j07HIxmDjZpbNvBJkMfvwXj5ACRkkHwBDvLBbDbtX5TdU64/rcvKJ/vuInQ==",
+ "version": "8.28.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.28.0.tgz",
+ "integrity": "sha512-hbn8SZ8w4u2pRwgQ1GlUrPKE+t2XvcCW5tTRF7j6SMYIuYG37XuzIW44JCZPa36evi0Oy2SnM664BlIaAuQcvg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.27.0",
+ "@typescript-eslint/types": "8.28.0",
"eslint-visitor-keys": "^4.2.0"
},
"engines": {
@@ -10270,19 +10270,19 @@
}
},
"node_modules/eslint": {
- "version": "9.22.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.22.0.tgz",
- "integrity": "sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==",
+ "version": "9.23.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.23.0.tgz",
+ "integrity": "sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.12.1",
"@eslint/config-array": "^0.19.2",
- "@eslint/config-helpers": "^0.1.0",
+ "@eslint/config-helpers": "^0.2.0",
"@eslint/core": "^0.12.0",
- "@eslint/eslintrc": "^3.3.0",
- "@eslint/js": "9.22.0",
+ "@eslint/eslintrc": "^3.3.1",
+ "@eslint/js": "9.23.0",
"@eslint/plugin-kit": "^0.2.7",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
@@ -10331,9 +10331,9 @@
}
},
"node_modules/eslint-linter-browserify": {
- "version": "9.22.0",
- "resolved": "https://registry.npmjs.org/eslint-linter-browserify/-/eslint-linter-browserify-9.22.0.tgz",
- "integrity": "sha512-b70x+ilh1XkugEZZvGJ6LNPE1+jxjsn4KIdj1OBMBGbzYj7l2lr3N/Y4NHKhFxq2a4v/J8WqojIOvy0AFDmrXw==",
+ "version": "9.23.0",
+ "resolved": "https://registry.npmjs.org/eslint-linter-browserify/-/eslint-linter-browserify-9.23.0.tgz",
+ "integrity": "sha512-5dpvA43y3psh58cl5HILg0Fk82KUP30YqCMQw17mt5H3kG16G3YfQgSE+sKV/6U3fT/SBitFrQA9PX0BZ7xUBQ==",
"license": "MIT"
},
"node_modules/eslint-scope": {
@@ -19643,15 +19643,15 @@
}
},
"node_modules/typescript-eslint": {
- "version": "8.27.0",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.27.0.tgz",
- "integrity": "sha512-ZZ/8+Y0rRUMuW1gJaPtLWe4ryHbsPLzzibk5Sq+IFa2aOH1Vo0gPr1fbA6pOnzBke7zC2Da4w8AyCgxKXo3lqA==",
+ "version": "8.28.0",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.28.0.tgz",
+ "integrity": "sha512-jfZtxJoHm59bvoCMYCe2BM0/baMswRhMmYhy+w6VfcyHrjxZ0OJe0tGasydCpIpA+A/WIJhTyZfb3EtwNC/kHQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/eslint-plugin": "8.27.0",
- "@typescript-eslint/parser": "8.27.0",
- "@typescript-eslint/utils": "8.27.0"
+ "@typescript-eslint/eslint-plugin": "8.28.0",
+ "@typescript-eslint/parser": "8.28.0",
+ "@typescript-eslint/utils": "8.28.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
diff --git a/package.json b/package.json
index 590f7f179..ac8dcb562 100644
--- a/package.json
+++ b/package.json
@@ -38,9 +38,9 @@
"electron:switch": "electron-rebuild",
"docs:edit": "cross-env NODE_OPTIONS=\"--import tsx\" TRILIUM_DATA_DIR=./data-docs TRILIUM_ENV=dev TRILIUM_PORT=37741 electron ./electron-docs-main.ts .",
"docs:edit-nix": "electron-rebuild --version 33.3.1 && cross-env NODE_OPTIONS=\"--import tsx\" TRILIUM_DATA_DIR=./data-docs TRILIUM_PORT=37741 TRILIUM_ENV=dev nix-shell -p electron_33 --run \"electron ./electron-docs-main.ts .\"",
- "electron-forge:prepare": "npm run build:prepare-dist && cp -r node_modules ./build",
+ "electron-forge:prepare": "npm run build:prepare-dist",
"electron-forge:start": "npm run electron-forge:prepare && cd ./build && electron-forge start",
- "electron-forge:make": "npm run electron-forge:prepare && cd ./build && electron-forge make",
+ "electron-forge:make": "npm run electron-forge:prepare && cross-env DEBUG=electron-windows-installer:* electron-forge make ./build",
"electron-forge:package": "npm run electron-forge:prepare && cd ./build && electron-forge package",
"docs:build-backend": "rimraf ./docs/backend_api && typedoc ./docs/backend_api src/becca/entities/*.ts src/services/backend_script_api.ts src/services/sql.ts",
"docs:build-frontend": "rimraf ./docs/frontend_api && jsdoc -c jsdoc-conf.json -d ./docs/frontend_api src/public/app/entities/*.js src/public/app/services/frontend_script_api.js src/public/app/widgets/basic_widget.js src/public/app/widgets/note_context_aware_widget.js src/public/app/widgets/right_panel_widget.js",
@@ -99,7 +99,7 @@
"electron-squirrel-startup": "1.0.1",
"electron-window-state": "5.0.3",
"escape-html": "1.0.3",
- "eslint-linter-browserify": "9.22.0",
+ "eslint-linter-browserify": "9.23.0",
"express": "4.21.2",
"express-openid-connect": "^2.17.1",
"express-rate-limit": "7.5.0",
@@ -168,7 +168,7 @@
"@electron-forge/maker-zip": "7.7.0",
"@electron-forge/plugin-auto-unpack-natives": "7.7.0",
"@electron/rebuild": "3.7.1",
- "@eslint/js": "9.22.0",
+ "@eslint/js": "9.23.0",
"@fullcalendar/core": "6.1.15",
"@fullcalendar/daygrid": "6.1.15",
"@fullcalendar/interaction": "6.1.15",
@@ -197,12 +197,12 @@
"@types/jquery": "3.5.32",
"@types/js-yaml": "4.0.9",
"@types/jsdom": "21.1.7",
- "@types/leaflet": "1.9.16",
+ "@types/leaflet": "1.9.17",
"@types/leaflet-gpx": "1.3.7",
"@types/mime-types": "2.1.4",
"@types/multer": "1.4.12",
- "@types/node": "22.13.10",
- "@types/react": "18.3.19",
+ "@types/node": "22.13.13",
+ "@types/react": "18.3.20",
"@types/react-dom": "18.3.5",
"@types/safe-compare": "1.1.2",
"@types/sanitize-html": "2.13.0",
@@ -211,7 +211,7 @@
"@types/session-file-store": "1.2.5",
"@types/source-map-support": "0.5.10",
"@types/stream-throttle": "0.1.4",
- "@types/supertest": "6.0.2",
+ "@types/supertest": "6.0.3",
"@types/swagger-ui-express": "4.1.8",
"@types/tmp": "0.2.6",
"@types/turndown": "5.0.5",
@@ -224,7 +224,7 @@
"cross-env": "7.0.3",
"css-loader": "7.1.2",
"electron": "35.0.3",
- "eslint": "9.22.0",
+ "eslint": "9.23.0",
"esm": "3.2.25",
"globals": "16.0.0",
"happy-dom": "17.4.4",
@@ -251,7 +251,7 @@
"tsx": "4.19.3",
"typedoc": "0.28.1",
"typescript": "5.8.2",
- "typescript-eslint": "8.27.0",
+ "typescript-eslint": "8.28.0",
"vitest": "3.0.9",
"webpack": "5.98.0",
"webpack-cli": "6.0.1",
diff --git a/packages/turndown-plugin-gfm/package-lock.json b/packages/turndown-plugin-gfm/package-lock.json
index c06650f50..840349a44 100644
--- a/packages/turndown-plugin-gfm/package-lock.json
+++ b/packages/turndown-plugin-gfm/package-lock.json
@@ -163,9 +163,9 @@
}
},
"node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.36.0.tgz",
- "integrity": "sha512-jgrXjjcEwN6XpZXL0HUeOVGfjXhPyxAbbhD0BlXUB+abTOpbPiN5Wb3kOT7yb+uEtATNYF5x5gIfwutmuBA26w==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.37.0.tgz",
+ "integrity": "sha512-l7StVw6WAa8l3vA1ov80jyetOAEo1FtHvZDbzXDO/02Sq/QVvqlHkYoFwDJPIMj0GKiistsBudfx5tGFnwYWDQ==",
"cpu": [
"arm"
],
@@ -177,9 +177,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.36.0.tgz",
- "integrity": "sha512-NyfuLvdPdNUfUNeYKUwPwKsE5SXa2J6bCt2LdB/N+AxShnkpiczi3tcLJrm5mA+eqpy0HmaIY9F6XCa32N5yzg==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.37.0.tgz",
+ "integrity": "sha512-6U3SlVyMxezt8Y+/iEBcbp945uZjJwjZimu76xoG7tO1av9VO691z8PkhzQ85ith2I8R2RddEPeSfcbyPfD4hA==",
"cpu": [
"arm64"
],
@@ -191,9 +191,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.36.0.tgz",
- "integrity": "sha512-JQ1Jk5G4bGrD4pWJQzWsD8I1n1mgPXq33+/vP4sk8j/z/C2siRuxZtaUA7yMTf71TCZTZl/4e1bfzwUmFb3+rw==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.37.0.tgz",
+ "integrity": "sha512-+iTQ5YHuGmPt10NTzEyMPbayiNTcOZDWsbxZYR1ZnmLnZxG17ivrPSWFO9j6GalY0+gV3Jtwrrs12DBscxnlYA==",
"cpu": [
"arm64"
],
@@ -205,9 +205,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.36.0.tgz",
- "integrity": "sha512-6c6wMZa1lrtiRsbDziCmjE53YbTkxMYhhnWnSW8R/yqsM7a6mSJ3uAVT0t8Y/DGt7gxUWYuFM4bwWk9XCJrFKA==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.37.0.tgz",
+ "integrity": "sha512-m8W2UbxLDcmRKVjgl5J/k4B8d7qX2EcJve3Sut7YGrQoPtCIQGPH5AMzuFvYRWZi0FVS0zEY4c8uttPfX6bwYQ==",
"cpu": [
"x64"
],
@@ -219,9 +219,9 @@
]
},
"node_modules/@rollup/rollup-freebsd-arm64": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.36.0.tgz",
- "integrity": "sha512-KXVsijKeJXOl8QzXTsA+sHVDsFOmMCdBRgFmBb+mfEb/7geR7+C8ypAml4fquUt14ZyVXaw2o1FWhqAfOvA4sg==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.37.0.tgz",
+ "integrity": "sha512-FOMXGmH15OmtQWEt174v9P1JqqhlgYge/bUjIbiVD1nI1NeJ30HYT9SJlZMqdo1uQFyt9cz748F1BHghWaDnVA==",
"cpu": [
"arm64"
],
@@ -233,9 +233,9 @@
]
},
"node_modules/@rollup/rollup-freebsd-x64": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.36.0.tgz",
- "integrity": "sha512-dVeWq1ebbvByI+ndz4IJcD4a09RJgRYmLccwlQ8bPd4olz3Y213uf1iwvc7ZaxNn2ab7bjc08PrtBgMu6nb4pQ==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.37.0.tgz",
+ "integrity": "sha512-SZMxNttjPKvV14Hjck5t70xS3l63sbVwl98g3FlVVx2YIDmfUIy29jQrsw06ewEYQ8lQSuY9mpAPlmgRD2iSsA==",
"cpu": [
"x64"
],
@@ -247,9 +247,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.36.0.tgz",
- "integrity": "sha512-bvXVU42mOVcF4le6XSjscdXjqx8okv4n5vmwgzcmtvFdifQ5U4dXFYaCB87namDRKlUL9ybVtLQ9ztnawaSzvg==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.37.0.tgz",
+ "integrity": "sha512-hhAALKJPidCwZcj+g+iN+38SIOkhK2a9bqtJR+EtyxrKKSt1ynCBeqrQy31z0oWU6thRZzdx53hVgEbRkuI19w==",
"cpu": [
"arm"
],
@@ -261,9 +261,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.36.0.tgz",
- "integrity": "sha512-JFIQrDJYrxOnyDQGYkqnNBtjDwTgbasdbUiQvcU8JmGDfValfH1lNpng+4FWlhaVIR4KPkeddYjsVVbmJYvDcg==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.37.0.tgz",
+ "integrity": "sha512-jUb/kmn/Gd8epbHKEqkRAxq5c2EwRt0DqhSGWjPFxLeFvldFdHQs/n8lQ9x85oAeVb6bHcS8irhTJX2FCOd8Ag==",
"cpu": [
"arm"
],
@@ -275,9 +275,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.36.0.tgz",
- "integrity": "sha512-KqjYVh3oM1bj//5X7k79PSCZ6CvaVzb7Qs7VMWS+SlWB5M8p3FqufLP9VNp4CazJ0CsPDLwVD9r3vX7Ci4J56A==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.37.0.tgz",
+ "integrity": "sha512-oNrJxcQT9IcbcmKlkF+Yz2tmOxZgG9D9GRq+1OE6XCQwCVwxixYAa38Z8qqPzQvzt1FCfmrHX03E0pWoXm1DqA==",
"cpu": [
"arm64"
],
@@ -289,9 +289,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.36.0.tgz",
- "integrity": "sha512-QiGnhScND+mAAtfHqeT+cB1S9yFnNQ/EwCg5yE3MzoaZZnIV0RV9O5alJAoJKX/sBONVKeZdMfO8QSaWEygMhw==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.37.0.tgz",
+ "integrity": "sha512-pfxLBMls+28Ey2enpX3JvjEjaJMBX5XlPCZNGxj4kdJyHduPBXtxYeb8alo0a7bqOoWZW2uKynhHxF/MWoHaGQ==",
"cpu": [
"arm64"
],
@@ -303,9 +303,9 @@
]
},
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.36.0.tgz",
- "integrity": "sha512-1ZPyEDWF8phd4FQtTzMh8FQwqzvIjLsl6/84gzUxnMNFBtExBtpL51H67mV9xipuxl1AEAerRBgBwFNpkw8+Lg==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.37.0.tgz",
+ "integrity": "sha512-yCE0NnutTC/7IGUq/PUHmoeZbIwq3KRh02e9SfFh7Vmc1Z7atuJRYWhRME5fKgT8aS20mwi1RyChA23qSyRGpA==",
"cpu": [
"loong64"
],
@@ -317,9 +317,9 @@
]
},
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.36.0.tgz",
- "integrity": "sha512-VMPMEIUpPFKpPI9GZMhJrtu8rxnp6mJR3ZzQPykq4xc2GmdHj3Q4cA+7avMyegXy4n1v+Qynr9fR88BmyO74tg==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.37.0.tgz",
+ "integrity": "sha512-NxcICptHk06E2Lh3a4Pu+2PEdZ6ahNHuK7o6Np9zcWkrBMuv21j10SQDJW3C9Yf/A/P7cutWoC/DptNLVsZ0VQ==",
"cpu": [
"ppc64"
],
@@ -331,9 +331,23 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.36.0.tgz",
- "integrity": "sha512-ttE6ayb/kHwNRJGYLpuAvB7SMtOeQnVXEIpMtAvx3kepFQeowVED0n1K9nAdraHUPJ5hydEMxBpIR7o4nrm8uA==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.37.0.tgz",
+ "integrity": "sha512-PpWwHMPCVpFZLTfLq7EWJWvrmEuLdGn1GMYcm5MV7PaRgwCEYJAwiN94uBuZev0/J/hFIIJCsYw4nLmXA9J7Pw==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.37.0.tgz",
+ "integrity": "sha512-DTNwl6a3CfhGTAOYZ4KtYbdS8b+275LSLqJVJIrPa5/JuIufWWZ/QFvkxp52gpmguN95eujrM68ZG+zVxa8zHA==",
"cpu": [
"riscv64"
],
@@ -345,9 +359,9 @@
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.36.0.tgz",
- "integrity": "sha512-4a5gf2jpS0AIe7uBjxDeUMNcFmaRTbNv7NxI5xOCs4lhzsVyGR/0qBXduPnoWf6dGC365saTiwag8hP1imTgag==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.37.0.tgz",
+ "integrity": "sha512-hZDDU5fgWvDdHFuExN1gBOhCuzo/8TMpidfOR+1cPZJflcEzXdCy1LjnklQdW8/Et9sryOPJAKAQRw8Jq7Tg+A==",
"cpu": [
"s390x"
],
@@ -359,9 +373,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.36.0.tgz",
- "integrity": "sha512-5KtoW8UWmwFKQ96aQL3LlRXX16IMwyzMq/jSSVIIyAANiE1doaQsx/KRyhAvpHlPjPiSU/AYX/8m+lQ9VToxFQ==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.37.0.tgz",
+ "integrity": "sha512-pKivGpgJM5g8dwj0ywBwe/HeVAUSuVVJhUTa/URXjxvoyTT/AxsLTAbkHkDHG7qQxLoW2s3apEIl26uUe08LVQ==",
"cpu": [
"x64"
],
@@ -373,9 +387,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.36.0.tgz",
- "integrity": "sha512-sycrYZPrv2ag4OCvaN5js+f01eoZ2U+RmT5as8vhxiFz+kxwlHrsxOwKPSA8WyS+Wc6Epid9QeI/IkQ9NkgYyQ==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.37.0.tgz",
+ "integrity": "sha512-E2lPrLKE8sQbY/2bEkVTGDEk4/49UYRVWgj90MY8yPjpnGBQ+Xi1Qnr7b7UIWw1NOggdFQFOLZ8+5CzCiz143w==",
"cpu": [
"x64"
],
@@ -387,9 +401,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.36.0.tgz",
- "integrity": "sha512-qbqt4N7tokFwwSVlWDsjfoHgviS3n/vZ8LK0h1uLG9TYIRuUTJC88E1xb3LM2iqZ/WTqNQjYrtmtGmrmmawB6A==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.37.0.tgz",
+ "integrity": "sha512-Jm7biMazjNzTU4PrQtr7VS8ibeys9Pn29/1bm4ph7CP2kf21950LgN+BaE2mJ1QujnvOc6p54eWWiVvn05SOBg==",
"cpu": [
"arm64"
],
@@ -401,9 +415,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.36.0.tgz",
- "integrity": "sha512-t+RY0JuRamIocMuQcfwYSOkmdX9dtkr1PbhKW42AMvaDQa+jOdpUYysroTF/nuPpAaQMWp7ye+ndlmmthieJrQ==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.37.0.tgz",
+ "integrity": "sha512-e3/1SFm1OjefWICB2Ucstg2dxYDkDTZGDYgwufcbsxTHyqQps1UQf33dFEChBNmeSsTOyrjw2JJq0zbG5GF6RA==",
"cpu": [
"ia32"
],
@@ -415,9 +429,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.36.0.tgz",
- "integrity": "sha512-aRXd7tRZkWLqGbChgcMMDEHjOKudo1kChb1Jt1IfR8cY/KIpgNviLeJy5FUb9IpSuQj8dU2fAYNMPW/hLKOSTw==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.37.0.tgz",
+ "integrity": "sha512-LWbXUBwn/bcLx2sSsqy7pK5o+Nr+VCoRoAohfJ5C/aBio9nfJmGQqHAhU6pwxV/RmyTk5AqdySma7uwWGlmeuA==",
"cpu": [
"x64"
],
@@ -4944,9 +4958,9 @@
}
},
"node_modules/rollup": {
- "version": "4.36.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.36.0.tgz",
- "integrity": "sha512-zwATAXNQxUcd40zgtQG0ZafcRK4g004WtEl7kbuhTWPvf07PsfohXl39jVUvPF7jvNAIkKPQ2XrsDlWuxBd++Q==",
+ "version": "4.37.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.37.0.tgz",
+ "integrity": "sha512-iAtQy/L4QFU+rTJ1YUjXqJOJzuwEghqWzCEYD2FEghT7Gsy1VdABntrO4CLopA5IkflTyqNiLNwPcOJ3S7UKLg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4960,25 +4974,26 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.36.0",
- "@rollup/rollup-android-arm64": "4.36.0",
- "@rollup/rollup-darwin-arm64": "4.36.0",
- "@rollup/rollup-darwin-x64": "4.36.0",
- "@rollup/rollup-freebsd-arm64": "4.36.0",
- "@rollup/rollup-freebsd-x64": "4.36.0",
- "@rollup/rollup-linux-arm-gnueabihf": "4.36.0",
- "@rollup/rollup-linux-arm-musleabihf": "4.36.0",
- "@rollup/rollup-linux-arm64-gnu": "4.36.0",
- "@rollup/rollup-linux-arm64-musl": "4.36.0",
- "@rollup/rollup-linux-loongarch64-gnu": "4.36.0",
- "@rollup/rollup-linux-powerpc64le-gnu": "4.36.0",
- "@rollup/rollup-linux-riscv64-gnu": "4.36.0",
- "@rollup/rollup-linux-s390x-gnu": "4.36.0",
- "@rollup/rollup-linux-x64-gnu": "4.36.0",
- "@rollup/rollup-linux-x64-musl": "4.36.0",
- "@rollup/rollup-win32-arm64-msvc": "4.36.0",
- "@rollup/rollup-win32-ia32-msvc": "4.36.0",
- "@rollup/rollup-win32-x64-msvc": "4.36.0",
+ "@rollup/rollup-android-arm-eabi": "4.37.0",
+ "@rollup/rollup-android-arm64": "4.37.0",
+ "@rollup/rollup-darwin-arm64": "4.37.0",
+ "@rollup/rollup-darwin-x64": "4.37.0",
+ "@rollup/rollup-freebsd-arm64": "4.37.0",
+ "@rollup/rollup-freebsd-x64": "4.37.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.37.0",
+ "@rollup/rollup-linux-arm-musleabihf": "4.37.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.37.0",
+ "@rollup/rollup-linux-arm64-musl": "4.37.0",
+ "@rollup/rollup-linux-loongarch64-gnu": "4.37.0",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.37.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.37.0",
+ "@rollup/rollup-linux-riscv64-musl": "4.37.0",
+ "@rollup/rollup-linux-s390x-gnu": "4.37.0",
+ "@rollup/rollup-linux-x64-gnu": "4.37.0",
+ "@rollup/rollup-linux-x64-musl": "4.37.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.37.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.37.0",
+ "@rollup/rollup-win32-x64-msvc": "4.37.0",
"fsevents": "~2.3.2"
}
},
diff --git a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Advanced Showcases/Day Notes.html b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Advanced Showcases/Day Notes.html
index 266223fd5..75ee23976 100644
--- a/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Advanced Showcases/Day Notes.html
+++ b/src/public/app/doc_notes/en/User Guide/User Guide/Advanced Usage/Advanced Showcases/Day Notes.html
@@ -76,6 +76,8 @@
the #monthPattern
attribute, much like #datePattern
.
The options are:
{isoMonth}
results in an ISO 8061 formatted month (e.g.
+ "2025-03" for March 2025){monthNumberPadded}
results in a number like 09
for
September, and 11
for November{month}
results in the full month name (e.g. September
or October
)