From b07628abda3a9b12b970b76f0fb2e191e1abe0aa Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 8 Nov 2023 21:21:01 +0200 Subject: [PATCH 01/82] Remove electron-builder dependency The `electron-builder` dependency was introduced a while ago in #289, but finally removed bcbbf4dc3eb9f75b561cb3af99e200bc709c5388 so there should be no reason to keep it around. --- package-lock.json | 1497 +-------------------------------------------- package.json | 1 - 2 files changed, 6 insertions(+), 1492 deletions(-) diff --git a/package-lock.json b/package-lock.json index da26f6fcb..02e28617c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "trilium", - "version": "0.61.13", + "version": "0.62.0-beta", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "trilium", - "version": "0.61.13", + "version": "0.62.0-beta", "hasInstallScript": true, "license": "AGPL-3.0-only", "dependencies": { @@ -81,7 +81,6 @@ "devDependencies": { "cross-env": "7.0.3", "electron": "25.9.3", - "electron-builder": "24.6.4", "electron-packager": "17.1.2", "electron-rebuild": "3.2.9", "eslint": "8.53.0", @@ -133,23 +132,6 @@ "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==" }, - "node_modules/@develar/schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", - "dev": true, - "dependencies": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz", @@ -1051,57 +1033,6 @@ "url": "https://github.com/malept/cross-spawn-promise?sponsor=1" } }, - "node_modules/@malept/flatpak-bundler": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz", - "integrity": "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "fs-extra": "^9.0.0", - "lodash": "^4.17.15", - "tmp-promise": "^3.0.2" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@malept/flatpak-bundler/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/@malept/flatpak-bundler/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/@malept/flatpak-bundler/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/@mapbox/node-pre-gyp": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz", @@ -1346,15 +1277,6 @@ "@types/responselike": "*" } }, - "node_modules/@types/debug": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.9.tgz", - "integrity": "sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow==", - "dev": true, - "dependencies": { - "@types/ms": "*" - } - }, "node_modules/@types/eslint": { "version": "8.4.1", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", @@ -1385,7 +1307,7 @@ "version": "9.0.13", "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", - "devOptional": true, + "optional": true, "dependencies": { "@types/node": "*" } @@ -1453,28 +1375,11 @@ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", "optional": true }, - "node_modules/@types/ms": { - "version": "0.7.32", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.32.tgz", - "integrity": "sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g==", - "dev": true - }, "node_modules/@types/node": { "version": "18.16.18", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.18.tgz", "integrity": "sha512-/aNaQZD0+iSBAGnvvN2Cx92HqE5sZCPZtx2TsK+4nvV23fFe09jVDvpArXr2j9DnYlzuU9WuoykDDc6wqvpNcw==" }, - "node_modules/@types/plist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/plist/-/plist-3.0.3.tgz", - "integrity": "sha512-DXkBoKc7jwUR0p439icInmXXMJNhoImdpOrrgA5/nDFK7LVtcJ9MyQNKhJEKpEztnHGWnNWMWLOIR62By0Ln0A==", - "dev": true, - "optional": true, - "dependencies": { - "@types/node": "*", - "xmlbuilder": ">=11.0.1" - } - }, "node_modules/@types/responselike": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", @@ -1483,13 +1388,6 @@ "@types/node": "*" } }, - "node_modules/@types/verror": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.7.tgz", - "integrity": "sha512-4c5F4T0qMSoXq1KHx7WV1FMuD2h0xdaFoJ7HSVWUfQ8w5YbqCwLOA8K7/yy1I+Txuzvm417dnPUaLmqazX1F7g==", - "dev": true, - "optional": true - }, "node_modules/@types/yauzl": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", @@ -1707,12 +1605,6 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, - "node_modules/7zip-bin": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz", - "integrity": "sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==", - "dev": true - }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -1894,162 +1786,6 @@ "node": ">= 8" } }, - "node_modules/app-builder-bin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-4.0.0.tgz", - "integrity": "sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==", - "dev": true - }, - "node_modules/app-builder-lib": { - "version": "24.6.4", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-24.6.4.tgz", - "integrity": "sha512-m9931WXb83teb32N0rKg+ulbn6+Hl8NV5SUpVDOVz9MWOXfhV6AQtTdftf51zJJvCQnQugGtSqoLvgw6mdF/Rg==", - "dev": true, - "dependencies": { - "@develar/schema-utils": "~2.6.5", - "@electron/notarize": "2.1.0", - "@electron/osx-sign": "1.0.5", - "@electron/universal": "1.4.1", - "@malept/flatpak-bundler": "^0.4.0", - "@types/fs-extra": "9.0.13", - "7zip-bin": "~5.1.1", - "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.9", - "builder-util": "24.5.0", - "builder-util-runtime": "9.2.1", - "chromium-pickle-js": "^0.2.0", - "debug": "^4.3.4", - "ejs": "^3.1.8", - "electron-publish": "24.5.0", - "form-data": "^4.0.0", - "fs-extra": "^10.1.0", - "hosted-git-info": "^4.1.0", - "is-ci": "^3.0.0", - "isbinaryfile": "^5.0.0", - "js-yaml": "^4.1.0", - "lazy-val": "^1.0.5", - "minimatch": "^5.1.1", - "read-config-file": "6.3.2", - "sanitize-filename": "^1.6.3", - "semver": "^7.3.8", - "tar": "^6.1.12", - "temp-file": "^3.4.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/app-builder-lib/node_modules/@electron/notarize": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.1.0.tgz", - "integrity": "sha512-Q02xem1D0sg4v437xHgmBLxI2iz/fc0D4K7fiVWHa/AnW8o7D751xyKNXgziA6HrTOme9ul1JfWN5ark8WH1xA==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "fs-extra": "^9.0.1", - "promise-retry": "^2.0.1" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/app-builder-lib/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/app-builder-lib/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/app-builder-lib/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/app-builder-lib/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/app-builder-lib/node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/app-builder-lib/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/app-builder-lib/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/app-builder-lib/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/append-field": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", @@ -2382,30 +2118,11 @@ "node": ">=0.8" } }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "optional": true, - "engines": { - "node": ">=8" - } - }, "node_modules/async": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, - "node_modules/async-exit-hook": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", - "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/async-hook-jl": { "version": "1.7.6", "resolved": "https://registry.npmjs.org/async-hook-jl/-/async-hook-jl-1.7.6.tgz", @@ -2602,15 +2319,6 @@ "integrity": "sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==", "dev": true }, - "node_modules/bluebird-lst": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", - "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", - "dev": true, - "dependencies": { - "bluebird": "^3.5.5" - } - }, "node_modules/bmp-js": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", @@ -2786,105 +2494,6 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, - "node_modules/builder-util": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-24.5.0.tgz", - "integrity": "sha512-STnBmZN/M5vGcv01u/K8l+H+kplTaq4PAIn3yeuufUKSpcdro0DhJWxPI81k5XcNfC//bjM3+n9nr8F9uV4uAQ==", - "dev": true, - "dependencies": { - "@types/debug": "^4.1.6", - "7zip-bin": "~5.1.1", - "app-builder-bin": "4.0.0", - "bluebird-lst": "^1.0.9", - "builder-util-runtime": "9.2.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "debug": "^4.3.4", - "fs-extra": "^10.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-ci": "^3.0.0", - "js-yaml": "^4.1.0", - "source-map-support": "^0.5.19", - "stat-mode": "^1.0.0", - "temp-file": "^3.4.0" - } - }, - "node_modules/builder-util-runtime": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.2.1.tgz", - "integrity": "sha512-2rLv/uQD2x+dJ0J3xtsmI12AlRyk7p45TEbE/6o/fbb633e/S3pPgm+ct+JHsoY7r39dKHnGEFk/AASRFdnXmA==", - "dev": true, - "dependencies": { - "debug": "^4.3.4", - "sax": "^1.2.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/builder-util/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/builder-util/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/builder-util/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/builder-util/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/builder-util/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/bundle-name": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", @@ -3299,21 +2908,6 @@ "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=", "devOptional": true }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -3347,23 +2941,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "optional": true, - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -3609,16 +3186,6 @@ "typedarray": "^0.0.6" } }, - "node_modules/config-file-ts": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/config-file-ts/-/config-file-ts-0.2.4.tgz", - "integrity": "sha512-cKSW0BfrSaAUnxpgvpXPLaaW/umg4bqg4k3GO1JqlRfpx+d5W0GDXznCMkWotJQek5Mmz1MJVChQnz3IVaeMZQ==", - "dev": true, - "dependencies": { - "glob": "^7.1.6", - "typescript": "^4.0.2" - } - }, "node_modules/confusing-browser-globals": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", @@ -3707,16 +3274,6 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "node_modules/crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "dev": true, - "optional": true, - "dependencies": { - "buffer": "^5.1.0" - } - }, "node_modules/crc-32": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", @@ -4154,84 +3711,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/dmg-builder": { - "version": "24.6.4", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-24.6.4.tgz", - "integrity": "sha512-BNcHRc9CWEuI9qt0E655bUBU/j/3wUCYBVKGu1kVpbN5lcUdEJJJeiO0NHK3dgKmra6LUUZlo+mWqc+OCbi0zw==", - "dev": true, - "dependencies": { - "app-builder-lib": "24.6.4", - "builder-util": "24.5.0", - "builder-util-runtime": "9.2.1", - "fs-extra": "^10.1.0", - "iconv-lite": "^0.6.2", - "js-yaml": "^4.1.0" - }, - "optionalDependencies": { - "dmg-license": "^1.0.11" - } - }, - "node_modules/dmg-builder/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/dmg-builder/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/dmg-builder/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/dmg-license": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.11.tgz", - "integrity": "sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "@types/plist": "^3.0.1", - "@types/verror": "^1.10.3", - "ajv": "^6.10.0", - "crc": "^3.8.0", - "iconv-corefoundation": "^1.1.7", - "plist": "^3.0.4", - "smart-buffer": "^4.0.2", - "verror": "^1.10.0" - }, - "bin": { - "dmg-license": "bin/dmg-license.js" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -4316,21 +3795,6 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/dotenv": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", - "integrity": "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true - }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -4381,67 +3845,6 @@ "node": ">= 12.20.55" } }, - "node_modules/electron-builder": { - "version": "24.6.4", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-24.6.4.tgz", - "integrity": "sha512-uNWQoU7pE7qOaIQ6CJHpBi44RJFVG8OHRBIadUxrsDJVwLLo8Nma3K/EEtx5/UyWAQYdcK4nVPYKoRqBb20hbA==", - "dev": true, - "dependencies": { - "app-builder-lib": "24.6.4", - "builder-util": "24.5.0", - "builder-util-runtime": "9.2.1", - "chalk": "^4.1.2", - "dmg-builder": "24.6.4", - "fs-extra": "^10.1.0", - "is-ci": "^3.0.0", - "lazy-val": "^1.0.5", - "read-config-file": "6.3.2", - "simple-update-notifier": "2.0.0", - "yargs": "^17.6.2" - }, - "bin": { - "electron-builder": "cli.js", - "install-app-deps": "install-app-deps.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/electron-builder/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/electron-builder/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-builder/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-debug": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/electron-debug/-/electron-debug-3.2.0.tgz", @@ -4714,68 +4117,6 @@ "node": ">= 10.0.0" } }, - "node_modules/electron-publish": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-24.5.0.tgz", - "integrity": "sha512-zwo70suH15L15B4ZWNDoEg27HIYoPsGJUF7xevLJLSI7JUPC8l2yLBdLGwqueJ5XkDL7ucYyRZzxJVR8ElV9BA==", - "dev": true, - "dependencies": { - "@types/fs-extra": "^9.0.11", - "builder-util": "24.5.0", - "builder-util-runtime": "9.2.1", - "chalk": "^4.1.2", - "fs-extra": "^10.1.0", - "lazy-val": "^1.0.5", - "mime": "^2.5.2" - } - }, - "node_modules/electron-publish/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/electron-publish/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-publish/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/electron-publish/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-rebuild": { "version": "3.2.9", "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-3.2.9.tgz", @@ -7142,23 +6483,6 @@ "url": "https://github.com/sponsors/typicode" } }, - "node_modules/iconv-corefoundation": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", - "integrity": "sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "cli-truncate": "^2.1.0", - "node-addon-api": "^1.6.3" - }, - "engines": { - "node": "^8.11.2 || >=10" - } - }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -7435,18 +6759,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "dev": true, - "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, "node_modules/is-core-module": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", @@ -7785,18 +7097,6 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "node_modules/isbinaryfile": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.0.tgz", - "integrity": "sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==", - "dev": true, - "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -8227,18 +7527,6 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/jsonc-eslint-parser": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz", @@ -8335,12 +7623,6 @@ "node": ">6" } }, - "node_modules/lazy-val": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", - "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==", - "dev": true - }, "node_modules/lazystream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", @@ -9420,13 +8702,6 @@ "node": ">=10" } }, - "node_modules/node-addon-api": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", - "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", - "dev": true, - "optional": true - }, "node_modules/node-api-version": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/node-api-version/-/node-api-version-0.1.4.tgz", @@ -10740,23 +10015,6 @@ "react": "^18.2.0" } }, - "node_modules/read-config-file": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-6.3.2.tgz", - "integrity": "sha512-M80lpCjnE6Wt6zb98DoW8WHR09nzMSpu8XHtPkiTHrJ5Az9CybfeQhTJ8D7saeBHpGhLPIVyA8lcL6ZmdKwY6Q==", - "dev": true, - "dependencies": { - "config-file-ts": "^0.2.4", - "dotenv": "^9.0.2", - "dotenv-expand": "^5.1.0", - "js-yaml": "^4.1.0", - "json5": "^2.2.0", - "lazy-val": "^1.0.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", @@ -11801,21 +11059,6 @@ "node": ">=10" } }, - "node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "optional": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -11982,15 +11225,6 @@ "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz", "integrity": "sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU=" }, - "node_modules/stat-mode": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", - "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -12365,51 +11599,6 @@ "node": ">=10" } }, - "node_modules/temp-file": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", - "integrity": "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==", - "dev": true, - "dependencies": { - "async-exit-hook": "^2.0.1", - "fs-extra": "^10.0.0" - } - }, - "node_modules/temp-file/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/temp-file/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/temp-file/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/terser": { "version": "5.17.6", "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.6.tgz", @@ -12517,7 +11706,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", - "devOptional": true, + "optional": true, "dependencies": { "tmp": "^0.2.0" } @@ -12834,19 +12023,6 @@ "is-typedarray": "^1.0.0" } }, - "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, "node_modules/uc.micro": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", @@ -13657,16 +12833,6 @@ "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==" }, - "@develar/schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", - "dev": true, - "requires": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" - } - }, "@discoveryjs/json-ext": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz", @@ -14337,48 +13503,6 @@ "cross-spawn": "^7.0.1" } }, - "@malept/flatpak-bundler": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz", - "integrity": "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "fs-extra": "^9.0.0", - "lodash": "^4.17.15", - "tmp-promise": "^3.0.2" - }, - "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 - } - } - }, "@mapbox/node-pre-gyp": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz", @@ -14557,15 +13681,6 @@ "@types/responselike": "*" } }, - "@types/debug": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.9.tgz", - "integrity": "sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow==", - "dev": true, - "requires": { - "@types/ms": "*" - } - }, "@types/eslint": { "version": "8.4.1", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", @@ -14596,7 +13711,7 @@ "version": "9.0.13", "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", - "devOptional": true, + "optional": true, "requires": { "@types/node": "*" } @@ -14664,28 +13779,11 @@ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", "optional": true }, - "@types/ms": { - "version": "0.7.32", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.32.tgz", - "integrity": "sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g==", - "dev": true - }, "@types/node": { "version": "18.16.18", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.18.tgz", "integrity": "sha512-/aNaQZD0+iSBAGnvvN2Cx92HqE5sZCPZtx2TsK+4nvV23fFe09jVDvpArXr2j9DnYlzuU9WuoykDDc6wqvpNcw==" }, - "@types/plist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/plist/-/plist-3.0.3.tgz", - "integrity": "sha512-DXkBoKc7jwUR0p439icInmXXMJNhoImdpOrrgA5/nDFK7LVtcJ9MyQNKhJEKpEztnHGWnNWMWLOIR62By0Ln0A==", - "dev": true, - "optional": true, - "requires": { - "@types/node": "*", - "xmlbuilder": ">=11.0.1" - } - }, "@types/responselike": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", @@ -14694,13 +13792,6 @@ "@types/node": "*" } }, - "@types/verror": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/@types/verror/-/verror-1.10.7.tgz", - "integrity": "sha512-4c5F4T0qMSoXq1KHx7WV1FMuD2h0xdaFoJ7HSVWUfQ8w5YbqCwLOA8K7/yy1I+Txuzvm417dnPUaLmqazX1F7g==", - "dev": true, - "optional": true - }, "@types/yauzl": { "version": "2.9.2", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", @@ -14895,12 +13986,6 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, - "7zip-bin": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.1.1.tgz", - "integrity": "sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==", - "dev": true - }, "abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -15032,140 +14117,6 @@ "picomatch": "^2.0.4" } }, - "app-builder-bin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-4.0.0.tgz", - "integrity": "sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==", - "dev": true - }, - "app-builder-lib": { - "version": "24.6.4", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-24.6.4.tgz", - "integrity": "sha512-m9931WXb83teb32N0rKg+ulbn6+Hl8NV5SUpVDOVz9MWOXfhV6AQtTdftf51zJJvCQnQugGtSqoLvgw6mdF/Rg==", - "dev": true, - "requires": { - "@develar/schema-utils": "~2.6.5", - "@electron/notarize": "2.1.0", - "@electron/osx-sign": "1.0.5", - "@electron/universal": "1.4.1", - "@malept/flatpak-bundler": "^0.4.0", - "@types/fs-extra": "9.0.13", - "7zip-bin": "~5.1.1", - "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.9", - "builder-util": "24.5.0", - "builder-util-runtime": "9.2.1", - "chromium-pickle-js": "^0.2.0", - "debug": "^4.3.4", - "ejs": "^3.1.8", - "electron-publish": "24.5.0", - "form-data": "^4.0.0", - "fs-extra": "^10.1.0", - "hosted-git-info": "^4.1.0", - "is-ci": "^3.0.0", - "isbinaryfile": "^5.0.0", - "js-yaml": "^4.1.0", - "lazy-val": "^1.0.5", - "minimatch": "^5.1.1", - "read-config-file": "6.3.2", - "sanitize-filename": "^1.6.3", - "semver": "^7.3.8", - "tar": "^6.1.12", - "temp-file": "^3.4.0" - }, - "dependencies": { - "@electron/notarize": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.1.0.tgz", - "integrity": "sha512-Q02xem1D0sg4v437xHgmBLxI2iz/fc0D4K7fiVWHa/AnW8o7D751xyKNXgziA6HrTOme9ul1JfWN5ark8WH1xA==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "fs-extra": "^9.0.1", - "promise-retry": "^2.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" - } - } - } - }, - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "requires": { - "lru-cache": "^6.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" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, "append-field": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", @@ -15430,24 +14381,11 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, - "astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "optional": true - }, "async": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, - "async-exit-hook": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", - "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", - "dev": true - }, "async-hook-jl": { "version": "1.7.6", "resolved": "https://registry.npmjs.org/async-hook-jl/-/async-hook-jl-1.7.6.tgz", @@ -15603,15 +14541,6 @@ "integrity": "sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==", "dev": true }, - "bluebird-lst": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", - "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", - "dev": true, - "requires": { - "bluebird": "^3.5.5" - } - }, "bmp-js": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", @@ -15757,90 +14686,6 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, - "builder-util": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-24.5.0.tgz", - "integrity": "sha512-STnBmZN/M5vGcv01u/K8l+H+kplTaq4PAIn3yeuufUKSpcdro0DhJWxPI81k5XcNfC//bjM3+n9nr8F9uV4uAQ==", - "dev": true, - "requires": { - "@types/debug": "^4.1.6", - "7zip-bin": "~5.1.1", - "app-builder-bin": "4.0.0", - "bluebird-lst": "^1.0.9", - "builder-util-runtime": "9.2.1", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "debug": "^4.3.4", - "fs-extra": "^10.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-ci": "^3.0.0", - "js-yaml": "^4.1.0", - "source-map-support": "^0.5.19", - "stat-mode": "^1.0.0", - "temp-file": "^3.4.0" - }, - "dependencies": { - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "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 - } - } - }, - "builder-util-runtime": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.2.1.tgz", - "integrity": "sha512-2rLv/uQD2x+dJ0J3xtsmI12AlRyk7p45TEbE/6o/fbb633e/S3pPgm+ct+JHsoY7r39dKHnGEFk/AASRFdnXmA==", - "dev": true, - "requires": { - "debug": "^4.3.4", - "sax": "^1.2.4" - } - }, "bundle-name": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", @@ -16149,12 +14994,6 @@ "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=", "devOptional": true }, - "ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true - }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -16176,17 +15015,6 @@ "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", "dev": true }, - "cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "optional": true, - "requires": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - } - }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -16385,16 +15213,6 @@ "typedarray": "^0.0.6" } }, - "config-file-ts": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/config-file-ts/-/config-file-ts-0.2.4.tgz", - "integrity": "sha512-cKSW0BfrSaAUnxpgvpXPLaaW/umg4bqg4k3GO1JqlRfpx+d5W0GDXznCMkWotJQek5Mmz1MJVChQnz3IVaeMZQ==", - "dev": true, - "requires": { - "glob": "^7.1.6", - "typescript": "^4.0.2" - } - }, "confusing-browser-globals": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", @@ -16458,16 +15276,6 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "dev": true, - "optional": true, - "requires": { - "buffer": "^5.1.0" - } - }, "crc-32": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", @@ -16779,67 +15587,6 @@ } } }, - "dmg-builder": { - "version": "24.6.4", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-24.6.4.tgz", - "integrity": "sha512-BNcHRc9CWEuI9qt0E655bUBU/j/3wUCYBVKGu1kVpbN5lcUdEJJJeiO0NHK3dgKmra6LUUZlo+mWqc+OCbi0zw==", - "dev": true, - "requires": { - "app-builder-lib": "24.6.4", - "builder-util": "24.5.0", - "builder-util-runtime": "9.2.1", - "dmg-license": "^1.0.11", - "fs-extra": "^10.1.0", - "iconv-lite": "^0.6.2", - "js-yaml": "^4.1.0" - }, - "dependencies": { - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "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 - } - } - }, - "dmg-license": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/dmg-license/-/dmg-license-1.0.11.tgz", - "integrity": "sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==", - "dev": true, - "optional": true, - "requires": { - "@types/plist": "^3.0.1", - "@types/verror": "^1.10.3", - "ajv": "^6.10.0", - "crc": "^3.8.0", - "iconv-corefoundation": "^1.1.7", - "plist": "^3.0.4", - "smart-buffer": "^4.0.2", - "verror": "^1.10.0" - } - }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -16900,18 +15647,6 @@ "domhandler": "^4.2.0" } }, - "dotenv": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", - "integrity": "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==", - "dev": true - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true - }, "eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -16949,54 +15684,6 @@ "extract-zip": "^2.0.1" } }, - "electron-builder": { - "version": "24.6.4", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-24.6.4.tgz", - "integrity": "sha512-uNWQoU7pE7qOaIQ6CJHpBi44RJFVG8OHRBIadUxrsDJVwLLo8Nma3K/EEtx5/UyWAQYdcK4nVPYKoRqBb20hbA==", - "dev": true, - "requires": { - "app-builder-lib": "24.6.4", - "builder-util": "24.5.0", - "builder-util-runtime": "9.2.1", - "chalk": "^4.1.2", - "dmg-builder": "24.6.4", - "fs-extra": "^10.1.0", - "is-ci": "^3.0.0", - "lazy-val": "^1.0.5", - "read-config-file": "6.3.2", - "simple-update-notifier": "2.0.0", - "yargs": "^17.6.2" - }, - "dependencies": { - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "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-debug": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/electron-debug/-/electron-debug-3.2.0.tgz", @@ -17201,56 +15888,6 @@ } } }, - "electron-publish": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-24.5.0.tgz", - "integrity": "sha512-zwo70suH15L15B4ZWNDoEg27HIYoPsGJUF7xevLJLSI7JUPC8l2yLBdLGwqueJ5XkDL7ucYyRZzxJVR8ElV9BA==", - "dev": true, - "requires": { - "@types/fs-extra": "^9.0.11", - "builder-util": "24.5.0", - "builder-util-runtime": "9.2.1", - "chalk": "^4.1.2", - "fs-extra": "^10.1.0", - "lazy-val": "^1.0.5", - "mime": "^2.5.2" - }, - "dependencies": { - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "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" - } - }, - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, "electron-rebuild": { "version": "3.2.9", "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-3.2.9.tgz", @@ -19018,17 +17655,6 @@ "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", "dev": true }, - "iconv-corefoundation": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz", - "integrity": "sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==", - "dev": true, - "optional": true, - "requires": { - "cli-truncate": "^2.1.0", - "node-addon-api": "^1.6.3" - } - }, "iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -19231,15 +17857,6 @@ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true }, - "is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "dev": true, - "requires": { - "ci-info": "^3.2.0" - } - }, "is-core-module": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", @@ -19454,12 +18071,6 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "isbinaryfile": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.0.tgz", - "integrity": "sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==", - "dev": true - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -19792,12 +18403,6 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, "jsonc-eslint-parser": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/jsonc-eslint-parser/-/jsonc-eslint-parser-2.4.0.tgz", @@ -19876,12 +18481,6 @@ "asn1.js-rfc2560": "^5.0.1" } }, - "lazy-val": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", - "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==", - "dev": true - }, "lazystream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", @@ -20657,13 +19256,6 @@ "semver": "^7.3.5" } }, - "node-addon-api": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", - "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", - "dev": true, - "optional": true - }, "node-api-version": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/node-api-version/-/node-api-version-0.1.4.tgz", @@ -21649,20 +20241,6 @@ "scheduler": "^0.23.0" } }, - "read-config-file": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-6.3.2.tgz", - "integrity": "sha512-M80lpCjnE6Wt6zb98DoW8WHR09nzMSpu8XHtPkiTHrJ5Az9CybfeQhTJ8D7saeBHpGhLPIVyA8lcL6ZmdKwY6Q==", - "dev": true, - "requires": { - "config-file-ts": "^0.2.4", - "dotenv": "^9.0.2", - "dotenv-expand": "^5.1.0", - "js-yaml": "^4.1.0", - "json5": "^2.2.0", - "lazy-val": "^1.0.4" - } - }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", @@ -22450,18 +21028,6 @@ "semver": "^7.5.3" } }, - "slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, "smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -22594,12 +21160,6 @@ "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz", "integrity": "sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU=" }, - "stat-mode": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", - "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", - "dev": true - }, "statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -22875,45 +21435,6 @@ } } }, - "temp-file": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", - "integrity": "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==", - "dev": true, - "requires": { - "async-exit-hook": "^2.0.1", - "fs-extra": "^10.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "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 - } - } - }, "terser": { "version": "5.17.6", "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.6.tgz", @@ -22997,7 +21518,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", - "devOptional": true, + "optional": true, "requires": { "tmp": "^0.2.0" } @@ -23230,12 +21751,6 @@ "is-typedarray": "^1.0.0" } }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true - }, "uc.micro": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", diff --git a/package.json b/package.json index 8482a35a7..4e4a8fabc 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,6 @@ "devDependencies": { "cross-env": "7.0.3", "electron": "25.9.3", - "electron-builder": "24.6.4", "electron-packager": "17.1.2", "electron-rebuild": "3.2.9", "eslint": "8.53.0", From 145a09edd15c9f4eceeed05c0b348f23c48efc3b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 8 Nov 2023 21:27:48 +0200 Subject: [PATCH 02/82] Set up Electron Forge This should allow us to package Trilium for multiple platforms, including generating a Windows installer which is our current target. --- .gitignore | 2 + forge.config.js | 30 + package-lock.json | 3551 ++++++++++++++++++++++++++++++++++++++++++++- package.json | 13 +- 4 files changed, 3593 insertions(+), 3 deletions(-) create mode 100644 forge.config.js diff --git a/.gitignore b/.gitignore index 0e095b075..f0190bbb9 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,5 @@ data/ data-test/ tmp/ .eslintcache + +out/ \ No newline at end of file diff --git a/forge.config.js b/forge.config.js new file mode 100644 index 000000000..179a35e13 --- /dev/null +++ b/forge.config.js @@ -0,0 +1,30 @@ +module.exports = { + packagerConfig: { + asar: true, + }, + rebuildConfig: {}, + makers: [ + { + name: '@electron-forge/maker-squirrel', + config: {}, + }, + { + name: '@electron-forge/maker-zip', + platforms: ['darwin'], + }, + { + name: '@electron-forge/maker-deb', + config: {}, + }, + { + name: '@electron-forge/maker-rpm', + config: {}, + }, + ], + plugins: [ + { + name: '@electron-forge/plugin-auto-unpack-natives', + config: {}, + }, + ], +}; diff --git a/package-lock.json b/package-lock.json index 02e28617c..c05bd5554 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,6 +28,7 @@ "ejs": "3.1.9", "electron-debug": "3.2.0", "electron-dl": "3.5.1", + "electron-squirrel-startup": "^1.0.0", "electron-window-state": "5.0.3", "escape-html": "1.0.3", "express": "4.18.2", @@ -79,9 +80,14 @@ "trilium": "src/www" }, "devDependencies": { + "@electron-forge/cli": "^6.4.2", + "@electron-forge/maker-deb": "^6.4.2", + "@electron-forge/maker-rpm": "^6.4.2", + "@electron-forge/maker-squirrel": "^6.4.2", + "@electron-forge/maker-zip": "^6.4.2", + "@electron-forge/plugin-auto-unpack-natives": "^6.4.2", "cross-env": "7.0.3", "electron": "25.9.3", - "electron-packager": "17.1.2", "electron-rebuild": "3.2.9", "eslint": "8.53.0", "eslint-config-airbnb-base": "15.0.0", @@ -141,6 +147,1279 @@ "node": ">=10.0.0" } }, + "node_modules/@electron-forge/cli": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/cli/-/cli-6.4.2.tgz", + "integrity": "sha512-bM6YVTV0uUEpIL1jkpARlSm4Li26XZn+avC/lyTdpPqnd65T/oXZNkrAD+2Jb0RlgplOaM21qWm7ybtvKDGDyA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.electron-forge-cli?utm_medium=referral&utm_source=npm_fund" + } + ], + "dependencies": { + "@electron-forge/core": "6.4.2", + "@electron-forge/shared-types": "6.4.2", + "@electron/get": "^2.0.0", + "chalk": "^4.0.0", + "commander": "^4.1.1", + "debug": "^4.3.1", + "fs-extra": "^10.0.0", + "listr2": "^5.0.3", + "semver": "^7.2.1" + }, + "bin": { + "electron-forge": "dist/electron-forge.js", + "electron-forge-vscode-nix": "script/vscode.sh", + "electron-forge-vscode-win": "script/vscode.cmd" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/cli/node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/cli/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@electron-forge/cli/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron-forge/cli/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-forge/cli/node_modules/listr2": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.8.tgz", + "integrity": "sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.19", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.8.0", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/@electron-forge/cli/node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/cli/node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@electron-forge/cli/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/@electron-forge/cli/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/cli/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron-forge/cli/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@electron-forge/core": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/core/-/core-6.4.2.tgz", + "integrity": "sha512-VtrFZ1Q7NG1ov0jJO/tUvUiYdWZ0Y31xw762is/jfpRPD6V/soOpwJJAoWoPK9TZVkTm2pkS8S5LikCMbNCLxw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.electron-forge-core?utm_medium=referral&utm_source=npm_fund" + } + ], + "dependencies": { + "@electron-forge/core-utils": "6.4.2", + "@electron-forge/maker-base": "6.4.2", + "@electron-forge/plugin-base": "6.4.2", + "@electron-forge/publisher-base": "6.4.2", + "@electron-forge/shared-types": "6.4.2", + "@electron-forge/template-base": "6.4.2", + "@electron-forge/template-vite": "6.4.2", + "@electron-forge/template-vite-typescript": "6.4.2", + "@electron-forge/template-webpack": "6.4.2", + "@electron-forge/template-webpack-typescript": "6.4.2", + "@electron/get": "^2.0.0", + "@electron/rebuild": "^3.2.10", + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.3.1", + "electron-packager": "^17.1.2", + "fast-glob": "^3.2.7", + "filenamify": "^4.1.0", + "find-up": "^5.0.0", + "fs-extra": "^10.0.0", + "got": "^11.8.5", + "interpret": "^3.1.1", + "listr2": "^5.0.3", + "lodash": "^4.17.20", + "log-symbols": "^4.0.0", + "node-fetch": "^2.6.7", + "progress": "^2.0.3", + "rechoir": "^0.8.0", + "resolve-package": "^1.0.1", + "semver": "^7.2.1", + "source-map-support": "^0.5.13", + "sudo-prompt": "^9.1.1", + "username": "^5.1.0", + "yarn-or-npm": "^3.0.1" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/core-utils": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/core-utils/-/core-utils-6.4.2.tgz", + "integrity": "sha512-CjB3aakmRsXAMMDYc8PxNTMf4FdI29y4PErfv7eCXlL5oo3JW0VSKZIV7R8/Po0S0got85q2kmhZgCKuxL1BNA==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "6.4.2", + "@electron/rebuild": "^3.2.10", + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.3.1", + "find-up": "^5.0.0", + "fs-extra": "^10.0.0", + "log-symbols": "^4.0.0", + "semver": "^7.2.1", + "yarn-or-npm": "^3.0.1" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/core-utils/node_modules/@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/@electron-forge/core-utils/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/core-utils/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron-forge/core-utils/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-forge/core-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/core-utils/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/core-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/core-utils/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@electron-forge/core-utils/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron-forge/core/node_modules/@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/@electron-forge/core/node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/core/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/core/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron-forge/core/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-forge/core/node_modules/listr2": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.8.tgz", + "integrity": "sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.19", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.8.0", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/@electron-forge/core/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/core/node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/core/node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@electron-forge/core/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/core/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/core/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@electron-forge/core/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/@electron-forge/core/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/core/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron-forge/core/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@electron-forge/maker-base": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-6.4.2.tgz", + "integrity": "sha512-zW3GH+LqDK9nxQmQEFkJPR8RqiX0lVk6a4mXll3ngujN1fPevO4ivUAWmaEVeC1dH/hXbN7s9m0S6a37MigftQ==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "6.4.2", + "fs-extra": "^10.0.0", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/maker-base/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron-forge/maker-base/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-forge/maker-base/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron-forge/maker-deb": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-deb/-/maker-deb-6.4.2.tgz", + "integrity": "sha512-tlV8ffivgBP94vtYXgAeXgzeKCaRyLuWH9LT8PQW1QrYbAFpCMmuwk/zFaJkyMklImCWmDFTPYMEqdEJGd7Npg==", + "dev": true, + "dependencies": { + "@electron-forge/maker-base": "6.4.2", + "@electron-forge/shared-types": "6.4.2" + }, + "engines": { + "node": ">= 14.17.5" + }, + "optionalDependencies": { + "electron-installer-debian": "^3.2.0" + } + }, + "node_modules/@electron-forge/maker-rpm": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-rpm/-/maker-rpm-6.4.2.tgz", + "integrity": "sha512-+hfbY5pYbAer0y07OtOzVgVBHoTRmemqqZ//T0mKJpyK2ThHKGTvyW8FFlr5jlQs5LoDCM2WHKE8oGtRhivsMg==", + "dev": true, + "dependencies": { + "@electron-forge/maker-base": "6.4.2", + "@electron-forge/shared-types": "6.4.2" + }, + "engines": { + "node": ">= 14.17.5" + }, + "optionalDependencies": { + "electron-installer-redhat": "^3.2.0" + } + }, + "node_modules/@electron-forge/maker-squirrel": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-6.4.2.tgz", + "integrity": "sha512-ukK3RcFaBrQXUzR52PsHxfwDq5XKSnj6A1kkXiyHWqgj+HIU97prBScBb5JRtasPvYN+nDdQO2vlInsLaqcx9Q==", + "dev": true, + "dependencies": { + "@electron-forge/maker-base": "6.4.2", + "@electron-forge/shared-types": "6.4.2", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">= 14.17.5" + }, + "optionalDependencies": { + "electron-winstaller": "^5.0.0" + } + }, + "node_modules/@electron-forge/maker-squirrel/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron-forge/maker-squirrel/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-forge/maker-squirrel/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron-forge/maker-zip": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-zip/-/maker-zip-6.4.2.tgz", + "integrity": "sha512-k2nfhhnxcYbUS7rCKCisuqEalxtH9l73+lrtfL0aQZiE/BLbDXyNckDIDOPvX0tBEg62nVzUdJonZwOhZVvAMw==", + "dev": true, + "dependencies": { + "@electron-forge/maker-base": "6.4.2", + "@electron-forge/shared-types": "6.4.2", + "cross-zip": "^4.0.0", + "fs-extra": "^10.0.0", + "got": "^11.8.5" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/maker-zip/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron-forge/maker-zip/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-forge/maker-zip/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron-forge/plugin-auto-unpack-natives": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/plugin-auto-unpack-natives/-/plugin-auto-unpack-natives-6.4.2.tgz", + "integrity": "sha512-AXmPQc2nUFuh/xFC+Qsebg/eg3M+5GQV6MOzMvTBZ9N1w49XtZbtvEGAdISnZWERExNRcwH+j+zuSAGtm6Y2Yw==", + "dev": true, + "dependencies": { + "@electron-forge/plugin-base": "6.4.2", + "@electron-forge/shared-types": "6.4.2" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/plugin-base": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-6.4.2.tgz", + "integrity": "sha512-g6AAtQ7fZ94djBmwcnWasQ8xgaNVNjgaQ00GLK0NkmQ7n0PNbsnlMDuw9vdfTiL6WaLg5nxNSYc9bFJP/rtyeA==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "6.4.2" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/publisher-base": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-6.4.2.tgz", + "integrity": "sha512-Tnf9O8MFzdT1gsb5EDDaQUoslt7gUuUywtsr+lT/fpBlBQbei2fvioTwvZ1Q1cmsKnld7XhRh6unfgdWLTZzgw==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "6.4.2" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/shared-types": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-6.4.2.tgz", + "integrity": "sha512-DKOUMsdTXZIq8XiqY0Hi3C+dam/JKUnvfBjwcUeyZqPdgEE1qry8xZmmjorXuLrRf1Jq8rhxYGQInSK4af0QYw==", + "dev": true, + "dependencies": { + "@electron/rebuild": "^3.2.10", + "electron-packager": "^17.1.2", + "listr2": "^5.0.3" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/shared-types/node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/shared-types/node_modules/listr2": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.8.tgz", + "integrity": "sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.19", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.8.0", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/@electron-forge/shared-types/node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/shared-types/node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@electron-forge/shared-types/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/@electron-forge/shared-types/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@electron-forge/shared-types/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@electron-forge/template-base": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-6.4.2.tgz", + "integrity": "sha512-vsQh+64Fr2Vxg6k8DAahWq4MAdB2F2qTig+LgIJENv8ksbzC1YIq05SBAS/g2674cdr7WdwyukMy2rgxe3rhnQ==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "6.4.2", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.3.1", + "fs-extra": "^10.0.0", + "username": "^5.1.0" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/template-base/node_modules/@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/@electron-forge/template-base/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron-forge/template-base/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-forge/template-base/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron-forge/template-vite": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/template-vite/-/template-vite-6.4.2.tgz", + "integrity": "sha512-NX7jHRblBmIqufMbqWgpI/VnpgF/qMSTq9ZPmDSXamBhid336MC6+DoWzDpXceQZEp0m/jpMLR04ynr8O4jGlg==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "6.4.2", + "@electron-forge/template-base": "6.4.2", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + } + }, + "node_modules/@electron-forge/template-vite-typescript": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/template-vite-typescript/-/template-vite-typescript-6.4.2.tgz", + "integrity": "sha512-h3pn6onvC/nLglmJuelYU82Qzrh0l6MqvbBGoT39bbDoRLIqmlhWTWppHgDJVXAGrSoH+9BEpptipeBQWirFwg==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "6.4.2", + "@electron-forge/template-base": "6.4.2", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + } + }, + "node_modules/@electron-forge/template-vite-typescript/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron-forge/template-vite-typescript/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-forge/template-vite-typescript/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron-forge/template-vite/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron-forge/template-vite/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-forge/template-vite/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron-forge/template-webpack": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-6.4.2.tgz", + "integrity": "sha512-9QYr/td4cmnGOj8UF25W6An/eI+JXj9T/b+KFybL3cQ87H1yrQOn2T84Bm5/JaB4SPdIu4FdKRjqwR7C7R0g2w==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "6.4.2", + "@electron-forge/template-base": "6.4.2", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/template-webpack-typescript": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/template-webpack-typescript/-/template-webpack-typescript-6.4.2.tgz", + "integrity": "sha512-MPAZQ4v6piCED7NT1LTVQf61o6Eg/laNoKbhbrFBSH1i20OUwbtV2MLj6Op292ynI9+1qdHKmFgctr6qPTCAQw==", + "dev": true, + "dependencies": { + "@electron-forge/shared-types": "6.4.2", + "@electron-forge/template-base": "6.4.2", + "fs-extra": "^10.0.0" + }, + "engines": { + "node": ">= 14.17.5" + } + }, + "node_modules/@electron-forge/template-webpack-typescript/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron-forge/template-webpack-typescript/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-forge/template-webpack-typescript/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@electron-forge/template-webpack/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron-forge/template-webpack/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-forge/template-webpack/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/@electron/asar": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.2.tgz", @@ -320,6 +1599,90 @@ "node": ">= 10.0.0" } }, + "node_modules/@electron/rebuild": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.3.0.tgz", + "integrity": "sha512-S1vgpzIOS1wCJmsYjdLz97MTUV6UTLcMk/HE3w90HYtVxvW+PQdwxLbgsrECX2bysqcnmM5a0K6mXj/gwVgYtQ==", + "dev": true, + "dependencies": { + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.1.1", + "detect-libc": "^2.0.1", + "fs-extra": "^10.0.0", + "got": "^11.7.0", + "node-abi": "^3.45.0", + "node-api-version": "^0.1.4", + "node-gyp": "^9.0.0", + "ora": "^5.1.0", + "semver": "^7.3.5", + "tar": "^6.0.5", + "yargs": "^17.0.1" + }, + "bin": { + "electron-rebuild": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/@electron/rebuild/node_modules/@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/malept" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund" + } + ], + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/@electron/rebuild/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@electron/rebuild/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/rebuild/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/@electron/remote": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.12.tgz", @@ -2118,6 +3481,15 @@ "node": ">=0.8" } }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/async": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", @@ -2941,6 +4313,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -3365,6 +4753,29 @@ "node": ">= 10" } }, + "node_modules/cross-zip": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-zip/-/cross-zip-4.0.0.tgz", + "integrity": "sha512-MEzGfZo0rqE10O/B+AEcCSJLZsrWuRUvmqJTqHNqBtALhaJc3E3ixLGLJNTRzEA2K34wbmOHC4fwYs9sVsdcCA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=12.10" + } + }, "node_modules/csrf": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.1.0.tgz", @@ -4024,6 +5435,100 @@ "node": ">=10" } }, + "node_modules/electron-installer-redhat": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/electron-installer-redhat/-/electron-installer-redhat-3.4.0.tgz", + "integrity": "sha512-gEISr3U32Sgtj+fjxUAlSDo3wyGGq6OBx7rF5UdpIgbnpUvMN4W5uYb0ThpnAZ42VEJh/3aODQXHbFS4f5J3Iw==", + "dev": true, + "optional": true, + "os": [ + "darwin", + "linux" + ], + "dependencies": { + "@malept/cross-spawn-promise": "^1.0.0", + "debug": "^4.1.1", + "electron-installer-common": "^0.10.2", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "word-wrap": "^1.2.3", + "yargs": "^16.0.2" + }, + "bin": { + "electron-installer-redhat": "src/cli.js" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-installer-redhat/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, + "optional": 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-installer-redhat/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, + "optional": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/electron-installer-redhat/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "optional": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/electron-installer-redhat/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "optional": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-installer-redhat/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "optional": true, + "engines": { + "node": ">=10" + } + }, "node_modules/electron-is-accelerator": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/electron-is-accelerator/-/electron-is-accelerator-0.1.2.tgz", @@ -4202,6 +5707,22 @@ "node": ">= 10.0.0" } }, + "node_modules/electron-squirrel-startup": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/electron-squirrel-startup/-/electron-squirrel-startup-1.0.0.tgz", + "integrity": "sha512-Oce8mvgGdFmwr+DsAcXBmFK8jFfN6yaFAP9IvyhTfupM3nFkBku/7VS/mdtJteWumImkC6P+BKGsxScoDDkv9Q==", + "dependencies": { + "debug": "^2.2.0" + } + }, + "node_modules/electron-squirrel-startup/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, "node_modules/electron-to-chromium": { "version": "1.4.24", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.24.tgz", @@ -4220,6 +5741,39 @@ "node": ">=8.0.0" } }, + "node_modules/electron-winstaller": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/electron-winstaller/-/electron-winstaller-5.2.1.tgz", + "integrity": "sha512-2UuvOGMLLGJioIBsqWANF1A19G7uJuIifae8/pR3FClI21aCJc5nutAOGnZI17kkxUc47UqByqKOl0XSVtwAlQ==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "dependencies": { + "@electron/asar": "^3.2.1", + "debug": "^4.1.1", + "fs-extra": "^7.0.1", + "lodash.template": "^4.2.2", + "temp": "^0.9.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/electron-winstaller/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, "node_modules/emitter-listener": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/emitter-listener/-/emitter-listener-1.1.2.tgz", @@ -5042,6 +6596,18 @@ "node": ">=6" } }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/express": { "version": "4.18.2", "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", @@ -5902,6 +7468,15 @@ "get-folder-size": "bin/get-folder-size" } }, + "node_modules/get-installed-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/get-installed-path/-/get-installed-path-2.1.1.tgz", + "integrity": "sha512-Qkn9eq6tW5/q9BDVdMpB8tOHljX9OSP0jRC5TRNVA4qRc839t4g8KQaR8t0Uv0EFVL0MlyG7m/ofjEgAROtYsA==", + "dev": true, + "dependencies": { + "global-modules": "1.0.0" + } + }, "node_modules/get-intrinsic": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", @@ -6054,6 +7629,54 @@ "node": ">=10.0" } }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/globals": { "version": "13.23.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", @@ -6273,6 +7896,18 @@ "node": ">=16.0.0" } }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", @@ -7081,6 +8716,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -7981,6 +9625,13 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", + "dev": true, + "optional": true + }, "node_modules/lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", @@ -7993,6 +9644,27 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "optional": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "optional": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -8308,6 +9980,18 @@ "node": ">=12" } }, + "node_modules/map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "dependencies": { + "p-defer": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/markdown-it": { "version": "12.3.2", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", @@ -8392,6 +10076,20 @@ "node": ">= 0.6" } }, + "node_modules/mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "dependencies": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -8691,6 +10389,12 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, "node_modules/node-abi": { "version": "3.51.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", @@ -9293,6 +10997,33 @@ "node": ">=8" } }, + "node_modules/p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/p-limit": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", @@ -9439,6 +11170,15 @@ "node": ">=0.10.0" } }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/parse-srcset": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", @@ -10276,6 +12016,19 @@ "node": ">=8" } }, + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -10285,6 +12038,19 @@ "node": ">=8" } }, + "node_modules/resolve-package": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-package/-/resolve-package-1.0.1.tgz", + "integrity": "sha512-rzB7NnQpOkPHBWFPP3prUMqOP6yg3HkRGgcvR+lDyvyHoY3fZLFLYDkPXh78SPVBAE6VTCk/V+j8we4djg6o4g==", + "dev": true, + "dependencies": { + "get-installed-path": "^2.0.3" + }, + "engines": { + "node": ">=4", + "npm": ">=2" + } + }, "node_modules/responselike": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", @@ -10543,6 +12309,15 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/safe-array-concat": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", @@ -11059,6 +12834,20 @@ "node": ">=10" } }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -11391,6 +13180,15 @@ "node": ">=4" } }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", @@ -11449,6 +13247,12 @@ "url": "https://github.com/sponsors/Borewit" } }, + "node_modules/sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", + "dev": true + }, "node_modules/sumchecker": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", @@ -11599,6 +13403,33 @@ "node": ">=10" } }, + "node_modules/temp": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "dev": true, + "optional": true, + "dependencies": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "optional": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, "node_modules/terser": { "version": "5.17.6", "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.6.tgz", @@ -11663,6 +13494,12 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, "node_modules/timm": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", @@ -12158,6 +13995,137 @@ "requires-port": "^1.0.0" } }, + "node_modules/username": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/username/-/username-5.1.0.tgz", + "integrity": "sha512-PCKbdWw85JsYMvmCv5GH3kXmM66rCd9m1hBEDutPNv94b/pqCMT4NtcKyeWYvLFiE8b+ha1Jdl8XAaUdPn5QTg==", + "dev": true, + "dependencies": { + "execa": "^1.0.0", + "mem": "^4.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/username/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/username/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/username/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/username/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/username/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/username/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/username/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/username/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/username/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/username/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", @@ -12767,6 +14735,90 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/yarn-or-npm": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/yarn-or-npm/-/yarn-or-npm-3.0.1.tgz", + "integrity": "sha512-fTiQP6WbDAh5QZAVdbMQkecZoahnbOjClTQhzv74WX5h2Uaidj1isf9FDes11TKtsZ0/ZVfZsqZ+O3x6aLERHQ==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.5", + "pkg-dir": "^4.2.0" + }, + "bin": { + "yarn-or-npm": "bin/index.js", + "yon": "bin/index.js" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/yarn-or-npm/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/yarn-or-npm/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yarn-or-npm/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/yarn-or-npm/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yarn-or-npm/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yarn-or-npm/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", @@ -12839,6 +14891,911 @@ "integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==", "dev": true }, + "@electron-forge/cli": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/cli/-/cli-6.4.2.tgz", + "integrity": "sha512-bM6YVTV0uUEpIL1jkpARlSm4Li26XZn+avC/lyTdpPqnd65T/oXZNkrAD+2Jb0RlgplOaM21qWm7ybtvKDGDyA==", + "dev": true, + "requires": { + "@electron-forge/core": "6.4.2", + "@electron-forge/shared-types": "6.4.2", + "@electron/get": "^2.0.0", + "chalk": "^4.0.0", + "commander": "^4.1.1", + "debug": "^4.3.1", + "fs-extra": "^10.0.0", + "listr2": "^5.0.3", + "semver": "^7.2.1" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "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" + } + }, + "listr2": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.8.tgz", + "integrity": "sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.19", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.8.0", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "@electron-forge/core": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/core/-/core-6.4.2.tgz", + "integrity": "sha512-VtrFZ1Q7NG1ov0jJO/tUvUiYdWZ0Y31xw762is/jfpRPD6V/soOpwJJAoWoPK9TZVkTm2pkS8S5LikCMbNCLxw==", + "dev": true, + "requires": { + "@electron-forge/core-utils": "6.4.2", + "@electron-forge/maker-base": "6.4.2", + "@electron-forge/plugin-base": "6.4.2", + "@electron-forge/publisher-base": "6.4.2", + "@electron-forge/shared-types": "6.4.2", + "@electron-forge/template-base": "6.4.2", + "@electron-forge/template-vite": "6.4.2", + "@electron-forge/template-vite-typescript": "6.4.2", + "@electron-forge/template-webpack": "6.4.2", + "@electron-forge/template-webpack-typescript": "6.4.2", + "@electron/get": "^2.0.0", + "@electron/rebuild": "^3.2.10", + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.3.1", + "electron-packager": "^17.1.2", + "fast-glob": "^3.2.7", + "filenamify": "^4.1.0", + "find-up": "^5.0.0", + "fs-extra": "^10.0.0", + "got": "^11.8.5", + "interpret": "^3.1.1", + "listr2": "^5.0.3", + "lodash": "^4.17.20", + "log-symbols": "^4.0.0", + "node-fetch": "^2.6.7", + "progress": "^2.0.3", + "rechoir": "^0.8.0", + "resolve-package": "^1.0.1", + "semver": "^7.2.1", + "source-map-support": "^0.5.13", + "sudo-prompt": "^9.1.1", + "username": "^5.1.0", + "yarn-or-npm": "^3.0.1" + }, + "dependencies": { + "@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "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" + } + }, + "listr2": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.8.tgz", + "integrity": "sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.19", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.8.0", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "@electron-forge/core-utils": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/core-utils/-/core-utils-6.4.2.tgz", + "integrity": "sha512-CjB3aakmRsXAMMDYc8PxNTMf4FdI29y4PErfv7eCXlL5oo3JW0VSKZIV7R8/Po0S0got85q2kmhZgCKuxL1BNA==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "6.4.2", + "@electron/rebuild": "^3.2.10", + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.3.1", + "find-up": "^5.0.0", + "fs-extra": "^10.0.0", + "log-symbols": "^4.0.0", + "semver": "^7.2.1", + "yarn-or-npm": "^3.0.1" + }, + "dependencies": { + "@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "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" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + } + } + }, + "@electron-forge/maker-base": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-6.4.2.tgz", + "integrity": "sha512-zW3GH+LqDK9nxQmQEFkJPR8RqiX0lVk6a4mXll3ngujN1fPevO4ivUAWmaEVeC1dH/hXbN7s9m0S6a37MigftQ==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "6.4.2", + "fs-extra": "^10.0.0", + "which": "^2.0.2" + }, + "dependencies": { + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "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.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + } + } + }, + "@electron-forge/maker-deb": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-deb/-/maker-deb-6.4.2.tgz", + "integrity": "sha512-tlV8ffivgBP94vtYXgAeXgzeKCaRyLuWH9LT8PQW1QrYbAFpCMmuwk/zFaJkyMklImCWmDFTPYMEqdEJGd7Npg==", + "dev": true, + "requires": { + "@electron-forge/maker-base": "6.4.2", + "@electron-forge/shared-types": "6.4.2", + "electron-installer-debian": "^3.2.0" + } + }, + "@electron-forge/maker-rpm": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-rpm/-/maker-rpm-6.4.2.tgz", + "integrity": "sha512-+hfbY5pYbAer0y07OtOzVgVBHoTRmemqqZ//T0mKJpyK2ThHKGTvyW8FFlr5jlQs5LoDCM2WHKE8oGtRhivsMg==", + "dev": true, + "requires": { + "@electron-forge/maker-base": "6.4.2", + "@electron-forge/shared-types": "6.4.2", + "electron-installer-redhat": "^3.2.0" + } + }, + "@electron-forge/maker-squirrel": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-6.4.2.tgz", + "integrity": "sha512-ukK3RcFaBrQXUzR52PsHxfwDq5XKSnj6A1kkXiyHWqgj+HIU97prBScBb5JRtasPvYN+nDdQO2vlInsLaqcx9Q==", + "dev": true, + "requires": { + "@electron-forge/maker-base": "6.4.2", + "@electron-forge/shared-types": "6.4.2", + "electron-winstaller": "^5.0.0", + "fs-extra": "^10.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "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.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + } + } + }, + "@electron-forge/maker-zip": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/maker-zip/-/maker-zip-6.4.2.tgz", + "integrity": "sha512-k2nfhhnxcYbUS7rCKCisuqEalxtH9l73+lrtfL0aQZiE/BLbDXyNckDIDOPvX0tBEg62nVzUdJonZwOhZVvAMw==", + "dev": true, + "requires": { + "@electron-forge/maker-base": "6.4.2", + "@electron-forge/shared-types": "6.4.2", + "cross-zip": "^4.0.0", + "fs-extra": "^10.0.0", + "got": "^11.8.5" + }, + "dependencies": { + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "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.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + } + } + }, + "@electron-forge/plugin-auto-unpack-natives": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/plugin-auto-unpack-natives/-/plugin-auto-unpack-natives-6.4.2.tgz", + "integrity": "sha512-AXmPQc2nUFuh/xFC+Qsebg/eg3M+5GQV6MOzMvTBZ9N1w49XtZbtvEGAdISnZWERExNRcwH+j+zuSAGtm6Y2Yw==", + "dev": true, + "requires": { + "@electron-forge/plugin-base": "6.4.2", + "@electron-forge/shared-types": "6.4.2" + } + }, + "@electron-forge/plugin-base": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/plugin-base/-/plugin-base-6.4.2.tgz", + "integrity": "sha512-g6AAtQ7fZ94djBmwcnWasQ8xgaNVNjgaQ00GLK0NkmQ7n0PNbsnlMDuw9vdfTiL6WaLg5nxNSYc9bFJP/rtyeA==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "6.4.2" + } + }, + "@electron-forge/publisher-base": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/publisher-base/-/publisher-base-6.4.2.tgz", + "integrity": "sha512-Tnf9O8MFzdT1gsb5EDDaQUoslt7gUuUywtsr+lT/fpBlBQbei2fvioTwvZ1Q1cmsKnld7XhRh6unfgdWLTZzgw==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "6.4.2" + } + }, + "@electron-forge/shared-types": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-6.4.2.tgz", + "integrity": "sha512-DKOUMsdTXZIq8XiqY0Hi3C+dam/JKUnvfBjwcUeyZqPdgEE1qry8xZmmjorXuLrRf1Jq8rhxYGQInSK4af0QYw==", + "dev": true, + "requires": { + "@electron/rebuild": "^3.2.10", + "electron-packager": "^17.1.2", + "listr2": "^5.0.3" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "listr2": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.8.tgz", + "integrity": "sha512-mC73LitKHj9w6v30nLNGPetZIlfpUniNSsxxrbaPcWOjDb92SHPzJPi/t+v1YC/lxKz/AJ9egOjww0qUuFxBpA==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.19", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.8.0", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "@electron-forge/template-base": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/template-base/-/template-base-6.4.2.tgz", + "integrity": "sha512-vsQh+64Fr2Vxg6k8DAahWq4MAdB2F2qTig+LgIJENv8ksbzC1YIq05SBAS/g2674cdr7WdwyukMy2rgxe3rhnQ==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "6.4.2", + "@malept/cross-spawn-promise": "^2.0.0", + "debug": "^4.3.1", + "fs-extra": "^10.0.0", + "username": "^5.1.0" + }, + "dependencies": { + "@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "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.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + } + } + }, + "@electron-forge/template-vite": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/template-vite/-/template-vite-6.4.2.tgz", + "integrity": "sha512-NX7jHRblBmIqufMbqWgpI/VnpgF/qMSTq9ZPmDSXamBhid336MC6+DoWzDpXceQZEp0m/jpMLR04ynr8O4jGlg==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "6.4.2", + "@electron-forge/template-base": "6.4.2", + "fs-extra": "^10.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "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.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + } + } + }, + "@electron-forge/template-vite-typescript": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/template-vite-typescript/-/template-vite-typescript-6.4.2.tgz", + "integrity": "sha512-h3pn6onvC/nLglmJuelYU82Qzrh0l6MqvbBGoT39bbDoRLIqmlhWTWppHgDJVXAGrSoH+9BEpptipeBQWirFwg==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "6.4.2", + "@electron-forge/template-base": "6.4.2", + "fs-extra": "^10.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "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.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + } + } + }, + "@electron-forge/template-webpack": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/template-webpack/-/template-webpack-6.4.2.tgz", + "integrity": "sha512-9QYr/td4cmnGOj8UF25W6An/eI+JXj9T/b+KFybL3cQ87H1yrQOn2T84Bm5/JaB4SPdIu4FdKRjqwR7C7R0g2w==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "6.4.2", + "@electron-forge/template-base": "6.4.2", + "fs-extra": "^10.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "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.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + } + } + }, + "@electron-forge/template-webpack-typescript": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@electron-forge/template-webpack-typescript/-/template-webpack-typescript-6.4.2.tgz", + "integrity": "sha512-MPAZQ4v6piCED7NT1LTVQf61o6Eg/laNoKbhbrFBSH1i20OUwbtV2MLj6Op292ynI9+1qdHKmFgctr6qPTCAQw==", + "dev": true, + "requires": { + "@electron-forge/shared-types": "6.4.2", + "@electron-forge/template-base": "6.4.2", + "fs-extra": "^10.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "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.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + } + } + }, "@electron/asar": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.2.tgz", @@ -12973,6 +15930,65 @@ } } }, + "@electron/rebuild": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.3.0.tgz", + "integrity": "sha512-S1vgpzIOS1wCJmsYjdLz97MTUV6UTLcMk/HE3w90HYtVxvW+PQdwxLbgsrECX2bysqcnmM5a0K6mXj/gwVgYtQ==", + "dev": true, + "requires": { + "@malept/cross-spawn-promise": "^2.0.0", + "chalk": "^4.0.0", + "debug": "^4.1.1", + "detect-libc": "^2.0.1", + "fs-extra": "^10.0.0", + "got": "^11.7.0", + "node-abi": "^3.45.0", + "node-api-version": "^0.1.4", + "node-gyp": "^9.0.0", + "ora": "^5.1.0", + "semver": "^7.3.5", + "tar": "^6.0.5", + "yargs": "^17.0.1" + }, + "dependencies": { + "@malept/cross-spawn-promise": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", + "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "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.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + } + } + }, "@electron/remote": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/@electron/remote/-/remote-2.0.12.tgz", @@ -14381,6 +17397,12 @@ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, "async": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", @@ -15015,6 +18037,16 @@ "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", "dev": true }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -15332,6 +18364,12 @@ "which": "^2.0.2" } }, + "cross-zip": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-zip/-/cross-zip-4.0.0.tgz", + "integrity": "sha512-MEzGfZo0rqE10O/B+AEcCSJLZsrWuRUvmqJTqHNqBtALhaJc3E3ixLGLJNTRzEA2K34wbmOHC4fwYs9sVsdcCA==", + "dev": true + }, "csrf": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.1.0.tgz", @@ -15818,6 +18856,78 @@ } } }, + "electron-installer-redhat": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/electron-installer-redhat/-/electron-installer-redhat-3.4.0.tgz", + "integrity": "sha512-gEISr3U32Sgtj+fjxUAlSDo3wyGGq6OBx7rF5UdpIgbnpUvMN4W5uYb0ThpnAZ42VEJh/3aODQXHbFS4f5J3Iw==", + "dev": true, + "optional": true, + "requires": { + "@malept/cross-spawn-promise": "^1.0.0", + "debug": "^4.1.1", + "electron-installer-common": "^0.10.2", + "fs-extra": "^9.0.0", + "lodash": "^4.17.15", + "word-wrap": "^1.2.3", + "yargs": "^16.0.2" + }, + "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, + "optional": 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, + "optional": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "optional": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "optional": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "optional": true + } + } + }, "electron-is-accelerator": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/electron-is-accelerator/-/electron-is-accelerator-0.1.2.tgz", @@ -15948,6 +19058,24 @@ } } }, + "electron-squirrel-startup": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/electron-squirrel-startup/-/electron-squirrel-startup-1.0.0.tgz", + "integrity": "sha512-Oce8mvgGdFmwr+DsAcXBmFK8jFfN6yaFAP9IvyhTfupM3nFkBku/7VS/mdtJteWumImkC6P+BKGsxScoDDkv9Q==", + "requires": { + "debug": "^2.2.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, "electron-to-chromium": { "version": "1.4.24", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.24.tgz", @@ -15963,6 +19091,34 @@ "mkdirp": "^0.5.1" } }, + "electron-winstaller": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/electron-winstaller/-/electron-winstaller-5.2.1.tgz", + "integrity": "sha512-2UuvOGMLLGJioIBsqWANF1A19G7uJuIifae8/pR3FClI21aCJc5nutAOGnZI17kkxUc47UqByqKOl0XSVtwAlQ==", + "dev": true, + "optional": true, + "requires": { + "@electron/asar": "^3.2.1", + "debug": "^4.1.1", + "fs-extra": "^7.0.1", + "lodash.template": "^4.2.2", + "temp": "^0.9.0" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, "emitter-listener": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/emitter-listener/-/emitter-listener-1.1.2.tgz", @@ -16572,6 +19728,15 @@ "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, "express": { "version": "4.18.2", "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", @@ -17223,6 +20388,15 @@ "tiny-each-async": "2.0.3" } }, + "get-installed-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/get-installed-path/-/get-installed-path-2.1.1.tgz", + "integrity": "sha512-Qkn9eq6tW5/q9BDVdMpB8tOHljX9OSP0jRC5TRNVA4qRc839t4g8KQaR8t0Uv0EFVL0MlyG7m/ofjEgAROtYsA==", + "dev": true, + "requires": { + "global-modules": "1.0.0" + } + }, "get-intrinsic": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", @@ -17347,6 +20521,47 @@ "serialize-error": "^7.0.1" } }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "dependencies": { + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "globals": { "version": "13.23.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", @@ -17495,6 +20710,15 @@ "resolved": "https://registry.npmjs.org/helmet/-/helmet-7.0.0.tgz", "integrity": "sha512-MsIgYmdBh460ZZ8cJC81q4XJknjG567wzEmv46WOBblDb6TUd3z8/GhgmsM9pn8g2B80tAJ4m5/d3Bi1KrSUBQ==" }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, "hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", @@ -18058,6 +21282,12 @@ "call-bind": "^1.0.2" } }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, "is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -18729,6 +21959,13 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==", + "dev": true, + "optional": true + }, "lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", @@ -18741,6 +21978,27 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "optional": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "optional": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, "log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -18962,6 +22220,15 @@ } } }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, "markdown-it": { "version": "12.3.2", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", @@ -19023,6 +22290,17 @@ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -19248,6 +22526,12 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, "node-abi": { "version": "3.51.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.51.0.tgz", @@ -19704,6 +22988,24 @@ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", + "dev": true + }, "p-limit": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", @@ -19821,6 +23123,12 @@ "error-ex": "^1.2.0" } }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true + }, "parse-srcset": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz", @@ -20454,12 +23762,31 @@ "resolve-from": "^5.0.0" } }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, + "resolve-package": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-package/-/resolve-package-1.0.1.tgz", + "integrity": "sha512-rzB7NnQpOkPHBWFPP3prUMqOP6yg3HkRGgcvR+lDyvyHoY3fZLFLYDkPXh78SPVBAE6VTCk/V+j8we4djg6o4g==", + "dev": true, + "requires": { + "get-installed-path": "^2.0.3" + } + }, "responselike": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", @@ -20632,6 +23959,15 @@ "queue-microtask": "^1.2.2" } }, + "rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, "safe-array-concat": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", @@ -21028,6 +24364,17 @@ "semver": "^7.5.3" } }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, "smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", @@ -21284,6 +24631,12 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true + }, "strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", @@ -21323,6 +24676,12 @@ "peek-readable": "^4.1.0" } }, + "sudo-prompt": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-9.2.1.tgz", + "integrity": "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==", + "dev": true + }, "sumchecker": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz", @@ -21435,6 +24794,29 @@ } } }, + "temp": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", + "dev": true, + "optional": true, + "requires": { + "mkdirp": "^0.5.1", + "rimraf": "~2.6.2" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "terser": { "version": "5.17.6", "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.6.tgz", @@ -21474,6 +24856,12 @@ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, "timm": { "version": "1.7.1", "resolved": "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz", @@ -21864,6 +25252,106 @@ "requires-port": "^1.0.0" } }, + "username": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/username/-/username-5.1.0.tgz", + "integrity": "sha512-PCKbdWw85JsYMvmCv5GH3kXmM66rCd9m1hBEDutPNv94b/pqCMT4NtcKyeWYvLFiE8b+ha1Jdl8XAaUdPn5QTg==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "mem": "^4.3.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", @@ -22298,6 +25786,67 @@ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true }, + "yarn-or-npm": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/yarn-or-npm/-/yarn-or-npm-3.0.1.tgz", + "integrity": "sha512-fTiQP6WbDAh5QZAVdbMQkecZoahnbOjClTQhzv74WX5h2Uaidj1isf9FDes11TKtsZ0/ZVfZsqZ+O3x6aLERHQ==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.5", + "pkg-dir": "^4.2.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, "yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", diff --git a/package.json b/package.json index 4e4a8fabc..6a8d04569 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,10 @@ "test": "npm run test-jasmine && npm run test-es6", "postinstall": "rimraf ./node_modules/canvas", "lint": "eslint . --cache", - "prepare": "husky install || echo 'Husky install failed, expected on flatpak build'" + "prepare": "husky install || echo 'Husky install failed, expected on flatpak build'", + "start": "electron-forge start", + "package": "electron-forge package", + "make": "electron-forge make" }, "dependencies": { "@braintree/sanitize-url": "6.0.4", @@ -54,6 +57,7 @@ "ejs": "3.1.9", "electron-debug": "3.2.0", "electron-dl": "3.5.1", + "electron-squirrel-startup": "^1.0.0", "electron-window-state": "5.0.3", "escape-html": "1.0.3", "express": "4.18.2", @@ -102,9 +106,14 @@ "yauzl": "2.10.0" }, "devDependencies": { + "@electron-forge/cli": "^6.4.2", + "@electron-forge/maker-deb": "^6.4.2", + "@electron-forge/maker-rpm": "^6.4.2", + "@electron-forge/maker-squirrel": "^6.4.2", + "@electron-forge/maker-zip": "^6.4.2", + "@electron-forge/plugin-auto-unpack-natives": "^6.4.2", "cross-env": "7.0.3", "electron": "25.9.3", - "electron-packager": "17.1.2", "electron-rebuild": "3.2.9", "eslint": "8.53.0", "eslint-config-airbnb-base": "15.0.0", From 380b967407b9d583872442e9f53c6f84c67b8275 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 8 Nov 2023 21:40:04 +0200 Subject: [PATCH 03/82] Configure author & description for maker-squirrel --- forge.config.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/forge.config.js b/forge.config.js index 179a35e13..36e47199b 100644 --- a/forge.config.js +++ b/forge.config.js @@ -6,7 +6,10 @@ module.exports = { makers: [ { name: '@electron-forge/maker-squirrel', - config: {}, + config: { + authors: "zadam", + description: "Build your personal knowledge base with Trilium Notes" + }, }, { name: '@electron-forge/maker-zip', From 2faee49bd911214b36e99ed03946497f16e60d7e Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 8 Nov 2023 21:40:58 +0200 Subject: [PATCH 04/82] Use package.json instead for consistency --- forge.config.js | 5 +---- package.json | 7 ++++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/forge.config.js b/forge.config.js index 36e47199b..179a35e13 100644 --- a/forge.config.js +++ b/forge.config.js @@ -6,10 +6,7 @@ module.exports = { makers: [ { name: '@electron-forge/maker-squirrel', - config: { - authors: "zadam", - description: "Build your personal knowledge base with Trilium Notes" - }, + config: {}, }, { name: '@electron-forge/maker-zip', diff --git a/package.json b/package.json index 6a8d04569..6ddddcf18 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,15 @@ { "name": "trilium", "productName": "Trilium Notes", - "description": "Trilium Notes", + "description": "Build your personal knowledge base with Trilium Notes", "version": "0.62.0-beta", "license": "AGPL-3.0-only", "main": "electron.js", + "author": { + "name": "zadam", + "email": "zadam.apps@gmail.com", + "url": "https://github.com/zadam" + }, "bin": { "trilium": "./src/www" }, From b1e0492e05f185127dc957e7ed6c9d3f2d50a78e Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 8 Nov 2023 21:56:02 +0200 Subject: [PATCH 05/82] Prevent (re)start on install & uninstall --- electron.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/electron.js b/electron.js index 2de1425a4..3b879fd06 100644 --- a/electron.js +++ b/electron.js @@ -1,6 +1,10 @@ 'use strict'; const {app, globalShortcut, BrowserWindow} = require('electron'); + +// Prevent Trilium starting twice on first install and on uninstall for the Windows installer. +if (require('electron-squirrel-startup')) return; + const sqlInit = require('./src/services/sql_init'); const appIconService = require('./src/services/app_icon'); const windowService = require('./src/services/window'); From c0c5e30898c12bc87dbc9145f2a0f31f48a3cd45 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 8 Nov 2023 22:10:22 +0200 Subject: [PATCH 06/82] Add icon to setup --- forge.config.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/forge.config.js b/forge.config.js index 179a35e13..584bbbf85 100644 --- a/forge.config.js +++ b/forge.config.js @@ -6,7 +6,9 @@ module.exports = { makers: [ { name: '@electron-forge/maker-squirrel', - config: {}, + config: { + setupIcon: "./images/app-icons/win/icon.ico" + }, }, { name: '@electron-forge/maker-zip', From ddfa0d07490b6e5ea0739477c41a73924434703d Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 8 Nov 2023 22:40:38 +0200 Subject: [PATCH 07/82] Set up application icon --- forge.config.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/forge.config.js b/forge.config.js index 584bbbf85..1fa3bbc47 100644 --- a/forge.config.js +++ b/forge.config.js @@ -7,7 +7,8 @@ module.exports = { { name: '@electron-forge/maker-squirrel', config: { - setupIcon: "./images/app-icons/win/icon.ico" + setupIcon: "./images/app-icons/win/icon.ico", + icon: "./images/app-icons/win/icon.ico" }, }, { From df79f3d9c9a5cbf346321dae382765765fd90e9f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 8 Nov 2023 23:08:38 +0200 Subject: [PATCH 08/82] Add a custom setup banner --- forge.config.js | 3 ++- images/app-icons/win/setup-banner.gif | Bin 0 -> 8690 bytes images/app-icons/win/setup-banner.xcf | Bin 0 -> 20970 bytes 3 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 images/app-icons/win/setup-banner.gif create mode 100644 images/app-icons/win/setup-banner.xcf diff --git a/forge.config.js b/forge.config.js index 1fa3bbc47..b0e85e52e 100644 --- a/forge.config.js +++ b/forge.config.js @@ -8,7 +8,8 @@ module.exports = { name: '@electron-forge/maker-squirrel', config: { setupIcon: "./images/app-icons/win/icon.ico", - icon: "./images/app-icons/win/icon.ico" + icon: "./images/app-icons/win/icon.ico", + loadingGif: "./images/app-icons/win/setup-banner.gif" }, }, { diff --git a/images/app-icons/win/setup-banner.gif b/images/app-icons/win/setup-banner.gif new file mode 100644 index 0000000000000000000000000000000000000000..fb2447b641cb222324a5ff62169457cb5183cb55 GIT binary patch literal 8690 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 literal 0 HcmV?d00001 diff --git a/images/app-icons/win/setup-banner.xcf b/images/app-icons/win/setup-banner.xcf new file mode 100644 index 0000000000000000000000000000000000000000..d01d3b47694955d066f289dc22034ba7a115c922 GIT binary patch literal 20970 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 literal 0 HcmV?d00001 From 7cace222c00d7320e54b8458fad0d8b967a94f09 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 8 Nov 2023 23:17:13 +0200 Subject: [PATCH 09/82] Fix installer if webpack not run --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6ddddcf18..829a705f1 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "prepare": "husky install || echo 'Husky install failed, expected on flatpak build'", "start": "electron-forge start", "package": "electron-forge package", - "make": "electron-forge make" + "make": "npm run webpack && electron-forge make" }, "dependencies": { "@braintree/sanitize-url": "6.0.4", From e9282976d5d1b28d7c2dd028a1ff8164125c71f5 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 8 Nov 2023 23:53:08 +0200 Subject: [PATCH 10/82] Fix application icon --- forge.config.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/forge.config.js b/forge.config.js index b0e85e52e..b5893ee66 100644 --- a/forge.config.js +++ b/forge.config.js @@ -1,6 +1,8 @@ module.exports = { packagerConfig: { asar: true, + // icon will break once we add .dmg support, since the .ico & .icns have to be in same dir (see https://www.electronforge.io/guides/create-and-add-icons#windows-and-macos) + icon: "./images/app-icons/win/icon" }, rebuildConfig: {}, makers: [ @@ -8,9 +10,8 @@ module.exports = { name: '@electron-forge/maker-squirrel', config: { setupIcon: "./images/app-icons/win/icon.ico", - icon: "./images/app-icons/win/icon.ico", loadingGif: "./images/app-icons/win/setup-banner.gif" - }, + } }, { name: '@electron-forge/maker-zip', From a5c150babae7351667fe3ecb1625aa0579576ea9 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 9 Nov 2023 20:04:07 +0200 Subject: [PATCH 11/82] Remove unused electron-forge config --- forge.config.js | 14 +- package-lock.json | 345 ---------------------------------------------- package.json | 3 - 3 files changed, 1 insertion(+), 361 deletions(-) diff --git a/forge.config.js b/forge.config.js index b5893ee66..328ad5894 100644 --- a/forge.config.js +++ b/forge.config.js @@ -12,19 +12,7 @@ module.exports = { setupIcon: "./images/app-icons/win/icon.ico", loadingGif: "./images/app-icons/win/setup-banner.gif" } - }, - { - name: '@electron-forge/maker-zip', - platforms: ['darwin'], - }, - { - name: '@electron-forge/maker-deb', - config: {}, - }, - { - name: '@electron-forge/maker-rpm', - config: {}, - }, + } ], plugins: [ { diff --git a/package-lock.json b/package-lock.json index c05bd5554..8876836c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -81,10 +81,7 @@ }, "devDependencies": { "@electron-forge/cli": "^6.4.2", - "@electron-forge/maker-deb": "^6.4.2", - "@electron-forge/maker-rpm": "^6.4.2", "@electron-forge/maker-squirrel": "^6.4.2", - "@electron-forge/maker-zip": "^6.4.2", "@electron-forge/plugin-auto-unpack-natives": "^6.4.2", "cross-env": "7.0.3", "electron": "25.9.3", @@ -845,38 +842,6 @@ "node": ">= 10.0.0" } }, - "node_modules/@electron-forge/maker-deb": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/@electron-forge/maker-deb/-/maker-deb-6.4.2.tgz", - "integrity": "sha512-tlV8ffivgBP94vtYXgAeXgzeKCaRyLuWH9LT8PQW1QrYbAFpCMmuwk/zFaJkyMklImCWmDFTPYMEqdEJGd7Npg==", - "dev": true, - "dependencies": { - "@electron-forge/maker-base": "6.4.2", - "@electron-forge/shared-types": "6.4.2" - }, - "engines": { - "node": ">= 14.17.5" - }, - "optionalDependencies": { - "electron-installer-debian": "^3.2.0" - } - }, - "node_modules/@electron-forge/maker-rpm": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/@electron-forge/maker-rpm/-/maker-rpm-6.4.2.tgz", - "integrity": "sha512-+hfbY5pYbAer0y07OtOzVgVBHoTRmemqqZ//T0mKJpyK2ThHKGTvyW8FFlr5jlQs5LoDCM2WHKE8oGtRhivsMg==", - "dev": true, - "dependencies": { - "@electron-forge/maker-base": "6.4.2", - "@electron-forge/shared-types": "6.4.2" - }, - "engines": { - "node": ">= 14.17.5" - }, - "optionalDependencies": { - "electron-installer-redhat": "^3.2.0" - } - }, "node_modules/@electron-forge/maker-squirrel": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-6.4.2.tgz", @@ -929,57 +894,6 @@ "node": ">= 10.0.0" } }, - "node_modules/@electron-forge/maker-zip": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/@electron-forge/maker-zip/-/maker-zip-6.4.2.tgz", - "integrity": "sha512-k2nfhhnxcYbUS7rCKCisuqEalxtH9l73+lrtfL0aQZiE/BLbDXyNckDIDOPvX0tBEg62nVzUdJonZwOhZVvAMw==", - "dev": true, - "dependencies": { - "@electron-forge/maker-base": "6.4.2", - "@electron-forge/shared-types": "6.4.2", - "cross-zip": "^4.0.0", - "fs-extra": "^10.0.0", - "got": "^11.8.5" - }, - "engines": { - "node": ">= 14.17.5" - } - }, - "node_modules/@electron-forge/maker-zip/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@electron-forge/maker-zip/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-forge/maker-zip/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@electron-forge/plugin-auto-unpack-natives": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/@electron-forge/plugin-auto-unpack-natives/-/plugin-auto-unpack-natives-6.4.2.tgz", @@ -4753,29 +4667,6 @@ "node": ">= 10" } }, - "node_modules/cross-zip": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cross-zip/-/cross-zip-4.0.0.tgz", - "integrity": "sha512-MEzGfZo0rqE10O/B+AEcCSJLZsrWuRUvmqJTqHNqBtALhaJc3E3ixLGLJNTRzEA2K34wbmOHC4fwYs9sVsdcCA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=12.10" - } - }, "node_modules/csrf": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.1.0.tgz", @@ -5435,100 +5326,6 @@ "node": ">=10" } }, - "node_modules/electron-installer-redhat": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/electron-installer-redhat/-/electron-installer-redhat-3.4.0.tgz", - "integrity": "sha512-gEISr3U32Sgtj+fjxUAlSDo3wyGGq6OBx7rF5UdpIgbnpUvMN4W5uYb0ThpnAZ42VEJh/3aODQXHbFS4f5J3Iw==", - "dev": true, - "optional": true, - "os": [ - "darwin", - "linux" - ], - "dependencies": { - "@malept/cross-spawn-promise": "^1.0.0", - "debug": "^4.1.1", - "electron-installer-common": "^0.10.2", - "fs-extra": "^9.0.0", - "lodash": "^4.17.15", - "word-wrap": "^1.2.3", - "yargs": "^16.0.2" - }, - "bin": { - "electron-installer-redhat": "src/cli.js" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/electron-installer-redhat/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, - "optional": 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-installer-redhat/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, - "optional": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/electron-installer-redhat/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "optional": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/electron-installer-redhat/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "optional": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/electron-installer-redhat/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "optional": true, - "engines": { - "node": ">=10" - } - }, "node_modules/electron-is-accelerator": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/electron-is-accelerator/-/electron-is-accelerator-0.1.2.tgz", @@ -15361,28 +15158,6 @@ } } }, - "@electron-forge/maker-deb": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/@electron-forge/maker-deb/-/maker-deb-6.4.2.tgz", - "integrity": "sha512-tlV8ffivgBP94vtYXgAeXgzeKCaRyLuWH9LT8PQW1QrYbAFpCMmuwk/zFaJkyMklImCWmDFTPYMEqdEJGd7Npg==", - "dev": true, - "requires": { - "@electron-forge/maker-base": "6.4.2", - "@electron-forge/shared-types": "6.4.2", - "electron-installer-debian": "^3.2.0" - } - }, - "@electron-forge/maker-rpm": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/@electron-forge/maker-rpm/-/maker-rpm-6.4.2.tgz", - "integrity": "sha512-+hfbY5pYbAer0y07OtOzVgVBHoTRmemqqZ//T0mKJpyK2ThHKGTvyW8FFlr5jlQs5LoDCM2WHKE8oGtRhivsMg==", - "dev": true, - "requires": { - "@electron-forge/maker-base": "6.4.2", - "@electron-forge/shared-types": "6.4.2", - "electron-installer-redhat": "^3.2.0" - } - }, "@electron-forge/maker-squirrel": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-6.4.2.tgz", @@ -15424,48 +15199,6 @@ } } }, - "@electron-forge/maker-zip": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/@electron-forge/maker-zip/-/maker-zip-6.4.2.tgz", - "integrity": "sha512-k2nfhhnxcYbUS7rCKCisuqEalxtH9l73+lrtfL0aQZiE/BLbDXyNckDIDOPvX0tBEg62nVzUdJonZwOhZVvAMw==", - "dev": true, - "requires": { - "@electron-forge/maker-base": "6.4.2", - "@electron-forge/shared-types": "6.4.2", - "cross-zip": "^4.0.0", - "fs-extra": "^10.0.0", - "got": "^11.8.5" - }, - "dependencies": { - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "requires": { - "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.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true - } - } - }, "@electron-forge/plugin-auto-unpack-natives": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/@electron-forge/plugin-auto-unpack-natives/-/plugin-auto-unpack-natives-6.4.2.tgz", @@ -18364,12 +18097,6 @@ "which": "^2.0.2" } }, - "cross-zip": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cross-zip/-/cross-zip-4.0.0.tgz", - "integrity": "sha512-MEzGfZo0rqE10O/B+AEcCSJLZsrWuRUvmqJTqHNqBtALhaJc3E3ixLGLJNTRzEA2K34wbmOHC4fwYs9sVsdcCA==", - "dev": true - }, "csrf": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/csrf/-/csrf-3.1.0.tgz", @@ -18856,78 +18583,6 @@ } } }, - "electron-installer-redhat": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/electron-installer-redhat/-/electron-installer-redhat-3.4.0.tgz", - "integrity": "sha512-gEISr3U32Sgtj+fjxUAlSDo3wyGGq6OBx7rF5UdpIgbnpUvMN4W5uYb0ThpnAZ42VEJh/3aODQXHbFS4f5J3Iw==", - "dev": true, - "optional": true, - "requires": { - "@malept/cross-spawn-promise": "^1.0.0", - "debug": "^4.1.1", - "electron-installer-common": "^0.10.2", - "fs-extra": "^9.0.0", - "lodash": "^4.17.15", - "word-wrap": "^1.2.3", - "yargs": "^16.0.2" - }, - "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, - "optional": 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, - "optional": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "optional": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "optional": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "optional": true - } - } - }, "electron-is-accelerator": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/electron-is-accelerator/-/electron-is-accelerator-0.1.2.tgz", diff --git a/package.json b/package.json index 829a705f1..26119ec71 100644 --- a/package.json +++ b/package.json @@ -112,10 +112,7 @@ }, "devDependencies": { "@electron-forge/cli": "^6.4.2", - "@electron-forge/maker-deb": "^6.4.2", - "@electron-forge/maker-rpm": "^6.4.2", "@electron-forge/maker-squirrel": "^6.4.2", - "@electron-forge/maker-zip": "^6.4.2", "@electron-forge/plugin-auto-unpack-natives": "^6.4.2", "cross-env": "7.0.3", "electron": "25.9.3", From fe82b1d2d63cc85c2dac02870f101a7647b27406 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 9 Nov 2023 20:36:06 +0200 Subject: [PATCH 12/82] Start writing GitHub Actions workflow --- .github/workflows/release.yml | 16 ++++++++++++++++ package.json | 1 + 2 files changed, 17 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..227951182 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,16 @@ +name: Release + +on: + push: + +jobs: + build-windows-installer: + name: Build Windows Installer + runs-on: windows-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Install dependencies + run: npm install + - name: Run installer build + run: npm run make \ No newline at end of file diff --git a/package.json b/package.json index 26119ec71..02ed59e0c 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "email": "zadam.apps@gmail.com", "url": "https://github.com/zadam" }, + "copyright": "", "bin": { "trilium": "./src/www" }, From 4c1bc10d0f063cc6b50bfc02a8db54e69a0adfa0 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 9 Nov 2023 21:00:53 +0200 Subject: [PATCH 13/82] Publish installer artifact --- .github/workflows/release.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 227951182..975074bbb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,8 +9,16 @@ jobs: runs-on: windows-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 + - name: Install dependencies run: npm install + - name: Run installer build - run: npm run make \ No newline at end of file + run: npm run make + + - name: Publish installer artifact + uses: actions/upload-artifact@v3 + with: + name: Trilium Notes for Windows (.exe) + path: out/make/squirrel.windows/x64/*.exe \ No newline at end of file From a7006df8929c596ae6a9f50b904a91ac5fab09eb Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 16 Jul 2024 23:52:55 +0300 Subject: [PATCH 14/82] docker: Update to Node 20.15.1 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 78f058529..8087af0af 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # !!! Don't try to build this Dockerfile directly, run it through bin/build-docker.sh script !!! -FROM node:18.18.2-alpine +FROM node:20.15.1-alpine # Configure system dependencies RUN apk add --no-cache --virtual .build-dependencies \ From 0c0bcdcf4e389dc2ff020634f0f8d90d9af84894 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 16 Jul 2024 23:59:46 +0300 Subject: [PATCH 15/82] ci: Update to Node 20 --- .github/workflows/dev.yml | 2 +- .github/workflows/main.yml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 392046d2c..0a3e7cc06 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -10,7 +10,7 @@ jobs: - name: Set up node & dependencies uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 cache: "npm" - run: npm ci - name: Run the TypeScript build diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index be9306a02..0902fe63b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,7 +15,7 @@ jobs: - name: Set up node & dependencies uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 cache: "npm" - run: npm ci - run: ./bin/build-mac-x64.sh @@ -31,7 +31,7 @@ jobs: - name: Set up node & dependencies uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 cache: "npm" - run: npm ci - run: ./bin/build-mac-arm64.sh @@ -47,7 +47,7 @@ jobs: - name: Set up node & dependencies uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 cache: "npm" - run: npm ci - run: ./bin/build-linux-x64.sh @@ -67,7 +67,7 @@ jobs: - name: Set up node & dependencies uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 cache: "npm" - run: npm ci - run: ./bin/build-server.sh @@ -90,7 +90,7 @@ jobs: - name: Set up node & dependencies uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 cache: "npm" - run: npm ci - run: ./bin/build-win-x64.sh @@ -122,7 +122,7 @@ jobs: - name: Set up node & dependencies uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 cache: "npm" - run: npm ci - name: Run the TypeScript build From fe4bf31de87ad2d8692d67755bcf0cbe56eb58aa Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Jul 2024 00:01:33 +0300 Subject: [PATCH 16/82] Update .gitpod to Node 20 --- .gitpod.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitpod.yml b/.gitpod.yml index 65ce50015..2b77be7b7 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -2,7 +2,7 @@ image: file: .gitpod.dockerfile tasks: - - before: nvm install 18.18.2 && nvm use 18.18.2 + - before: nvm install 20.15.1 && nvm use 20.15.1 init: npm install command: npm run start-server From bc60d77cd77c0e97d84964c527870fc46ae6665d Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Jul 2024 00:02:19 +0300 Subject: [PATCH 17/82] ci: Force build release for branch --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0902fe63b..e7f20e540 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,6 +3,7 @@ on: push: branches: - 'develop' + - 'feature/update_to_node20' env: REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} From 6a2ed4f621f6bd555297a94829504905e3717f8f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Jul 2024 00:40:52 +0300 Subject: [PATCH 18/82] server: Upgrade better-sqlite3 to 8.5.0 --- package-lock.json | 14 +++++++------- package.json | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 222169254..5fbe5724a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "archiver": "7.0.0", "async-mutex": "0.4.1", "axios": "1.6.7", - "better-sqlite3": "8.4.0", + "better-sqlite3": "8.5.0", "boxicons": "2.1.4", "chokidar": "3.6.0", "cls-hooked": "4.2.2", @@ -2743,9 +2743,9 @@ } }, "node_modules/better-sqlite3": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-8.4.0.tgz", - "integrity": "sha512-NmsNW1CQvqMszu/CFAJ3pLct6NEFlNfuGM6vw72KHkjOD1UDnL96XNN1BMQc1hiHo8vE2GbOWQYIpZ+YM5wrZw==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-8.5.0.tgz", + "integrity": "sha512-vbPcv/Hx5WYdyNg/NbcfyaBZyv9s/NVbxb7yCeC5Bq1pVocNxeL2tZmSu3Rlm4IEOTjYdGyzWQgyx0OSdORBzw==", "hasInstallScript": true, "dependencies": { "bindings": "^1.5.0", @@ -15569,9 +15569,9 @@ } }, "better-sqlite3": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-8.4.0.tgz", - "integrity": "sha512-NmsNW1CQvqMszu/CFAJ3pLct6NEFlNfuGM6vw72KHkjOD1UDnL96XNN1BMQc1hiHo8vE2GbOWQYIpZ+YM5wrZw==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-8.5.0.tgz", + "integrity": "sha512-vbPcv/Hx5WYdyNg/NbcfyaBZyv9s/NVbxb7yCeC5Bq1pVocNxeL2tZmSu3Rlm4IEOTjYdGyzWQgyx0OSdORBzw==", "requires": { "bindings": "^1.5.0", "prebuild-install": "^7.1.0" diff --git a/package.json b/package.json index c2493d34f..ed3387b65 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "qstart-electron": "npm run qswitch-electron && TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev electron --inspect=5858 .", "start-test-server": "npm run qswitch-server; rm -rf ./data-test; cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data-test TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev TRILIUM_PORT=9999 ts-node src/www.ts", "switch-server": "rm -rf ./node_modules/better-sqlite3 && npm install", - "switch-electron": "./node_modules/.bin/electron-rebuild", + "switch-electron": "npx electron-rebuild", "qswitch-server": "rm -rf ./node_modules/better-sqlite3/bin ; mkdir -p ./node_modules/better-sqlite3/build ; cp ./bin/better-sqlite3/linux-server-better_sqlite3.node ./node_modules/better-sqlite3/build/better_sqlite3.node", "qswitch-electron": "rm -rf ./node_modules/better-sqlite3/bin ; mkdir -p ./node_modules/better-sqlite3/build ; cp ./bin/better-sqlite3/linux-desktop-better_sqlite3.node ./node_modules/better-sqlite3/build/better_sqlite3.node", "build-backend-docs": "rm -rf ./docs/backend_api && ./node_modules/.bin/jsdoc -c jsdoc-conf.json -d ./docs/backend_api src/becca/entities/*.js src/services/backend_script_api.js src/services/sql.js", @@ -40,7 +40,7 @@ "archiver": "7.0.0", "async-mutex": "0.4.1", "axios": "1.6.7", - "better-sqlite3": "8.4.0", + "better-sqlite3": "8.5.0", "boxicons": "2.1.4", "chokidar": "3.6.0", "cls-hooked": "4.2.2", From 612907c830924e5fc7a87c402a99a55ff66e74b0 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Jul 2024 01:01:41 +0300 Subject: [PATCH 19/82] Revert "ci: Force build release for branch" This reverts commit bc60d77cd77c0e97d84964c527870fc46ae6665d. --- .github/workflows/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e7f20e540..0902fe63b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,7 +3,6 @@ on: push: branches: - 'develop' - - 'feature/update_to_node20' env: REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} From e74b7f69643f15e2dc08626becf714503cefe1bb Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 17 Jul 2024 01:08:33 +0300 Subject: [PATCH 20/82] build: Update NODE_VERSION in build-server --- bin/build-server.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/build-server.sh b/bin/build-server.sh index 6299908c2..94a3650ef 100755 --- a/bin/build-server.sh +++ b/bin/build-server.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash PKG_DIR=dist/trilium-linux-x64-server -NODE_VERSION=18.18.2 +NODE_VERSION=20.15.1 if [ "$1" != "DONTCOPY" ] then From 30c18102118d0f84726a9ae5efd689832f9038ea Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 12:23:56 +0300 Subject: [PATCH 21/82] docs: Set up basic download script --- docs-new/.env | 1 + docs-new/.env.example | 1 + docs-new/.gitignore | 1 + docs-new/prepare.sh | 11 +++++++++++ 4 files changed, 14 insertions(+) create mode 100644 docs-new/.env create mode 100644 docs-new/.env.example create mode 100644 docs-new/.gitignore create mode 100755 docs-new/prepare.sh diff --git a/docs-new/.env b/docs-new/.env new file mode 100644 index 000000000..fa85707e4 --- /dev/null +++ b/docs-new/.env @@ -0,0 +1 @@ +SHARE_URL=https://notes.eliandoran.me/share/4yYHqKbLovVX \ No newline at end of file diff --git a/docs-new/.env.example b/docs-new/.env.example new file mode 100644 index 000000000..51661dcd3 --- /dev/null +++ b/docs-new/.env.example @@ -0,0 +1 @@ +SHARE_URL=https://notes.example.com/share/4yYHqKbLovVY \ No newline at end of file diff --git a/docs-new/.gitignore b/docs-new/.gitignore new file mode 100644 index 000000000..6caf68aff --- /dev/null +++ b/docs-new/.gitignore @@ -0,0 +1 @@ +output \ No newline at end of file diff --git a/docs-new/prepare.sh b/docs-new/prepare.sh new file mode 100755 index 000000000..735af9818 --- /dev/null +++ b/docs-new/prepare.sh @@ -0,0 +1,11 @@ +if [ ! -f .env ]; then + echo "Missing .env file, cannot proceed." + exit 1 +fi + +output_dir="output" +rm -rf "$output_dir" +mkdir -p "$output_dir" + +source ./.env +wget -rp -e robots=off "$SHARE_URL" -P "$output_dir" \ No newline at end of file From 621cc4a0651f0dc0ac3054f7117133d6c47b7098 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 12:26:52 +0300 Subject: [PATCH 22/82] docs: Get rid of domain in output folder --- docs-new/.env | 3 +++ docs-new/prepare.sh | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/docs-new/.env b/docs-new/.env index fa85707e4..e1182ce1a 100644 --- a/docs-new/.env +++ b/docs-new/.env @@ -1 +1,4 @@ +SHARE_PROTOCOL=https +SHARE_HOST=notes.eliandoran.me +ROOT_NOTE_ID=4yYHqKbLovVX SHARE_URL=https://notes.eliandoran.me/share/4yYHqKbLovVX \ No newline at end of file diff --git a/docs-new/prepare.sh b/docs-new/prepare.sh index 735af9818..bc579ad28 100755 --- a/docs-new/prepare.sh +++ b/docs-new/prepare.sh @@ -8,4 +8,11 @@ rm -rf "$output_dir" mkdir -p "$output_dir" source ./.env -wget -rp -e robots=off "$SHARE_URL" -P "$output_dir" \ No newline at end of file + +# Download everything in output/notes.example.com/share/... +share_url="$SHARE_PROTOCOL://$SHARE_HOST/share/$ROOT_NOTE_ID" +wget -rp -e robots=off "$share_url" -P "$output_dir" + +# Get rid of the domain in the output folder +mv "$output_dir/$SHARE_HOST"/* "$output_dir/" +rmdir "$output_dir/$SHARE_HOST" \ No newline at end of file From bfab6b4d5cc017e6868fdc1b4a0908ddca98ede8 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 12:29:12 +0300 Subject: [PATCH 23/82] docs: Add preview script --- docs-new/preview.sh | 1 + 1 file changed, 1 insertion(+) create mode 100755 docs-new/preview.sh diff --git a/docs-new/preview.sh b/docs-new/preview.sh new file mode 100755 index 000000000..a7860509c --- /dev/null +++ b/docs-new/preview.sh @@ -0,0 +1 @@ +httpd -fv -p 127.0.0.1:8089 -h output \ No newline at end of file From 5db499cf565b898e93fc05db20152ce26f56911b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 12:40:03 +0300 Subject: [PATCH 24/82] docs: Create home page with redirect --- docs-new/prepare.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs-new/prepare.sh b/docs-new/prepare.sh index bc579ad28..09e8e686e 100755 --- a/docs-new/prepare.sh +++ b/docs-new/prepare.sh @@ -15,4 +15,9 @@ wget -rp -e robots=off "$share_url" -P "$output_dir" # Get rid of the domain in the output folder mv "$output_dir/$SHARE_HOST"/* "$output_dir/" -rmdir "$output_dir/$SHARE_HOST" \ No newline at end of file +rmdir "$output_dir/$SHARE_HOST" + +# Create home page with redirect +index_dest_path="$output_dir/index.html" +cp index.template.html "$index_dest_path" +sed -i "s/{{ROOT_NOTE_ID}}/$ROOT_NOTE_ID/g" "$index_dest_path" \ No newline at end of file From 0a1a8c5a278f8c520cb3ddf0febb0d23ab89cd72 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 12:41:30 +0300 Subject: [PATCH 25/82] docs: Deploy to docs folder --- docs-new/index.template.html | 10 ++++++++++ docs-new/prepare.sh | 8 ++++++-- docs-new/preview.sh | 4 ++++ 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 docs-new/index.template.html diff --git a/docs-new/index.template.html b/docs-new/index.template.html new file mode 100644 index 000000000..c36a51172 --- /dev/null +++ b/docs-new/index.template.html @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/docs-new/prepare.sh b/docs-new/prepare.sh index 09e8e686e..13819e8cb 100755 --- a/docs-new/prepare.sh +++ b/docs-new/prepare.sh @@ -1,11 +1,15 @@ +#!/usr/bin/env bash + if [ ! -f .env ]; then echo "Missing .env file, cannot proceed." exit 1 fi -output_dir="output" -rm -rf "$output_dir" +script_dir=$(realpath $(dirname $0)) +output_dir="$script_dir/../docs" mkdir -p "$output_dir" +rm -f "$output_dir"/* +rm -rf "$output_dir"/{assets,share} source ./.env diff --git a/docs-new/preview.sh b/docs-new/preview.sh index a7860509c..ead04b24d 100755 --- a/docs-new/preview.sh +++ b/docs-new/preview.sh @@ -1 +1,5 @@ +#!/usr/bin/env bash + +script_dir=$(realpath $(dirname $0)) +output_dir="$script_dir/../docs" httpd -fv -p 127.0.0.1:8089 -h output \ No newline at end of file From d381ef51003783b9abb96e3f8f21a44b2e67881a Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 12:41:39 +0300 Subject: [PATCH 26/82] docs: Deploy first documentation --- docs/assets/v0.63.6/app-dist/share.js | 23 + .../libraries/ckeditor/ckeditor-content.css | 551 ++++++++++++++++++ .../v0.63.6/libraries/normalize.min.css | 2 + docs/assets/v0.63.6/stylesheets/share.css | 165 ++++++ docs/favicon.ico | Bin 0 -> 113456 bytes docs/index.html | 10 + docs/share/4yYHqKbLovVX | 126 ++++ docs/share/QXCi6Y1SYulw | 165 ++++++ docs/share/VS22Hq5PBFNf | 126 ++++ docs/share/hkrBX8KE1HQl | 121 ++++ 10 files changed, 1289 insertions(+) create mode 100644 docs/assets/v0.63.6/app-dist/share.js create mode 100644 docs/assets/v0.63.6/libraries/ckeditor/ckeditor-content.css create mode 100644 docs/assets/v0.63.6/libraries/normalize.min.css create mode 100644 docs/assets/v0.63.6/stylesheets/share.css create mode 100644 docs/favicon.ico create mode 100644 docs/index.html create mode 100644 docs/share/4yYHqKbLovVX create mode 100644 docs/share/QXCi6Y1SYulw create mode 100644 docs/share/VS22Hq5PBFNf create mode 100644 docs/share/hkrBX8KE1HQl diff --git a/docs/assets/v0.63.6/app-dist/share.js b/docs/assets/v0.63.6/app-dist/share.js new file mode 100644 index 000000000..03ad92515 --- /dev/null +++ b/docs/assets/v0.63.6/app-dist/share.js @@ -0,0 +1,23 @@ +/** + * Fetch note with given ID from backend + * + * @param noteId of the given note to be fetched. If false, fetches current note. + */ +async function fetchNote(noteId = null) { + if (!noteId) { + noteId = document.body.getAttribute("data-note-id"); + } + + const resp = await fetch(`api/notes/${noteId}`); + + return await resp.json(); +} + +document.addEventListener('DOMContentLoaded', () => { + const toggleMenuButton = document.getElementById('toggleMenuButton'); + const layout = document.getElementById('layout'); + + if (toggleMenuButton && layout) { + toggleMenuButton.addEventListener('click', () => layout.classList.toggle('showMenu')); + } +}, false); diff --git a/docs/assets/v0.63.6/libraries/ckeditor/ckeditor-content.css b/docs/assets/v0.63.6/libraries/ckeditor/ckeditor-content.css new file mode 100644 index 000000000..47274e5f4 --- /dev/null +++ b/docs/assets/v0.63.6/libraries/ckeditor/ckeditor-content.css @@ -0,0 +1,551 @@ +/* !!!!!! TRILIUM CUSTOM CHANGES !!!!!! */ + +.printed-content .ck-widget__selection-handle, .printed-content .ck-widget__type-around { /* gets rid of triangles: https://github.com/zadam/trilium/issues/1129 */ + display: none; +} + +/* + * CKEditor 5 (v41.0.0) content styles. + * Generated on Fri, 26 Jan 2024 10:23:49 GMT. + * For more information, check out https://ckeditor.com/docs/ckeditor5/latest/installation/advanced/content-styles.html + */ + +:root { + --ck-color-image-caption-background: hsl(0, 0%, 97%); + --ck-color-image-caption-text: hsl(0, 0%, 20%); + --ck-color-mention-background: hsla(341, 100%, 30%, 0.1); + --ck-color-mention-text: hsl(341, 100%, 30%); + --ck-color-selector-caption-background: hsl(0, 0%, 97%); + --ck-color-selector-caption-text: hsl(0, 0%, 20%); + --ck-highlight-marker-blue: hsl(201, 97%, 72%); + --ck-highlight-marker-green: hsl(120, 93%, 68%); + --ck-highlight-marker-pink: hsl(345, 96%, 73%); + --ck-highlight-marker-yellow: hsl(60, 97%, 73%); + --ck-highlight-pen-green: hsl(112, 100%, 27%); + --ck-highlight-pen-red: hsl(0, 85%, 49%); + --ck-image-style-spacing: 1.5em; + --ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2); + --ck-todo-list-checkmark-size: 16px; +} + +/* @ckeditor/ckeditor5-table/theme/tablecolumnresize.css */ +.ck-content .table .ck-table-resized { + table-layout: fixed; +} +/* @ckeditor/ckeditor5-table/theme/tablecolumnresize.css */ +.ck-content .table table { + overflow: hidden; +} +/* @ckeditor/ckeditor5-table/theme/tablecolumnresize.css */ +.ck-content .table td, +.ck-content .table th { + overflow-wrap: break-word; + position: relative; +} +/* @ckeditor/ckeditor5-table/theme/table.css */ +.ck-content .table { + margin: 0.9em auto; + display: table; +} +/* @ckeditor/ckeditor5-table/theme/table.css */ +.ck-content .table table { + border-collapse: collapse; + border-spacing: 0; + width: 100%; + height: 100%; + border: 1px double hsl(0, 0%, 70%); +} +/* @ckeditor/ckeditor5-table/theme/table.css */ +.ck-content .table table td, +.ck-content .table table th { + min-width: 2em; + padding: .4em; + border: 1px solid hsl(0, 0%, 75%); +} +/* @ckeditor/ckeditor5-table/theme/table.css */ +.ck-content .table table th { + font-weight: bold; + background: hsla(0, 0%, 0%, 5%); +} +/* @ckeditor/ckeditor5-table/theme/table.css */ +.ck-content[dir="rtl"] .table th { + text-align: right; +} +/* @ckeditor/ckeditor5-table/theme/table.css */ +.ck-content[dir="ltr"] .table th { + text-align: left; +} +/* @ckeditor/ckeditor5-table/theme/tablecaption.css */ +.ck-content .table > figcaption { + display: table-caption; + caption-side: top; + word-break: break-word; + text-align: center; + color: var(--ck-color-selector-caption-text); + background-color: var(--ck-color-selector-caption-background); + padding: .6em; + font-size: .75em; + outline-offset: -1px; +} +/* @ckeditor/ckeditor5-page-break/theme/pagebreak.css */ +.ck-content .page-break { + position: relative; + clear: both; + padding: 5px 0; + display: flex; + align-items: center; + justify-content: center; +} +/* @ckeditor/ckeditor5-page-break/theme/pagebreak.css */ +.ck-content .page-break::after { + content: ''; + position: absolute; + border-bottom: 2px dashed hsl(0, 0%, 77%); + width: 100%; +} +/* @ckeditor/ckeditor5-page-break/theme/pagebreak.css */ +.ck-content .page-break__label { + position: relative; + z-index: 1; + padding: .3em .6em; + display: block; + text-transform: uppercase; + border: 1px solid hsl(0, 0%, 77%); + border-radius: 2px; + font-family: Helvetica, Arial, Tahoma, Verdana, Sans-Serif; + font-size: 0.75em; + font-weight: bold; + color: hsl(0, 0%, 20%); + background: hsl(0, 0%, 100%); + box-shadow: 2px 2px 1px hsla(0, 0%, 0%, 0.15); + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +/* @ckeditor/ckeditor5-media-embed/theme/mediaembed.css */ +.ck-content .media { + clear: both; + margin: 0.9em 0; + display: block; + min-width: 15em; +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-content .todo-list { + list-style: none; +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-content .todo-list li { + position: relative; + margin-bottom: 5px; +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-content .todo-list li .todo-list { + margin-top: 5px; +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-content .todo-list .todo-list__label > input { + -webkit-appearance: none; + display: inline-block; + position: relative; + width: var(--ck-todo-list-checkmark-size); + height: var(--ck-todo-list-checkmark-size); + vertical-align: middle; + border: 0; + left: -25px; + margin-right: -15px; + right: 0; + margin-left: 0; +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-content[dir=rtl] .todo-list .todo-list__label > input { + left: 0; + margin-right: 0; + right: -25px; + margin-left: -15px; +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-content .todo-list .todo-list__label > input::before { + display: block; + position: absolute; + box-sizing: border-box; + content: ''; + width: 100%; + height: 100%; + border: 1px solid hsl(0, 0%, 20%); + border-radius: 2px; + transition: 250ms ease-in-out box-shadow; +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-content .todo-list .todo-list__label > input::after { + display: block; + position: absolute; + box-sizing: content-box; + pointer-events: none; + content: ''; + left: calc( var(--ck-todo-list-checkmark-size) / 3 ); + top: calc( var(--ck-todo-list-checkmark-size) / 5.3 ); + width: calc( var(--ck-todo-list-checkmark-size) / 5.3 ); + height: calc( var(--ck-todo-list-checkmark-size) / 2.6 ); + border-style: solid; + border-color: transparent; + border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0; + transform: rotate(45deg); +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-content .todo-list .todo-list__label > input[checked]::before { + background: hsl(126, 64%, 41%); + border-color: hsl(126, 64%, 41%); +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-content .todo-list .todo-list__label > input[checked]::after { + border-color: hsl(0, 0%, 100%); +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-content .todo-list .todo-list__label .todo-list__label__description { + vertical-align: middle; +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox] { + position: absolute; +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-editor__editable.ck-content .todo-list .todo-list__label > input, +.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input { + cursor: pointer; +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-editor__editable.ck-content .todo-list .todo-list__label > input:hover::before, .ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input:hover::before { + box-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1); +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input { + -webkit-appearance: none; + display: inline-block; + position: relative; + width: var(--ck-todo-list-checkmark-size); + height: var(--ck-todo-list-checkmark-size); + vertical-align: middle; + border: 0; + left: -25px; + margin-right: -15px; + right: 0; + margin-left: 0; +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-editor__editable.ck-content[dir=rtl] .todo-list .todo-list__label > span[contenteditable=false] > input { + left: 0; + margin-right: 0; + right: -25px; + margin-left: -15px; +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input::before { + display: block; + position: absolute; + box-sizing: border-box; + content: ''; + width: 100%; + height: 100%; + border: 1px solid hsl(0, 0%, 20%); + border-radius: 2px; + transition: 250ms ease-in-out box-shadow; +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input::after { + display: block; + position: absolute; + box-sizing: content-box; + pointer-events: none; + content: ''; + left: calc( var(--ck-todo-list-checkmark-size) / 3 ); + top: calc( var(--ck-todo-list-checkmark-size) / 5.3 ); + width: calc( var(--ck-todo-list-checkmark-size) / 5.3 ); + height: calc( var(--ck-todo-list-checkmark-size) / 2.6 ); + border-style: solid; + border-color: transparent; + border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0; + transform: rotate(45deg); +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input[checked]::before { + background: hsl(126, 64%, 41%); + border-color: hsl(126, 64%, 41%); +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-editor__editable.ck-content .todo-list .todo-list__label > span[contenteditable=false] > input[checked]::after { + border-color: hsl(0, 0%, 100%); +} +/* @ckeditor/ckeditor5-list/theme/todolist.css */ +.ck-editor__editable.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox] { + position: absolute; +} +/* @ckeditor/ckeditor5-list/theme/list.css */ +.ck-content ol { + list-style-type: decimal; +} +/* @ckeditor/ckeditor5-list/theme/list.css */ +.ck-content ol ol { + list-style-type: lower-latin; +} +/* @ckeditor/ckeditor5-list/theme/list.css */ +.ck-content ol ol ol { + list-style-type: lower-roman; +} +/* @ckeditor/ckeditor5-list/theme/list.css */ +.ck-content ol ol ol ol { + list-style-type: upper-latin; +} +/* @ckeditor/ckeditor5-list/theme/list.css */ +.ck-content ol ol ol ol ol { + list-style-type: upper-roman; +} +/* @ckeditor/ckeditor5-list/theme/list.css */ +.ck-content ul { + list-style-type: disc; +} +/* @ckeditor/ckeditor5-list/theme/list.css */ +.ck-content ul ul { + list-style-type: circle; +} +/* @ckeditor/ckeditor5-list/theme/list.css */ +.ck-content ul ul ul { + list-style-type: square; +} +/* @ckeditor/ckeditor5-list/theme/list.css */ +.ck-content ul ul ul ul { + list-style-type: square; +} +/* @ckeditor/ckeditor5-image/theme/image.css */ +.ck-content .image { + display: table; + clear: both; + text-align: center; + margin: 0.9em auto; + min-width: 50px; +} +/* @ckeditor/ckeditor5-image/theme/image.css */ +.ck-content .image img { + display: block; + margin: 0 auto; + max-width: 100%; + min-width: 100%; + height: auto; +} +/* @ckeditor/ckeditor5-image/theme/image.css */ +.ck-content .image-inline { + /* + * Normally, the .image-inline would have "display: inline-block" and "img { width: 100% }" (to follow the wrapper while resizing).; + * Unfortunately, together with "srcset", it gets automatically stretched up to the width of the editing root. + * This strange behavior does not happen with inline-flex. + */ + display: inline-flex; + max-width: 100%; + align-items: flex-start; +} +/* @ckeditor/ckeditor5-image/theme/image.css */ +.ck-content .image-inline picture { + display: flex; +} +/* @ckeditor/ckeditor5-image/theme/image.css */ +.ck-content .image-inline picture, +.ck-content .image-inline img { + flex-grow: 1; + flex-shrink: 1; + max-width: 100%; +} +/* @ckeditor/ckeditor5-image/theme/imageresize.css */ +.ck-content img.image_resized { + height: auto; +} +/* @ckeditor/ckeditor5-image/theme/imageresize.css */ +.ck-content .image.image_resized { + max-width: 100%; + display: block; + box-sizing: border-box; +} +/* @ckeditor/ckeditor5-image/theme/imageresize.css */ +.ck-content .image.image_resized img { + width: 100%; +} +/* @ckeditor/ckeditor5-image/theme/imageresize.css */ +.ck-content .image.image_resized > figcaption { + display: block; +} +/* @ckeditor/ckeditor5-image/theme/imagecaption.css */ +.ck-content .image > figcaption { + display: table-caption; + caption-side: bottom; + word-break: break-word; + color: var(--ck-color-image-caption-text); + background-color: var(--ck-color-image-caption-background); + padding: .6em; + font-size: .75em; + outline-offset: -1px; +} +/* @ckeditor/ckeditor5-image/theme/imagestyle.css */ +.ck-content .image-style-block-align-left, +.ck-content .image-style-block-align-right { + max-width: calc(100% - var(--ck-image-style-spacing)); +} +/* @ckeditor/ckeditor5-image/theme/imagestyle.css */ +.ck-content .image-style-align-left, +.ck-content .image-style-align-right { + clear: none; +} +/* @ckeditor/ckeditor5-image/theme/imagestyle.css */ +.ck-content .image-style-side { + float: right; + margin-left: var(--ck-image-style-spacing); + max-width: 50%; +} +/* @ckeditor/ckeditor5-image/theme/imagestyle.css */ +.ck-content .image-style-align-left { + float: left; + margin-right: var(--ck-image-style-spacing); +} +/* @ckeditor/ckeditor5-image/theme/imagestyle.css */ +.ck-content .image-style-align-center { + margin-left: auto; + margin-right: auto; +} +/* @ckeditor/ckeditor5-image/theme/imagestyle.css */ +.ck-content .image-style-align-right { + float: right; + margin-left: var(--ck-image-style-spacing); +} +/* @ckeditor/ckeditor5-image/theme/imagestyle.css */ +.ck-content .image-style-block-align-right { + margin-right: 0; + margin-left: auto; +} +/* @ckeditor/ckeditor5-image/theme/imagestyle.css */ +.ck-content .image-style-block-align-left { + margin-left: 0; + margin-right: auto; +} +/* @ckeditor/ckeditor5-image/theme/imagestyle.css */ +.ck-content p + .image-style-align-left, +.ck-content p + .image-style-align-right, +.ck-content p + .image-style-side { + margin-top: 0; +} +/* @ckeditor/ckeditor5-image/theme/imagestyle.css */ +.ck-content .image-inline.image-style-align-left, +.ck-content .image-inline.image-style-align-right { + margin-top: var(--ck-inline-image-style-spacing); + margin-bottom: var(--ck-inline-image-style-spacing); +} +/* @ckeditor/ckeditor5-image/theme/imagestyle.css */ +.ck-content .image-inline.image-style-align-left { + margin-right: var(--ck-inline-image-style-spacing); +} +/* @ckeditor/ckeditor5-image/theme/imagestyle.css */ +.ck-content .image-inline.image-style-align-right { + margin-left: var(--ck-inline-image-style-spacing); +} +/* @ckeditor/ckeditor5-highlight/theme/highlight.css */ +.ck-content .marker-yellow { + background-color: var(--ck-highlight-marker-yellow); +} +/* @ckeditor/ckeditor5-highlight/theme/highlight.css */ +.ck-content .marker-green { + background-color: var(--ck-highlight-marker-green); +} +/* @ckeditor/ckeditor5-highlight/theme/highlight.css */ +.ck-content .marker-pink { + background-color: var(--ck-highlight-marker-pink); +} +/* @ckeditor/ckeditor5-highlight/theme/highlight.css */ +.ck-content .marker-blue { + background-color: var(--ck-highlight-marker-blue); +} +/* @ckeditor/ckeditor5-highlight/theme/highlight.css */ +.ck-content .pen-red { + color: var(--ck-highlight-pen-red); + background-color: transparent; +} +/* @ckeditor/ckeditor5-highlight/theme/highlight.css */ +.ck-content .pen-green { + color: var(--ck-highlight-pen-green); + background-color: transparent; +} +/* @ckeditor/ckeditor5-block-quote/theme/blockquote.css */ +.ck-content blockquote { + overflow: hidden; + padding-right: 1.5em; + padding-left: 1.5em; + margin-left: 0; + margin-right: 0; + font-style: italic; + border-left: solid 5px hsl(0, 0%, 80%); +} +/* @ckeditor/ckeditor5-block-quote/theme/blockquote.css */ +.ck-content[dir="rtl"] blockquote { + border-left: 0; + border-right: solid 5px hsl(0, 0%, 80%); +} +/* @ckeditor/ckeditor5-basic-styles/theme/code.css */ +.ck-content code { + background-color: hsla(0, 0%, 78%, 0.3); + padding: .15em; + border-radius: 2px; +} +/* @ckeditor/ckeditor5-font/theme/fontsize.css */ +.ck-content .text-tiny { + font-size: .7em; +} +/* @ckeditor/ckeditor5-font/theme/fontsize.css */ +.ck-content .text-small { + font-size: .85em; +} +/* @ckeditor/ckeditor5-font/theme/fontsize.css */ +.ck-content .text-big { + font-size: 1.4em; +} +/* @ckeditor/ckeditor5-font/theme/fontsize.css */ +.ck-content .text-huge { + font-size: 1.8em; +} +/* @ckeditor/ckeditor5-mention/theme/mention.css */ +.ck-content .mention { + background: var(--ck-color-mention-background); + color: var(--ck-color-mention-text); +} +/* @ckeditor/ckeditor5-horizontal-line/theme/horizontalline.css */ +.ck-content hr { + margin: 15px 0; + height: 4px; + background: hsl(0, 0%, 87%); + border: 0; +} +/* @ckeditor/ckeditor5-code-block/theme/codeblock.css */ +.ck-content pre { + padding: 1em; + color: hsl(0, 0%, 20.8%); + background: hsla(0, 0%, 78%, 0.3); + border: 1px solid hsl(0, 0%, 77%); + border-radius: 2px; + text-align: left; + direction: ltr; + tab-size: 4; + white-space: pre-wrap; + font-style: normal; + min-width: 200px; +} +/* @ckeditor/ckeditor5-code-block/theme/codeblock.css */ +.ck-content pre code { + background: unset; + padding: 0; + border-radius: 0; +} +@media print { + /* @ckeditor/ckeditor5-page-break/theme/pagebreak.css */ + .ck-content .page-break { + padding: 0; + } + /* @ckeditor/ckeditor5-page-break/theme/pagebreak.css */ + .ck-content .page-break::after { + display: none; + } +} diff --git a/docs/assets/v0.63.6/libraries/normalize.min.css b/docs/assets/v0.63.6/libraries/normalize.min.css new file mode 100644 index 000000000..87aa24dc5 --- /dev/null +++ b/docs/assets/v0.63.6/libraries/normalize.min.css @@ -0,0 +1,2 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none} +/*# sourceMappingURL=normalize.min.css.map */ \ No newline at end of file diff --git a/docs/assets/v0.63.6/stylesheets/share.css b/docs/assets/v0.63.6/stylesheets/share.css new file mode 100644 index 000000000..718f8594c --- /dev/null +++ b/docs/assets/v0.63.6/stylesheets/share.css @@ -0,0 +1,165 @@ +body { + font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif; + line-height: 1.5; +} + +#layout { + max-width: 1200px; + margin: 0 auto; + display: flex; + flex-direction: row-reverse; +} + +#menu { + padding: 25px; + flex-basis: 0; + flex-grow: 1; + overflow: auto; +} + +#menu p { + margin: 0; +} + +#menu > p { + font-weight: bold; + font-size: 110%; +} + +#menu ul { + padding-left: 20px; +} + +#main { + flex-basis: 0; + flex-grow: 3; + overflow: auto; + padding: 10px 20px 20px 20px; +} + +#parentLink { + float: right; + margin-top: 20px; +} + +#title { + margin: 0; + padding-top: 10px; +} + +img { + max-width: 100%; +} + +pre { + white-space: pre-wrap; + word-wrap: anywhere; +} + +iframe.pdf-view { + width: 100%; + height: 800px; +} + +#toggleMenuButton { + display: none; + position: fixed; + top: 8px; + left: 5px; + width: 1.4em; + border-radius: 5px; + border: 1px solid #aaa; + font-size: 2rem; + z-index: 10; + height: auto; + color: black; + cursor: pointer; +} + +#childLinks.grid ul { + list-style-type: none; + display: flex; + flex-wrap: wrap; + padding: 0; +} + +#childLinks.grid ul li { + width: 180px; + height: 140px; + padding: 10px; +} + +#childLinks.grid ul li a { + display: flex; + flex-direction: column; + height: 100%; + width: 100%; + border: 1px solid #ddd; + border-radius: 5px; + justify-content: center; + align-content: center; + text-align: center; + font-size: large; +} + +#childLinks.grid ul li a:hover { + background: #eee; +} + +#childLinks.list ul { + list-style-type: none; + display: inline-flex; + flex-wrap: wrap; + padding: 0; + margin-top: 5px; +} + +#childLinks.list ul li { + margin-right: 20px; +} + +#noteClippedFrom { + padding: 10px 0 10px 0; + margin: 20px 0 20px 0; + color: #666; + border: 1px solid #ddd; + border-left: 0; + border-right: 0; +} + +#toggleMenuButton::after { + position: relative; + top: -2px; + left: 1px; +} + +@media (max-width: 48em) { + #layout.showMenu #menu { + display: block; + margin-top: 40px; + } + + #toggleMenuButton { + display: block; + } + + #layout.showMenu #main { + display: none; + } + + #title { + padding-left: 60px; + } + + #layout.showMenu #toggleMenuButton::after { + content: "«"; + } + + #toggleMenuButton::after { + content: "»"; + } + + #menu { + display: none; + } +} diff --git a/docs/favicon.ico b/docs/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..46b97e62f959eb1d6f7e9a11293f6b4fb7837109 GIT binary patch literal 113456 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 a!z{Wh$r7QO9N^t7z~08$`h_Jn;eP + + + + + + + + + \ No newline at end of file diff --git a/docs/share/4yYHqKbLovVX b/docs/share/4yYHqKbLovVX new file mode 100644 index 000000000..40fbd79e4 --- /dev/null +++ b/docs/share/4yYHqKbLovVX @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + Developer's Guide + + +

