Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
"dependencies": {
"@node-steam/vdf": "^2.1.0",
"@quasar/extras": "^1.17.0",
"@sqlite.org/sqlite-wasm": "3.53.0-build1",
"adm-zip": "^0.5.5",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
Expand All @@ -39,6 +40,7 @@
"bulma-slider": "2.0.4",
"bulma-steps": "^2.2.1",
"bulma-switch": "^2.0.0",
"comlink": "4.4.2",
"core-js": "^3.47.0",
"dexie": "^3.2.7",
"dot-prop": "^5.2.0",
Expand Down
9 changes: 8 additions & 1 deletion quasar.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ export default defineConfig((ctx) => {
'i18n',
// 'axios',
'floating-vue',
'ecosystem'
'ecosystem',
'sqlite-worker'
],

// https://v2.quasar.dev/quasar-cli-vite/quasar-config-file#css
Expand Down Expand Up @@ -71,6 +72,12 @@ export default defineConfig((ctx) => {
extendViteConf (viteConf) {
// Force Vite to use esbuild for CSS, overriding any defaults
viteConf.build!.cssMinify = 'esbuild';

viteConf.optimizeDeps ??= {};
viteConf.optimizeDeps.exclude = [
...(viteConf.optimizeDeps.exclude ?? []),
'@sqlite.org/sqlite-wasm',
];
},
viteVuePluginOptions: {
template: {
Expand Down
6 changes: 6 additions & 0 deletions src/boot/sqlite-worker.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { defineBoot } from '#q-app/wrappers';
import { initPackageDbWorker } from 'src/r2mm/manager/sqlite/PackageDbClient';

export default defineBoot(async () => {
await initPackageDbWorker();
});
11 changes: 11 additions & 0 deletions src/r2mm/manager/sqlite/PackageDb.worker.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import * as Comlink from 'comlink';

const api = {
init(): void {
console.log('Web worker hit');
},
};

export type PackageDbApi = typeof api;

Comlink.expose(api);
20 changes: 20 additions & 0 deletions src/r2mm/manager/sqlite/PackageDbClient.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import * as Comlink from 'comlink';

import type { PackageDbApi } from './PackageDb.worker';

let api: Comlink.Remote<PackageDbApi> | undefined;

function getApi(): Comlink.Remote<PackageDbApi> {
if (api === undefined) {
const worker = new Worker(
new URL('./PackageDb.worker.ts', import.meta.url),
{ type: 'module' }
);
api = Comlink.wrap<PackageDbApi>(worker);
}
return api;
}

export async function initPackageDbWorker(): Promise<void> {
await getApi().init();
}
16 changes: 16 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2069,6 +2069,13 @@ __metadata:
languageName: node
linkType: hard

"@sqlite.org/sqlite-wasm@npm:3.53.0-build1":
version: 3.53.0-build1
resolution: "@sqlite.org/sqlite-wasm@npm:3.53.0-build1"
checksum: 10c0/9a03c170aa2bd07c346097ca1709b3721a46213ed82d67330966e1aecdcd25f39d5ce664b2471c1268a7b8b47a8f6d6783e464b3eece15ad6f96dccd15a5bb92
languageName: node
linkType: hard

"@szmarczak/http-timer@npm:^1.1.2":
version: 1.1.2
resolution: "@szmarczak/http-timer@npm:1.1.2"
Expand Down Expand Up @@ -4224,6 +4231,13 @@ __metadata:
languageName: node
linkType: hard

"comlink@npm:4.4.2":
version: 4.4.2
resolution: "comlink@npm:4.4.2"
checksum: 10c0/38aa1f455cf08e94aaa8fc494fd203cc0ef02ece6c21404b7931ce17567e8a72deacddab98aa5650cfd78332ff24c34610586f6fb27fd19dc77e753ed1980deb
languageName: node
linkType: hard

"commander@npm:^10.0.0":
version: 10.0.1
resolution: "commander@npm:10.0.1"
Expand Down Expand Up @@ -9175,6 +9189,7 @@ __metadata:
"@node-steam/vdf": "npm:^2.1.0"
"@quasar/app-vite": "npm:^2.4.0"
"@quasar/extras": "npm:^1.17.0"
"@sqlite.org/sqlite-wasm": "npm:3.53.0-build1"
"@types/adm-zip": "npm:^0.4.34"
"@types/async-lock": "npm:^1.1.2"
"@types/chai": "npm:^4.2.11"
Expand All @@ -9201,6 +9216,7 @@ __metadata:
bulma-slider: "npm:2.0.4"
bulma-steps: "npm:^2.2.1"
bulma-switch: "npm:^2.0.0"
comlink: "npm:4.4.2"
core-js: "npm:^3.47.0"
devtron: "npm:^1.4.0"
dexie: "npm:^3.2.7"
Expand Down
Loading