From 4e6047f84ddf51885a8c9ffc8708ed747aa25c47 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 23 Apr 2025 14:31:11 +0300 Subject: [PATCH] chore(nx/desktop): copy .node file for better-sqlite3 --- apps/desktop/package.json | 9 +++++---- apps/desktop/webpack.config.js | 16 +++++++++++++++- package-lock.json | 28 +++++++++++++++++++++++++++- 3 files changed, 47 insertions(+), 6 deletions(-) diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 587870d15..a90129c81 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -3,15 +3,16 @@ "version": "0.0.1", "private": true, "dependencies": { + "@electron/remote": "2.1.2", + "@triliumnext/server": "0.0.1", "better-sqlite3": "^11.9.1", "electron-debug": "4.1.0", "electron-dl": "4.0.0", - "electron-squirrel-startup": "1.0.1", - "@electron/remote": "2.1.2", - "@triliumnext/server": "0.0.1" + "electron-squirrel-startup": "1.0.1" }, "devDependencies": { - "@types/electron-squirrel-startup": "1.0.2" + "@types/electron-squirrel-startup": "1.0.2", + "copy-webpack-plugin": "13.0.0" }, "nx": { "targets": { diff --git a/apps/desktop/webpack.config.js b/apps/desktop/webpack.config.js index cf7eab7f0..314a96a95 100644 --- a/apps/desktop/webpack.config.js +++ b/apps/desktop/webpack.config.js @@ -1,9 +1,12 @@ const { NxAppWebpackPlugin } = require('@nx/webpack/app-plugin'); +const CopyPlugin = require('copy-webpack-plugin'); const { join } = require('path'); +const outputDir = join(__dirname, 'dist'); + module.exports = { output: { - path: join(__dirname, 'dist'), + path: outputDir, }, plugins: [ new NxAppWebpackPlugin({ @@ -17,7 +20,18 @@ module.exports = { generatePackageJson: true, externalDependencies: [ "electron/main" + ], + assets: [ + ] + }), + new CopyPlugin({ + patterns: [ + { + from: "../../node_modules/better-sqlite3/build/Release", + to: join(outputDir, "Release") + } + ] }) ], }; diff --git a/package-lock.json b/package-lock.json index a4b542709..a7a61d9fb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -215,19 +215,45 @@ "version": "0.0.1", "dependencies": { "@electron/remote": "2.1.2", + "@triliumnext/server": "0.0.1", "better-sqlite3": "^11.9.1", "electron-debug": "4.1.0", "electron-dl": "4.0.0", "electron-squirrel-startup": "1.0.1" }, "devDependencies": { - "@types/electron-squirrel-startup": "1.0.2" + "@types/electron-squirrel-startup": "1.0.2", + "copy-webpack-plugin": "13.0.0" } }, "apps/desktop-e2e": { "name": "@triliumnext/desktop-e2e", "version": "0.0.1" }, + "apps/desktop/node_modules/copy-webpack-plugin": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-13.0.0.tgz", + "integrity": "sha512-FgR/h5a6hzJqATDGd9YG41SeDViH+0bkHn6WNXCi5zKAZkeESeSxLySSsFLHqLEVCh0E+rITmCf0dusXWYukeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-parent": "^6.0.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.2.0", + "serialize-javascript": "^6.0.2", + "tinyglobby": "^0.2.12" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, "apps/server": { "name": "@triliumnext/server", "version": "0.0.1",