From e2d5452836b94d775b5a08940e068e63506dcd4b Mon Sep 17 00:00:00 2001 From: Christopher Hiller Date: Thu, 29 Dec 2022 11:25:22 -0800 Subject: [PATCH] chore(vscode): update tasks - Creates some build and watch tasks - Removed invalid task - Update `build_themes.js` to run async and support watch mode (watch mode cannot run using `esbuild.buildSync()`) --- .vscode/tasks.json | 77 +++++++++++++++++++++++++++++++++++++---- scripts/build_themes.js | 26 ++++++++------ 2 files changed, 87 insertions(+), 16 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index bc8b7c4fb..030f085c6 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -4,16 +4,81 @@ "version": "2.0.0", "tasks": [ { - "label": "build", + "label": "build-tsc", + "type": "npm", + "script": "build:tsc", + "problemMatcher": ["$tsc"], + "detail": "Build TypeDoc w/ tsc", + "presentation": { + "group": "build", + "panel": "dedicated" + }, + "group": { + "kind": "build" + } + }, + { + "label": "build-themes", + "type": "npm", + "script": "build:themes", + "problemMatcher": ["$esbuild"], + "detail": "Build TypeDoc themes", + "presentation": { + "group": "build", + "panel": "dedicated" + }, + "group": { + "kind": "build" + } + }, + { + "label": "dev-build-tsc", "type": "shell", - "command": "npm run build", - "problemMatcher": ["$tsc"] + "command": "npm run build:tsc -- --watch", + "problemMatcher": ["$tsc-watch"], + "detail": "Build TypeDoc w/ tsc in watch mode", + "isBackground": true, + "presentation": { + "group": "dev", + "panel": "dedicated" + }, + "group": { + "kind": "build" + } }, { - "label": "build_and_test", + "label": "dev-build-themes", "type": "shell", - "command": "npm run build_and_test", - "problemMatcher": ["$tsc"] + "command": "npm run build:themes -- --watch", + "problemMatcher": ["$esbuild-watch"], + "detail": "Build TypeDoc themes in watch mode", + "isBackground": true, + "presentation": { + "group": "dev", + "panel": "dedicated" + }, + "group": { + "kind": "build" + } + }, + { + "label": "dev", + "dependsOn": ["dev-build-tsc", "dev-build-themes"], + "detail": "Build TypeDoc in watch mode", + "problemMatcher": [], + "group": { + "kind": "build" + } + }, + { + "label": "build", + "dependsOn": ["build-tsc", "build-themes"], + "detail": "Build TypeDoc", + "problemMatcher": [], + "group": { + "kind": "build", + "isDefault": true + } } ] } diff --git a/scripts/build_themes.js b/scripts/build_themes.js index 39ad2d9ad..09879435c 100644 --- a/scripts/build_themes.js +++ b/scripts/build_themes.js @@ -1,12 +1,18 @@ const esbuild = require("esbuild"); -esbuild.buildSync({ - entryPoints: ["src/lib/output/themes/default/assets/bootstrap.ts"], - bundle: true, - minify: true, - outfile: "static/main.js", - banner: { - js: '"use strict";', - }, - logLevel: "info", -}); +esbuild + .build({ + entryPoints: ["src/lib/output/themes/default/assets/bootstrap.ts"], + bundle: true, + minify: true, + outfile: "static/main.js", + banner: { + js: '"use strict";', + }, + logLevel: "info", + watch: process.argv.slice(2).includes("--watch"), + }) + .catch((err) => { + console.error(err); + process.exitCode = 1; + });