diff --git a/apps/desktop/electron-builder.config.js b/apps/desktop/electron-builder.config.js index 7c01582e7..a49856778 100644 --- a/apps/desktop/electron-builder.config.js +++ b/apps/desktop/electron-builder.config.js @@ -57,6 +57,7 @@ module.exports = { "node_modules/bindings", "node_modules/node-gyp-build", "node_modules/sqlite-better-trigram", + "node_modules/sqlite3-fts5-html", "node_modules/sodium-native/prebuilds/${platform}-${arch}", { from: "node_modules/sqlite-better-trigram-linux-${arch}", @@ -70,6 +71,20 @@ module.exports = { from: "node_modules/sqlite-better-trigram-windows-${arch}", to: "node_modules/sqlite-better-trigram-windows-${arch}" }, + + { + from: "node_modules/sqlite3-fts5-html-linux-${arch}", + to: "node_modules/sqlite3-fts5-html-linux-${arch}" + }, + { + from: "node_modules/sqlite3-fts5-html-darwin-${arch}", + to: "node_modules/sqlite3-fts5-html-darwin-${arch}" + }, + { + from: "node_modules/sqlite3-fts5-html-windows-${arch}", + to: "node_modules/sqlite3-fts5-html-windows-${arch}" + }, + "node_modules/sodium-native/index.js", "node_modules/sodium-native/package.json" ], diff --git a/apps/desktop/package-lock.json b/apps/desktop/package-lock.json index 710d8fd64..592f713c2 100644 --- a/apps/desktop/package-lock.json +++ b/apps/desktop/package-lock.json @@ -15,11 +15,12 @@ "@notesnook/ui": "file:../../packages/ui", "@trpc/client": "10.45.2", "@trpc/server": "10.45.2", - "better-sqlite3-multiple-ciphers": "11.9.1", + "better-sqlite3-multiple-ciphers": "11.3.0", "electron-trpc": "0.7.1", "electron-updater": "^6.6.2", "icojs": "^0.19.5", "sqlite-better-trigram": "0.0.3", + "sqlite3-fts5-html": "^0.0.2", "typed-emitter": "^2.1.0", "yargs": "^17.7.2", "zod": "3.24.3" @@ -4895,9 +4896,9 @@ } }, "node_modules/@electron/windows-sign": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@electron/windows-sign/-/windows-sign-1.2.1.tgz", - "integrity": "sha512-YfASnrhJ+ve6Q43ZiDwmpBgYgi2u0bYjeAVi2tDfN7YWAKO8X9EEOuPGtqbJpPLM6TfAHimghICjWe2eaJ8BAg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@electron/windows-sign/-/windows-sign-1.2.2.tgz", + "integrity": "sha512-dfZeox66AvdPtb2lD8OsIIQh12Tp0GNCRUDfBHIKGpbmopZto2/A8nSpYYLoedPIHpqkeblZ/k8OV0Gy7PYuyQ==", "dev": true, "license": "BSD-2-Clause", "optional": true, @@ -5909,9 +5910,10 @@ "license": "MIT" }, "node_modules/better-sqlite3-multiple-ciphers": { - "version": "11.9.1", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/better-sqlite3-multiple-ciphers/-/better-sqlite3-multiple-ciphers-11.3.0.tgz", + "integrity": "sha512-F0+gYaT8drCyHpujgMjS4RRAElVdAtif0uH/v4rA5cLTR5v25zDXTkj2/ie8A26Www+vT60pCF0MD+MGzIcUzw==", "hasInstallScript": true, - "license": "MIT", "dependencies": { "bindings": "^1.5.0", "prebuild-install": "^7.1.1" @@ -9415,7 +9417,8 @@ }, "node_modules/sqlite-better-trigram": { "version": "0.0.3", - "license": "Public Domain", + "resolved": "https://registry.npmjs.org/sqlite-better-trigram/-/sqlite-better-trigram-0.0.3.tgz", + "integrity": "sha512-r+SDeNk+K1VotrUx/w0TMu4FdjoDDPCqxhtfU50dSeTzfCFtkMBq1/E3gvsaiHi3UYtOa6siA8CK/gYlj75eCA==", "optionalDependencies": { "sqlite-better-trigram-darwin-arm64": "0.0.3", "sqlite-better-trigram-darwin-x64": "0.0.3", @@ -9427,6 +9430,94 @@ }, "node_modules/sqlite-better-trigram-darwin-arm64": { "version": "0.0.3", + "resolved": "https://registry.npmjs.org/sqlite-better-trigram-darwin-arm64/-/sqlite-better-trigram-darwin-arm64-0.0.3.tgz", + "integrity": "sha512-ddL0K3v10bvqjuUgPSRfP1qFZAhO/43ruaWtWS5wu4DgikldGz1tBY+nQtdc+Xt0arrEMUyiEvOz7MuKHQNA0Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/sqlite-better-trigram-darwin-x64": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/sqlite-better-trigram-darwin-x64/-/sqlite-better-trigram-darwin-x64-0.0.3.tgz", + "integrity": "sha512-IQzFzXt0ib1MZ/UQm71X7RKv8G0vwepNqcmncWbK1R7LAWwpS/qaJ1NyrMOhL2AnfeQ33x1IkQE0GlamxFVC9A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/sqlite-better-trigram-linux-arm64": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/sqlite-better-trigram-linux-arm64/-/sqlite-better-trigram-linux-arm64-0.0.3.tgz", + "integrity": "sha512-NTykERCSxAutAtJ9ITwOQBitC9zDg61tTDoLOGdMoDO2iAQNLuGApNS8qFvnCNl1wZy8yowI24rHYMCWLDIEIA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/sqlite-better-trigram-linux-x64": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/sqlite-better-trigram-linux-x64/-/sqlite-better-trigram-linux-x64-0.0.3.tgz", + "integrity": "sha512-WoB2qMeFX6XGOWdTYCrF4imEBL5/a/UKqZpzWvPhtV92Ys47z4AIuwiWvekO8/5FRLYCyT9rJLXLSY2eUwOqLg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/sqlite-better-trigram-windows-arm64": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/sqlite-better-trigram-windows-arm64/-/sqlite-better-trigram-windows-arm64-0.0.3.tgz", + "integrity": "sha512-hXIT+PkkJQ3vJ0+E8Zh2/BoOCQ2dRj6LmchjP7T5afpbKXI/lcI77Cgk3tPwe8s/Ywci6OyeJwcaFuBtf1CLhw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/sqlite-better-trigram-windows-x64": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/sqlite-better-trigram-windows-x64/-/sqlite-better-trigram-windows-x64-0.0.3.tgz", + "integrity": "sha512-dli7MaDld9k02Vx74Mrovxxy+SQ72GwaObvIOcbI7ATiKUvhRvjHZgmuIvgxF2DM8aRejFHgPIC4/GUJcjauEg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/sqlite3-fts5-html": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/sqlite3-fts5-html/-/sqlite3-fts5-html-0.0.2.tgz", + "integrity": "sha512-ZAEkKJFQo5SvjTkRKQ7H/cFyClIdBX/lRV00twMHS30dbb+yYWkPPAGwNYzf9fIxwaGByE9hBLyF849Ttyoagw==", + "license": "Public Domain", + "optionalDependencies": { + "sqlite3-fts5-html-darwin-arm64": "0.0.2", + "sqlite3-fts5-html-darwin-x64": "0.0.2", + "sqlite3-fts5-html-linux-arm64": "0.0.2", + "sqlite3-fts5-html-linux-x64": "0.0.2", + "sqlite3-fts5-html-windows-arm64": "0.0.2", + "sqlite3-fts5-html-windows-x64": "0.0.2" + } + }, + "node_modules/sqlite3-fts5-html-darwin-arm64": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/sqlite3-fts5-html-darwin-arm64/-/sqlite3-fts5-html-darwin-arm64-0.0.2.tgz", + "integrity": "sha512-FvXbdhtO3Nd0xO8rdUjhmjvunfn0PmVnOqrAEXMIzq4Kme25Cx3myRQ5ros5T9cUY85bLrGU7kqXTwC7A2oDvQ==", "cpu": [ "arm64" ], @@ -9436,6 +9527,71 @@ "darwin" ] }, + "node_modules/sqlite3-fts5-html-darwin-x64": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/sqlite3-fts5-html-darwin-x64/-/sqlite3-fts5-html-darwin-x64-0.0.2.tgz", + "integrity": "sha512-INCUEeuqYnJAVZ/gKAPFBIL//bZdi424CxKZE627jlO4Gv8xIXfX1883Bc/7JRXl6oI8xkSh4ztolQ+Ern4Kfw==", + "cpu": [ + "x64" + ], + "license": "Public Domain", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/sqlite3-fts5-html-linux-arm64": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/sqlite3-fts5-html-linux-arm64/-/sqlite3-fts5-html-linux-arm64-0.0.2.tgz", + "integrity": "sha512-J/nndVy12Bj0j9Ml9VuRWj63rUJtzzOKE5Fbu16Vo+fMzOpuj8Nheqgc5Fu2NI0n3BTIuCvb1qOfil9JdCypMQ==", + "cpu": [ + "arm64" + ], + "license": "Public Domain", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/sqlite3-fts5-html-linux-x64": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/sqlite3-fts5-html-linux-x64/-/sqlite3-fts5-html-linux-x64-0.0.2.tgz", + "integrity": "sha512-vQQ8iLBSPvBv4tuDapSLxp65BUVRQC3MjxeHFu5x+xcMVZhrfQFCuJbsdh/R708vQzF88hM+zpVgXiZ/5GB2yw==", + "cpu": [ + "x64" + ], + "license": "Public Domain", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/sqlite3-fts5-html-windows-arm64": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/sqlite3-fts5-html-windows-arm64/-/sqlite3-fts5-html-windows-arm64-0.0.2.tgz", + "integrity": "sha512-P4aM3EyMn1RiN0vga9Cd2xSPrz6Tb61bgbrKNGyu9JPKR1hr7t7uz09EzkrQmXe8olKT2BmrlpP7qJr/HzJ+MQ==", + "cpu": [ + "arm64" + ], + "license": "Public Domain", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/sqlite3-fts5-html-windows-x64": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/sqlite3-fts5-html-windows-x64/-/sqlite3-fts5-html-windows-x64-0.0.2.tgz", + "integrity": "sha512-hgJ1xAmSUgwO6CO+Oiuwh0KjCm1O/YQWvYApin5JooLlv1j3WhVDgKIhupfiLZ0rNaLsUwWGPTq1S6FL7w0//g==", + "cpu": [ + "x64" + ], + "license": "Public Domain", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/ssri": { "version": "9.0.1", "dev": true, diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 24c60b17e..8dd5fcd92 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -30,11 +30,12 @@ "@notesnook/ui": "file:../../packages/ui", "@trpc/client": "10.45.2", "@trpc/server": "10.45.2", - "better-sqlite3-multiple-ciphers": "11.9.1", + "better-sqlite3-multiple-ciphers": "11.3.0", "electron-trpc": "0.7.1", "electron-updater": "^6.6.2", "icojs": "^0.19.5", "sqlite-better-trigram": "0.0.3", + "sqlite3-fts5-html": "^0.0.2", "typed-emitter": "^2.1.0", "yargs": "^17.7.2", "zod": "3.24.3" diff --git a/apps/desktop/src/api/sqlite-kysely.ts b/apps/desktop/src/api/sqlite-kysely.ts index f96d9c76b..3f5ce8326 100644 --- a/apps/desktop/src/api/sqlite-kysely.ts +++ b/apps/desktop/src/api/sqlite-kysely.ts @@ -47,7 +47,9 @@ export class SQLite { filePath ).unsafeMode(true); const betterTrigram = require("sqlite-better-trigram"); + const fts5Html = require("sqlite3-fts5-html"); betterTrigram.load(this.sqlite); + fts5Html.load(this.sqlite); } /**