+
+ + +

Developer's Guide

+ + + + + + + + +
+ + + + + + +
+ + diff --git a/docs/share/QXCi6Y1SYulw b/docs/share/QXCi6Y1SYulw new file mode 100644 index 000000000..22caad28f --- /dev/null +++ b/docs/share/QXCi6Y1SYulw @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + Adding a new client library + + +
+
+ + + + +

Adding a new client library

+ + + + +
+

In the past some libraries have been copy-pasted (and adapted if needed) to the repository. However, new libraries must be obtained exclusively through npm.

The first step is to install the desired library. As an example we are going to install i18next:

npm i i18next

Step 1. Understanding the structure of the import

After installing the dependency, it's important to know how it's structured. You can do this by looking at the directory structure of the newly imported dependency:

$ tree node_modules/i18next
+node_modules/i18next
+├── dist
+│   ├── cjs
+│   │   └── i18next.js
+│   ├── esm
+│   │   ├── i18next.bundled.js
+│   │   ├── i18next.js
+│   │   └── package.json
+│   └── umd
+│       ├── i18next.js
+│       └── i18next.min.js
+├── i18next.js
+├── i18next.min.js
+├── index.d.mts
+├── index.d.ts
+├── index.js
+├── index.v4.d.ts
+├── LICENSE
+├── package.json
+├── README.md
+└── typescript
+    ├── helpers.d.ts
+    ├── options.d.ts
+    ├── t.d.ts
+    └── t.v4.d.ts

