Merge remote-tracking branch 'origin/develop' into renovate/electron-rebuild-4.x

This commit is contained in:
Elian Doran 2025-05-02 23:40:12 +03:00
commit 0bbfaff84c
No known key found for this signature in database
10 changed files with 238 additions and 415 deletions

View File

@ -25,6 +25,8 @@ jobs:
steps: steps:
- name: Checkout the repository - name: Checkout the repository
uses: actions/checkout@v4 uses: actions/checkout@v4
with:
fetch-depth: 0 # needed for https://github.com/marketplace/actions/nx-set-shas
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v4
- name: Set up node & dependencies - name: Set up node & dependencies

View File

@ -40,7 +40,7 @@
"@types/express": "5.0.1", "@types/express": "5.0.1",
"@types/node": "22.14.1", "@types/node": "22.14.1",
"@types/yargs": "17.0.33", "@types/yargs": "17.0.33",
"@vitest/coverage-v8": "3.1.1", "@vitest/coverage-v8": "3.1.2",
"eslint": "9.24.0", "eslint": "9.24.0",
"eslint-plugin-simple-import-sort": "12.1.1", "eslint-plugin-simple-import-sort": "12.1.1",
"esm": "3.2.25", "esm": "3.2.25",
@ -49,7 +49,7 @@
"rcedit": "4.0.1", "rcedit": "4.0.1",
"rimraf": "6.0.1", "rimraf": "6.0.1",
"tslib": "2.8.1", "tslib": "2.8.1",
"typedoc": "0.28.2", "typedoc": "0.28.3",
"typedoc-plugin-missing-exports": "4.0.0" "typedoc-plugin-missing-exports": "4.0.0"
}, },
"optionalDependencies": { "optionalDependencies": {

View File

@ -1,6 +1,6 @@
{ {
"name": "@triliumnext/client", "name": "@triliumnext/client",
"version": "0.0.1", "version": "0.94.0",
"description": "JQuery-based client for TriliumNext, used for both web and desktop (via Electron)", "description": "JQuery-based client for TriliumNext, used for both web and desktop (via Electron)",
"private": true, "private": true,
"license": "AGPL-3.0-only", "license": "AGPL-3.0-only",
@ -27,10 +27,10 @@
"dayjs-plugin-utc": "0.1.2", "dayjs-plugin-utc": "0.1.2",
"debounce": "2.2.0", "debounce": "2.2.0",
"draggabilly": "3.0.0", "draggabilly": "3.0.0",
"eslint-linter-browserify": "9.25.0", "eslint-linter-browserify": "9.25.1",
"force-graph": "1.49.5", "force-graph": "1.49.5",
"globals": "16.0.0", "globals": "16.0.0",
"i18next": "25.0.0", "i18next": "25.0.2",
"i18next-http-backend": "3.0.2", "i18next-http-backend": "3.0.2",
"jquery": "3.7.1", "jquery": "3.7.1",
"jquery-hotkeys": "0.2.2", "jquery-hotkeys": "0.2.2",
@ -38,11 +38,11 @@
"jsplumb": "2.15.6", "jsplumb": "2.15.6",
"knockout": "3.5.1", "knockout": "3.5.1",
"leaflet": "1.9.4", "leaflet": "1.9.4",
"leaflet-gpx": "2.1.2", "leaflet-gpx": "2.2.0",
"mark.js": "8.11.1", "mark.js": "8.11.1",
"marked": "15.0.8", "marked": "15.0.11",
"mermaid": "11.6.0", "mermaid": "11.6.0",
"mind-elixir": "4.5.1", "mind-elixir": "4.5.2",
"panzoom": "9.4.3", "panzoom": "9.4.3",
"react": "18.3.1", "react": "18.3.1",
"react-dom": "18.3.1", "react-dom": "18.3.1",
@ -57,10 +57,10 @@
"@types/leaflet-gpx": "1.3.7", "@types/leaflet-gpx": "1.3.7",
"@types/react": "18.3.20", "@types/react": "18.3.20",
"@types/react-dom": "18.3.6", "@types/react-dom": "18.3.6",
"happy-dom": "17.4.4", "happy-dom": "17.4.6",
"script-loader": "0.7.2" "script-loader": "0.7.2"
}, },
"nx": { "nx": {
"name": "client" "name": "client"
} }
} }

View File

