Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
a8101c1
Fix any cases in md extension
mjbvz Oct 3, 2025
2de481e
Also update watch script
mjbvz Oct 3, 2025
1cc342a
Merge branch 'main' into dev/mjbvz/legitimate-squirrel
mjbvz Oct 15, 2025
c679b20
Merge branch 'main' into dev/mjbvz/legitimate-squirrel
mjbvz Nov 18, 2025
2e81391
Adopt esbuild instead of webpack for a few more extensions
mjbvz Feb 12, 2026
5d33f34
Merge branch 'main' into dev/mjbvz/legitimate-squirrel
mjbvz Feb 12, 2026
37cdd0e
Fixing errors
mjbvz Feb 12, 2026
9738437
Fixing error reporting and resolution of jsonc
mjbvz Feb 12, 2026
c5fb366
Merge pull request #269779 from mjbvz/dev/mjbvz/legitimate-squirrel
mjbvz Feb 12, 2026
e371f13
add support for fetching active chat session (#294992)
bhavyaus Feb 12, 2026
dfc43c7
Adopt unified js/ts setting for suggest
mjbvz Feb 12, 2026
41a5154
Merge branch 'main' into dev/mjbvz/esbuild-gunt
mjbvz Feb 12, 2026
e987c52
chore: bump extension versions (#295040)
rzhao271 Feb 12, 2026
313730f
Use `browser` if it exists
mjbvz Feb 12, 2026
0370d00
chat: make prompt discovery overrideable for scoped workspaces (#294763)
joshspicer Feb 12, 2026
1ca6934
Merge pull request #295055 from mjbvz/dev/mjbvz/mighty-horse
mjbvz Feb 12, 2026
aad1561
Merge pull request #294774 from microsoft/josh/upstream-newpromptactions
joshspicer Feb 12, 2026
73a9d49
Merge pull request #294779 from microsoft/digitarald/explore-agent-de…
digitarald Feb 13, 2026
631230f
Merge pull request #295029 from microsoft/dev/mjbvz/esbuild-gunt
mjbvz Feb 13, 2026
104123a
Merge pull request #295063 from microsoft/dev/dmitriv/flaky-download-fix
dmitrivMS Feb 13, 2026
1531635
Merge pull request #295059 from microsoft/dev/dmitriv/fetch-prevent-a…
dmitrivMS Feb 13, 2026
92d3b37
Rename `user-invokable` to `user-invocable` (#295058)
pwang347 Feb 13, 2026
16e49a8
Support prompt file slash commands in background agents (#295070)
DonJayamanne Feb 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 12 additions & 33 deletions build/lib/tsgo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ const npx = process.platform === 'win32' ? 'npx.cmd' : 'npx';
const ansiRegex = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;

export function spawnTsgo(projectPath: string, config: { taskName: string; noEmit?: boolean }, onComplete?: () => Promise<void> | void): Promise<void> {
function reporter(stdError: string) {
const matches = (stdError || '').match(/^error \w+: (.+)?/g);
function runReporter(stdError: string) {
const matches = (stdError || '').match(/error \w+: (.+)?/g);
fancyLog(`Finished ${ansiColors.green(config.taskName)} ${projectPath} with ${matches ? matches.length : 0} errors.`);
for (const match of matches || []) {
fancyLog.error(match);
Expand All @@ -34,41 +34,21 @@ export function spawnTsgo(projectPath: string, config: { taskName: string; noEmi
shell: true
});

let buffer = '';
const handleLine = (line: string) => {
const trimmed = line.replace(ansiRegex, '').trim();
if (!trimmed) {
return;
}
if (/Starting compilation|File change detected/i.test(trimmed)) {
return;
}
if (/Compilation complete/i.test(trimmed)) {
return;
}

reporter(trimmed);
};

const handleData = (data: Buffer) => {
buffer += data.toString('utf8');
const lines = buffer.split(/\r?\n/);
buffer = lines.pop() ?? '';
for (const line of lines) {
handleLine(line);
}
const lines = data.toString()
.split(/\r?\n/)
.map(line => line.replace(ansiRegex, '').trim())
.filter(line => line.length > 0)
.filter(line => !/Starting compilation|File change detected|Compilation complete/i.test(line));

runReporter(lines.join('\n'));
};

child.stdout?.on('data', handleData);
child.stderr?.on('data', handleData);

return new Promise<void>((resolve, reject) => {
child.on('exit', code => {
if (buffer.trim()) {
handleLine(buffer);
buffer = '';
}

if (code === 0) {
Promise.resolve(onComplete?.()).then(() => resolve(), reject);
} else {
Expand All @@ -84,12 +64,11 @@ export function spawnTsgo(projectPath: string, config: { taskName: string; noEmi

export function createTsgoStream(projectPath: string, config: { taskName: string; noEmit?: boolean }, onComplete?: () => Promise<void> | void): NodeJS.ReadWriteStream {
const stream = es.through();

spawnTsgo(projectPath, config, onComplete).then(() => {
stream.emit('end');
}).catch(() => {
// Errors are already reported by spawnTsgo via the reporter.
// Don't emit 'error' on the stream as that would exit the watch process.
stream.emit('end');
}).catch(err => {
stream.emit('error', err);
});

return stream;
Expand Down
2 changes: 1 addition & 1 deletion extensions/bat/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "bat",
"displayName": "%displayName%",
"description": "%description%",
"version": "1.0.0",
"version": "10.0.0",
"publisher": "vscode",
"license": "MIT",
"engines": {
Expand Down
2 changes: 1 addition & 1 deletion extensions/clojure/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "clojure",
"displayName": "%displayName%",
"description": "%description%",
"version": "1.0.0",
"version": "10.0.0",
"publisher": "vscode",
"license": "MIT",
"engines": {
Expand Down
2 changes: 1 addition & 1 deletion extensions/coffeescript/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "coffeescript",
"displayName": "%displayName%",
"description": "%description%",
"version": "1.0.0",
"version": "10.0.0",
"publisher": "vscode",
"license": "MIT",
"engines": {
Expand Down
5 changes: 2 additions & 3 deletions extensions/configuration-editing/.vscodeignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
test/**
src/**
tsconfig.json
tsconfig*.json
out/**
extension.webpack.config.js
extension-browser.webpack.config.js
esbuild*
package-lock.json
build/**
schemas/devContainer.codespaces.schema.json
Expand Down
35 changes: 35 additions & 0 deletions extensions/configuration-editing/esbuild.browser.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as path from 'node:path';
import type { Plugin } from 'esbuild';
import { run } from '../esbuild-extension-common.mts';

const srcDir = path.join(import.meta.dirname, 'src');
const outDir = path.join(import.meta.dirname, 'dist', 'browser');

/**
* Plugin to redirect `./node/net` imports to `./browser/net` for the browser build.
*/
const browserNetPlugin: Plugin = {
name: 'browser-net-redirect',
setup(build) {
build.onResolve({ filter: /\/node\/net$/ }, args => {
return { path: path.join(path.dirname(args.resolveDir), 'src', 'browser', 'net.ts') };
});
},
};

run({
platform: 'browser',
entryPoints: {
'configurationEditingMain': path.join(srcDir, 'configurationEditingMain.ts'),
},
srcDir,
outdir: outDir,
additionalOptions: {
plugins: [browserNetPlugin],
tsconfig: path.join(import.meta.dirname, 'tsconfig.browser.json'),
},
}, process.argv);
18 changes: 18 additions & 0 deletions extensions/configuration-editing/esbuild.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as path from 'node:path';
import { run } from '../esbuild-extension-common.mts';

const srcDir = path.join(import.meta.dirname, 'src');
const outDir = path.join(import.meta.dirname, 'dist');

run({
platform: 'node',
entryPoints: {
'configurationEditingMain': path.join(srcDir, 'configurationEditingMain.ts'),
},
srcDir,
outdir: outDir,
}, process.argv);

This file was deleted.

4 changes: 2 additions & 2 deletions extensions/configuration-editing/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 8 additions & 2 deletions extensions/configuration-editing/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "configuration-editing",
"displayName": "%displayName%",
"description": "%description%",
"version": "1.0.0",
"version": "10.0.0",
"publisher": "vscode",
"license": "MIT",
"engines": {
Expand All @@ -22,7 +22,13 @@
"browser": "./dist/browser/configurationEditingMain",
"scripts": {
"compile": "gulp compile-extension:configuration-editing",
"watch": "gulp watch-extension:configuration-editing"
"watch": "gulp watch-extension:configuration-editing",
"compile-web": "npm-run-all2 -lp bundle-web typecheck-web",
"bundle-web": "node ./esbuild.browser.mts",
"typecheck-web": "tsgo --project ./tsconfig.browser.json --noEmit",
"watch-web": "npm-run-all2 -lp watch-bundle-web watch-typecheck-web",
"watch-bundle-web": "node ./esbuild.browser.mts --watch",
"watch-typecheck-web": "tsgo --project ./tsconfig.browser.json --noEmit --watch"
},
"dependencies": {
"@octokit/rest": "^21.1.1",
Expand Down
10 changes: 10 additions & 0 deletions extensions/configuration-editing/tsconfig.browser.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {},
"exclude": [
"./src/test/**"
],
"files": [
"./src/configurationEditingMain.ts"
]
}
2 changes: 1 addition & 1 deletion extensions/cpp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "cpp",
"displayName": "%displayName%",
"description": "%description%",
"version": "1.0.0",
"version": "10.0.0",
"publisher": "vscode",
"license": "MIT",
"engines": {
Expand Down
2 changes: 1 addition & 1 deletion extensions/csharp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "csharp",
"displayName": "%displayName%",
"description": "%description%",
"version": "1.0.0",
"version": "10.0.0",
"publisher": "vscode",
"license": "MIT",
"engines": {
Expand Down
4 changes: 2 additions & 2 deletions extensions/css-language-features/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion extensions/css-language-features/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "css-language-features",
"displayName": "%displayName%",
"description": "%description%",
"version": "1.0.0",
"version": "10.0.0",
"publisher": "vscode",
"license": "MIT",
"engines": {
Expand Down
4 changes: 2 additions & 2 deletions extensions/css-language-features/server/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion extensions/css-language-features/server/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "vscode-css-languageserver",
"description": "CSS/LESS/SCSS language server",
"version": "1.0.0",
"version": "10.0.0",
"author": "Microsoft Corporation",
"license": "MIT",
"engines": {
Expand Down
2 changes: 1 addition & 1 deletion extensions/css/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "css",
"displayName": "%displayName%",
"description": "%description%",
"version": "1.0.0",
"version": "10.0.0",
"publisher": "vscode",
"license": "MIT",
"engines": {
Expand Down
2 changes: 1 addition & 1 deletion extensions/dart/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "dart",
"displayName": "%displayName%",
"description": "%description%",
"version": "1.0.0",
"version": "10.0.0",
"publisher": "vscode",
"license": "MIT",
"engines": {
Expand Down
4 changes: 2 additions & 2 deletions extensions/debug-auto-launch/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion extensions/debug-auto-launch/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "debug-auto-launch",
"displayName": "%displayName%",
"description": "%description%",
"version": "1.0.0",
"version": "10.0.0",
"publisher": "vscode",
"license": "MIT",
"engines": {
Expand Down
4 changes: 2 additions & 2 deletions extensions/debug-server-ready/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion extensions/debug-server-ready/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "debug-server-ready",
"displayName": "%displayName%",
"description": "%description%",
"version": "1.0.0",
"version": "10.0.0",
"publisher": "vscode",
"license": "MIT",
"engines": {
Expand Down
2 changes: 1 addition & 1 deletion extensions/diff/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "diff",
"displayName": "%displayName%",
"description": "%description%",
"version": "1.0.0",
"version": "10.0.0",
"publisher": "vscode",
"license": "MIT",
"engines": {
Expand Down
2 changes: 1 addition & 1 deletion extensions/docker/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "docker",
"displayName": "%displayName%",
"description": "%description%",
"version": "1.0.0",
"version": "10.0.0",
"publisher": "vscode",
"license": "MIT",
"engines": {
Expand Down
Loading
Loading