Generally you should be looking for a .min.js file. Note that the esm and cjs variants generally don't work, we are looking for the classic, no module dependency.

Step 2. Exposing the library from the server

The library must be delivered by the server and this is done via src/routes/assets.ts. In the register function, add a new entry near the bottom of the function:

app.use(`/${assetPath}/node_modules/i18next/`, persistentCacheStatic(path.join(srcRoot, "..", 'node_modules/i18next/')));

Step 3. Adding it to the library loader

The library loader is a client module which is in charge of downloading the library from the server and importing it. The loader is located in src/public/app/services/library_loader.js.

To add a new library, start by creating a constant for it, with the value pointing to the minified JS identified at the first step:

const I18NEXT = {
+    js: [
+        "node_modules/i18next/i18next.min.js"
+    ]
+};

Then add it to the export default section:

 export default {
+     requireCss,
+     requireLibrary,
+     CKEDITOR,
+     CODE_MIRROR,
+     ESLINT,
+     RELATION_MAP,
+     PRINT_THIS,
+     CALENDAR_WIDGET,
+     KATEX,
+     WHEEL_ZOOM,
+     FORCE_GRAPH,
+     MERMAID,
+     EXCALIDRAW,
+-    MARKJS
++    MARKJS,
++    I18NEXT
+ }