@ -1,9 +1,9 @@
{ {
"name": "@triliumnext/server", "name": "@triliumnext/server",
"version": "0.0.1", "version": "0.94.0",
"description": "Desktop client for TriliumNext, embedding both the client and the server.", "description": "Desktop client for TriliumNext, embedding both the client and the server.",
"private": true, "private": true,
"dependencies": { "dependencies": {
"better-sqlite3": "11.9.1", "better-sqlite3": "11.9.1",
"jquery.fancytree": "2.38.5", "jquery.fancytree": "2.38.5",
"jquery-hotkeys": "0.2.2", "jquery-hotkeys": "0.2.2",
@ -11,7 +11,7 @@
}, },
"devDependencies": { "devDependencies": {
"@electron/remote": "2.1.2", "@electron/remote": "2.1.2",
"@excalidraw/excalidraw": "0.18.0", "@excalidraw/excalidraw": "0.18.0",
"@types/archiver": "6.0.3", "@types/archiver": "6.0.3",
"@types/better-sqlite3": "7.6.13", "@types/better-sqlite3": "7.6.13",
"@types/cheerio": "0.22.35", "@types/cheerio": "0.22.35",
@ -47,7 +47,7 @@
"boxicons": "2.1.4", "boxicons": "2.1.4",
"codemirror": "5.65.19", "codemirror": "5.65.19",
"express-http-proxy": "2.1.1", "express-http-proxy": "2.1.1",
"jquery": "3.7.1", "jquery": "3.7.1",
"katex": "0.16.22", "katex": "0.16.22",
"normalize.css": "8.0.1", "normalize.css": "8.0.1",
"@anthropic-ai/sdk": "0.39.0", "@anthropic-ai/sdk": "0.39.0",
@ -57,7 +57,7 @@
"@triliumnext/turndown-plugin-gfm": "workspace:*", "@triliumnext/turndown-plugin-gfm": "workspace:*",
"archiver": "7.0.1", "archiver": "7.0.1",
"async-mutex": "0.5.0", "async-mutex": "0.5.0",
"axios": "1.8.4", "axios": "1.9.0",
"bindings": "1.5.0", "bindings": "1.5.0",
"chardet": "2.1.0", "chardet": "2.1.0",
"cheerio": "1.0.0", "cheerio": "1.0.0",
@ -65,7 +65,7 @@
"cls-hooked": "4.2.2", "cls-hooked": "4.2.2",
"compression": "1.8.0", "compression": "1.8.0",
"cookie-parser": "1.4.7", "cookie-parser": "1.4.7",
"csrf-csrf": "3.1.0", "csrf-csrf": "3.2.2",
"dayjs": "1.11.13", "dayjs": "1.11.13",
"debounce": "2.2.0", "debounce": "2.2.0",
"debug": "4.4.0", "debug": "4.4.0",
@ -85,16 +85,16 @@
"html2plaintext": "2.1.4", "html2plaintext": "2.1.4",
"http-proxy-agent": "7.0.2", "http-proxy-agent": "7.0.2",
"https-proxy-agent": "7.0.6", "https-proxy-agent": "7.0.6",
"i18next": "25.0.0", "i18next": "25.0.2",
"i18next-fs-backend": "2.6.0", "i18next-fs-backend": "2.6.0",
"image-type": "5.2.0", "image-type": "5.2.0",
"ini": "5.0.0", "ini": "5.0.0",
"is-animated": "2.0.2", "is-animated": "2.0.2",
"is-svg": "5.1.0", "is-svg": "6.0.0",
"jimp": "1.6.0", "jimp": "1.6.0",
"js-yaml": "4.1.0", "js-yaml": "4.1.0",
"jsdom": "26.1.0", "jsdom": "26.1.0",
"marked": "15.0.8", "marked": "15.0.11",
"mime-types": "3.0.1", "mime-types": "3.0.1",
"multer": "1.4.5-lts.2", "multer": "1.4.5-lts.2",
"normalize-strings": "1.1.1", "normalize-strings": "1.1.1",
@ -117,7 +117,7 @@
"tmp": "0.2.3", "tmp": "0.2.3",
"turndown": "7.2.0", "turndown": "7.2.0",
"unescape": "1.0.1", "unescape": "1.0.1",
"webpack": "5.99.6", "webpack": "5.99.7",
"ws": "8.18.1", "ws": "8.18.1",
"xml2js": "0.6.2", "xml2js": "0.6.2",
"yauzl": "3.2.0", "yauzl": "3.2.0",
@ -149,11 +149,15 @@
} }
}, },
"package": { "package": {
"dependsOn": [ "build" ], "dependsOn": [
"build"
],
"command": "bash apps/server/scripts/build-server.sh" "command": "bash apps/server/scripts/build-server.sh"
}, },
"start-prod": { "start-prod": {
"dependsOn": [ "build" ], "dependsOn": [
"build"
],
"command": "node apps/server/dist/main.js" "command": "node apps/server/dist/main.js"
}, },
"docker-build": { "docker-build": {
@ -191,4 +195,4 @@
} }
} }
} }
} }

View File

