summaryrefslogtreecommitdiff
path: root/extension/scripts/package.js
diff options
context:
space:
mode:
Diffstat (limited to 'extension/scripts/package.js')
-rw-r--r--extension/scripts/package.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/extension/scripts/package.js b/extension/scripts/package.js
new file mode 100644
index 00000000..59da9181
--- /dev/null
+++ b/extension/scripts/package.js
@@ -0,0 +1,42 @@
+const { exec } = require("child_process");
+const fs = require("fs");
+const path = require("path");
+
+exec("npm install", (error) => {
+ if (error) throw error;
+ console.log("npm install completed");
+
+ exec("npm run typegen", (error) => {
+ if (error) throw error;
+ console.log("npm run typegen completed");
+
+ process.chdir("react-app");
+
+ exec("npm install", (error) => {
+ if (error) throw error;
+ console.log("npm install in react-app completed");
+
+ exec("npm run build", (error) => {
+ if (error) throw error;
+ if (!fs.existsSync(path.join("dist", "assets", "index.js"))) {
+ throw new Error("react-app build did not produce index.js");
+ }
+ if (!fs.existsSync(path.join("dist", "assets", "index.css"))) {
+ throw new Error("react-app build did not produce index.css");
+ }
+ console.log("npm run build in react-app completed");
+
+ process.chdir("..");
+
+ if (!fs.existsSync("build")) {
+ fs.mkdirSync("build");
+ }
+
+ exec("vsce package --out ./build patch", (error) => {
+ if (error) throw error;
+ console.log("vsce package completed");
+ });
+ });
+ });
+ });
+});