Step 4. Using the library

To import the library, simply use the following mechanism:

import library_loader from "./library_loader.js";
+
+await library_loader.requireLibrary(library_loader.I18NEXT);

Make sure to replace I18NEXT with the library that was created at the previous steps.

Note that because we are not using a module management mechanism such as ES Modules or Common.js modules, the requireLibrary method does not actually return anything. 

To benefit from the library, it must export on its own an object in window.

In the case of i18next, it sets window.i18next and that can be used directly:

i18next.init({});
+
+ + + +
+ + + + + + +
+ + diff --git a/docs/share/VS22Hq5PBFNf b/docs/share/VS22Hq5PBFNf new file mode 100644 index 000000000..cf656981e --- /dev/null +++ b/docs/share/VS22Hq5PBFNf @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + Dependency Management + + +
+
+ + + + +

Dependency Management

+ + + + + + + + +
+ + + + + + +
+ + diff --git a/docs/share/hkrBX8KE1HQl b/docs/share/hkrBX8KE1HQl new file mode 100644 index 000000000..3cd51c05f --- /dev/null +++ b/docs/share/hkrBX8KE1HQl @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + Internationalisation + + +
+
+ + + + +

Internationalisation

+ + + + +
+

During the initial development of Trilium Notes, internationalisation was not considered as it was meant to be an English-only product.

As the application and the user base grows, it makes sense to be able to reach out as many people as possible by providing translations in their native language.

The library used is i18next.

What has been implemented so far

Where are the translations?

The translations are formatted as JSON files and they are located in src/public/translations. For every supported locale, there is a subdirectory in which there is a translation.json file (e.g. src/public/translations/en/translation.json).

Message keys

One important aspect is the fact that we are using a key-based approach. This means that each message is identified by an ID rather than a natural-language message (such as the default approach in gettext).

The key-based approach allows a hierarchical structure. For example, a key of about.title would be added in translation.json as follows:

{
+	"about": {
+		"title": "About TriliumNext Notes"
+	}
+} 

Adding a new locale

To add a new locale, go to src/public/translations with your favorite text editor and copy the en directory.

Rename the copy to the ISO code (e.g. fr, ro) of the language being translated.

Translations with a country-language combination, using their corresponding ISO code (e.g. fr_FR, fr_BE), has not been tested yet.

Changing the language

Since the internationalisation process is in its early stages, there is no user-facing way to switch the language.

To change the language manually, edit src/public/app/services/i18n.js and look for the line containing lng: "en". Replace en with the desired language code (from the ones available in src/public/translations).

Recommendations

  • Use hierarchy whenever appropriate, try to group the messages by:
    • Modals (e.g. about.foo, jump_to_note.foo)
  • Don't duplicate messages that are very widely used.
    • One such example is aria-label="Close" which should go to a single message such as modal.close instead of being duplicated in every modal.
  • On the other hand, don't overly generalise messages. A close message that is used whenever the “Close” word is encountered is not a good approach since it can potentially cause issues due to lack of context.
  • Use variable interpolation whenever appropriate.
    • If you see multiple messages joined together only to apply add a variable such as a user-inputted value, try to join those messages together into a single message containing a variable.
    • So instead of “Number of updates: “ + numUpdates + “.” use $(t("number_updates", { numUpdates })) where the message translation would appear as Number of updates: {{numUpdates}}.

Client-side translations

Component-level translations

Most of the client translations are present in the various widgets and layouts.

Translation support has to be added manually for every file.

The first step is to add the translation import with a relative import. For example, if we are in the src/public/app/widgets/dialogs directory, the import would look as follows:

import { t } from "../../services/i18n.js";

Afterwards, simply replace the hard-coded message with:

${t("msgid")}

where msgid is the key of the message being translated.

Template-level translations

Templates are .ejs files present in src/views, these are used to prepare the root layout for desktop, mobile applications as well as setup (onboarding) and the shared notes view.

Due to using a different approach, it is not possible yet to translate those files.

Server-side translations

Currently the server-side messages are not translatable. They will be added as a separate step.