@ -30,4 +30,7 @@
## 🛠️ Technical updates ## 🛠️ Technical updates
* \[…\] * The application has been completely restructured to a `pnpm` mono-repo using NX.
* This is only the beginning, where we have properly split the client, server and desktop apps. We'll integrate more and more repos as time goes by, especially the ckeditor.
* For documentation please consult [Notes/docs/Developer Guide/Developer Guide/Environment Setup.md at develop · TriliumNext/Notes](https://github.com/TriliumNext/Notes/blob/develop/docs/Developer%20Guide/Developer%20Guide/Environment%20Setup.md) and [Notes/docs/Developer Guide/Developer Guide/Project Structure.md at develop · TriliumNext/Notes](https://github.com/TriliumNext/Notes/blob/develop/docs/Developer%20Guide/Developer%20Guide/Project%20Structure.md).
* A large number of [dependency updates](https://github.com/TriliumNext/Notes/milestone/13).

View File

@ -1,6 +1,6 @@
{ {
"$schema": "./node_modules/nx/schemas/nx-schema.json", "$schema": "./node_modules/nx/schemas/nx-schema.json",
"defaultBase": "origin/develop", "defaultBase": "develop",
"namedInputs": { "namedInputs": {
"default": [ "default": [
"{projectRoot}/**/*", "{projectRoot}/**/*",

View File

@ -1,6 +1,6 @@
{ {
"name": "@triliumnext/source", "name": "@triliumnext/source",
"version": "0.0.0", "version": "0.94.0",
"description": "Build your personal knowledge base with TriliumNext Notes", "description": "Build your personal knowledge base with TriliumNext Notes",
"directories": { "directories": {
"doc": "docs" "doc": "docs"
@ -13,6 +13,7 @@
"electron:build": "nx build desktop", "electron:build": "nx build desktop",
"chore:ci-update-nightly-version": "tsx ./scripts/update-nightly-version.ts", "chore:ci-update-nightly-version": "tsx ./scripts/update-nightly-version.ts",
"chore:update-build-info": "tsx ./scripts/update-build-info.ts", "chore:update-build-info": "tsx ./scripts/update-build-info.ts",
"chore:update-version": "tsx ./scripts/update-version.ts",
"test": "pnpm nx run-many -t test" "test": "pnpm nx run-many -t test"
}, },
"private": true, "private": true,
@ -42,7 +43,7 @@
"@vitest/coverage-v8": "^3.0.5", "@vitest/coverage-v8": "^3.0.5",
"@vitest/ui": "^3.0.0", "@vitest/ui": "^3.0.0",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"esbuild": "^0.19.2", "esbuild": "^0.25.0",
"eslint": "^9.8.0", "eslint": "^9.8.0",
"eslint-config-prettier": "^10.0.0", "eslint-config-prettier": "^10.0.0",
"eslint-plugin-playwright": "^1.6.2", "eslint-plugin-playwright": "^1.6.2",
@ -53,7 +54,7 @@
"react-refresh": "^0.10.0", "react-refresh": "^0.10.0",
"swc-loader": "0.1.15", "swc-loader": "0.1.15",
"tslib": "^2.3.0", "tslib": "^2.3.0",
"tsx": "4.19.3", "tsx": "4.19.4",
"typescript": "~5.7.2", "typescript": "~5.7.2",
"typescript-eslint": "^8.19.0", "typescript-eslint": "^8.19.0",
"vite": "^6.0.0", "vite": "^6.0.0",

View File

@ -1,6 +1,6 @@
{ {
"name": "@triliumnext/commons", "name": "@triliumnext/commons",
"version": "0.0.1", "version": "0.94.0",
"description": "Shared library between the clients (e.g. browser, Electron) and the server, mostly for type definitions and utility methods.", "description": "Shared library between the clients (e.g. browser, Electron) and the server, mostly for type definitions and utility methods.",
"private": true, "private": true,
"type": "module", "type": "module",
@ -44,4 +44,4 @@
"dependencies": { "dependencies": {
"@swc/helpers": "~0.5.11" "@swc/helpers": "~0.5.11"
} }
} }

543
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

40
scripts/update-version.ts Normal file
View File

@ -0,0 +1,40 @@
/**
* @module
*
* This script synchronizes the `package.json` version of the monorepo (root `package.json`)
* into the apps, so that it is properly displayed.
*/
import { fileURLToPath } from "url";
import { dirname, join } from "path";
import fs from "fs";
function patchPackageJson(packageJsonPath: string, version: string) {
// Read the version from package.json and process it.
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
// Write the adjusted version back in.
packageJson.version = version;
const formattedJson = JSON.stringify(packageJson, null, 2);
fs.writeFileSync(packageJsonPath, formattedJson);
}
function getVersion(packageJsonPath: string) {
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
return packageJson.version;
}
function main() {
const scriptDir = dirname(fileURLToPath(import.meta.url));
const version = getVersion(join(scriptDir, "..", "package.json"));
for (const appName of ["server", "client"]) {
patchPackageJson(join(scriptDir, "..", "apps", appName, "package.json"), version);
}
for (const packageName of ["commons"]) {
patchPackageJson(join(scriptDir, "..", "packages", packageName, "package.json"), version);
}
}
main();