diff options
Diffstat (limited to '.vscode/tasks.json')
-rw-r--r-- | .vscode/tasks.json | 61 |
1 files changed, 35 insertions, 26 deletions
diff --git a/.vscode/tasks.json b/.vscode/tasks.json index aad0d2e4..3b6b62e8 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -1,44 +1,53 @@ -// See https://go.microsoft.com/fwlink/?LinkId=733558 -// for the documentation about the tasks.json format { "version": "2.0.0", "tasks": [ { - "label": "vscode-extension:build-watch", - "type": "npm", - "script": "esbuild-watch", - "path": "extension", - "isBackground": true, + "label": "vscode-extension:build", + "dependsOn": [ + // To detect compile errors + "vscode-extension:tsc", + // To bundle the code the same way we do for publishing + "vscode-extension:esbuild" + ], "group": { "kind": "build", "isDefault": true - }, - "problemMatcher": [ - // We rely on tsc to emit type errors in a separate task - ], - // Depends on prevents the task from running until the other task has completed, not want we want - // does not start the extension - // "dependsOn": [ - // // esbuild does not emit type errors so we need a separate task for that - // // https://esbuild.github.io/content-types/#typescript - // "vscode-extension:tsc-watch" - // ] + } }, { - "label": "vscode-extension:tsc-watch", + "label": "vscode-extension:esbuild", "type": "npm", - "script": "watch", + "script": "esbuild", "path": "extension", - "isBackground": true, "problemMatcher": [ - "$tsc-watch" + { + "pattern": [ + { + "regexp": "> (.*?):([0-9]+):([0-9]+): (warning|error): (.+)$", + "file": 1, + "line": 2, + "column": 3, + "severity": 4, + "message": 5 + } + ], + } + ], + }, + // Tsc currently errors out due to testing setup issues, will be resolved in a different PR + // This will be useful for preventing debugging if there are compile errors + { + "label": "vscode-extension:tsc", + "type": "shell", + "command": "echo lol", + // "script": "tsc", + // "path": "extension", + "problemMatcher": [ + "$tsc" ], - // Problems are currently broken due to path resolution not being relative to the workspace root - // The way cursorless does it it by having top level package.json which is not ideal. - // Multi root workspaces would help here "presentation": { "revealProblems": "onProblem", - "clear": true + "clear": true, }, "group": { "kind": "build", |