+
+ + + +
+ + + + + + +
+ + From 4f5fa9f42b3890a17d23b7d9f5e46809723ba281 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 12:51:41 +0300 Subject: [PATCH 27/82] docs: Deploy .html files for GitHub Pages --- docs-new/prepare.sh | 5 +++++ docs/share/{4yYHqKbLovVX => 4yYHqKbLovVX.html} | 0 docs/share/{QXCi6Y1SYulw => QXCi6Y1SYulw.html} | 0 docs/share/{VS22Hq5PBFNf => VS22Hq5PBFNf.html} | 0 docs/share/{hkrBX8KE1HQl => hkrBX8KE1HQl.html} | 0 5 files changed, 5 insertions(+) rename docs/share/{4yYHqKbLovVX => 4yYHqKbLovVX.html} (100%) rename docs/share/{QXCi6Y1SYulw => QXCi6Y1SYulw.html} (100%) rename docs/share/{VS22Hq5PBFNf => VS22Hq5PBFNf.html} (100%) rename docs/share/{hkrBX8KE1HQl => hkrBX8KE1HQl.html} (100%) diff --git a/docs-new/prepare.sh b/docs-new/prepare.sh index 13819e8cb..e791434ed 100755 --- a/docs-new/prepare.sh +++ b/docs-new/prepare.sh @@ -21,6 +21,11 @@ wget -rp -e robots=off "$share_url" -P "$output_dir" mv "$output_dir/$SHARE_HOST"/* "$output_dir/" rmdir "$output_dir/$SHARE_HOST" +# Rename share/* to share/*.html because GitHub Pages will ask the client to download the files otherwise. +for file in "$output_dir/share"/*; do + mv "$file" "$file.html" +done + # Create home page with redirect index_dest_path="$output_dir/index.html" cp index.template.html "$index_dest_path" diff --git a/docs/share/4yYHqKbLovVX b/docs/share/4yYHqKbLovVX.html similarity index 100% rename from docs/share/4yYHqKbLovVX rename to docs/share/4yYHqKbLovVX.html diff --git a/docs/share/QXCi6Y1SYulw b/docs/share/QXCi6Y1SYulw.html similarity index 100% rename from docs/share/QXCi6Y1SYulw rename to docs/share/QXCi6Y1SYulw.html diff --git a/docs/share/VS22Hq5PBFNf b/docs/share/VS22Hq5PBFNf.html similarity index 100% rename from docs/share/VS22Hq5PBFNf rename to docs/share/VS22Hq5PBFNf.html diff --git a/docs/share/hkrBX8KE1HQl b/docs/share/hkrBX8KE1HQl.html similarity index 100% rename from docs/share/hkrBX8KE1HQl rename to docs/share/hkrBX8KE1HQl.html From 5bcae52d081ab96c75f54c104c35bb4fbf6af8b1 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 13:08:22 +0300 Subject: [PATCH 28/82] docs: Always use HTML extensions --- docs-new/index.template.html | 2 +- docs-new/prepare.sh | 9 ++------- docs-new/preview.sh | 2 +- docs/index.html | 2 +- docs/share/4yYHqKbLovVX.html | 10 +++++----- docs/share/QXCi6Y1SYulw.html | 8 ++++---- docs/share/VS22Hq5PBFNf.html | 10 +++++----- docs/share/hkrBX8KE1HQl.html | 8 ++++---- 8 files changed, 23 insertions(+), 28 deletions(-) diff --git a/docs-new/index.template.html b/docs-new/index.template.html index c36a51172..c37cb1c98 100644 --- a/docs-new/index.template.html +++ b/docs-new/index.template.html @@ -1,7 +1,7 @@ - + diff --git a/docs-new/prepare.sh b/docs-new/prepare.sh index e791434ed..91a520520 100755 --- a/docs-new/prepare.sh +++ b/docs-new/prepare.sh @@ -15,18 +15,13 @@ source ./.env # Download everything in output/notes.example.com/share/... share_url="$SHARE_PROTOCOL://$SHARE_HOST/share/$ROOT_NOTE_ID" -wget -rp -e robots=off "$share_url" -P "$output_dir" +wget -rpEk -e robots=off "$share_url" -P "$output_dir" # Get rid of the domain in the output folder mv "$output_dir/$SHARE_HOST"/* "$output_dir/" rmdir "$output_dir/$SHARE_HOST" -# Rename share/* to share/*.html because GitHub Pages will ask the client to download the files otherwise. -for file in "$output_dir/share"/*; do - mv "$file" "$file.html" -done - # Create home page with redirect index_dest_path="$output_dir/index.html" cp index.template.html "$index_dest_path" -sed -i "s/{{ROOT_NOTE_ID}}/$ROOT_NOTE_ID/g" "$index_dest_path" \ No newline at end of file +sed -i "s/{{ROOT_NOTE_ID}}/$ROOT_NOTE_ID/g" "$index_dest_path" diff --git a/docs-new/preview.sh b/docs-new/preview.sh index ead04b24d..507dec3fc 100755 --- a/docs-new/preview.sh +++ b/docs-new/preview.sh @@ -2,4 +2,4 @@ script_dir=$(realpath $(dirname $0)) output_dir="$script_dir/../docs" -httpd -fv -p 127.0.0.1:8089 -h output \ No newline at end of file +httpd -fv -p 127.0.0.1:8089 -h "$output_dir" \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 974b29b47..525ed208c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,7 +1,7 @@ - + diff --git a/docs/share/4yYHqKbLovVX.html b/docs/share/4yYHqKbLovVX.html index 40fbd79e4..c9bc4b6ef 100644 --- a/docs/share/4yYHqKbLovVX.html +++ b/docs/share/4yYHqKbLovVX.html @@ -40,12 +40,12 @@
  • - Internationalisation
  • - Dependency Management
  • @@ -76,7 +76,7 @@ - Internationalisation + Internationalisation

    @@ -90,7 +90,7 @@ - Dependency Management + Dependency Management

    @@ -103,7 +103,7 @@ - Adding a new client library + Adding a new client library

    diff --git a/docs/share/QXCi6Y1SYulw.html b/docs/share/QXCi6Y1SYulw.html index 22caad28f..636aac31d 100644 --- a/docs/share/QXCi6Y1SYulw.html +++ b/docs/share/QXCi6Y1SYulw.html @@ -27,7 +27,7 @@
    @@ -102,7 +102,7 @@ await library_loader.requireLibrary(library_loader.I18NEXT);

    Make - Developer's Guide + Developer's Guide

    @@ -115,7 +115,7 @@ await library_loader.requireLibrary(library_loader.I18NEXT);

    Make - Internationalisation + Internationalisation

    @@ -129,7 +129,7 @@ await library_loader.requireLibrary(library_loader.I18NEXT);

    Make - Dependency Management + Dependency Management

    diff --git a/docs/share/VS22Hq5PBFNf.html b/docs/share/VS22Hq5PBFNf.html index cf656981e..2b838932e 100644 --- a/docs/share/VS22Hq5PBFNf.html +++ b/docs/share/VS22Hq5PBFNf.html @@ -27,7 +27,7 @@
    @@ -45,7 +45,7 @@
    • - Adding a new client library
    • @@ -63,7 +63,7 @@ - Developer's Guide + Developer's Guide

      @@ -76,7 +76,7 @@ - Internationalisation + Internationalisation

      @@ -103,7 +103,7 @@ - Adding a new client library + Adding a new client library

      diff --git a/docs/share/hkrBX8KE1HQl.html b/docs/share/hkrBX8KE1HQl.html index 3cd51c05f..b1ed0e7aa 100644 --- a/docs/share/hkrBX8KE1HQl.html +++ b/docs/share/hkrBX8KE1HQl.html @@ -27,7 +27,7 @@
      @@ -58,7 +58,7 @@ - Developer's Guide + Developer's Guide

      @@ -85,7 +85,7 @@ - Dependency Management + Dependency Management

      @@ -98,7 +98,7 @@ - Adding a new client library + Adding a new client library

      From 46c193dd9f75ada2c81afd1ce32d6a611753c6f7 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 13:10:19 +0300 Subject: [PATCH 29/82] docs: Get rid of /share --- docs-new/index.template.html | 2 +- docs-new/prepare.sh | 7 +++++++ docs/{share => }/4yYHqKbLovVX.html | 10 +++++----- docs/{share => }/QXCi6Y1SYulw.html | 10 +++++----- docs/{share => }/VS22Hq5PBFNf.html | 10 +++++----- docs/{share => }/hkrBX8KE1HQl.html | 10 +++++----- docs/index.html | 2 +- 7 files changed, 29 insertions(+), 22 deletions(-) rename docs/{share => }/4yYHqKbLovVX.html (82%) rename docs/{share => }/QXCi6Y1SYulw.html (93%) rename docs/{share => }/VS22Hq5PBFNf.html (81%) rename docs/{share => }/hkrBX8KE1HQl.html (95%) diff --git a/docs-new/index.template.html b/docs-new/index.template.html index c37cb1c98..b2580cb88 100644 --- a/docs-new/index.template.html +++ b/docs-new/index.template.html @@ -1,7 +1,7 @@ - + diff --git a/docs-new/prepare.sh b/docs-new/prepare.sh index 91a520520..84ef77f6c 100755 --- a/docs-new/prepare.sh +++ b/docs-new/prepare.sh @@ -25,3 +25,10 @@ rmdir "$output_dir/$SHARE_HOST" index_dest_path="$output_dir/index.html" cp index.template.html "$index_dest_path" sed -i "s/{{ROOT_NOTE_ID}}/$ROOT_NOTE_ID/g" "$index_dest_path" + +# Rewrite links to get rid of the share folder +sed -i "s/ - + - + - - + + - + diff --git a/docs/share/QXCi6Y1SYulw.html b/docs/QXCi6Y1SYulw.html similarity index 93% rename from docs/share/QXCi6Y1SYulw.html rename to docs/QXCi6Y1SYulw.html index 636aac31d..3e5f58f87 100644 --- a/docs/share/QXCi6Y1SYulw.html +++ b/docs/QXCi6Y1SYulw.html @@ -6,15 +6,15 @@ - + - + - - + + - + diff --git a/docs/share/VS22Hq5PBFNf.html b/docs/VS22Hq5PBFNf.html similarity index 81% rename from docs/share/VS22Hq5PBFNf.html rename to docs/VS22Hq5PBFNf.html index 2b838932e..126d58524 100644 --- a/docs/share/VS22Hq5PBFNf.html +++ b/docs/VS22Hq5PBFNf.html @@ -6,15 +6,15 @@ - + - + - - + + - + diff --git a/docs/share/hkrBX8KE1HQl.html b/docs/hkrBX8KE1HQl.html similarity index 95% rename from docs/share/hkrBX8KE1HQl.html rename to docs/hkrBX8KE1HQl.html index b1ed0e7aa..0b7abfe87 100644 --- a/docs/share/hkrBX8KE1HQl.html +++ b/docs/hkrBX8KE1HQl.html @@ -6,15 +6,15 @@ - + - + - - + + - + diff --git a/docs/index.html b/docs/index.html index 525ed208c..bca34c937 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,7 +1,7 @@ - + From 05776d178ec75dc42e179514e207598cd53f2c0b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 13:14:35 +0300 Subject: [PATCH 30/82] docs: Move binaries to bin/ --- {docs-new => bin/docs}/.env.example | 0 bin/docs/.gitignore | 2 ++ {docs-new => bin/docs}/index.template.html | 0 {docs-new => bin/docs}/prepare.sh | 0 {docs-new => bin/docs}/preview.sh | 0 docs-new/.env | 4 ---- docs-new/.gitignore | 1 - 7 files changed, 2 insertions(+), 5 deletions(-) rename {docs-new => bin/docs}/.env.example (100%) create mode 100644 bin/docs/.gitignore rename {docs-new => bin/docs}/index.template.html (100%) rename {docs-new => bin/docs}/prepare.sh (100%) rename {docs-new => bin/docs}/preview.sh (100%) delete mode 100644 docs-new/.env delete mode 100644 docs-new/.gitignore diff --git a/docs-new/.env.example b/bin/docs/.env.example similarity index 100% rename from docs-new/.env.example rename to bin/docs/.env.example diff --git a/bin/docs/.gitignore b/bin/docs/.gitignore new file mode 100644 index 000000000..5ad213baa --- /dev/null +++ b/bin/docs/.gitignore @@ -0,0 +1,2 @@ +output +.env \ No newline at end of file diff --git a/docs-new/index.template.html b/bin/docs/index.template.html similarity index 100% rename from docs-new/index.template.html rename to bin/docs/index.template.html diff --git a/docs-new/prepare.sh b/bin/docs/prepare.sh similarity index 100% rename from docs-new/prepare.sh rename to bin/docs/prepare.sh diff --git a/docs-new/preview.sh b/bin/docs/preview.sh similarity index 100% rename from docs-new/preview.sh rename to bin/docs/preview.sh diff --git a/docs-new/.env b/docs-new/.env deleted file mode 100644 index e1182ce1a..000000000 --- a/docs-new/.env +++ /dev/null @@ -1,4 +0,0 @@ -SHARE_PROTOCOL=https -SHARE_HOST=notes.eliandoran.me -ROOT_NOTE_ID=4yYHqKbLovVX -SHARE_URL=https://notes.eliandoran.me/share/4yYHqKbLovVX \ No newline at end of file diff --git a/docs-new/.gitignore b/docs-new/.gitignore deleted file mode 100644 index 6caf68aff..000000000 --- a/docs-new/.gitignore +++ /dev/null @@ -1 +0,0 @@ -output \ No newline at end of file From b587ec474c87d94b2a8f1ad546bd337af0782790 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 14:16:49 +0300 Subject: [PATCH 31/82] build: Use rimraf instead of rm -rf --- package.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 78ec2481a..ed2bd3f93 100644 --- a/package.json +++ b/package.json @@ -19,13 +19,13 @@ "start-electron": "rimraf ./dist && tsc && ts-node ./bin/copy-dist.ts && cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev electron ./dist/electron.js --inspect=5858 .", "start-electron-no-dir": "rimraf ./dist && tsc && ts-node ./bin/copy-dist.ts && cross-env TRILIUM_SAFE_MODE=1 TRILIUM_ENV=dev electron ./dist/electron.js --inspect=5858 .", "qstart-electron": "npm run qswitch-electron && TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev electron --inspect=5858 .", - "start-test-server": "npm run qswitch-server; rm -rf ./data-test; cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data-test TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev TRILIUM_PORT=9999 ts-node src/www.ts", - "switch-server": "rm -rf ./node_modules/better-sqlite3 && npm install", + "start-test-server": "npm run qswitch-server; rimraf ./data-test; cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data-test TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev TRILIUM_PORT=9999 ts-node src/www.ts", + "switch-server": "rimraf ./node_modules/better-sqlite3 && npm install", "switch-electron": "npx electron-rebuild", - "qswitch-server": "rm -rf ./node_modules/better-sqlite3/bin ; mkdir -p ./node_modules/better-sqlite3/build ; cp ./bin/better-sqlite3/linux-server-better_sqlite3.node ./node_modules/better-sqlite3/build/better_sqlite3.node", - "qswitch-electron": "rm -rf ./node_modules/better-sqlite3/bin ; mkdir -p ./node_modules/better-sqlite3/build ; cp ./bin/better-sqlite3/linux-desktop-better_sqlite3.node ./node_modules/better-sqlite3/build/better_sqlite3.node", - "build-backend-docs": "rm -rf ./docs/backend_api && ./node_modules/.bin/jsdoc -c jsdoc-conf.json -d ./docs/backend_api src/becca/entities/*.js src/services/backend_script_api.js src/services/sql.js", - "build-frontend-docs": "rm -rf ./docs/frontend_api && ./node_modules/.bin/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", + "qswitch-server": "rimraf ./node_modules/better-sqlite3/bin ; mkdir -p ./node_modules/better-sqlite3/build ; cp ./bin/better-sqlite3/linux-server-better_sqlite3.node ./node_modules/better-sqlite3/build/better_sqlite3.node", + "qswitch-electron": "rimraf ./node_modules/better-sqlite3/bin ; mkdir -p ./node_modules/better-sqlite3/build ; cp ./bin/better-sqlite3/linux-desktop-better_sqlite3.node ./node_modules/better-sqlite3/build/better_sqlite3.node", + "build-backend-docs": "rimraf ./docs/backend_api && ./node_modules/.bin/jsdoc -c jsdoc-conf.json -d ./docs/backend_api src/becca/entities/*.js src/services/backend_script_api.js src/services/sql.js", + "build-frontend-docs": "rimraf ./docs/frontend_api && ./node_modules/.bin/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", "build-docs": "npm run build-backend-docs && npm run build-frontend-docs", "webpack": "webpack -c webpack.config.ts", "test-jasmine": "cross-env TRILIUM_DATA_DIR=./data-test ts-node ./node_modules/jasmine/bin/jasmine", From 431e04d03992efb53f1bf4861512190538dfeb2f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 18 Jul 2024 00:14:56 +0300 Subject: [PATCH 32/82] build: Update rimraf, webpack, nodemon, jsdoc --- package-lock.json | 609 +++++++++++++++++++++++++++------------------- package.json | 8 +- 2 files changed, 357 insertions(+), 260 deletions(-) diff --git a/package-lock.json b/package-lock.json index 222169254..82df4f07e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -65,7 +65,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "request": "2.88.2", - "rimraf": "5.0.5", + "rimraf": "^6.0.1", "safe-compare": "1.1.4", "sanitize-filename": "1.6.3", "sanitize-html": "2.12.1", @@ -122,14 +122,14 @@ "electron-rebuild": "3.2.9", "esm": "3.2.25", "jasmine": "5.1.0", - "jsdoc": "4.0.2", + "jsdoc": "^4.0.3", "lorem-ipsum": "2.0.8", - "nodemon": "3.1.0", + "nodemon": "^3.1.4", "rcedit": "4.0.1", "ts-node": "^10.9.2", "tslib": "^2.6.2", "typescript": "^5.3.3", - "webpack": "5.90.3", + "webpack": "^5.93.0", "webpack-cli": "5.1.4" }, "optionalDependencies": { @@ -1465,19 +1465,19 @@ } }, "node_modules/@types/linkify-it": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", - "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", "dev": true }, "node_modules/@types/markdown-it": { - "version": "12.2.3", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", - "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.1.tgz", + "integrity": "sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==", "dev": true, "dependencies": { - "@types/linkify-it": "*", - "@types/mdurl": "*" + "@types/linkify-it": "^5", + "@types/mdurl": "^2" } }, "node_modules/@types/mdast": { @@ -1489,9 +1489,9 @@ } }, "node_modules/@types/mdurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", - "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", "dev": true }, "node_modules/@types/mime": { @@ -1775,9 +1775,9 @@ } }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -1797,9 +1797,9 @@ "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { @@ -1820,15 +1820,15 @@ "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@webassemblyjs/wasm-gen": "1.12.1" } }, "node_modules/@webassemblyjs/ieee754": { @@ -1856,28 +1856,28 @@ "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/leb128": "1.11.6", @@ -1885,24 +1885,24 @@ } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -1911,12 +1911,12 @@ } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -2036,10 +2036,10 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, "peerDependencies": { "acorn": "^8" @@ -5999,9 +5999,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", + "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -7149,9 +7149,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "node_modules/har-schema": { "version": "2.0.0", @@ -8082,21 +8082,21 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "node_modules/jsdoc": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.2.tgz", - "integrity": "sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.3.tgz", + "integrity": "sha512-Nu7Sf35kXJ1MWDZIMAuATRQTg1iIPdzh7tqJ6jjvaU/GfDf+qi5UV8zJR3Mo+/pYFvm8mzay4+6O5EWigaQBQw==", "dev": true, "dependencies": { "@babel/parser": "^7.20.15", "@jsdoc/salty": "^0.2.1", - "@types/markdown-it": "^12.2.3", + "@types/markdown-it": "^14.1.1", "bluebird": "^3.7.2", "catharsis": "^0.9.0", "escape-string-regexp": "^2.0.0", "js2xmlparser": "^4.0.2", "klaw": "^3.0.0", - "markdown-it": "^12.3.2", - "markdown-it-anchor": "^8.4.1", + "markdown-it": "^14.1.0", + "markdown-it-anchor": "^8.6.7", "marked": "^4.0.10", "mkdirp": "^1.0.4", "requizzle": "^0.2.3", @@ -8426,12 +8426,12 @@ "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==" }, "node_modules/linkify-it": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", - "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", "dev": true, "dependencies": { - "uc.micro": "^1.0.1" + "uc.micro": "^2.0.0" } }, "node_modules/load-bmfont": { @@ -8716,25 +8716,26 @@ } }, "node_modules/markdown-it": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", - "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "dev": true, "dependencies": { "argparse": "^2.0.1", - "entities": "~2.1.0", - "linkify-it": "^3.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" }, "bin": { - "markdown-it": "bin/markdown-it.js" + "markdown-it": "bin/markdown-it.mjs" } }, "node_modules/markdown-it-anchor": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.4.1.tgz", - "integrity": "sha512-sLODeRetZ/61KkKLJElaU3NuU2z7MhXf12Ml1WJMSdwpngeofneCRF+JBbat8HiSqhniOMuTemXMrsI7hA6XyA==", + "version": "8.6.7", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", + "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", "dev": true, "peerDependencies": { "@types/markdown-it": "*", @@ -8742,10 +8743,13 @@ } }, "node_modules/markdown-it/node_modules/entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, + "engines": { + "node": ">=0.12" + }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -8821,9 +8825,9 @@ } }, "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", "dev": true }, "node_modules/media-typer": { @@ -9754,9 +9758,9 @@ "dev": true }, "node_modules/nodemon": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.0.tgz", - "integrity": "sha512-xqlktYlDMCepBJd43ZQhjWwMw2obW/JRvkrLxq5RCNcuDDX1DbcPT+qT1IlIIdf+DhnWs90JpTMe+Y5KxOchvA==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.4.tgz", + "integrity": "sha512-wjPBbFhtpJwmIeY2yP7QF+UKzPfltVGtfce1g/bB15/8vCGZj8uxD62b/b9M9/WVgme0NZudpownKN+c0plXlQ==", "dev": true, "dependencies": { "chokidar": "^3.5.2", @@ -10112,6 +10116,11 @@ "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -10559,6 +10568,15 @@ "node": ">=6" } }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/pupa": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", @@ -11089,17 +11107,18 @@ } }, "node_modules/rimraf": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", - "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", "dependencies": { - "glob": "^10.3.7" + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" }, "bin": { "rimraf": "dist/esm/bin.mjs" }, "engines": { - "node": ">=14" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -11114,48 +11133,89 @@ } }, "node_modules/rimraf/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/jackspeak": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/rimraf/node_modules/lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "engines": { + "node": "20 || >=22" + } + }, "node_modules/rimraf/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/rimraf/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "engines": { "node": ">=16 || 14 >=14.17" } }, + "node_modules/rimraf/node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/rndm": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz", @@ -12577,9 +12637,9 @@ } }, "node_modules/uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", "dev": true }, "node_modules/uid-safe": { @@ -12848,9 +12908,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -12883,26 +12943,26 @@ } }, "node_modules/webpack": { - "version": "5.90.3", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", - "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "version": "5.93.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", + "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", + "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.17.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", @@ -12910,7 +12970,7 @@ "schema-utils": "^3.2.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.0", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { @@ -14514,19 +14574,19 @@ } }, "@types/linkify-it": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", - "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", "dev": true }, "@types/markdown-it": { - "version": "12.2.3", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", - "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.1.tgz", + "integrity": "sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==", "dev": true, "requires": { - "@types/linkify-it": "*", - "@types/mdurl": "*" + "@types/linkify-it": "^5", + "@types/mdurl": "^2" } }, "@types/mdast": { @@ -14538,9 +14598,9 @@ } }, "@types/mdurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", - "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", "dev": true }, "@types/mime": { @@ -14801,9 +14861,9 @@ } }, "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "requires": { "@webassemblyjs/helper-numbers": "1.11.6", @@ -14823,9 +14883,9 @@ "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "@webassemblyjs/helper-numbers": { @@ -14846,15 +14906,15 @@ "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@webassemblyjs/wasm-gen": "1.12.1" } }, "@webassemblyjs/ieee754": { @@ -14882,28 +14942,28 @@ "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/leb128": "1.11.6", @@ -14911,24 +14971,24 @@ } }, "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -14937,12 +14997,12 @@ } }, "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -15024,10 +15084,10 @@ "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "dev": true }, - "acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true, "requires": {} }, @@ -18049,9 +18109,9 @@ } }, "enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", + "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -18918,9 +18978,9 @@ } }, "graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, "har-schema": { "version": "2.0.0", @@ -19618,21 +19678,21 @@ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, "jsdoc": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.2.tgz", - "integrity": "sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.3.tgz", + "integrity": "sha512-Nu7Sf35kXJ1MWDZIMAuATRQTg1iIPdzh7tqJ6jjvaU/GfDf+qi5UV8zJR3Mo+/pYFvm8mzay4+6O5EWigaQBQw==", "dev": true, "requires": { "@babel/parser": "^7.20.15", "@jsdoc/salty": "^0.2.1", - "@types/markdown-it": "^12.2.3", + "@types/markdown-it": "^14.1.1", "bluebird": "^3.7.2", "catharsis": "^0.9.0", "escape-string-regexp": "^2.0.0", "js2xmlparser": "^4.0.2", "klaw": "^3.0.0", - "markdown-it": "^12.3.2", - "markdown-it-anchor": "^8.4.1", + "markdown-it": "^14.1.0", + "markdown-it-anchor": "^8.6.7", "marked": "^4.0.10", "mkdirp": "^1.0.4", "requizzle": "^0.2.3", @@ -19881,12 +19941,12 @@ "integrity": "sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==" }, "linkify-it": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", - "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", "dev": true, "requires": { - "uc.micro": "^1.0.1" + "uc.micro": "^2.0.0" } }, "load-bmfont": { @@ -20121,30 +20181,31 @@ } }, "markdown-it": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", - "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", "dev": true, "requires": { "argparse": "^2.0.1", - "entities": "~2.1.0", - "linkify-it": "^3.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" }, "dependencies": { "entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true } } }, "markdown-it-anchor": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.4.1.tgz", - "integrity": "sha512-sLODeRetZ/61KkKLJElaU3NuU2z7MhXf12Ml1WJMSdwpngeofneCRF+JBbat8HiSqhniOMuTemXMrsI7hA6XyA==", + "version": "8.6.7", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", + "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", "dev": true, "requires": {} }, @@ -20198,9 +20259,9 @@ } }, "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", "dev": true }, "media-typer": { @@ -20803,9 +20864,9 @@ "dev": true }, "nodemon": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.0.tgz", - "integrity": "sha512-xqlktYlDMCepBJd43ZQhjWwMw2obW/JRvkrLxq5RCNcuDDX1DbcPT+qT1IlIIdf+DhnWs90JpTMe+Y5KxOchvA==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.4.tgz", + "integrity": "sha512-wjPBbFhtpJwmIeY2yP7QF+UKzPfltVGtfce1g/bB15/8vCGZj8uxD62b/b9M9/WVgme0NZudpownKN+c0plXlQ==", "dev": true, "requires": { "chokidar": "^3.5.2", @@ -21066,6 +21127,11 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + }, "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -21421,6 +21487,12 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" }, + "punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "dev": true + }, "pupa": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", @@ -21849,11 +21921,12 @@ "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" }, "rimraf": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", - "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", "requires": { - "glob": "^10.3.7" + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" }, "dependencies": { "brace-expansion": { @@ -21865,29 +21938,53 @@ } }, "glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", "requires": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" } }, + "jackspeak": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==" + }, "minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", "requires": { "brace-expansion": "^2.0.1" } }, "minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==" + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" + }, + "path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "requires": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + } } } }, @@ -22969,9 +23066,9 @@ "dev": true }, "uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", "dev": true }, "uid-safe": { @@ -23178,9 +23275,9 @@ } }, "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -23207,26 +23304,26 @@ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==" }, "webpack": { - "version": "5.90.3", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", - "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "version": "5.93.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", + "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", + "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.17.0", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", @@ -23234,7 +23331,7 @@ "schema-utils": "^3.2.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.0", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" } }, diff --git a/package.json b/package.json index c2493d34f..03e18bf95 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "request": "2.88.2", - "rimraf": "5.0.5", + "rimraf": "^6.0.1", "safe-compare": "1.1.4", "sanitize-filename": "1.6.3", "sanitize-html": "2.12.1", @@ -143,14 +143,14 @@ "electron-rebuild": "3.2.9", "esm": "3.2.25", "jasmine": "5.1.0", - "jsdoc": "4.0.2", + "jsdoc": "^4.0.3", "lorem-ipsum": "2.0.8", - "nodemon": "3.1.0", + "nodemon": "^3.1.4", "rcedit": "4.0.1", "ts-node": "^10.9.2", "tslib": "^2.6.2", "typescript": "^5.3.3", - "webpack": "5.90.3", + "webpack": "^5.93.0", "webpack-cli": "5.1.4" }, "optionalDependencies": { From 66415abe8ad32bc2d4db0653c6c03fa7d8dd5551 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 18 Jul 2024 00:37:23 +0300 Subject: [PATCH 33/82] server: Remove dependency to "open", closes #221 This is a very old dependency from 2018: https://github.com/zadam/trilium/commit/aa2bbc65758ae1b270a19d8f2020e0d63198d183 It is no longer used. --- package-lock.json | 46 +++++----------------------------------------- package.json | 1 - 2 files changed, 5 insertions(+), 42 deletions(-) diff --git a/package-lock.json b/package-lock.json index 82df4f07e..4630803a8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -58,7 +58,6 @@ "multer": "1.4.5-lts.1", "node-abi": "3.56.0", "normalize-strings": "1.1.1", - "open": "8.4.1", "panzoom": "9.4.3", "print-this": "2.0.0", "rand-token": "1.0.1", @@ -4875,14 +4874,6 @@ "node": ">= 0.4" } }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "engines": { - "node": ">=8" - } - }, "node_modules/define-properties": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", @@ -7701,6 +7692,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "dev": true, "bin": { "is-docker": "cli.js" }, @@ -7830,6 +7822,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, "dependencies": { "is-docker": "^2.0.0" }, @@ -9967,22 +9960,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/open": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.1.tgz", - "integrity": "sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/opencollective-postinstall": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", @@ -17218,11 +17195,6 @@ "has-property-descriptors": "^1.0.0" } }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - }, "define-properties": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", @@ -19396,7 +19368,8 @@ "is-docker": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", - "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==" + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "dev": true }, "is-extendable": { "version": "0.1.1", @@ -19481,6 +19454,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, "requires": { "is-docker": "^2.0.0" } @@ -21016,16 +20990,6 @@ "mimic-fn": "^2.1.0" } }, - "open": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.1.tgz", - "integrity": "sha512-/4b7qZNhv6Uhd7jjnREh1NjnPxlTq+XNWPG88Ydkj5AILcA5m3ajvcg57pB24EQjKv0dK62XnDqk9c/hkIG5Kg==", - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, "opencollective-postinstall": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", diff --git a/package.json b/package.json index 03e18bf95..228bcd166 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,6 @@ "multer": "1.4.5-lts.1", "node-abi": "3.56.0", "normalize-strings": "1.1.1", - "open": "8.4.1", "panzoom": "9.4.3", "print-this": "2.0.0", "rand-token": "1.0.1", From 460bd6b979fe5e94ae27271a17ddb2d0ebdd8210 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 16:06:14 +0300 Subject: [PATCH 34/82] ci: Always build main for update branches --- .github/workflows/dev.yml | 3 +++ .github/workflows/main.yml | 1 + 2 files changed, 4 insertions(+) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 0a3e7cc06..1146eb572 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -1,6 +1,9 @@ name: Dev on: push: + branches: + - '!develop' + - '!feature/update*' jobs: build_docker: name: Build Docker image diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0902fe63b..7947c4154 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,6 +3,7 @@ on: push: branches: - 'develop' + - 'feature/update*' env: REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} From 8a507d3cc056a034a9bffaaf3453564786699bac Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 15:39:18 +0300 Subject: [PATCH 35/82] server: Update sanitize-url, archiver, marked, sanitize-html, turndown --- package-lock.json | 393 ++++++++++++++++++++++++++++++---------------- package.json | 10 +- 2 files changed, 265 insertions(+), 138 deletions(-) diff --git a/package-lock.json b/package-lock.json index 98564ff7c..f3d6a19f5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,10 +10,10 @@ "hasInstallScript": true, "license": "AGPL-3.0-only", "dependencies": { - "@braintree/sanitize-url": "6.0.4", + "@braintree/sanitize-url": "^7.1.0", "@electron/remote": "2.1.2", "@excalidraw/excalidraw": "^0.17.6", - "archiver": "7.0.0", + "archiver": "^7.0.1", "async-mutex": "0.4.1", "axios": "1.6.7", "better-sqlite3": "8.5.0", @@ -52,7 +52,7 @@ "jquery-hotkeys": "0.2.2", "jsdom": "24.0.0", "katex": "^0.16.11", - "marked": "12.0.0", + "marked": "^13.0.2", "mermaid": "^10.9.1", "mime-types": "2.1.35", "multer": "1.4.5-lts.1", @@ -67,7 +67,7 @@ "rimraf": "^6.0.1", "safe-compare": "1.1.4", "sanitize-filename": "1.6.3", - "sanitize-html": "2.12.1", + "sanitize-html": "^2.13.0", "sax": "1.3.0", "semver": "7.6.0", "serve-favicon": "2.5.0", @@ -77,7 +77,7 @@ "striptags": "3.2.0", "tmp": "0.2.3", "tree-kill": "1.2.2", - "turndown": "7.1.2", + "turndown": "^7.2.0", "unescape": "1.0.1", "ws": "8.16.0", "xml2js": "0.6.2", @@ -164,9 +164,9 @@ "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" }, "node_modules/@braintree/sanitize-url": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", - "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==" + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.0.tgz", + "integrity": "sha512-o+UlMLt49RvtCASlOMW0AkHnabN9wR9rwCCherxO0yG4Npy34GkvrAqdXQvrhNs+jh+gkK8gB8Lf05qL/O7KWg==" }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", @@ -1058,6 +1058,11 @@ "node": ">= 10.0.0" } }, + "node_modules/@mixmark-io/domino": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@mixmark-io/domino/-/domino-2.2.0.tgz", + "integrity": "sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==" + }, "node_modules/@npmcli/fs": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz", @@ -2334,33 +2339,34 @@ "dev": true }, "node_modules/archiver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.0.tgz", - "integrity": "sha512-R9HM9egs8FfktSqUqyjlKmvF4U+CWNqm/2tlROV+lOFg79MLdT67ae1l3hU47pGy8twSXxHoiefMCh43w0BriQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", + "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", "dependencies": { - "archiver-utils": "^5.0.0", + "archiver-utils": "^5.0.2", "async": "^3.2.4", "buffer-crc32": "^1.0.0", "readable-stream": "^4.0.0", "readdir-glob": "^1.1.2", "tar-stream": "^3.0.0", - "zip-stream": "^6.0.0" + "zip-stream": "^6.0.1" }, "engines": { "node": ">= 14" } }, "node_modules/archiver-utils": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.1.tgz", - "integrity": "sha512-MMAoLdMvT/nckofX1tCLrf7uJce4jTNkiT6smA2u57AOImc1nce7mR3EDujxL5yv6/MnILuQH4sAsPtDS8kTvg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", + "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", "dependencies": { "glob": "^10.0.0", "graceful-fs": "^4.2.0", + "is-stream": "^2.0.1", "lazystream": "^1.0.0", "lodash": "^4.17.15", "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" + "readable-stream": "^4.0.0" }, "engines": { "node": ">= 14" @@ -2374,31 +2380,66 @@ "balanced-match": "^1.0.0" } }, + "node_modules/archiver-utils/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "node_modules/archiver-utils/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/archiver-utils/node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/archiver-utils/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -2410,24 +2451,53 @@ } }, "node_modules/archiver-utils/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "engines": { "node": ">=16 || 14 >=14.17" } }, "node_modules/archiver-utils/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" }, "engines": { - "node": ">= 6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/archiver-utils/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/archiver-utils/node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" } }, "node_modules/archiver/node_modules/buffer": { @@ -3723,12 +3793,13 @@ } }, "node_modules/compress-commons": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.1.tgz", - "integrity": "sha512-l7occIJn8YwlCEbWUCrG6gPms9qnJTCZSaznCa5HaV+yJMH4kM8BDc7q9NyoQuoiB2O6jKgTcTeY462qw6MyHw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", + "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", "dependencies": { "crc-32": "^1.2.0", "crc32-stream": "^6.0.0", + "is-stream": "^2.0.1", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" }, @@ -5133,11 +5204,6 @@ "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/domino": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/domino/-/domino-2.1.6.tgz", - "integrity": "sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==" - }, "node_modules/dompurify": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.6.tgz", @@ -7787,6 +7853,17 @@ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-svg": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.3.2.tgz", @@ -7879,6 +7956,7 @@ "version": "2.3.6", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -8748,9 +8826,9 @@ } }, "node_modules/marked": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.0.tgz", - "integrity": "sha512-Vkwtq9rLqXryZnWaQc86+FHLC6tr/fycMfYAhiOIXkrNmeGAyhSxjqu0Rs1i0bBqw5u0S7+lV9fdH2ZSVaoa0w==", + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-13.0.2.tgz", + "integrity": "sha512-J6CPjP8pS5sgrRqxVRvkCIkZ6MFdRIjDkwUwgJ9nL2fbmM6qGQeB2C16hi8Cc9BOzj6xXzy0jyi0iPIfnMHYzA==", "bin": { "marked": "bin/marked.js" }, @@ -8869,6 +8947,11 @@ "web-worker": "^1.2.0" } }, + "node_modules/mermaid/node_modules/@braintree/sanitize-url": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", + "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==" + }, "node_modules/mermaid/node_modules/uuid": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", @@ -10232,27 +10315,24 @@ "dev": true }, "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", - "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", - "engines": { - "node": "14 || >=16.14" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "node_modules/path-scurry/node_modules/minipass": { "version": "6.0.2", @@ -11268,9 +11348,9 @@ } }, "node_modules/sanitize-html": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.12.1.tgz", - "integrity": "sha512-Plh+JAn0UVDpBRP/xEjsk+xDCoOvMBwQUf/K+/cBAVuTbtX8bj2VB7S1sL1dssVpykqp0/KPSesHrqXtokVBpA==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.13.0.tgz", + "integrity": "sha512-Xff91Z+4Mz5QiNSLdLWwjgBDm5b1RU6xBT0+12rapjiaR7SwfRdjw8f+6Rir2MXKLrDicRFHdb51hGOAxmsUIA==", "dependencies": { "deepmerge": "^4.2.2", "escape-string-regexp": "^4.0.0", @@ -12551,11 +12631,11 @@ } }, "node_modules/turndown": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/turndown/-/turndown-7.1.2.tgz", - "integrity": "sha512-ntI9R7fcUKjqBP6QU8rBK2Ehyt8LAzt3UBT9JR9tgo6GtuKvyUzpayWmeMKJw1DPdXzktvtIT8m2mVXz+bL/Qg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/turndown/-/turndown-7.2.0.tgz", + "integrity": "sha512-eCZGBN4nNNqM9Owkv9HAtWRYfLA4h909E/WGAWWBpmB275ehNhZyk87/Tpvjbp0jjNl9XwCsbe6bm6CqFsgD+A==", "dependencies": { - "domino": "^2.1.6" + "@mixmark-io/domino": "^2.2.0" } }, "node_modules/tweetnacl": { @@ -13404,12 +13484,12 @@ } }, "node_modules/zip-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.0.tgz", - "integrity": "sha512-X0WFquRRDtL9HR9hc1OrabOP/VKJEX7gAr2geayt3b7dLgXgSXI6ucC4CphLQP/aQt2GyHIYgmXxtC+dVdghAQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", + "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", "dependencies": { "archiver-utils": "^5.0.0", - "compress-commons": "^6.0.0", + "compress-commons": "^6.0.2", "readable-stream": "^4.0.0" }, "engines": { @@ -13505,9 +13585,9 @@ } }, "@braintree/sanitize-url": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", - "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==" + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.0.tgz", + "integrity": "sha512-o+UlMLt49RvtCASlOMW0AkHnabN9wR9rwCCherxO0yG4Npy34GkvrAqdXQvrhNs+jh+gkK8gB8Lf05qL/O7KWg==" }, "@cspotcode/source-map-support": { "version": "0.8.1", @@ -14183,6 +14263,11 @@ } } }, + "@mixmark-io/domino": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@mixmark-io/domino/-/domino-2.2.0.tgz", + "integrity": "sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==" + }, "@npmcli/fs": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz", @@ -15302,17 +15387,17 @@ "dev": true }, "archiver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.0.tgz", - "integrity": "sha512-R9HM9egs8FfktSqUqyjlKmvF4U+CWNqm/2tlROV+lOFg79MLdT67ae1l3hU47pGy8twSXxHoiefMCh43w0BriQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz", + "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==", "requires": { - "archiver-utils": "^5.0.0", + "archiver-utils": "^5.0.2", "async": "^3.2.4", "buffer-crc32": "^1.0.0", "readable-stream": "^4.0.0", "readdir-glob": "^1.1.2", "tar-stream": "^3.0.0", - "zip-stream": "^6.0.0" + "zip-stream": "^6.0.1" }, "dependencies": { "buffer": { @@ -15367,16 +15452,17 @@ } }, "archiver-utils": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.1.tgz", - "integrity": "sha512-MMAoLdMvT/nckofX1tCLrf7uJce4jTNkiT6smA2u57AOImc1nce7mR3EDujxL5yv6/MnILuQH4sAsPtDS8kTvg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz", + "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==", "requires": { "glob": "^10.0.0", "graceful-fs": "^4.2.0", + "is-stream": "^2.0.1", "lazystream": "^1.0.0", "lodash": "^4.17.15", "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" + "readable-stream": "^4.0.0" }, "dependencies": { "brace-expansion": { @@ -15387,39 +15473,73 @@ "balanced-match": "^1.0.0" } }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "requires": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + } + }, + "jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" } }, "minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "requires": { "brace-expansion": "^2.0.1" } }, "minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==" + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" }, "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" } } } @@ -16362,12 +16482,13 @@ "dev": true }, "compress-commons": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.1.tgz", - "integrity": "sha512-l7occIJn8YwlCEbWUCrG6gPms9qnJTCZSaznCa5HaV+yJMH4kM8BDc7q9NyoQuoiB2O6jKgTcTeY462qw6MyHw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz", + "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==", "requires": { "crc-32": "^1.2.0", "crc32-stream": "^6.0.0", + "is-stream": "^2.0.1", "normalize-path": "^3.0.0", "readable-stream": "^4.0.0" }, @@ -17393,11 +17514,6 @@ "domelementtype": "^2.2.0" } }, - "domino": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/domino/-/domino-2.1.6.tgz", - "integrity": "sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==" - }, "dompurify": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.6.tgz", @@ -19431,6 +19547,11 @@ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, "is-svg": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.3.2.tgz", @@ -19499,6 +19620,7 @@ "version": "2.3.6", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, "requires": { "@isaacs/cliui": "^8.0.2", "@pkgjs/parseargs": "^0.11.0" @@ -20184,9 +20306,9 @@ "requires": {} }, "marked": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.0.tgz", - "integrity": "sha512-Vkwtq9rLqXryZnWaQc86+FHLC6tr/fycMfYAhiOIXkrNmeGAyhSxjqu0Rs1i0bBqw5u0S7+lV9fdH2ZSVaoa0w==" + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-13.0.2.tgz", + "integrity": "sha512-J6CPjP8pS5sgrRqxVRvkCIkZ6MFdRIjDkwUwgJ9nL2fbmM6qGQeB2C16hi8Cc9BOzj6xXzy0jyi0iPIfnMHYzA==" }, "matcher": { "version": "3.0.0", @@ -20281,6 +20403,11 @@ "web-worker": "^1.2.0" }, "dependencies": { + "@braintree/sanitize-url": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", + "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==" + }, "uuid": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", @@ -21211,18 +21338,18 @@ "dev": true }, "path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "requires": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "dependencies": { "lru-cache": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", - "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==" + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "minipass": { "version": "6.0.2", @@ -22021,9 +22148,9 @@ } }, "sanitize-html": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.12.1.tgz", - "integrity": "sha512-Plh+JAn0UVDpBRP/xEjsk+xDCoOvMBwQUf/K+/cBAVuTbtX8bj2VB7S1sL1dssVpykqp0/KPSesHrqXtokVBpA==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.13.0.tgz", + "integrity": "sha512-Xff91Z+4Mz5QiNSLdLWwjgBDm5b1RU6xBT0+12rapjiaR7SwfRdjw8f+6Rir2MXKLrDicRFHdb51hGOAxmsUIA==", "requires": { "deepmerge": "^4.2.2", "escape-string-regexp": "^4.0.0", @@ -22983,11 +23110,11 @@ } }, "turndown": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/turndown/-/turndown-7.1.2.tgz", - "integrity": "sha512-ntI9R7fcUKjqBP6QU8rBK2Ehyt8LAzt3UBT9JR9tgo6GtuKvyUzpayWmeMKJw1DPdXzktvtIT8m2mVXz+bL/Qg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/turndown/-/turndown-7.2.0.tgz", + "integrity": "sha512-eCZGBN4nNNqM9Owkv9HAtWRYfLA4h909E/WGAWWBpmB275ehNhZyk87/Tpvjbp0jjNl9XwCsbe6bm6CqFsgD+A==", "requires": { - "domino": "^2.1.6" + "@mixmark-io/domino": "^2.2.0" } }, "tweetnacl": { @@ -23605,12 +23732,12 @@ "dev": true }, "zip-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.0.tgz", - "integrity": "sha512-X0WFquRRDtL9HR9hc1OrabOP/VKJEX7gAr2geayt3b7dLgXgSXI6ucC4CphLQP/aQt2GyHIYgmXxtC+dVdghAQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz", + "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==", "requires": { "archiver-utils": "^5.0.0", - "compress-commons": "^6.0.0", + "compress-commons": "^6.0.2", "readable-stream": "^4.0.0" }, "dependencies": { diff --git a/package.json b/package.json index 7454c9726..207d2a0ae 100644 --- a/package.json +++ b/package.json @@ -34,10 +34,10 @@ "postinstall": "rimraf ./node_modules/canvas" }, "dependencies": { - "@braintree/sanitize-url": "6.0.4", + "@braintree/sanitize-url": "^7.1.0", "@electron/remote": "2.1.2", "@excalidraw/excalidraw": "^0.17.6", - "archiver": "7.0.0", + "archiver": "^7.0.1", "async-mutex": "0.4.1", "axios": "1.6.7", "better-sqlite3": "8.5.0", @@ -76,7 +76,7 @@ "jquery-hotkeys": "0.2.2", "jsdom": "24.0.0", "katex": "^0.16.11", - "marked": "12.0.0", + "marked": "^13.0.2", "mermaid": "^10.9.1", "mime-types": "2.1.35", "multer": "1.4.5-lts.1", @@ -91,7 +91,7 @@ "rimraf": "^6.0.1", "safe-compare": "1.1.4", "sanitize-filename": "1.6.3", - "sanitize-html": "2.12.1", + "sanitize-html": "^2.13.0", "sax": "1.3.0", "semver": "7.6.0", "serve-favicon": "2.5.0", @@ -101,7 +101,7 @@ "striptags": "3.2.0", "tmp": "0.2.3", "tree-kill": "1.2.2", - "turndown": "7.1.2", + "turndown": "^7.2.0", "unescape": "1.0.1", "ws": "8.16.0", "xml2js": "0.6.2", From 1a5b3ab0e32c6aebe7f34d537dab96c3fc626766 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 15:41:01 +0300 Subject: [PATCH 36/82] server: Update yauzl --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index f3d6a19f5..61ae511b6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -81,7 +81,7 @@ "unescape": "1.0.1", "ws": "8.16.0", "xml2js": "0.6.2", - "yauzl": "3.1.2" + "yauzl": "^3.1.3" }, "bin": { "trilium": "src/www.js" @@ -13463,9 +13463,9 @@ } }, "node_modules/yauzl": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.1.2.tgz", - "integrity": "sha512-621iCPgEG1wXViDZS/L3h9F8TgrdQV1eayJlJ8j5A2SZg8OdY/1DLf+VxNeD+q5QbMFEAbjjR8nITj7g4nKa0Q==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.1.3.tgz", + "integrity": "sha512-JCCdmlJJWv7L0q/KylOekyRaUrdEoUxWkWVcgorosTROCFWiS9p2NNPE9Yb91ak7b1N5SxAZEliWpspbZccivw==", "dependencies": { "buffer-crc32": "~0.2.3", "pend": "~1.2.0" @@ -23717,9 +23717,9 @@ "dev": true }, "yauzl": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.1.2.tgz", - "integrity": "sha512-621iCPgEG1wXViDZS/L3h9F8TgrdQV1eayJlJ8j5A2SZg8OdY/1DLf+VxNeD+q5QbMFEAbjjR8nITj7g4nKa0Q==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.1.3.tgz", + "integrity": "sha512-JCCdmlJJWv7L0q/KylOekyRaUrdEoUxWkWVcgorosTROCFWiS9p2NNPE9Yb91ak7b1N5SxAZEliWpspbZccivw==", "requires": { "buffer-crc32": "~0.2.3", "pend": "~1.2.0" diff --git a/package.json b/package.json index 207d2a0ae..0dbe3ceb5 100644 --- a/package.json +++ b/package.json @@ -105,7 +105,7 @@ "unescape": "1.0.1", "ws": "8.16.0", "xml2js": "0.6.2", - "yauzl": "3.1.2" + "yauzl": "^3.1.3" }, "devDependencies": { "@types/archiver": "^6.0.2", From abd860754f339ddcdacf1c087887f22140255a3f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 15:42:33 +0300 Subject: [PATCH 37/82] server: Update express, express-rate-limit --- package-lock.json | 44 ++++++++++++++++++++++---------------------- package.json | 4 ++-- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/package-lock.json b/package-lock.json index 61ae511b6..d2f8a1272 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,9 +31,9 @@ "electron-dl": "3.5.2", "electron-window-state": "5.0.3", "escape-html": "1.0.3", - "express": "4.18.3", + "express": "^4.19.2", "express-partial-content": "1.0.2", - "express-rate-limit": "7.2.0", + "express-rate-limit": "^7.3.1", "express-session": "1.18.0", "force-graph": "1.43.5", "fs-extra": "11.2.0", @@ -6244,16 +6244,16 @@ } }, "node_modules/express": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -6293,9 +6293,9 @@ } }, "node_modules/express-rate-limit": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.2.0.tgz", - "integrity": "sha512-T7nul1t4TNyfZMJ7pKRKkdeVJWa2CqB8NA1P8BwYaoDI5QSBZARv5oMS43J7b7I5P+4asjVXjb7ONuwDKucahg==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.3.1.tgz", + "integrity": "sha512-BbaryvkY4wEgDqLgD18/NSy2lDO2jTuT9Y8c1Mpx0X63Yz0sYd5zN6KPe7UvpuSVvV33T6RaE1o1IVZQjHMYgw==", "engines": { "node": ">= 16" }, @@ -6373,9 +6373,9 @@ ] }, "node_modules/express/node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "engines": { "node": ">= 0.6" } @@ -18336,16 +18336,16 @@ "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" }, "express": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -18374,9 +18374,9 @@ }, "dependencies": { "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==" }, "debug": { "version": "2.6.9", @@ -18415,9 +18415,9 @@ "requires": {} }, "express-rate-limit": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.2.0.tgz", - "integrity": "sha512-T7nul1t4TNyfZMJ7pKRKkdeVJWa2CqB8NA1P8BwYaoDI5QSBZARv5oMS43J7b7I5P+4asjVXjb7ONuwDKucahg==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.3.1.tgz", + "integrity": "sha512-BbaryvkY4wEgDqLgD18/NSy2lDO2jTuT9Y8c1Mpx0X63Yz0sYd5zN6KPe7UvpuSVvV33T6RaE1o1IVZQjHMYgw==", "requires": {} }, "express-session": { diff --git a/package.json b/package.json index 0dbe3ceb5..9f3cfbf0c 100644 --- a/package.json +++ b/package.json @@ -55,9 +55,9 @@ "electron-dl": "3.5.2", "electron-window-state": "5.0.3", "escape-html": "1.0.3", - "express": "4.18.3", + "express": "^4.19.2", "express-partial-content": "1.0.2", - "express-rate-limit": "7.2.0", + "express-rate-limit": "^7.3.1", "express-session": "1.18.0", "force-graph": "1.43.5", "fs-extra": "11.2.0", From af726eff6c6118ab7babce6d8a5324b529161fb8 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 15:49:49 +0300 Subject: [PATCH 38/82] server: Update jsdom --- package-lock.json | 98 ++++++++++++++++++++++++++------------ package.json | 2 +- src/routes/api/note_map.ts | 1 - 3 files changed, 68 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index d2f8a1272..32fea28bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,7 +50,7 @@ "joplin-turndown-plugin-gfm": "1.0.12", "jquery": "3.7.1", "jquery-hotkeys": "0.2.2", - "jsdom": "24.0.0", + "jsdom": "^24.1.0", "katex": "^0.16.11", "marked": "^13.0.2", "mermaid": "^10.9.1", @@ -8233,30 +8233,30 @@ } }, "node_modules/jsdom": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.0.0.tgz", - "integrity": "sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.0.tgz", + "integrity": "sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==", "dependencies": { "cssstyle": "^4.0.1", "data-urls": "^5.0.0", "decimal.js": "^10.4.3", "form-data": "^4.0.0", "html-encoding-sniffer": "^4.0.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.2", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.4", "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.7", + "nwsapi": "^2.2.10", "parse5": "^7.1.2", - "rrweb-cssom": "^0.6.0", + "rrweb-cssom": "^0.7.0", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.3", + "tough-cookie": "^4.1.4", "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^7.0.0", "whatwg-encoding": "^3.1.1", "whatwg-mimetype": "^4.0.0", "whatwg-url": "^14.0.0", - "ws": "^8.16.0", + "ws": "^8.17.0", "xml-name-validator": "^5.0.0" }, "engines": { @@ -8306,6 +8306,31 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/jsdom/node_modules/rrweb-cssom": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", + "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==" + }, + "node_modules/jsdom/node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -9959,9 +9984,9 @@ } }, "node_modules/nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", + "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==" }, "node_modules/oauth-sign": { "version": "0.9.0", @@ -12486,9 +12511,9 @@ } }, "node_modules/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -19829,30 +19854,30 @@ } }, "jsdom": { - "version": "24.0.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.0.0.tgz", - "integrity": "sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.0.tgz", + "integrity": "sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==", "requires": { "cssstyle": "^4.0.1", "data-urls": "^5.0.0", "decimal.js": "^10.4.3", "form-data": "^4.0.0", "html-encoding-sniffer": "^4.0.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.2", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.4", "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.7", + "nwsapi": "^2.2.10", "parse5": "^7.1.2", - "rrweb-cssom": "^0.6.0", + "rrweb-cssom": "^0.7.0", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.3", + "tough-cookie": "^4.1.4", "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^7.0.0", "whatwg-encoding": "^3.1.1", "whatwg-mimetype": "^4.0.0", "whatwg-url": "^14.0.0", - "ws": "^8.16.0", + "ws": "^8.17.0", "xml-name-validator": "^5.0.0" }, "dependencies": { @@ -19878,6 +19903,17 @@ "requires": { "entities": "^4.4.0" } + }, + "rrweb-cssom": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", + "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==" + }, + "ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "requires": {} } } }, @@ -21057,9 +21093,9 @@ } }, "nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" + "version": "2.2.12", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", + "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==" }, "oauth-sign": { "version": "0.9.0", @@ -23010,9 +23046,9 @@ } }, "tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", "requires": { "psl": "^1.1.33", "punycode": "^2.1.1", diff --git a/package.json b/package.json index 9f3cfbf0c..ce6e1eb1a 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "joplin-turndown-plugin-gfm": "1.0.12", "jquery": "3.7.1", "jquery-hotkeys": "0.2.2", - "jsdom": "24.0.0", + "jsdom": "^24.1.0", "katex": "^0.16.11", "marked": "^13.0.2", "mermaid": "^10.9.1", diff --git a/src/routes/api/note_map.ts b/src/routes/api/note_map.ts index 97a0bf6f6..6abfc1878 100644 --- a/src/routes/api/note_map.ts +++ b/src/routes/api/note_map.ts @@ -5,7 +5,6 @@ import { JSDOM } from "jsdom"; import BNote = require('../../becca/entities/bnote'); import BAttribute = require('../../becca/entities/battribute'); import { Request } from 'express'; -import ValidationError = require('../../errors/validation_error'); function buildDescendantCountMap(noteIdsToCount: string[]) { if (!Array.isArray(noteIdsToCount)) { From 44d095777c731dc7da2ad16eb8fcc7ff03a61cd2 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 15:52:01 +0300 Subject: [PATCH 39/82] server: Update ws --- package-lock.json | 40 +++++++--------------------------------- package.json | 2 +- 2 files changed, 8 insertions(+), 34 deletions(-) diff --git a/package-lock.json b/package-lock.json index 32fea28bc..a59fdefa5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -79,7 +79,7 @@ "tree-kill": "1.2.2", "turndown": "^7.2.0", "unescape": "1.0.1", - "ws": "8.16.0", + "ws": "^8.18.0", "xml2js": "0.6.2", "yauzl": "^3.1.3" }, @@ -8311,26 +8311,6 @@ "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==" }, - "node_modules/jsdom/node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/json-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", @@ -13333,9 +13313,9 @@ } }, "node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "engines": { "node": ">=10.0.0" }, @@ -19908,12 +19888,6 @@ "version": "0.7.1", "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz", "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==" - }, - "ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "requires": {} } } }, @@ -23640,9 +23614,9 @@ } }, "ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "requires": {} }, "xhr": { diff --git a/package.json b/package.json index ce6e1eb1a..89ad48fa0 100644 --- a/package.json +++ b/package.json @@ -103,7 +103,7 @@ "tree-kill": "1.2.2", "turndown": "^7.2.0", "unescape": "1.0.1", - "ws": "8.16.0", + "ws": "^8.18.0", "xml2js": "0.6.2", "yauzl": "^3.1.3" }, From e9860e952355494b888547c9209b649ff03d3ba4 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 15:54:10 +0300 Subject: [PATCH 40/82] server: Update axios, ejs --- package-lock.json | 44 ++++++++++++++++++++++---------------------- package.json | 4 ++-- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/package-lock.json b/package-lock.json index a59fdefa5..73c8e31d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@excalidraw/excalidraw": "^0.17.6", "archiver": "^7.0.1", "async-mutex": "0.4.1", - "axios": "1.6.7", + "axios": "^1.7.2", "better-sqlite3": "8.5.0", "boxicons": "2.1.4", "chokidar": "3.6.0", @@ -26,7 +26,7 @@ "dayjs": "1.11.10", "dayjs-plugin-utc": "0.1.2", "debounce": "1.2.1", - "ejs": "3.1.9", + "ejs": "^3.1.10", "electron-debug": "3.2.0", "electron-dl": "3.5.2", "electron-window-state": "5.0.3", @@ -2747,11 +2747,11 @@ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, "node_modules/axios": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", - "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", "dependencies": { - "follow-redirects": "^1.15.4", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -5257,9 +5257,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "node_modules/ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "dependencies": { "jake": "^10.8.5" }, @@ -6760,9 +6760,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", @@ -15681,11 +15681,11 @@ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, "axios": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", - "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", "requires": { - "follow-redirects": "^1.15.4", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" }, @@ -17566,9 +17566,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "requires": { "jake": "^10.8.5" } @@ -18735,9 +18735,9 @@ } }, "follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" }, "force-graph": { "version": "1.43.5", diff --git a/package.json b/package.json index 89ad48fa0..e8bc3742e 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@excalidraw/excalidraw": "^0.17.6", "archiver": "^7.0.1", "async-mutex": "0.4.1", - "axios": "1.6.7", + "axios": "^1.7.2", "better-sqlite3": "8.5.0", "boxicons": "2.1.4", "chokidar": "3.6.0", @@ -50,7 +50,7 @@ "dayjs": "1.11.10", "dayjs-plugin-utc": "0.1.2", "debounce": "1.2.1", - "ejs": "3.1.9", + "ejs": "^3.1.10", "electron-debug": "3.2.0", "electron-dl": "3.5.2", "electron-window-state": "5.0.3", From 76890de33b235228868f78a5dfc51812ac2810d5 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 15:55:38 +0300 Subject: [PATCH 41/82] server: Update dayjs --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 73c8e31d4..28a2b7288 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ "compression": "1.7.4", "cookie-parser": "1.4.6", "csurf": "1.11.0", - "dayjs": "1.11.10", + "dayjs": "^1.11.12", "dayjs-plugin-utc": "0.1.2", "debounce": "1.2.1", "ejs": "^3.1.10", @@ -4822,9 +4822,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + "version": "1.11.12", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.12.tgz", + "integrity": "sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==" }, "node_modules/dayjs-plugin-utc": { "version": "0.1.2", @@ -17230,9 +17230,9 @@ } }, "dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + "version": "1.11.12", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.12.tgz", + "integrity": "sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==" }, "dayjs-plugin-utc": { "version": "0.1.2", diff --git a/package.json b/package.json index e8bc3742e..7bac21231 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "compression": "1.7.4", "cookie-parser": "1.4.6", "csurf": "1.11.0", - "dayjs": "1.11.10", + "dayjs": "^1.11.12", "dayjs-plugin-utc": "0.1.2", "debounce": "1.2.1", "ejs": "^3.1.10", From ba74f39d86acbb9c9f8e23c4e6c6670ab4101b94 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 15:57:21 +0300 Subject: [PATCH 42/82] server: Update semver, async-mutex --- package-lock.json | 44 +++++++++++++++++++++----------------------- package.json | 6 +++--- 2 files changed, 24 insertions(+), 26 deletions(-) diff --git a/package-lock.json b/package-lock.json index 28a2b7288..33fd524a6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@electron/remote": "2.1.2", "@excalidraw/excalidraw": "^0.17.6", "archiver": "^7.0.1", - "async-mutex": "0.4.1", + "async-mutex": "^0.5.0", "axios": "^1.7.2", "better-sqlite3": "8.5.0", "boxicons": "2.1.4", @@ -41,7 +41,7 @@ "html": "1.0.0", "html2plaintext": "2.1.4", "http-proxy-agent": "7.0.2", - "https-proxy-agent": "7.0.4", + "https-proxy-agent": "^7.0.4", "image-type": "4.1.0", "ini": "3.0.1", "is-animated": "2.0.2", @@ -69,7 +69,7 @@ "sanitize-filename": "1.6.3", "sanitize-html": "^2.13.0", "sax": "1.3.0", - "semver": "7.6.0", + "semver": "^7.6.3", "serve-favicon": "2.5.0", "session-file-store": "1.5.0", "split.js": "1.6.5", @@ -2703,9 +2703,9 @@ } }, "node_modules/async-mutex": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.4.1.tgz", - "integrity": "sha512-WfoBo4E/TbCX1G95XTjbWTE3X2XLG0m1Xbv2cwOtuPdyH9CZvnaA5nCt1ucjaKEgW2A5IF71hxrRhr83Je5xjA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.5.0.tgz", + "integrity": "sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==", "dependencies": { "tslib": "^2.4.0" } @@ -8677,6 +8677,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -11488,12 +11489,9 @@ } }, "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "bin": { "semver": "bin/semver.js" }, @@ -13407,7 +13405,8 @@ "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "node_modules/yargs": { "version": "17.7.2", @@ -15646,9 +15645,9 @@ } }, "async-mutex": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.4.1.tgz", - "integrity": "sha512-WfoBo4E/TbCX1G95XTjbWTE3X2XLG0m1Xbv2cwOtuPdyH9CZvnaA5nCt1ucjaKEgW2A5IF71hxrRhr83Je5xjA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.5.0.tgz", + "integrity": "sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==", "requires": { "tslib": "^2.4.0" } @@ -20193,6 +20192,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "requires": { "yallist": "^4.0.0" } @@ -22254,12 +22254,9 @@ } }, "semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "requires": { - "lru-cache": "^6.0.0" - } + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==" }, "semver-compare": { "version": "1.0.0", @@ -23679,7 +23676,8 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "yargs": { "version": "17.7.2", diff --git a/package.json b/package.json index 7bac21231..ebc3b37cc 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@electron/remote": "2.1.2", "@excalidraw/excalidraw": "^0.17.6", "archiver": "^7.0.1", - "async-mutex": "0.4.1", + "async-mutex": "^0.5.0", "axios": "^1.7.2", "better-sqlite3": "8.5.0", "boxicons": "2.1.4", @@ -65,7 +65,7 @@ "html": "1.0.0", "html2plaintext": "2.1.4", "http-proxy-agent": "7.0.2", - "https-proxy-agent": "7.0.4", + "https-proxy-agent": "^7.0.4", "image-type": "4.1.0", "ini": "3.0.1", "is-animated": "2.0.2", @@ -93,7 +93,7 @@ "sanitize-filename": "1.6.3", "sanitize-html": "^2.13.0", "sax": "1.3.0", - "semver": "7.6.0", + "semver": "^7.6.3", "serve-favicon": "2.5.0", "session-file-store": "1.5.0", "split.js": "1.6.5", From 77ddf529acf1a50baa3577cf46603ed9fbe47a43 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 16:02:07 +0300 Subject: [PATCH 43/82] server: Update https-proxy-agent, sax --- package-lock.json | 28 ++++++++++++++-------------- package.json | 4 ++-- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 33fd524a6..54f1f334c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,7 +41,7 @@ "html": "1.0.0", "html2plaintext": "2.1.4", "http-proxy-agent": "7.0.2", - "https-proxy-agent": "^7.0.4", + "https-proxy-agent": "^7.0.5", "image-type": "4.1.0", "ini": "3.0.1", "is-animated": "2.0.2", @@ -68,7 +68,7 @@ "safe-compare": "1.1.4", "sanitize-filename": "1.6.3", "sanitize-html": "^2.13.0", - "sax": "1.3.0", + "sax": "^1.4.1", "semver": "^7.6.3", "serve-favicon": "2.5.0", "session-file-store": "1.5.0", @@ -7483,9 +7483,9 @@ } }, "node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "dependencies": { "agent-base": "^7.0.2", "debug": "4" @@ -11447,9 +11447,9 @@ } }, "node_modules/sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" }, "node_modules/saxes": { "version": "6.0.0", @@ -19279,9 +19279,9 @@ } }, "https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", "requires": { "agent-base": "^7.0.2", "debug": "4" @@ -22222,9 +22222,9 @@ } }, "sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" }, "saxes": { "version": "6.0.0", diff --git a/package.json b/package.json index ebc3b37cc..4e5e31f94 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "html": "1.0.0", "html2plaintext": "2.1.4", "http-proxy-agent": "7.0.2", - "https-proxy-agent": "^7.0.4", + "https-proxy-agent": "^7.0.5", "image-type": "4.1.0", "ini": "3.0.1", "is-animated": "2.0.2", @@ -92,7 +92,7 @@ "safe-compare": "1.1.4", "sanitize-filename": "1.6.3", "sanitize-html": "^2.13.0", - "sax": "1.3.0", + "sax": "^1.4.1", "semver": "^7.6.3", "serve-favicon": "2.5.0", "session-file-store": "1.5.0", From 3b3f6769643636fc9278d4a63ffdfce72b0dc53c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 16:03:51 +0300 Subject: [PATCH 44/82] server: Update ini, debounce --- package-lock.json | 36 +++++++++++++++++++++--------------- package.json | 4 ++-- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index 54f1f334c..7ddc29506 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,7 +25,7 @@ "csurf": "1.11.0", "dayjs": "^1.11.12", "dayjs-plugin-utc": "0.1.2", - "debounce": "1.2.1", + "debounce": "^2.1.0", "ejs": "^3.1.10", "electron-debug": "3.2.0", "electron-dl": "3.5.2", @@ -43,7 +43,7 @@ "http-proxy-agent": "7.0.2", "https-proxy-agent": "^7.0.5", "image-type": "4.1.0", - "ini": "3.0.1", + "ini": "^4.1.3", "is-animated": "2.0.2", "is-svg": "4.3.2", "jimp": "0.22.12", @@ -4832,9 +4832,15 @@ "integrity": "sha512-ExERH5o3oo6jFOdkvMP3gytTCQ9Ksi5PtylclJWghr7k7m3o2U5QrwtdiJkOxLOH4ghr0EKhpqGefzGz1VvVJg==" }, "node_modules/debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-2.1.0.tgz", + "integrity": "sha512-OkL3+0pPWCqoBc/nhO9u6TIQNTK44fnBnzuVtJAbp13Naxw9R6u21x+8tVTka87AhDZ3htqZ2pSSsZl9fqL2Wg==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/debug": { "version": "4.3.4", @@ -7662,11 +7668,11 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz", - "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/internmap": { @@ -17239,9 +17245,9 @@ "integrity": "sha512-ExERH5o3oo6jFOdkvMP3gytTCQ9Ksi5PtylclJWghr7k7m3o2U5QrwtdiJkOxLOH4ghr0EKhpqGefzGz1VvVJg==" }, "debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-2.1.0.tgz", + "integrity": "sha512-OkL3+0pPWCqoBc/nhO9u6TIQNTK44fnBnzuVtJAbp13Naxw9R6u21x+8tVTka87AhDZ3htqZ2pSSsZl9fqL2Wg==" }, "debug": { "version": "4.3.4", @@ -19414,9 +19420,9 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.1.tgz", - "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==" + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==" }, "internmap": { "version": "2.0.3", diff --git a/package.json b/package.json index 4e5e31f94..e8042247c 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "csurf": "1.11.0", "dayjs": "^1.11.12", "dayjs-plugin-utc": "0.1.2", - "debounce": "1.2.1", + "debounce": "^2.1.0", "ejs": "^3.1.10", "electron-debug": "3.2.0", "electron-dl": "3.5.2", @@ -67,7 +67,7 @@ "http-proxy-agent": "7.0.2", "https-proxy-agent": "^7.0.5", "image-type": "4.1.0", - "ini": "3.0.1", + "ini": "^4.1.3", "is-animated": "2.0.2", "is-svg": "4.3.2", "jimp": "0.22.12", From d570b3c428d06734340a564efd4d0537f129d6d0 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 20:18:47 +0300 Subject: [PATCH 45/82] build: Move rimraf to devDependencies --- package-lock.json | 22 +++++++++++++++++++--- package.json | 2 +- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7ddc29506..07f06f645 100644 --- a/package-lock.json +++ b/package-lock.json @@ -64,7 +64,6 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "request": "2.88.2", - "rimraf": "^6.0.1", "safe-compare": "1.1.4", "sanitize-filename": "1.6.3", "sanitize-html": "^2.13.0", @@ -125,6 +124,7 @@ "lorem-ipsum": "2.0.8", "nodemon": "^3.1.4", "rcedit": "4.0.1", + "rimraf": "^6.0.1", "ts-node": "^10.9.2", "tslib": "^2.6.2", "typescript": "^5.3.3", @@ -11179,6 +11179,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", + "dev": true, "dependencies": { "glob": "^11.0.0", "package-json-from-dist": "^1.0.0" @@ -11197,6 +11198,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -11205,6 +11207,7 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "dev": true, "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^4.0.1", @@ -11227,6 +11230,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -11244,6 +11248,7 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "dev": true, "engines": { "node": "20 || >=22" } @@ -11252,6 +11257,7 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -11266,6 +11272,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, "engines": { "node": ">=16 || 14 >=14.17" } @@ -11274,6 +11281,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" @@ -22031,6 +22039,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", + "dev": true, "requires": { "glob": "^11.0.0", "package-json-from-dist": "^1.0.0" @@ -22040,6 +22049,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "requires": { "balanced-match": "^1.0.0" } @@ -22048,6 +22058,7 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "dev": true, "requires": { "foreground-child": "^3.1.0", "jackspeak": "^4.0.1", @@ -22061,6 +22072,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "dev": true, "requires": { "@isaacs/cliui": "^8.0.2", "@pkgjs/parseargs": "^0.11.0" @@ -22069,12 +22081,14 @@ "lru-cache": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", - "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==" + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "dev": true }, "minimatch": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, "requires": { "brace-expansion": "^2.0.1" } @@ -22082,12 +22096,14 @@ "minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true }, "path-scurry": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, "requires": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" diff --git a/package.json b/package.json index e8042247c..55f4d5274 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,6 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "request": "2.88.2", - "rimraf": "^6.0.1", "safe-compare": "1.1.4", "sanitize-filename": "1.6.3", "sanitize-html": "^2.13.0", @@ -146,6 +145,7 @@ "lorem-ipsum": "2.0.8", "nodemon": "^3.1.4", "rcedit": "4.0.1", + "rimraf": "^6.0.1", "ts-node": "^10.9.2", "tslib": "^2.6.2", "typescript": "^5.3.3", From 366e791e2d74237eaff11bfebc98712e7bbca186 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 20:19:38 +0300 Subject: [PATCH 46/82] build: Use--omit=dev --- bin/copy-trilium.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/copy-trilium.sh b/bin/copy-trilium.sh index 2936a925b..b58f8cef6 100755 --- a/bin/copy-trilium.sh +++ b/bin/copy-trilium.sh @@ -40,7 +40,7 @@ cp -Rv "$script_dir/../build/src" "$DIR" cp "$script_dir/../build/electron.js" "$DIR" # run in subshell (so we return to original dir) -(cd $DIR && npm install --only=prod) +(cd $DIR && npm install --omit=dev) if [[ -d "$DIR"/node_modules ]]; then # cleanup of useless files in dependencies From 389097bcc29a8605be927675715b3f7325793c45 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 20:31:36 +0300 Subject: [PATCH 47/82] build: Silence clean-up phase --- bin/copy-trilium.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/copy-trilium.sh b/bin/copy-trilium.sh index b58f8cef6..afe74e7dd 100755 --- a/bin/copy-trilium.sh +++ b/bin/copy-trilium.sh @@ -43,14 +43,14 @@ cp "$script_dir/../build/electron.js" "$DIR" (cd $DIR && npm install --omit=dev) if [[ -d "$DIR"/node_modules ]]; then -# cleanup of useless files in dependencies + # cleanup of useless files in dependencies for d in 'image-q/demo' 'better-sqlite3/Release' 'better-sqlite3/deps/sqlite3.tar.gz' '@jimp/plugin-print/fonts' 'jimp/browser' 'jimp/fonts'; do - [[ -e "$DIR"/node_modules/"$d" ]] && rm -rv "$DIR"/node_modules/"$d" + [[ -e "$DIR"/node_modules/"$d" ]] && rm -r "$DIR"/node_modules/"$d" done -# delete all tests (there are often large images as test file for jimp etc.) + # delete all tests (there are often large images as test file for jimp etc.) for d in 'test' 'docs' 'demo'; do - find "$DIR"/node_modules -name "$d" -exec rm -rf {} \; + find "$DIR"/node_modules -name "$d" -exec rm -rf {} + done fi From 9dcf51b117303686903d5b23b4bd13e51b4a1b1f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 20:39:18 +0300 Subject: [PATCH 48/82] build: Remove some unnecessary files --- bin/copy-trilium.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bin/copy-trilium.sh b/bin/copy-trilium.sh index afe74e7dd..25b8fa957 100755 --- a/bin/copy-trilium.sh +++ b/bin/copy-trilium.sh @@ -44,12 +44,16 @@ cp "$script_dir/../build/electron.js" "$DIR" if [[ -d "$DIR"/node_modules ]]; then # cleanup of useless files in dependencies - for d in 'image-q/demo' 'better-sqlite3/Release' 'better-sqlite3/deps/sqlite3.tar.gz' '@jimp/plugin-print/fonts' 'jimp/browser' 'jimp/fonts'; do + for d in 'image-q/demo' \ + '@excalidraw/excalidraw/excalidraw-assets-dev' '@excalidraw/excalidraw/dist/excalidraw.development.js' '@excalidraw/excalidraw/dist/excalidraw-with-preact.development.js' \ + 'mermaid/dist/mermaid.js' \ + 'better-sqlite3/Release' 'better-sqlite3/deps/sqlite3.tar.gz' 'better-sqlite3/deps/sqlite3' \ + '@jimp/plugin-print/fonts' 'jimp/browser' 'jimp/fonts'; do [[ -e "$DIR"/node_modules/"$d" ]] && rm -r "$DIR"/node_modules/"$d" done # delete all tests (there are often large images as test file for jimp etc.) - for d in 'test' 'docs' 'demo'; do + for d in 'test' 'docs' 'demo' 'example'; do find "$DIR"/node_modules -name "$d" -exec rm -rf {} + done fi From cb0d1d80a125aa959132c8aa160c89b74ed91adc Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 20:53:33 +0300 Subject: [PATCH 49/82] build: Remove some more unnecessary files --- bin/copy-trilium.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/copy-trilium.sh b/bin/copy-trilium.sh index 25b8fa957..f0ff72888 100755 --- a/bin/copy-trilium.sh +++ b/bin/copy-trilium.sh @@ -45,8 +45,9 @@ cp "$script_dir/../build/electron.js" "$DIR" if [[ -d "$DIR"/node_modules ]]; then # cleanup of useless files in dependencies for d in 'image-q/demo' \ - '@excalidraw/excalidraw/excalidraw-assets-dev' '@excalidraw/excalidraw/dist/excalidraw.development.js' '@excalidraw/excalidraw/dist/excalidraw-with-preact.development.js' \ + '@excalidraw/excalidraw/dist/excalidraw-assets-dev' '@excalidraw/excalidraw/dist/excalidraw.development.js' '@excalidraw/excalidraw/dist/excalidraw-with-preact.development.js' \ 'mermaid/dist/mermaid.js' \ + 'boxicons/svg' 'boxicons/node_modules/react'/* \ 'better-sqlite3/Release' 'better-sqlite3/deps/sqlite3.tar.gz' 'better-sqlite3/deps/sqlite3' \ '@jimp/plugin-print/fonts' 'jimp/browser' 'jimp/fonts'; do [[ -e "$DIR"/node_modules/"$d" ]] && rm -r "$DIR"/node_modules/"$d" From 758c08ec859c11e94cfd5a13ecad6e9d4aedc26d Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 20:55:38 +0300 Subject: [PATCH 50/82] build: Remove map files & ts files --- bin/copy-trilium.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bin/copy-trilium.sh b/bin/copy-trilium.sh index f0ff72888..141e988e0 100755 --- a/bin/copy-trilium.sh +++ b/bin/copy-trilium.sh @@ -60,6 +60,8 @@ if [[ -d "$DIR"/node_modules ]]; then fi find $DIR/libraries -name "*.map" -type f -delete +find $DIR/node_modules -name "*.map" -type f -delete +find $DIR -name "*.ts" -type f -delete d="$DIR"/src/public [[ -d "$d"/app-dist ]] || mkdir -pv "$d"/app-dist From 4dc615fe68aff225af8fa9edfc8608705b7f3c36 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 21:39:11 +0300 Subject: [PATCH 51/82] ci: Fix double zipping --- .github/workflows/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7947c4154..599a7d0a4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,7 +23,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: trilium-mac-x64.zip - path: dist/trilium-mac-x64*.zip + path: dist/trilium-mac-x64 build_darwin-arm64: name: Build macOS aarch64 runs-on: ubuntu-latest @@ -39,7 +39,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: trilium-mac-arm64.zip - path: dist/trilium-mac-arm64*.zip + path: dist/trilium-mac-arm64 build_linux-x64: name: Build Linux x86_64 runs-on: ubuntu-latest @@ -75,7 +75,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: trilium-linux-x64-server.tar.xz - path: dist/trilium-linux-x64-server-*.tar.xz + path: dist/trilium-linux-x64-server build_windows-x64: name: Build Windows x86_64 runs-on: ubuntu-latest @@ -98,7 +98,7 @@ jobs: - uses: actions/upload-artifact@v4 with: name: trilium-windows-x64.zip - path: dist/trilium-windows-x64-*.zip + path: dist/trilium-windows-x64 build_docker: name: Build Docker image runs-on: ubuntu-latest From 27c2d1efbd28a5ed739207f0143ef2ffd994502b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 21:46:37 +0300 Subject: [PATCH 52/82] ci: Fix double .zip artifact name --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 599a7d0a4..1221790c4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,7 +22,7 @@ jobs: - run: ./bin/build-mac-x64.sh - uses: actions/upload-artifact@v4 with: - name: trilium-mac-x64.zip + name: trilium-mac-x64 path: dist/trilium-mac-x64 build_darwin-arm64: name: Build macOS aarch64 @@ -38,7 +38,7 @@ jobs: - run: ./bin/build-mac-arm64.sh - uses: actions/upload-artifact@v4 with: - name: trilium-mac-arm64.zip + name: trilium-mac-arm64 path: dist/trilium-mac-arm64 build_linux-x64: name: Build Linux x86_64 @@ -97,7 +97,7 @@ jobs: - run: ./bin/build-win-x64.sh - uses: actions/upload-artifact@v4 with: - name: trilium-windows-x64.zip + name: trilium-windows-x64 path: dist/trilium-windows-x64 build_docker: name: Build Docker image From cc55e1b657759657cea98d43d230fcb9f5c166fa Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 21:48:04 +0300 Subject: [PATCH 53/82] ci: Remove .tar.xz to avoid double archiving --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1221790c4..9fddfcc58 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -54,8 +54,8 @@ jobs: - run: ./bin/build-linux-x64.sh - uses: actions/upload-artifact@v4 with: - name: trilium-linux-x64.tar.xz - path: dist/trilium-linux-x64-*.tar.xz + name: trilium-linux-x64 + path: dist/trilium-linux-x64 - uses: actions/upload-artifact@v4 with: name: trilium_amd64.deb @@ -74,7 +74,7 @@ jobs: - run: ./bin/build-server.sh - uses: actions/upload-artifact@v4 with: - name: trilium-linux-x64-server.tar.xz + name: trilium-linux-x64-server path: dist/trilium-linux-x64-server build_windows-x64: name: Build Windows x86_64 From 7dc8c662ca285533b2f5cd9d423ffcf3be30bb7d Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 21:50:32 +0300 Subject: [PATCH 54/82] ci: Revert .tar.xz to avoid losing permissions --- .github/workflows/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9fddfcc58..9f7b941f5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -54,8 +54,8 @@ jobs: - run: ./bin/build-linux-x64.sh - uses: actions/upload-artifact@v4 with: - name: trilium-linux-x64 - path: dist/trilium-linux-x64 + name: trilium-linux-x64.tar.xz + path: dist/trilium-linux-x64-*.tar.xz - uses: actions/upload-artifact@v4 with: name: trilium_amd64.deb @@ -74,8 +74,8 @@ jobs: - run: ./bin/build-server.sh - uses: actions/upload-artifact@v4 with: - name: trilium-linux-x64-server - path: dist/trilium-linux-x64-server + name: trilium-linux-x64-server.tar.xz + path: dist/trilium-linux-x64-server-*.tar.xz build_windows-x64: name: Build Windows x86_64 runs-on: ubuntu-latest From 80e647ffec49a74e3f68c7647bf12928482b9f84 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 21:58:14 +0300 Subject: [PATCH 55/82] ci: Update build info --- .github/workflows/build.yml | 3 +++ .github/workflows/main.yml | 20 +++++++++++++++----- bin/release.sh | 2 +- bin/update-build-info.sh | 3 +++ 4 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 bin/update-build-info.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..e5c6fb1ae --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,3 @@ +on: + workflow_call: + diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9f7b941f5..f49421667 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -19,7 +19,9 @@ jobs: node-version: 20 cache: "npm" - run: npm ci - - run: ./bin/build-mac-x64.sh + - run: | + ./bin/update-build-info.sh + ./bin/build-mac-x64.sh - uses: actions/upload-artifact@v4 with: name: trilium-mac-x64 @@ -35,7 +37,9 @@ jobs: node-version: 20 cache: "npm" - run: npm ci - - run: ./bin/build-mac-arm64.sh + - run: | + ./bin/update-build-info.sh + ./bin/build-mac-arm64.sh - uses: actions/upload-artifact@v4 with: name: trilium-mac-arm64 @@ -51,7 +55,9 @@ jobs: node-version: 20 cache: "npm" - run: npm ci - - run: ./bin/build-linux-x64.sh + - run: | + ./bin/update-build-info.sh + ./bin/build-linux-x64.sh - uses: actions/upload-artifact@v4 with: name: trilium-linux-x64.tar.xz @@ -71,7 +77,9 @@ jobs: node-version: 20 cache: "npm" - run: npm ci - - run: ./bin/build-server.sh + - run: | + ./bin/update-build-info.sh + ./bin/build-server.sh - uses: actions/upload-artifact@v4 with: name: trilium-linux-x64-server.tar.xz @@ -94,7 +102,9 @@ jobs: node-version: 20 cache: "npm" - run: npm ci - - run: ./bin/build-win-x64.sh + - run: | + ./bin/update-build-info.sh + ./bin/build-win-x64.sh - uses: actions/upload-artifact@v4 with: name: trilium-windows-x64 diff --git a/bin/release.sh b/bin/release.sh index 41fdd073b..abcba3e2b 100755 --- a/bin/release.sh +++ b/bin/release.sh @@ -32,7 +32,7 @@ mv package.json.tmp package.json git add package.json -echo 'export = { buildDate:"'`date --iso-8601=seconds`'", buildRevision: "'`git log -1 --format="%H"`'" };' > src/services/build.ts +./update-build-info.sh git add src/services/build.ts diff --git a/bin/update-build-info.sh b/bin/update-build-info.sh new file mode 100644 index 000000000..7da2cbc68 --- /dev/null +++ b/bin/update-build-info.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +echo 'export = { buildDate:"'`date --iso-8601=seconds`'", buildRevision: "'`git log -1 --format="%H"`'" };' > src/services/build.ts \ No newline at end of file From 128af66797dcbc81b9b359b31f123d4bc74053f3 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 22:02:29 +0300 Subject: [PATCH 56/82] ci: Don't pack Windows artifact --- .github/workflows/main.yml | 2 +- bin/build-win-x64.sh | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f49421667..a2cde89c0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -104,7 +104,7 @@ jobs: - run: npm ci - run: | ./bin/update-build-info.sh - ./bin/build-win-x64.sh + ./bin/build-win-x64.sh DONTPACK - uses: actions/upload-artifact@v4 with: name: trilium-windows-x64 diff --git a/bin/build-win-x64.sh b/bin/build-win-x64.sh index ad359ccb6..43c96304d 100755 --- a/bin/build-win-x64.sh +++ b/bin/build-win-x64.sh @@ -34,9 +34,11 @@ rm -rf $BUILD_DIR/dump-db/node_modules cp bin/tpl/trilium-{portable,no-cert-check,safe-mode}.bat $BUILD_DIR/ -echo "Zipping windows x64 electron distribution..." -VERSION=`jq -r ".version" package.json` +if [ "$1" != "DONTPACK" ] +then + echo "Zipping windows x64 electron distribution..." + VERSION=`jq -r ".version" package.json` -cd dist - -zip -r9 trilium-windows-x64-${VERSION}.zip trilium-windows-x64 + cd dist + zip -r9 trilium-windows-x64-${VERSION}.zip trilium-windows-x64 +fi \ No newline at end of file From 5eabdf8496f6179eb12625b4afe85115c67d9260 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 22:03:51 +0300 Subject: [PATCH 57/82] ci: Cancel unnecessary actions --- .github/workflows/dev.yml | 5 +++++ .github/workflows/main.yml | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 1146eb572..25d611c06 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -4,6 +4,11 @@ on: branches: - '!develop' - '!feature/update*' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: build_docker: name: Build Docker image diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a2cde89c0..10a79aa90 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,9 +4,15 @@ on: branches: - 'develop' - 'feature/update*' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + env: REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} + jobs: build_darwin-x64: name: Build macOS x86_64 From e380fa5224439f35e687245a55fb00434bbdbe21 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 22:10:09 +0300 Subject: [PATCH 58/82] ci: Fix permission issue with build script --- bin/update-build-info.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 bin/update-build-info.sh diff --git a/bin/update-build-info.sh b/bin/update-build-info.sh old mode 100644 new mode 100755 From 5277c3e6b6c5a9f370abec7b970094627db15e23 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 22:23:31 +0300 Subject: [PATCH 59/82] ci: Revert artifact upload for darwin --- .github/workflows/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 10a79aa90..3eb4d172a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,8 +30,8 @@ jobs: ./bin/build-mac-x64.sh - uses: actions/upload-artifact@v4 with: - name: trilium-mac-x64 - path: dist/trilium-mac-x64 + name: trilium-mac-x64.zip + path: dist/trilium-mac-x64*.zip build_darwin-arm64: name: Build macOS aarch64 runs-on: ubuntu-latest @@ -48,8 +48,8 @@ jobs: ./bin/build-mac-arm64.sh - uses: actions/upload-artifact@v4 with: - name: trilium-mac-arm64 - path: dist/trilium-mac-arm64 + name: trilium-mac-arm64.zip + path: dist/trilium-mac-arm64*.zip build_linux-x64: name: Build Linux x86_64 runs-on: ubuntu-latest From dcb5d539b320f554e9ccc67ecaea60fac9f199ee Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 23:23:44 +0300 Subject: [PATCH 60/82] Fix removing dependency on electron --- package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index d996c31c0..6dce4658b 100644 --- a/package.json +++ b/package.json @@ -137,7 +137,7 @@ "@types/multer": "^1.4.11", "@types/node": "^20.11.19", "@types/safe-compare": "^1.1.2", - "@types/sanitize-html": "^2.11.0", + "@types/sanitnize-html": "^2.11.0", "@types/sax": "^1.2.7", "@types/semver": "^7.5.8", "@types/serve-favicon": "^2.5.7", @@ -146,6 +146,8 @@ "@types/turndown": "^5.0.4", "@types/ws": "^8.5.10", "@types/xml2js": "^0.4.14", + "cross-env": "7.0.3", + "electron": "25.9.8", "electron-builder": "24.13.3", "electron-packager": "17.1.2", "electron-rebuild": "3.2.9", From 52af97c88f4a5a770c9296f7ee5736b2ee6dd091 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 23:24:04 +0300 Subject: [PATCH 61/82] build: Remove electron-builder --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 6dce4658b..8e9750cdd 100644 --- a/package.json +++ b/package.json @@ -148,7 +148,6 @@ "@types/xml2js": "^0.4.14", "cross-env": "7.0.3", "electron": "25.9.8", - "electron-builder": "24.13.3", "electron-packager": "17.1.2", "electron-rebuild": "3.2.9", "esm": "3.2.25", From a5f7a3a0299f9701cf64f8bb5e3bac79e5f15e67 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 23:33:40 +0300 Subject: [PATCH 62/82] build: Improve package.json for building with electron-forge --- package-lock.json | 1038 +-------------------------------------------- package.json | 15 +- 2 files changed, 30 insertions(+), 1023 deletions(-) diff --git a/package-lock.json b/package-lock.json index c2cac4743..89c028669 100644 --- a/package-lock.json +++ b/package-lock.json @@ -116,7 +116,8 @@ "@types/turndown": "^5.0.4", "@types/ws": "^8.5.10", "@types/xml2js": "^0.4.14", - "electron-builder": "24.13.3", + "cross-env": "7.0.3", + "electron": "25.9.8", "electron-packager": "17.1.2", "electron-rebuild": "3.2.9", "esm": "3.2.25", @@ -191,23 +192,6 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@develar/schema-utils": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz", - "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==", - "dev": true, - "dependencies": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz", @@ -1952,57 +1936,6 @@ "url": "https://github.com/malept/cross-spawn-promise?sponsor=1" } }, - "node_modules/@malept/flatpak-bundler": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz", - "integrity": "sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "fs-extra": "^9.0.0", - "lodash": "^4.17.15", - "tmp-promise": "^3.0.2" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@malept/flatpak-bundler/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/@malept/flatpak-bundler/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/@malept/flatpak-bundler/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/@mixmark-io/domino": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@mixmark-io/domino/-/domino-2.2.0.tgz", @@ -2355,7 +2288,7 @@ "version": "9.0.13", "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz", "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", - "devOptional": true, + "optional": true, "dependencies": { "@types/node": "*" } @@ -2947,12 +2880,6 @@ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, - "node_modules/7zip-bin": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-5.2.0.tgz", - "integrity": "sha512-ukTPVhqG4jNzMro2qA9HSCSSVJN3aN7tlb+hfqYCt3ER0yWroeA2VR38MNrOHLQ/cVj+DaIMad0kFCtWWowh/A==", - "dev": true - }, "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -3157,165 +3084,6 @@ "node": ">= 8" } }, - "node_modules/app-builder-bin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-4.0.0.tgz", - "integrity": "sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==", - "dev": true - }, - "node_modules/app-builder-lib": { - "version": "24.13.3", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-24.13.3.tgz", - "integrity": "sha512-FAzX6IBit2POXYGnTCT8YHFO/lr5AapAII6zzhQO3Rw4cEDOgK+t1xhLc5tNcKlicTHlo9zxIwnYCX9X2DLkig==", - "dev": true, - "dependencies": { - "@develar/schema-utils": "~2.6.5", - "@electron/notarize": "2.2.1", - "@electron/osx-sign": "1.0.5", - "@electron/universal": "1.5.1", - "@malept/flatpak-bundler": "^0.4.0", - "@types/fs-extra": "9.0.13", - "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.9", - "builder-util": "24.13.1", - "builder-util-runtime": "9.2.4", - "chromium-pickle-js": "^0.2.0", - "debug": "^4.3.4", - "ejs": "^3.1.8", - "electron-publish": "24.13.1", - "form-data": "^4.0.0", - "fs-extra": "^10.1.0", - "hosted-git-info": "^4.1.0", - "is-ci": "^3.0.0", - "isbinaryfile": "^5.0.0", - "js-yaml": "^4.1.0", - "lazy-val": "^1.0.5", - "minimatch": "^5.1.1", - "read-config-file": "6.3.2", - "sanitize-filename": "^1.6.3", - "semver": "^7.3.8", - "tar": "^6.1.12", - "temp-file": "^3.4.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "dmg-builder": "24.13.3", - "electron-builder-squirrel-windows": "24.13.3" - } - }, - "node_modules/app-builder-lib/node_modules/@electron/notarize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.2.1.tgz", - "integrity": "sha512-aL+bFMIkpR0cmmj5Zgy0LMKEpgy43/hw5zadEArgmAMWWlKc5buwFvFT9G/o/YJkvXAJm5q3iuTuLaiaXW39sg==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "fs-extra": "^9.0.1", - "promise-retry": "^2.0.1" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/app-builder-lib/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/app-builder-lib/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/app-builder-lib/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/app-builder-lib/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/app-builder-lib/node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/app-builder-lib/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/app-builder-lib/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/app-builder-lib/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/append-field": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", @@ -3670,15 +3438,6 @@ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" }, - "node_modules/async-exit-hook": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", - "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/async-hook-jl": { "version": "1.7.6", "resolved": "https://registry.npmjs.org/async-hook-jl/-/async-hook-jl-1.7.6.tgz", @@ -3868,15 +3627,6 @@ "integrity": "sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==", "dev": true }, - "node_modules/bluebird-lst": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.9.tgz", - "integrity": "sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==", - "dev": true, - "dependencies": { - "bluebird": "^3.5.5" - } - }, "node_modules/bmp-js": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", @@ -4098,105 +3848,6 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, - "node_modules/builder-util": { - "version": "24.13.1", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-24.13.1.tgz", - "integrity": "sha512-NhbCSIntruNDTOVI9fdXz0dihaqX2YuE1D6zZMrwiErzH4ELZHE6mdiB40wEgZNprDia+FghRFgKoAqMZRRjSA==", - "dev": true, - "dependencies": { - "@types/debug": "^4.1.6", - "7zip-bin": "~5.2.0", - "app-builder-bin": "4.0.0", - "bluebird-lst": "^1.0.9", - "builder-util-runtime": "9.2.4", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "debug": "^4.3.4", - "fs-extra": "^10.1.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-ci": "^3.0.0", - "js-yaml": "^4.1.0", - "source-map-support": "^0.5.19", - "stat-mode": "^1.0.0", - "temp-file": "^3.4.0" - } - }, - "node_modules/builder-util-runtime": { - "version": "9.2.4", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.2.4.tgz", - "integrity": "sha512-upp+biKpN/XZMLim7aguUyW8s0FUpDvOtK6sbanMFDAMBzpHDqdhgVYm6zc9HJ6nWo7u2Lxk60i2M6Jd3aiNrA==", - "dev": true, - "dependencies": { - "debug": "^4.3.4", - "sax": "^1.2.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/builder-util/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/builder-util/node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/builder-util/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/builder-util/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/builder-util/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/busboy": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", @@ -4560,21 +4211,6 @@ "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=", "devOptional": true }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -4922,71 +4558,6 @@ "typedarray": "^0.0.6" } }, - "node_modules/config-file-ts": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/config-file-ts/-/config-file-ts-0.2.6.tgz", - "integrity": "sha512-6boGVaglwblBgJqGyxm4+xCmEGcWgnWHSWHY5jad58awQhB6gftq0G8HbzU39YqCIYHMLAiL1yjwiZ36m/CL8w==", - "dev": true, - "dependencies": { - "glob": "^10.3.10", - "typescript": "^5.3.3" - } - }, - "node_modules/config-file-ts/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/config-file-ts/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/config-file-ts/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/config-file-ts/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -5178,6 +4749,24 @@ "dev": true, "optional": true }, + "node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -6055,58 +5644,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/dmg-builder": { - "version": "24.13.3", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-24.13.3.tgz", - "integrity": "sha512-rcJUkMfnJpfCboZoOOPf4L29TRtEieHNOeAbYPWPxlaBw/Z1RKrRA86dOI9rwaI4tQSc/RD82zTNHprfUHXsoQ==", - "dev": true, - "dependencies": { - "app-builder-lib": "24.13.3", - "builder-util": "24.13.1", - "builder-util-runtime": "9.2.4", - "fs-extra": "^10.1.0", - "iconv-lite": "^0.6.2", - "js-yaml": "^4.1.0" - }, - "optionalDependencies": { - "dmg-license": "^1.0.11" - } - }, - "node_modules/dmg-builder/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/dmg-builder/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/dmg-builder/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/dom-serializer": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", @@ -6168,21 +5705,6 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/dotenv": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz", - "integrity": "sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true - }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -6221,7 +5743,6 @@ "resolved": "https://registry.npmjs.org/electron/-/electron-25.9.8.tgz", "integrity": "sha512-PGgp6PH46QVENHuAHc2NT1Su8Q1qov7qIl2jI5tsDpTibwV2zD8539AeWBQySeBU4dhbj9onIl7+1bXQ0wefBg==", "hasInstallScript": true, - "peer": true, "dependencies": { "@electron/get": "^2.0.0", "@types/node": "^18.11.18", @@ -6234,286 +5755,6 @@ "node": ">= 12.20.55" } }, - "node_modules/electron-builder": { - "version": "24.13.3", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-24.13.3.tgz", - "integrity": "sha512-yZSgVHft5dNVlo31qmJAe4BVKQfFdwpRw7sFp1iQglDRCDD6r22zfRJuZlhtB5gp9FHUxCMEoWGq10SkCnMAIg==", - "dev": true, - "dependencies": { - "app-builder-lib": "24.13.3", - "builder-util": "24.13.1", - "builder-util-runtime": "9.2.4", - "chalk": "^4.1.2", - "dmg-builder": "24.13.3", - "fs-extra": "^10.1.0", - "is-ci": "^3.0.0", - "lazy-val": "^1.0.5", - "read-config-file": "6.3.2", - "simple-update-notifier": "2.0.0", - "yargs": "^17.6.2" - }, - "bin": { - "electron-builder": "cli.js", - "install-app-deps": "install-app-deps.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/electron-builder-squirrel-windows": { - "version": "24.13.3", - "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-24.13.3.tgz", - "integrity": "sha512-oHkV0iogWfyK+ah9ZIvMDpei1m9ZRpdXcvde1wTpra2U8AFDNNpqJdnin5z+PM1GbQ5BoaKCWas2HSjtR0HwMg==", - "dev": true, - "peer": true, - "dependencies": { - "app-builder-lib": "24.13.3", - "archiver": "^5.3.1", - "builder-util": "24.13.1", - "fs-extra": "^10.1.0" - } - }, - "node_modules/electron-builder-squirrel-windows/node_modules/archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", - "dev": true, - "peer": true, - "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.4", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/electron-builder-squirrel-windows/node_modules/archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", - "dev": true, - "peer": true, - "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/electron-builder-squirrel-windows/node_modules/archiver/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/electron-builder-squirrel-windows/node_modules/compress-commons": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz", - "integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==", - "dev": true, - "peer": true, - "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^4.0.2", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/electron-builder-squirrel-windows/node_modules/compress-commons/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/electron-builder-squirrel-windows/node_modules/crc32-stream": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz", - "integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==", - "dev": true, - "peer": true, - "dependencies": { - "crc-32": "^1.2.0", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/electron-builder-squirrel-windows/node_modules/crc32-stream/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/electron-builder-squirrel-windows/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/electron-builder-squirrel-windows/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, - "peer": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/electron-builder-squirrel-windows/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/electron-builder-squirrel-windows/node_modules/zip-stream": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz", - "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==", - "dev": true, - "peer": true, - "dependencies": { - "archiver-utils": "^3.0.4", - "compress-commons": "^4.1.2", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/electron-builder-squirrel-windows/node_modules/zip-stream/node_modules/archiver-utils": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz", - "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==", - "dev": true, - "peer": true, - "dependencies": { - "glob": "^7.2.3", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/electron-builder-squirrel-windows/node_modules/zip-stream/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "peer": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/electron-builder/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/electron-builder/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-builder/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-debug": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/electron-debug/-/electron-debug-3.2.0.tgz", @@ -6786,68 +6027,6 @@ "node": ">= 10.0.0" } }, - "node_modules/electron-publish": { - "version": "24.13.1", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-24.13.1.tgz", - "integrity": "sha512-2ZgdEqJ8e9D17Hwp5LEq5mLQPjqU3lv/IALvgp+4W8VeNhryfGhYEQC/PgDPMrnWUp+l60Ou5SJLsu+k4mhQ8A==", - "dev": true, - "dependencies": { - "@types/fs-extra": "^9.0.11", - "builder-util": "24.13.1", - "builder-util-runtime": "9.2.4", - "chalk": "^4.1.2", - "fs-extra": "^10.1.0", - "lazy-val": "^1.0.5", - "mime": "^2.5.2" - } - }, - "node_modules/electron-publish/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/electron-publish/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-publish/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/electron-publish/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/electron-rebuild": { "version": "3.2.9", "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-3.2.9.tgz", @@ -7007,7 +6186,6 @@ "version": "18.19.39", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.39.tgz", "integrity": "sha512-nPwTRDKUctxw3di5b4TfT3I0sWDiWoPQCZjXhvdkINntwr8lcoVCKsTgnXeRubKIlfnV+eN/HYk6Jb40tbcEAQ==", - "peer": true, "dependencies": { "undici-types": "~5.26.4" } @@ -8912,18 +8090,6 @@ "node": ">=8" } }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "dev": true, - "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, "node_modules/is-core-module": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", @@ -9103,18 +8269,6 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "node_modules/isbinaryfile": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.2.tgz", - "integrity": "sha512-GvcjojwonMjWbTkfMpnVHVqXW/wKMYDfEpY94/8zy8HFMOqb/VL6oeONq9v87q4ttVlaTLnGXnJD4B5B1OTGIg==", - "dev": true, - "engines": { - "node": ">= 18.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -9317,18 +8471,6 @@ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, "node_modules/js2xmlparser": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", @@ -9528,18 +8670,6 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", @@ -9670,12 +8800,6 @@ "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==" }, - "node_modules/lazy-val": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.5.tgz", - "integrity": "sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==", - "dev": true - }, "node_modules/lazystream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", @@ -9807,47 +8931,12 @@ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", - "dev": true, - "peer": true - }, - "node_modules/lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==", - "dev": true, - "peer": true - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", - "dev": true, - "peer": true - }, "node_modules/lodash.get": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", "dev": true }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "dev": true, - "peer": true - }, - "node_modules/lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==", - "dev": true, - "peer": true - }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -9957,18 +9046,6 @@ "node": ">=8" } }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/lzma-native": { "version": "8.0.5", "resolved": "https://registry.npmjs.org/lzma-native/-/lzma-native-8.0.5.tgz", @@ -12308,23 +11385,6 @@ "read-binary-file-arch": "cli.js" } }, - "node_modules/read-config-file": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-6.3.2.tgz", - "integrity": "sha512-M80lpCjnE6Wt6zb98DoW8WHR09nzMSpu8XHtPkiTHrJ5Az9CybfeQhTJ8D7saeBHpGhLPIVyA8lcL6ZmdKwY6Q==", - "dev": true, - "dependencies": { - "config-file-ts": "^0.2.4", - "dotenv": "^9.0.2", - "dotenv-expand": "^5.1.0", - "js-yaml": "^4.1.0", - "json5": "^2.2.0", - "lazy-val": "^1.0.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", @@ -13501,15 +12561,6 @@ "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz", "integrity": "sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU=" }, - "node_modules/stat-mode": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz", - "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -13836,51 +12887,6 @@ "node": ">=6.0.0" } }, - "node_modules/temp-file": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.4.0.tgz", - "integrity": "sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==", - "dev": true, - "dependencies": { - "async-exit-hook": "^2.0.1", - "fs-extra": "^10.0.0" - } - }, - "node_modules/temp-file/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/temp-file/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/temp-file/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, "node_modules/temp/node_modules/rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", @@ -13997,7 +13003,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.2.tgz", "integrity": "sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==", - "devOptional": true, + "optional": true, "dependencies": { "tmp": "^0.2.0" } diff --git a/package.json b/package.json index 8e9750cdd..f0f6cdc39 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "Build your personal knowledge base with Trilium Notes", "version": "0.90.0-beta", "license": "AGPL-3.0-only", - "main": "electron.js", + "main": "./dist/electron.js", "author": { "name": "zadam", "email": "zadam.apps@gmail.com", @@ -22,8 +22,9 @@ "start-server": "cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_ENV=dev TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 nodemon src/www.ts", "start-server-no-dir": "cross-env TRILIUM_SAFE_MODE=1 TRILIUM_ENV=dev TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 nodemon src/www.ts", "qstart-server": "npm run qswitch-server && TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_ENV=dev TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 nodemon src/www.ts", - "start-electron": "rimraf ./dist && tsc && ts-node ./bin/copy-dist.ts && cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev electron ./dist/electron.js --inspect=5858 .", - "start-electron-no-dir": "rimraf ./dist && tsc && ts-node ./bin/copy-dist.ts && cross-env TRILIUM_SAFE_MODE=1 TRILIUM_ENV=dev electron ./dist/electron.js --inspect=5858 .", + "start-electron": "npm run prepare-dist && cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev electron ./dist/electron.js --inspect=5858 .", + "start-electron-no-dir": "npm run prepare-dist && cross-env TRILIUM_SAFE_MODE=1 TRILIUM_ENV=dev electron ./dist/electron.js --inspect=5858 .", + "start-electron-forge": "npm run prepare-dist && electron-forge start", "qstart-electron": "npm run qswitch-electron && TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev electron --inspect=5858 .", "start-test-server": "npm run qswitch-server; rimraf ./data-test; cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data-test TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev TRILIUM_PORT=9999 ts-node src/www.ts", "switch-server": "rimraf ./node_modules/better-sqlite3 && npm install", @@ -37,9 +38,9 @@ "test-jasmine": "cross-env TRILIUM_DATA_DIR=./data-test ts-node ./node_modules/jasmine/bin/jasmine", "test-es6": "ts-node -r esm spec-es6/attribute_parser.spec.ts", "test": "npm run test-jasmine && npm run test-es6", - "start": "electron-forge start", - "package": "electron-forge package", - "make": "npm run webpack && electron-forge make" + "package-electron": "electron-forge package", + "make-electron": "npm run prepare-dist && npm run webpack && electron-forge make", + "prepare-dist": "rimraf ./dist && tsc && ts-node ./bin/copy-dist.ts" }, "dependencies": { "@braintree/sanitize-url": "^7.1.0", @@ -137,7 +138,7 @@ "@types/multer": "^1.4.11", "@types/node": "^20.11.19", "@types/safe-compare": "^1.1.2", - "@types/sanitnize-html": "^2.11.0", + "@types/sanitize-html": "^2.11.0", "@types/sax": "^1.2.7", "@types/semver": "^7.5.8", "@types/serve-favicon": "^2.5.7", From 6c36c47135bdbe9a7c882c49f7610a555df7480c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 23:34:52 +0300 Subject: [PATCH 63/82] ci: Adapt to changes to package.json --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 975074bbb..63fcb9c08 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,10 +12,10 @@ jobs: uses: actions/checkout@v4 - name: Install dependencies - run: npm install + run: npm ci - name: Run installer build - run: npm run make + run: npm run make-electron - name: Publish installer artifact uses: actions/upload-artifact@v3 From 2e2400edb3e31d3c00abec94da5e51083ded5456 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 23:39:53 +0300 Subject: [PATCH 64/82] build: Improve product information in package.json --- package.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index f0f6cdc39..5b6ed77c7 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,14 @@ { "name": "trilium", - "productName": "Trilium Notes", - "description": "Build your personal knowledge base with Trilium Notes", + "productName": "TriliumNext Notes", + "description": "Build your personal knowledge base with TriliumNext Notes", "version": "0.90.0-beta", "license": "AGPL-3.0-only", "main": "./dist/electron.js", "author": { - "name": "zadam", - "email": "zadam.apps@gmail.com", - "url": "https://github.com/zadam" + "name": "TriliumNext Notes Teams", + "email": "contact@eliandoran.me", + "url": "https://github.com/TriliumNext/Notes" }, "copyright": "", "bin": { @@ -16,7 +16,7 @@ }, "repository": { "type": "git", - "url": "https://github.com/zadam/trilium.git" + "url": "https://github.com/TriliumNext/Notes.git" }, "scripts": { "start-server": "cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_ENV=dev TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 nodemon src/www.ts", From 3ac643b3acbfcab7abd3d75bf856908ce98fa547 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 20 Jul 2024 23:56:28 +0300 Subject: [PATCH 65/82] build: Reorder scripts & rename artifact --- .github/workflows/release.yml | 2 +- package.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 63fcb9c08..f1859c0a3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,5 +20,5 @@ jobs: - name: Publish installer artifact uses: actions/upload-artifact@v3 with: - name: Trilium Notes for Windows (.exe) + name: TriliumNext Notes for Windows (.exe) path: out/make/squirrel.windows/x64/*.exe \ No newline at end of file diff --git a/package.json b/package.json index 5b6ed77c7..ddaab0bec 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,6 @@ "qstart-server": "npm run qswitch-server && TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_ENV=dev TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 nodemon src/www.ts", "start-electron": "npm run prepare-dist && cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev electron ./dist/electron.js --inspect=5858 .", "start-electron-no-dir": "npm run prepare-dist && cross-env TRILIUM_SAFE_MODE=1 TRILIUM_ENV=dev electron ./dist/electron.js --inspect=5858 .", - "start-electron-forge": "npm run prepare-dist && electron-forge start", "qstart-electron": "npm run qswitch-electron && TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev electron --inspect=5858 .", "start-test-server": "npm run qswitch-server; rimraf ./data-test; cross-env TRILIUM_SAFE_MODE=1 TRILIUM_DATA_DIR=./data-test TRILIUM_SYNC_SERVER_HOST=http://tsyncserver:4000 TRILIUM_ENV=dev TRILIUM_PORT=9999 ts-node src/www.ts", "switch-server": "rimraf ./node_modules/better-sqlite3 && npm install", @@ -38,8 +37,9 @@ "test-jasmine": "cross-env TRILIUM_DATA_DIR=./data-test ts-node ./node_modules/jasmine/bin/jasmine", "test-es6": "ts-node -r esm spec-es6/attribute_parser.spec.ts", "test": "npm run test-jasmine && npm run test-es6", - "package-electron": "electron-forge package", + "start-electron-forge": "npm run prepare-dist && electron-forge start", "make-electron": "npm run prepare-dist && npm run webpack && electron-forge make", + "package-electron": "electron-forge package", "prepare-dist": "rimraf ./dist && tsc && ts-node ./bin/copy-dist.ts" }, "dependencies": { From f49008bf217f7aad2fb5e1c5bd455bb5b21d27e6 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 21 Jul 2024 00:02:43 +0300 Subject: [PATCH 66/82] ci: Improve workflow --- .github/workflows/release.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f1859c0a3..ee9ea0234 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,14 +11,18 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Install dependencies - run: npm ci + - name: Set up node & dependencies + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: "npm" + - run: npm ci - name: Run installer build run: npm run make-electron - name: Publish installer artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: TriliumNext Notes for Windows (.exe) path: out/make/squirrel.windows/x64/*.exe \ No newline at end of file From ad7a29a700f02f956cc10cdc46b7c974d0e3316f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 21 Jul 2024 00:31:36 +0300 Subject: [PATCH 67/82] ci: Try to fix missing assets in installer --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ddaab0bec..b049c76d0 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "test-es6": "ts-node -r esm spec-es6/attribute_parser.spec.ts", "test": "npm run test-jasmine && npm run test-es6", "start-electron-forge": "npm run prepare-dist && electron-forge start", - "make-electron": "npm run prepare-dist && npm run webpack && electron-forge make", + "make-electron": "npm run webpack && npm run prepare-dist && electron-forge make", "package-electron": "electron-forge package", "prepare-dist": "rimraf ./dist && tsc && ts-node ./bin/copy-dist.ts" }, From b55e93c7c10071ed53ba3ac3804147c0dc0a4f27 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 21 Jul 2024 08:35:47 +0300 Subject: [PATCH 68/82] ci: Join workflows --- .github/workflows/build.yml | 3 --- .github/workflows/main.yml | 18 ++++++++++++++++++ .github/workflows/release.yml | 28 ---------------------------- 3 files changed, 18 insertions(+), 31 deletions(-) delete mode 100644 .github/workflows/build.yml delete mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index e5c6fb1ae..000000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,3 +0,0 @@ -on: - workflow_call: - diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3eb4d172a..d1852bc41 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -115,6 +115,24 @@ jobs: with: name: trilium-windows-x64 path: dist/trilium-windows-x64 + build_windows-installer: + name: Build Windows x86_64 (Setup) + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - name: Set up node & dependencies + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: "npm" + - run: npm ci + - name: Run installer build + run: npm run make-electron + - name: Publish installer artifact + uses: actions/upload-artifact@v4 + with: + name: TriliumNext Notes for Windows (Setup) + path: out/make/squirrel.windows/x64/*.exe build_docker: name: Build Docker image runs-on: ubuntu-latest diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index ee9ea0234..000000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Release - -on: - push: - -jobs: - build-windows-installer: - name: Build Windows Installer - runs-on: windows-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Set up node & dependencies - uses: actions/setup-node@v4 - with: - node-version: 20 - cache: "npm" - - run: npm ci - - - name: Run installer build - run: npm run make-electron - - - name: Publish installer artifact - uses: actions/upload-artifact@v4 - with: - name: TriliumNext Notes for Windows (.exe) - path: out/make/squirrel.windows/x64/*.exe \ No newline at end of file From 028565d89be73e3dbb3aa2a32cacdb2832c5a579 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 21 Jul 2024 08:43:28 +0300 Subject: [PATCH 69/82] ci: Fix dev workflow no longer triggering --- .github/workflows/dev.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 25d611c06..af7fae9ba 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -1,9 +1,9 @@ name: Dev on: push: - branches: - - '!develop' - - '!feature/update*' + branches_ignore: + - 'develop' + - 'feature/update**' concurrency: group: ${{ github.workflow }}-${{ github.ref }} From b2f688a3e59f92673e5cb670b022396e5cbabaec Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 21 Jul 2024 08:53:21 +0300 Subject: [PATCH 70/82] ci: Fix typo --- .github/workflows/dev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index af7fae9ba..371affe64 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -1,7 +1,7 @@ name: Dev on: push: - branches_ignore: + branches-ignore: - 'develop' - 'feature/update**' From f07a6600c9c18cbd09b98ff48fbed5cfe4284ddb Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 21 Jul 2024 09:12:46 +0300 Subject: [PATCH 71/82] ci: Patch package.json main --- bin/copy-trilium.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bin/copy-trilium.sh b/bin/copy-trilium.sh index 141e988e0..c8b38e25c 100755 --- a/bin/copy-trilium.sh +++ b/bin/copy-trilium.sh @@ -35,8 +35,11 @@ for f in 'package.json' 'package-lock.json' 'README.md' 'LICENSE' 'config-sample cp "$f" "$DIR"/ done +# Patch package.json main +sed -i 's/.\/dist\/electron.js/electron.js/g' "$DIR/package.json" + script_dir=$(realpath $(dirname $0)) -cp -Rv "$script_dir/../build/src" "$DIR" +cp -R "$script_dir/../build/src" "$DIR" cp "$script_dir/../build/electron.js" "$DIR" # run in subshell (so we return to original dir) From 5a8442f3d813ff7557567e8b09c7341b32409cb8 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 21 Jul 2024 10:57:43 +0300 Subject: [PATCH 72/82] build: Fix artifacts not generated due to name change --- bin/build-linux-x64.sh | 2 +- bin/build-mac-arm64.sh | 2 +- bin/build-mac-x64.sh | 2 +- bin/build-win-x64.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/build-linux-x64.sh b/bin/build-linux-x64.sh index e3e415355..7b7b91a8a 100755 --- a/bin/build-linux-x64.sh +++ b/bin/build-linux-x64.sh @@ -35,7 +35,7 @@ echo "Packaging linux x64 electron build" BUILD_DIR=./dist/trilium-linux-x64 rm -rf "$BUILD_DIR" -mv "./dist/Trilium Notes-linux-x64" "$BUILD_DIR" +mv "./dist/TriliumNext Notes-linux-x64" "$BUILD_DIR" cp images/app-icons/png/128x128.png "$BUILD_DIR"/icon.png cp bin/tpl/anonymize-database.sql "$BUILD_DIR"/ diff --git a/bin/build-mac-arm64.sh b/bin/build-mac-arm64.sh index 8d1f595a6..219435344 100755 --- a/bin/build-mac-arm64.sh +++ b/bin/build-mac-arm64.sh @@ -21,7 +21,7 @@ BUILD_DIR=./dist/trilium-mac-arm64 rm -rf $BUILD_DIR # Mac build has by default useless directory level -mv "./dist/Trilium Notes-darwin-arm64" $BUILD_DIR +mv "./dist/TriliumNext Notes-darwin-arm64" $BUILD_DIR cp bin/tpl/anonymize-database.sql $BUILD_DIR/ diff --git a/bin/build-mac-x64.sh b/bin/build-mac-x64.sh index 8e560ba41..ba05322ae 100755 --- a/bin/build-mac-x64.sh +++ b/bin/build-mac-x64.sh @@ -21,7 +21,7 @@ BUILD_DIR=./dist/trilium-mac-x64 rm -rf $BUILD_DIR # Mac build has by default useless directory level -mv "./dist/Trilium Notes-darwin-x64" $BUILD_DIR +mv "./dist/TriliumNext Notes-darwin-x64" $BUILD_DIR cp bin/tpl/anonymize-database.sql $BUILD_DIR/ diff --git a/bin/build-win-x64.sh b/bin/build-win-x64.sh index 43c96304d..f71296cd5 100755 --- a/bin/build-win-x64.sh +++ b/bin/build-win-x64.sh @@ -25,7 +25,7 @@ echo "Packaging windows x64 electron build" BUILD_DIR=./dist/trilium-windows-x64 rm -rf $BUILD_DIR -mv "./dist/Trilium Notes-win32-x64" $BUILD_DIR +mv "./dist/TriliumNext Notes-win32-x64" $BUILD_DIR cp bin/tpl/anonymize-database.sql $BUILD_DIR/ From 374a51b77c35f5ff2e619b49f1e7aeda16005945 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 21 Jul 2024 11:26:14 +0300 Subject: [PATCH 73/82] ci: Update build info for Windows setup as well --- .github/workflows/main.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d1852bc41..5a450d99d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -127,7 +127,9 @@ jobs: cache: "npm" - run: npm ci - name: Run installer build - run: npm run make-electron + run: | + ./bin/update-build-info.sh + npm run make-electron - name: Publish installer artifact uses: actions/upload-artifact@v4 with: From d09578735ee51eec371254d11ad0719c489a785a Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 21 Jul 2024 11:45:31 +0300 Subject: [PATCH 74/82] build: Implement cross-platform build info script --- .github/workflows/main.yml | 12 ++++++------ bin/release.sh | 2 +- bin/update-build-info.sh | 3 --- bin/update-build-info.ts | 25 +++++++++++++++++++++++++ package.json | 3 ++- src/services/build.ts | 5 ++++- 6 files changed, 38 insertions(+), 12 deletions(-) delete mode 100755 bin/update-build-info.sh create mode 100644 bin/update-build-info.ts diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5a450d99d..7cc082f50 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,7 +26,7 @@ jobs: cache: "npm" - run: npm ci - run: | - ./bin/update-build-info.sh + npm run update-build-info ./bin/build-mac-x64.sh - uses: actions/upload-artifact@v4 with: @@ -44,7 +44,7 @@ jobs: cache: "npm" - run: npm ci - run: | - ./bin/update-build-info.sh + npm run update-build-info ./bin/build-mac-arm64.sh - uses: actions/upload-artifact@v4 with: @@ -62,7 +62,7 @@ jobs: cache: "npm" - run: npm ci - run: | - ./bin/update-build-info.sh + npm run update-build-info ./bin/build-linux-x64.sh - uses: actions/upload-artifact@v4 with: @@ -84,7 +84,7 @@ jobs: cache: "npm" - run: npm ci - run: | - ./bin/update-build-info.sh + npm run update-build-info ./bin/build-server.sh - uses: actions/upload-artifact@v4 with: @@ -109,7 +109,7 @@ jobs: cache: "npm" - run: npm ci - run: | - ./bin/update-build-info.sh + npm run update-build-info ./bin/build-win-x64.sh DONTPACK - uses: actions/upload-artifact@v4 with: @@ -128,7 +128,7 @@ jobs: - run: npm ci - name: Run installer build run: | - ./bin/update-build-info.sh + npm run update-build-info npm run make-electron - name: Publish installer artifact uses: actions/upload-artifact@v4 diff --git a/bin/release.sh b/bin/release.sh index abcba3e2b..cb1b36021 100755 --- a/bin/release.sh +++ b/bin/release.sh @@ -32,7 +32,7 @@ mv package.json.tmp package.json git add package.json -./update-build-info.sh +npm run update-build-info git add src/services/build.ts diff --git a/bin/update-build-info.sh b/bin/update-build-info.sh deleted file mode 100755 index 7da2cbc68..000000000 --- a/bin/update-build-info.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -echo 'export = { buildDate:"'`date --iso-8601=seconds`'", buildRevision: "'`git log -1 --format="%H"`'" };' > src/services/build.ts \ No newline at end of file diff --git a/bin/update-build-info.ts b/bin/update-build-info.ts new file mode 100644 index 000000000..94b56b606 --- /dev/null +++ b/bin/update-build-info.ts @@ -0,0 +1,25 @@ +import child_process from "child_process"; +import fs from "fs"; + +function getBuildDate() { + const now = new Date(); + now.setMilliseconds(0); + return now + .toISOString() + .replace(".000", ""); +} + +function getGitRevision() { + return child_process.execSync('git log -1 --format="%H"') + .toString("utf-8") + .trimEnd(); +} + +const output = `\ +export = { + buildDate: "${getBuildDate()}", + buildRevision: "${getGitRevision()}" +}; +`; + +fs.writeFileSync("src/services/build.ts", output); \ No newline at end of file diff --git a/package.json b/package.json index b049c76d0..4589007aa 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,8 @@ "start-electron-forge": "npm run prepare-dist && electron-forge start", "make-electron": "npm run webpack && npm run prepare-dist && electron-forge make", "package-electron": "electron-forge package", - "prepare-dist": "rimraf ./dist && tsc && ts-node ./bin/copy-dist.ts" + "prepare-dist": "rimraf ./dist && tsc && ts-node ./bin/copy-dist.ts", + "update-build-info": "ts-node bin/update-build-info.ts" }, "dependencies": { "@braintree/sanitize-url": "^7.1.0", diff --git a/src/services/build.ts b/src/services/build.ts index 96cb91704..2f3c59a7f 100644 --- a/src/services/build.ts +++ b/src/services/build.ts @@ -1 +1,4 @@ -export = { buildDate:"2024-07-14T22:32:45+03:00", buildRevision: "b811f3d399aed7e740bd8e92ef7edc7d15de7038" }; +export = { + buildDate: "2024-07-21T08:44:01Z", + buildRevision: "374a51b77c35f5ff2e619b49f1e7aeda16005945" +}; From 715a952148ae6e83fda0886f5ceec8dc329972ae Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 21 Jul 2024 13:24:44 +0300 Subject: [PATCH 75/82] build: Remove auth if token not provided --- bin/release.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bin/release.sh b/bin/release.sh index cb1b36021..0d4ef905d 100755 --- a/bin/release.sh +++ b/bin/release.sh @@ -65,7 +65,9 @@ if [[ $TAG == *"beta"* ]]; then EXTRA=--prerelease fi -echo "$GITHUB_CLI_AUTH_TOKEN" | gh auth login --with-token +if [ ! -z "$GITHUB_CLI_AUTH_TOKEN" ]; then + echo "$GITHUB_CLI_AUTH_TOKEN" | gh auth login --with-token +fi gh release create "$TAG" \ --title "$TAG release" \ From 2e9a624bfda8f93b5a80c5007abc29f43b4a0b5a Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 21 Jul 2024 13:25:01 +0300 Subject: [PATCH 76/82] release 0.90.1-beta --- package.json | 2 +- src/services/build.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 4589007aa..36597be6e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "trilium", "productName": "TriliumNext Notes", "description": "Build your personal knowledge base with TriliumNext Notes", - "version": "0.90.0-beta", + "version": "0.90.1-beta", "license": "AGPL-3.0-only", "main": "./dist/electron.js", "author": { diff --git a/src/services/build.ts b/src/services/build.ts index 2f3c59a7f..71e95ea49 100644 --- a/src/services/build.ts +++ b/src/services/build.ts @@ -1,4 +1,4 @@ export = { - buildDate: "2024-07-21T08:44:01Z", - buildRevision: "374a51b77c35f5ff2e619b49f1e7aeda16005945" + buildDate: "2024-07-21T10:25:01Z", + buildRevision: "715a952148ae6e83fda0886f5ceec8dc329972ae" }; From 4edb0374fcca20f7412f066a990ade8217451d87 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sun, 21 Jul 2024 21:14:27 +0300 Subject: [PATCH 77/82] server: Fix "Content hash check for [...] sector [...] FAILED" The issue was caused by a guard condition which prevented the writing of entity changes which came from the remote and were marked as deleted, resulting in an incorrect checksum when attempting to sync. --- src/services/sync_update.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/services/sync_update.ts b/src/services/sync_update.ts index 78a6f3f27..61d425438 100644 --- a/src/services/sync_update.ts +++ b/src/services/sync_update.ts @@ -41,15 +41,13 @@ function updateEntities(entityChanges: EntityChangeRecord[], instanceId: string) atLeastOnePullApplied = true; } - if (entity) { - updateEntity(entityChange, entity, instanceId, updateContext); - } + updateEntity(entityChange, entity, instanceId, updateContext); } logUpdateContext(updateContext); } -function updateEntity(remoteEC: EntityChange, remoteEntityRow: EntityRow, instanceId: string, updateContext: UpdateContext) { +function updateEntity(remoteEC: EntityChange, remoteEntityRow: EntityRow | undefined, instanceId: string, updateContext: UpdateContext) { if (!remoteEntityRow && remoteEC.entityName === 'options') { return; // can be undefined for options with isSynced=false } @@ -74,7 +72,7 @@ function updateEntity(remoteEC: EntityChange, remoteEntityRow: EntityRow, instan } } -function updateNormalEntity(remoteEC: EntityChange, remoteEntityRow: EntityRow, instanceId: string, updateContext: UpdateContext) { +function updateNormalEntity(remoteEC: EntityChange, remoteEntityRow: EntityRow | undefined, instanceId: string, updateContext: UpdateContext) { const localEC = sql.getRow(`SELECT * FROM entity_changes WHERE entityName = ? AND entityId = ?`, [remoteEC.entityName, remoteEC.entityId]); const localECIsOlderOrSameAsRemote = ( localEC && localEC.utcDateChanged && remoteEC.utcDateChanged && @@ -139,7 +137,7 @@ function preProcessContent(remoteEC: EntityChange, remoteEntityRow: EntityRow) { } } -function updateNoteReordering(remoteEC: EntityChange, remoteEntityRow: EntityRow, instanceId: string) { +function updateNoteReordering(remoteEC: EntityChange, remoteEntityRow: EntityRow | undefined, instanceId: string) { if (!remoteEntityRow) { throw new Error(`Empty note_reordering body for: ${JSON.stringify(remoteEC)}`); } From c1b5eb086b17a2bd4e25de7018fa596ddb0756e6 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 22 Jul 2024 19:39:15 +0300 Subject: [PATCH 78/82] ci: Don't build main if only docs were changed --- .github/workflows/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7cc082f50..a43a1858d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,6 +4,8 @@ on: branches: - 'develop' - 'feature/update*' + paths-ignore: + - 'docs/**' concurrency: group: ${{ github.workflow }}-${{ github.ref }} From 997da1c3bcd69cd531300bc952e8a77095d8a2c3 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 22 Jul 2024 19:40:00 +0300 Subject: [PATCH 79/82] client: Change URL for checking updates (not testable yet) --- src/public/app/widgets/buttons/global_menu.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/public/app/widgets/buttons/global_menu.js b/src/public/app/widgets/buttons/global_menu.js index 162ad6149..4c3f9f49d 100644 --- a/src/public/app/widgets/buttons/global_menu.js +++ b/src/public/app/widgets/buttons/global_menu.js @@ -301,7 +301,7 @@ export default class GlobalMenuWidget extends BasicWidget { } async fetchLatestVersion() { - const RELEASES_API_URL = "https://api.github.com/repos/zadam/trilium/releases/latest"; + const RELEASES_API_URL = "https://api.github.com/repos/TriliumNext/Notes/releases/latest"; const resp = await fetch(RELEASES_API_URL); const data = await resp.json(); From 906dad62a892b97e9b16960c9250f41ee20faffa Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 23 Jul 2024 22:51:26 +0300 Subject: [PATCH 80/82] dev: Set up i18n-ally --- .vscode/extensions.json | 5 ++++ .vscode/i18n-ally-custom-framework.yml | 34 ++++++++++++++++++++++++++ .vscode/settings.json | 5 +++- 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 .vscode/extensions.json create mode 100644 .vscode/i18n-ally-custom-framework.yml diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 000000000..677843835 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "lokalise.i18n-ally" + ] +} \ No newline at end of file diff --git a/.vscode/i18n-ally-custom-framework.yml b/.vscode/i18n-ally-custom-framework.yml new file mode 100644 index 000000000..66b79a69d --- /dev/null +++ b/.vscode/i18n-ally-custom-framework.yml @@ -0,0 +1,34 @@ +# An array of strings which contain Language Ids defined by VS Code +# You can check available language ids here: https://code.visualstudio.com/docs/languages/identifiers +languageIds: + - javascript + - typescript + - javascriptreact + - typescriptreact + +# An array of RegExes to find the key usage. **The key should be captured in the first match group**. +# You should unescape RegEx strings in order to fit in the YAML file +# To help with this, you can use https://www.freeformatter.com/json-escape.html +usageMatchRegex: + # The following example shows how to detect `t("your.i18n.keys")` + # the `{key}` will be placed by a proper keypath matching regex, + # you can ignore it and use your own matching rules as well + - "[^\\w\\d]t\\(['\"`]({key})['\"`]" + +# A RegEx to set a custom scope range. This scope will be used as a prefix when detecting keys +# and works like how the i18next framework identifies the namespace scope from the +# useTranslation() hook. +# You should unescape RegEx strings in order to fit in the YAML file +# To help with this, you can use https://www.freeformatter.com/json-escape.html +scopeRangeRegex: "useTranslation\\(\\s*\\[?\\s*['\"`](.*?)['\"`]" + +# An array of strings containing refactor templates. +# The "$1" will be replaced by the keypath specified. +# Optional: uncomment the following two lines to use + +# refactorTemplates: +# - i18n.get("$1") + + +# If set to true, only enables this custom framework (will disable all built-in frameworks) +monopoly: true \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 1415c74fa..2ab89f510 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,5 +2,8 @@ "editor.formatOnSave": false, "editor.defaultFormatter": "esbenp.prettier-vscode", "files.eol": "\n", - "typescript.tsdk": "node_modules/typescript/lib" + "typescript.tsdk": "node_modules/typescript/lib", + "i18n-ally.localesPaths": [ + "./src/public/translations" + ], } From de342c32856dd5480446eec55d045bbdfdf1b2fa Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 23 Jul 2024 23:19:11 +0300 Subject: [PATCH 81/82] dev: Set up key style & source language --- .vscode/settings.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.vscode/settings.json b/.vscode/settings.json index 2ab89f510..01d9b230e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,6 +3,8 @@ "editor.defaultFormatter": "esbenp.prettier-vscode", "files.eol": "\n", "typescript.tsdk": "node_modules/typescript/lib", + "i18n-ally.sourceLanguage": "en", + "i18n-ally.keystyle": "nested", "i18n-ally.localesPaths": [ "./src/public/translations" ], From ece343ac0968dfe030f6bbf0b3bd6bba947f1870 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 23 Jul 2024 23:27:00 +0300 Subject: [PATCH 82/82] dev: Improve custom translation framework slightly --- .vscode/i18n-ally-custom-framework.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.vscode/i18n-ally-custom-framework.yml b/.vscode/i18n-ally-custom-framework.yml index 66b79a69d..aeba9668c 100644 --- a/.vscode/i18n-ally-custom-framework.yml +++ b/.vscode/i18n-ally-custom-framework.yml @@ -3,8 +3,6 @@ languageIds: - javascript - typescript - - javascriptreact - - typescriptreact # An array of RegExes to find the key usage. **The key should be captured in the first match group**. # You should unescape RegEx strings in order to fit in the YAML file @@ -24,10 +22,8 @@ scopeRangeRegex: "useTranslation\\(\\s*\\[?\\s*['\"`](.*?)['\"`]" # An array of strings containing refactor templates. # The "$1" will be replaced by the keypath specified. -# Optional: uncomment the following two lines to use - -# refactorTemplates: -# - i18n.get("$1") +refactorTemplates: + - t("$1") # If set to true, only enables this custom framework (will disable all built-in frameworks)