mirror of
https://github.com/streetwriters/notesnook.git
synced 2025-12-16 19:57:52 +01:00
desktop: extract better-sqlite3 patching to its own module
This commit is contained in:
@@ -18,19 +18,17 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import path from "path";
|
import path from "path";
|
||||||
import fs, { readFile, writeFile } from "fs/promises";
|
import fs from "fs/promises";
|
||||||
import { existsSync, readFileSync } from "fs";
|
import { existsSync } from "fs";
|
||||||
import yargs from "yargs-parser";
|
import yargs from "yargs-parser";
|
||||||
import os from "os";
|
import os from "os";
|
||||||
import * as childProcess from "child_process";
|
import * as childProcess from "child_process";
|
||||||
import { fileURLToPath } from "url";
|
import { fileURLToPath } from "url";
|
||||||
|
import { patchBetterSQLite3 } from "./patch-better-sqlite3.mjs";
|
||||||
|
|
||||||
const args = yargs(process.argv);
|
const args = yargs(process.argv);
|
||||||
const __filename = fileURLToPath(import.meta.url);
|
const __filename = fileURLToPath(import.meta.url);
|
||||||
const __dirname = path.dirname(__filename);
|
const __dirname = path.dirname(__filename);
|
||||||
const packageJson = JSON.parse(
|
|
||||||
readFileSync(path.join(__dirname, "..", "package.json"), "utf-8")
|
|
||||||
);
|
|
||||||
|
|
||||||
const webAppPath = path.resolve(path.join(__dirname, "..", "..", "web"));
|
const webAppPath = path.resolve(path.join(__dirname, "..", "..", "web"));
|
||||||
|
|
||||||
@@ -46,12 +44,6 @@ if (args.rebuild || !existsSync(path.join(webAppPath, "build"))) {
|
|||||||
// temporary until there's support for prebuilt binaries for linux ARM
|
// temporary until there's support for prebuilt binaries for linux ARM
|
||||||
if (os.platform() === "linux") await patchBetterSQLite3();
|
if (os.platform() === "linux") await patchBetterSQLite3();
|
||||||
|
|
||||||
// if (os.platform() === "win32")
|
|
||||||
// await exec(
|
|
||||||
// `npx prebuildify --arch=arm64 --strip -t electron@${packageJson.devDependencies.electron}`,
|
|
||||||
// path.join(__dirname, "..", "node_modules", "sodium-native")
|
|
||||||
// );
|
|
||||||
|
|
||||||
await fs.cp(path.join(webAppPath, "build"), "build", {
|
await fs.cp(path.join(webAppPath, "build"), "build", {
|
||||||
recursive: true,
|
recursive: true,
|
||||||
force: true
|
force: true
|
||||||
@@ -83,21 +75,3 @@ async function exec(cmd, cwd) {
|
|||||||
cwd: cwd || process.cwd()
|
cwd: cwd || process.cwd()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async function patchBetterSQLite3() {
|
|
||||||
const jsonPath = path.join(
|
|
||||||
__dirname,
|
|
||||||
"..",
|
|
||||||
"node_modules",
|
|
||||||
"better-sqlite3-multiple-ciphers",
|
|
||||||
"package.json"
|
|
||||||
);
|
|
||||||
const json = JSON.parse(await readFile(jsonPath, "utf-8"));
|
|
||||||
|
|
||||||
json.version = "11.5.1";
|
|
||||||
json.homepage = "https://github.com/thecodrr/better-sqlite3-multiple-ciphers";
|
|
||||||
json.repository.url =
|
|
||||||
"git://github.com/thecodrr/better-sqlite3-multiple-ciphers.git";
|
|
||||||
|
|
||||||
await writeFile(jsonPath, JSON.stringify(json));
|
|
||||||
}
|
|
||||||
|
|||||||
48
apps/desktop/scripts/patch-better-sqlite3.mjs
Normal file
48
apps/desktop/scripts/patch-better-sqlite3.mjs
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
/*
|
||||||
|
This file is part of the Notesnook project (https://notesnook.com/)
|
||||||
|
|
||||||
|
Copyright (C) 2023 Streetwriters (Private) Limited
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { readFile, writeFile } from "fs/promises";
|
||||||
|
import path from "path";
|
||||||
|
import { fileURLToPath } from "url";
|
||||||
|
|
||||||
|
const __filename = fileURLToPath(import.meta.url);
|
||||||
|
const __dirname = path.dirname(__filename);
|
||||||
|
|
||||||
|
export async function patchBetterSQLite3() {
|
||||||
|
const jsonPath = path.join(
|
||||||
|
__dirname,
|
||||||
|
"..",
|
||||||
|
"node_modules",
|
||||||
|
"better-sqlite3-multiple-ciphers",
|
||||||
|
"package.json"
|
||||||
|
);
|
||||||
|
const json = JSON.parse(await readFile(jsonPath, "utf-8"));
|
||||||
|
|
||||||
|
json.version = "11.5.1";
|
||||||
|
json.homepage = "https://github.com/thecodrr/better-sqlite3-multiple-ciphers";
|
||||||
|
json.repository.url =
|
||||||
|
"git://github.com/thecodrr/better-sqlite3-multiple-ciphers.git";
|
||||||
|
|
||||||
|
await writeFile(jsonPath, JSON.stringify(json));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (process.argv[1] === __filename) {
|
||||||
|
console.log("Patching better-sqlite3");
|
||||||
|
patchBetterSQLite3();
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user