dotfiles/common/hellcooling/0001-web-build-local-extensions-as-well.patch

66 lines
1.7 KiB
Diff
Raw Normal View History

From 2f2ed36df2c55ca60c7074cf80f97cdc6d53f83e Mon Sep 17 00:00:00 2001
From: Alyxia Sother <alyxia@riseup.net>
Date: Mon, 22 May 2023 10:14:07 +0200
Subject: [PATCH] web: build local extensions as well
---
web/buildExtension.js | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/web/buildExtension.js b/web/buildExtension.js
index 206408c..4984ab2 100644
--- a/web/buildExtension.js
+++ b/web/buildExtension.js
@@ -1,7 +1,37 @@
+const fs = require("fs");
+const os = require("os");
+const path = require("path");
const webpack = require("webpack");
process.env.BUILD_TYPE = "extension";
const config = require("./webpack.config.js");
+const PATH_TO_EXTS = path.join(
+ os.homedir(),
+ "Library/ApplicationSupport/hh3/ext"
+);
+const HH_EXT_DIR = path.join(__dirname, "../ext");
+let exts = fs.readdirSync(PATH_TO_EXTS);
+exts = exts.filter((e) => e !== ".git");
+
+function deleteF(path) {
+ const isDir = fs.lstatSync(path).isDirectory();
+ if (isDir) fs.rmSync(path, {recursive: true});
+ else fs.unlinkSync(path);
+}
+
+for (const ext of exts) {
+ if (fs.existsSync(path.join(HH_EXT_DIR, ext)))
+ deleteF(path.join(HH_EXT_DIR, ext));
+
+ const source = path.join(PATH_TO_EXTS, ext);
+ const dest = path.join(HH_EXT_DIR, ext);
+
+ fs.cpSync(source, dest, {
+ recursive: true,
+ });
+ console.log(`${source} -> ${dest}`);
+}
+
webpack.webpack(config, (err, stats) => {
if (!stats?.compilation) {
console.log(err);
@@ -21,5 +51,10 @@ webpack.webpack(config, (err, stats) => {
})
);
}
+ for (let ext of exts) {
+ ext = path.join(HH_EXT_DIR, ext);
+ deleteF(ext);
+ console.log(`✕ ${ext}`);
+ }
}
});
--
2.37.1 (Apple Git-137.1)