summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/main.yaml10
-rw-r--r--extension/package.json1
-rw-r--r--extension/scripts/package.js43
-rw-r--r--extension/scripts/prepackage.js31
4 files changed, 45 insertions, 40 deletions
diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml
index 94f7073b..9475ba68 100644
--- a/.github/workflows/main.yaml
+++ b/.github/workflows/main.yaml
@@ -115,10 +115,10 @@ jobs:
# Run tests
- - name: Package the extension
+ - name: Prepare the extension
run: |
cd extension
- npm run package
+ npm run prepackage
- name: Install Xvfb for Linux and run tests
run: |
@@ -135,7 +135,11 @@ jobs:
npm run test
if: matrix.os != 'ubuntu-20.04'
- # Upload .vsix artifact
+ # Create and upload .vsix artifact
+ - name: Package the extension
+ run: |
+ cd extension
+ npm run package
- name: Upload .vsix as an artifact
uses: actions/upload-artifact@v2
diff --git a/extension/package.json b/extension/package.json
index 4d800458..46b1dd02 100644
--- a/extension/package.json
+++ b/extension/package.json
@@ -193,6 +193,7 @@
"lint": "eslint src --ext ts",
"build-test": "tsc && node esbuild.test.mjs",
"test": "npm run build-test && node ./out/test-runner/runTestOnVSCodeHost.js",
+ "prepackage": "node scripts/prepackage.js",
"package": "node scripts/package.js"
},
"devDependencies": {
diff --git a/extension/scripts/package.js b/extension/scripts/package.js
index 59da9181..8f1e68fd 100644
--- a/extension/scripts/package.js
+++ b/extension/scripts/package.js
@@ -1,42 +1,11 @@
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");
+if (!fs.existsSync("build")) {
+ fs.mkdirSync("build");
+}
- 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");
- });
- });
- });
- });
+exec("vsce package --out ./build patch", (error) => {
+ if (error) throw error;
+ console.log("vsce package completed");
});
diff --git a/extension/scripts/prepackage.js b/extension/scripts/prepackage.js
new file mode 100644
index 00000000..c55df802
--- /dev/null
+++ b/extension/scripts/prepackage.js
@@ -0,0 +1,31 @@
+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");
+ });
+ });
+ });
+});