debt - adopt @vscode/watcher with some newer fixes (#285247)

This commit is contained in:
Benjamin Pasero
2025-12-29 12:57:05 +01:00
committed by GitHub
parent cf46e1861f
commit 43b3987e74
16 changed files with 67 additions and 72 deletions
+5 -5
View File
@@ -112,11 +112,11 @@ node-pty/third_party/**
!node-pty/build/Release/conpty/conpty.dll !node-pty/build/Release/conpty/conpty.dll
!node-pty/build/Release/conpty/OpenConsole.exe !node-pty/build/Release/conpty/OpenConsole.exe
@parcel/watcher/binding.gyp @vscode/watcher/binding.gyp
@parcel/watcher/build/** @vscode/watcher/build/**
@parcel/watcher/prebuilds/** @vscode/watcher/prebuilds/**
@parcel/watcher/src/** @vscode/watcher/src/**
!@parcel/watcher/build/Release/*.node !@vscode/watcher/build/Release/*.node
vsda/** vsda/**
!vsda/index.js !vsda/index.js
@@ -10,7 +10,7 @@ elif [ "$VSCODE_ARCH" == "armhf" ]; then
fi fi
# Get all files with .node extension from server folder # Get all files with .node extension from server folder
files=$(find $SEARCH_PATH -name "*.node" -not -path "*prebuilds*" -not -path "*extensions/node_modules/@parcel/watcher*" -o -type f -executable -name "node") files=$(find $SEARCH_PATH -name "*.node" -not -path "*prebuilds*" -not -path "*extensions/node_modules/@vscode/watcher*" -o -type f -executable -name "node")
echo "Verifying requirements for files: $files" echo "Verifying requirements for files: $files"
+1 -1
View File
@@ -30,7 +30,7 @@ async function main(buildDir?: string) {
'**/Credits.rtf', '**/Credits.rtf',
'**/policies/{*.mobileconfig,**/*.plist}', '**/policies/{*.mobileconfig,**/*.plist}',
// TODO: Should we consider expanding this to other files in this area? // TODO: Should we consider expanding this to other files in this area?
'**/node_modules/@parcel/node-addon-api/nothing.target.mk', '**/node_modules/@vscode/node-addon-api/nothing.target.mk',
]; ];
await makeUniversalApp({ await makeUniversalApp({
+1 -1
View File
@@ -470,7 +470,7 @@ function patchWin32DependenciesTask(destinationFolderName: string) {
const cwd = path.join(path.dirname(root), destinationFolderName); const cwd = path.join(path.dirname(root), destinationFolderName);
return async () => { return async () => {
const deps = await glob('**/*.node', { cwd, ignore: 'extensions/node_modules/@parcel/watcher/**' }); const deps = await glob('**/*.node', { cwd, ignore: 'extensions/node_modules/@vscode/watcher/**' });
const packageJson = JSON.parse(await fs.promises.readFile(path.join(cwd, versionedResourcesFolder, 'resources', 'app', 'package.json'), 'utf8')); const packageJson = JSON.parse(await fs.promises.readFile(path.join(cwd, versionedResourcesFolder, 'resources', 'app', 'package.json'), 'utf8'));
const product = JSON.parse(await fs.promises.readFile(path.join(cwd, versionedResourcesFolder, 'resources', 'app', 'product.json'), 'utf8')); const product = JSON.parse(await fs.promises.readFile(path.join(cwd, versionedResourcesFolder, 'resources', 'app', 'product.json'), 'utf8'));
const baseVersion = packageJson.version.replace(/-.*$/, ''); const baseVersion = packageJson.version.replace(/-.*$/, '');
+2 -2
View File
@@ -110,7 +110,7 @@ function setNpmrcConfig(dir: string, env: NodeJS.ProcessEnv) {
} }
function removeParcelWatcherPrebuild(dir: string) { function removeParcelWatcherPrebuild(dir: string) {
const parcelModuleFolder = path.join(root, dir, 'node_modules', '@parcel'); const parcelModuleFolder = path.join(root, dir, 'node_modules', '@vscode');
if (!fs.existsSync(parcelModuleFolder)) { if (!fs.existsSync(parcelModuleFolder)) {
return; return;
} }
@@ -120,7 +120,7 @@ function removeParcelWatcherPrebuild(dir: string) {
if (moduleName.startsWith('watcher-')) { if (moduleName.startsWith('watcher-')) {
const modulePath = path.join(parcelModuleFolder, moduleName); const modulePath = path.join(parcelModuleFolder, moduleName);
fs.rmSync(modulePath, { recursive: true, force: true }); fs.rmSync(modulePath, { recursive: true, force: true });
log(dir, `Removed @parcel/watcher prebuilt module ${modulePath}`); log(dir, `Removed @vscode/watcher prebuilt module ${modulePath}`);
} }
} }
} }
+1 -6
View File
@@ -1439,7 +1439,7 @@ export default tseslint.config(
// - electron-main // - electron-main
'when': 'hasNode', 'when': 'hasNode',
'allow': [ 'allow': [
'@parcel/watcher', '@vscode/watcher',
'@vscode/sqlite3', '@vscode/sqlite3',
'@vscode/vscode-languagedetection', '@vscode/vscode-languagedetection',
'@vscode/ripgrep', '@vscode/ripgrep',
@@ -1930,7 +1930,6 @@ export default tseslint.config(
'test/automation', 'test/automation',
'test/smoke/**', 'test/smoke/**',
'@vscode/*', '@vscode/*',
'@parcel/*',
'@playwright/*', '@playwright/*',
'*' // node modules '*' // node modules
] ]
@@ -1940,7 +1939,6 @@ export default tseslint.config(
'restrictions': [ 'restrictions': [
'test/automation/**', 'test/automation/**',
'@vscode/*', '@vscode/*',
'@parcel/*',
'playwright-core/**', 'playwright-core/**',
'@playwright/*', '@playwright/*',
'*' // node modules '*' // node modules
@@ -1951,7 +1949,6 @@ export default tseslint.config(
'restrictions': [ 'restrictions': [
'test/integration/**', 'test/integration/**',
'@vscode/*', '@vscode/*',
'@parcel/*',
'@playwright/*', '@playwright/*',
'*' // node modules '*' // node modules
] ]
@@ -1961,7 +1958,6 @@ export default tseslint.config(
'restrictions': [ 'restrictions': [
'test/monaco/**', 'test/monaco/**',
'@vscode/*', '@vscode/*',
'@parcel/*',
'@playwright/*', '@playwright/*',
'*' // node modules '*' // node modules
] ]
@@ -1972,7 +1968,6 @@ export default tseslint.config(
'test/automation', 'test/automation',
'test/mcp/**', 'test/mcp/**',
'@vscode/*', '@vscode/*',
'@parcel/*',
'@playwright/*', '@playwright/*',
'@modelcontextprotocol/sdk/**/*', '@modelcontextprotocol/sdk/**/*',
'*' // node modules '*' // node modules
+1 -1
View File
@@ -82,7 +82,7 @@ export async function run(config, args, didBuild) {
const isWatch = args.indexOf('--watch') >= 0; const isWatch = args.indexOf('--watch') >= 0;
if (isWatch) { if (isWatch) {
await tryBuild(resolvedOptions, didBuild); await tryBuild(resolvedOptions, didBuild);
const watcher = await import('@parcel/watcher'); const watcher = await import('@vscode/watcher');
watcher.subscribe(config.srcDir, () => tryBuild(resolvedOptions, didBuild)); watcher.subscribe(config.srcDir, () => tryBuild(resolvedOptions, didBuild));
} else { } else {
return build(resolvedOptions, didBuild).catch(() => process.exit(1)); return build(resolvedOptions, didBuild).catch(() => process.exit(1));
+5 -5
View File
@@ -13,7 +13,7 @@
"typescript": "^5.9.3" "typescript": "^5.9.3"
}, },
"devDependencies": { "devDependencies": {
"@parcel/watcher": "parcel-bundler/watcher#1ca032aa8339260a8a3bcf825c3a1a71e3e43542", "@vscode/watcher": "bpasero/watcher#8ecffb4a57df24ac3e6946aa095b9b1f14f8bba9",
"esbuild": "0.25.0", "esbuild": "0.25.0",
"vscode-grammar-updater": "^1.1.0" "vscode-grammar-updater": "^1.1.0"
} }
@@ -443,10 +443,10 @@
"node": ">=18" "node": ">=18"
} }
}, },
"node_modules/@parcel/watcher": { "node_modules/@vscode/watcher": {
"version": "2.5.1", "version": "2.5.1-vscode",
"resolved": "git+ssh://git@github.com/parcel-bundler/watcher.git#1ca032aa8339260a8a3bcf825c3a1a71e3e43542", "resolved": "git+ssh://git@github.com/bpasero/watcher.git#8ecffb4a57df24ac3e6946aa095b9b1f14f8bba9",
"integrity": "sha512-Z0lk8pM5vwuOJU6pfheRXHrOpQYIIEnVl/z8DY6370D4+ZnrOTvFa5BUdf3pGxahT5ILbPWwQSm2Wthy4q1OTg==", "integrity": "sha512-7F4REbtMh5JAtdPpBCyPq7yLgcqnZV5L+uzuT4IDaZUyCKvIqi9gDiNPyoKpvCtrw6funLmrAncFHHWoDI+S4g==",
"dev": true, "dev": true,
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",
+1 -1
View File
@@ -10,7 +10,7 @@
"postinstall": "node ./postinstall.mjs" "postinstall": "node ./postinstall.mjs"
}, },
"devDependencies": { "devDependencies": {
"@parcel/watcher": "parcel-bundler/watcher#1ca032aa8339260a8a3bcf825c3a1a71e3e43542", "@vscode/watcher": "bpasero/watcher#8ecffb4a57df24ac3e6946aa095b9b1f14f8bba9",
"esbuild": "0.25.0", "esbuild": "0.25.0",
"vscode-grammar-updater": "^1.1.0" "vscode-grammar-updater": "^1.1.0"
}, },
+21 -21
View File
@@ -12,7 +12,6 @@
"dependencies": { "dependencies": {
"@microsoft/1ds-core-js": "^3.2.13", "@microsoft/1ds-core-js": "^3.2.13",
"@microsoft/1ds-post-js": "^3.2.13", "@microsoft/1ds-post-js": "^3.2.13",
"@parcel/watcher": "parcel-bundler/watcher#1ca032aa8339260a8a3bcf825c3a1a71e3e43542",
"@types/semver": "^7.5.8", "@types/semver": "^7.5.8",
"@vscode/deviceid": "^0.1.1", "@vscode/deviceid": "^0.1.1",
"@vscode/iconv-lite-umd": "0.7.1", "@vscode/iconv-lite-umd": "0.7.1",
@@ -24,6 +23,7 @@
"@vscode/sudo-prompt": "9.3.1", "@vscode/sudo-prompt": "9.3.1",
"@vscode/tree-sitter-wasm": "^0.3.0", "@vscode/tree-sitter-wasm": "^0.3.0",
"@vscode/vscode-languagedetection": "1.0.21", "@vscode/vscode-languagedetection": "1.0.21",
"@vscode/watcher": "bpasero/watcher#8ecffb4a57df24ac3e6946aa095b9b1f14f8bba9",
"@vscode/windows-mutex": "^0.5.0", "@vscode/windows-mutex": "^0.5.0",
"@vscode/windows-process-tree": "^0.6.0", "@vscode/windows-process-tree": "^0.6.0",
"@vscode/windows-registry": "^1.1.0", "@vscode/windows-registry": "^1.1.0",
@@ -1649,26 +1649,6 @@
"node": ">=8.0.0" "node": ">=8.0.0"
} }
}, },
"node_modules/@parcel/watcher": {
"version": "2.5.1",
"resolved": "git+ssh://git@github.com/parcel-bundler/watcher.git#1ca032aa8339260a8a3bcf825c3a1a71e3e43542",
"integrity": "sha512-Z0lk8pM5vwuOJU6pfheRXHrOpQYIIEnVl/z8DY6370D4+ZnrOTvFa5BUdf3pGxahT5ILbPWwQSm2Wthy4q1OTg==",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
"detect-libc": "^2.0.3",
"is-glob": "^4.0.3",
"micromatch": "^4.0.5",
"node-addon-api": "^7.0.0"
},
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@pkgjs/parseargs": { "node_modules/@pkgjs/parseargs": {
"version": "0.11.0", "version": "0.11.0",
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
@@ -3246,6 +3226,26 @@
"node": ">= 16" "node": ">= 16"
} }
}, },
"node_modules/@vscode/watcher": {
"version": "2.5.1-vscode",
"resolved": "git+ssh://git@github.com/bpasero/watcher.git#8ecffb4a57df24ac3e6946aa095b9b1f14f8bba9",
"integrity": "sha512-7F4REbtMh5JAtdPpBCyPq7yLgcqnZV5L+uzuT4IDaZUyCKvIqi9gDiNPyoKpvCtrw6funLmrAncFHHWoDI+S4g==",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
"detect-libc": "^2.0.3",
"is-glob": "^4.0.3",
"micromatch": "^4.0.5",
"node-addon-api": "^7.0.0"
},
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@vscode/windows-ca-certs": { "node_modules/@vscode/windows-ca-certs": {
"version": "0.3.3", "version": "0.3.3",
"resolved": "https://registry.npmjs.org/@vscode/windows-ca-certs/-/windows-ca-certs-0.3.3.tgz", "resolved": "https://registry.npmjs.org/@vscode/windows-ca-certs/-/windows-ca-certs-0.3.3.tgz",
+1 -1
View File
@@ -74,7 +74,6 @@
"dependencies": { "dependencies": {
"@microsoft/1ds-core-js": "^3.2.13", "@microsoft/1ds-core-js": "^3.2.13",
"@microsoft/1ds-post-js": "^3.2.13", "@microsoft/1ds-post-js": "^3.2.13",
"@parcel/watcher": "parcel-bundler/watcher#1ca032aa8339260a8a3bcf825c3a1a71e3e43542",
"@types/semver": "^7.5.8", "@types/semver": "^7.5.8",
"@vscode/deviceid": "^0.1.1", "@vscode/deviceid": "^0.1.1",
"@vscode/iconv-lite-umd": "0.7.1", "@vscode/iconv-lite-umd": "0.7.1",
@@ -86,6 +85,7 @@
"@vscode/sudo-prompt": "9.3.1", "@vscode/sudo-prompt": "9.3.1",
"@vscode/tree-sitter-wasm": "^0.3.0", "@vscode/tree-sitter-wasm": "^0.3.0",
"@vscode/vscode-languagedetection": "1.0.21", "@vscode/vscode-languagedetection": "1.0.21",
"@vscode/watcher": "bpasero/watcher#8ecffb4a57df24ac3e6946aa095b9b1f14f8bba9",
"@vscode/windows-mutex": "^0.5.0", "@vscode/windows-mutex": "^0.5.0",
"@vscode/windows-process-tree": "^0.6.0", "@vscode/windows-process-tree": "^0.6.0",
"@vscode/windows-registry": "^1.1.0", "@vscode/windows-registry": "^1.1.0",
+21 -21
View File
@@ -10,7 +10,6 @@
"dependencies": { "dependencies": {
"@microsoft/1ds-core-js": "^3.2.13", "@microsoft/1ds-core-js": "^3.2.13",
"@microsoft/1ds-post-js": "^3.2.13", "@microsoft/1ds-post-js": "^3.2.13",
"@parcel/watcher": "parcel-bundler/watcher#1ca032aa8339260a8a3bcf825c3a1a71e3e43542",
"@vscode/deviceid": "^0.1.1", "@vscode/deviceid": "^0.1.1",
"@vscode/iconv-lite-umd": "0.7.1", "@vscode/iconv-lite-umd": "0.7.1",
"@vscode/proxy-agent": "^0.36.0", "@vscode/proxy-agent": "^0.36.0",
@@ -18,6 +17,7 @@
"@vscode/spdlog": "^0.15.2", "@vscode/spdlog": "^0.15.2",
"@vscode/tree-sitter-wasm": "^0.3.0", "@vscode/tree-sitter-wasm": "^0.3.0",
"@vscode/vscode-languagedetection": "1.0.21", "@vscode/vscode-languagedetection": "1.0.21",
"@vscode/watcher": "bpasero/watcher#8ecffb4a57df24ac3e6946aa095b9b1f14f8bba9",
"@vscode/windows-process-tree": "^0.6.0", "@vscode/windows-process-tree": "^0.6.0",
"@vscode/windows-registry": "^1.1.0", "@vscode/windows-registry": "^1.1.0",
"@xterm/addon-clipboard": "^0.3.0-beta.22", "@xterm/addon-clipboard": "^0.3.0-beta.22",
@@ -89,26 +89,6 @@
"resolved": "https://registry.npmjs.org/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.9.tgz", "resolved": "https://registry.npmjs.org/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.9.tgz",
"integrity": "sha512-n1VPsljTSkthsAFYdiWfC+DKzK2WwcRp83Y1YAqdX552BstvsDjft9YXppjUzp11BPsapDoO1LDgrDB0XVsfNQ==" "integrity": "sha512-n1VPsljTSkthsAFYdiWfC+DKzK2WwcRp83Y1YAqdX552BstvsDjft9YXppjUzp11BPsapDoO1LDgrDB0XVsfNQ=="
}, },
"node_modules/@parcel/watcher": {
"version": "2.5.1",
"resolved": "git+ssh://git@github.com/parcel-bundler/watcher.git#1ca032aa8339260a8a3bcf825c3a1a71e3e43542",
"integrity": "sha512-Z0lk8pM5vwuOJU6pfheRXHrOpQYIIEnVl/z8DY6370D4+ZnrOTvFa5BUdf3pGxahT5ILbPWwQSm2Wthy4q1OTg==",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
"detect-libc": "^2.0.3",
"is-glob": "^4.0.3",
"micromatch": "^4.0.5",
"node-addon-api": "^7.0.0"
},
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@tootallnate/once": { "node_modules/@tootallnate/once": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-3.0.0.tgz", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-3.0.0.tgz",
@@ -201,6 +181,26 @@
"vscode-languagedetection": "cli/index.js" "vscode-languagedetection": "cli/index.js"
} }
}, },
"node_modules/@vscode/watcher": {
"version": "2.5.1-vscode",
"resolved": "git+ssh://git@github.com/bpasero/watcher.git#8ecffb4a57df24ac3e6946aa095b9b1f14f8bba9",
"integrity": "sha512-7F4REbtMh5JAtdPpBCyPq7yLgcqnZV5L+uzuT4IDaZUyCKvIqi9gDiNPyoKpvCtrw6funLmrAncFHHWoDI+S4g==",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
"detect-libc": "^2.0.3",
"is-glob": "^4.0.3",
"micromatch": "^4.0.5",
"node-addon-api": "^7.0.0"
},
"engines": {
"node": ">= 10.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/parcel"
}
},
"node_modules/@vscode/windows-ca-certs": { "node_modules/@vscode/windows-ca-certs": {
"version": "0.3.3", "version": "0.3.3",
"resolved": "https://registry.npmjs.org/@vscode/windows-ca-certs/-/windows-ca-certs-0.3.3.tgz", "resolved": "https://registry.npmjs.org/@vscode/windows-ca-certs/-/windows-ca-certs-0.3.3.tgz",
+1 -1
View File
@@ -5,7 +5,6 @@
"dependencies": { "dependencies": {
"@microsoft/1ds-core-js": "^3.2.13", "@microsoft/1ds-core-js": "^3.2.13",
"@microsoft/1ds-post-js": "^3.2.13", "@microsoft/1ds-post-js": "^3.2.13",
"@parcel/watcher": "parcel-bundler/watcher#1ca032aa8339260a8a3bcf825c3a1a71e3e43542",
"@vscode/deviceid": "^0.1.1", "@vscode/deviceid": "^0.1.1",
"@vscode/iconv-lite-umd": "0.7.1", "@vscode/iconv-lite-umd": "0.7.1",
"@vscode/proxy-agent": "^0.36.0", "@vscode/proxy-agent": "^0.36.0",
@@ -13,6 +12,7 @@
"@vscode/spdlog": "^0.15.2", "@vscode/spdlog": "^0.15.2",
"@vscode/tree-sitter-wasm": "^0.3.0", "@vscode/tree-sitter-wasm": "^0.3.0",
"@vscode/vscode-languagedetection": "1.0.21", "@vscode/vscode-languagedetection": "1.0.21",
"@vscode/watcher": "bpasero/watcher#8ecffb4a57df24ac3e6946aa095b9b1f14f8bba9",
"@vscode/windows-process-tree": "^0.6.0", "@vscode/windows-process-tree": "^0.6.0",
"@vscode/windows-registry": "^1.1.0", "@vscode/windows-registry": "^1.1.0",
"@xterm/addon-clipboard": "^0.3.0-beta.22", "@xterm/addon-clipboard": "^0.3.0-beta.22",
+1 -1
View File
@@ -6,7 +6,7 @@
import * as fsPromise from 'fs/promises'; import * as fsPromise from 'fs/promises';
import path from 'path'; import path from 'path';
import * as http from 'http'; import * as http from 'http';
import * as parcelWatcher from '@parcel/watcher'; import * as parcelWatcher from '@vscode/watcher';
/** /**
* Launches the server for the monaco editor playground * Launches the server for the monaco editor playground
@@ -76,9 +76,9 @@ flakySuite('Native Modules (all platforms)', () => {
assert.ok(typeof spdlog.version === 'number', testErrorMessage('@vscode/spdlog')); assert.ok(typeof spdlog.version === 'number', testErrorMessage('@vscode/spdlog'));
}); });
test('@parcel/watcher', async () => { test('@vscode/watcher', async () => {
const parcelWatcher = await import('@parcel/watcher'); const parcelWatcher = await import('@vscode/watcher');
assert.ok(typeof parcelWatcher.subscribe === 'function', testErrorMessage('@parcel/watcher')); assert.ok(typeof parcelWatcher.subscribe === 'function', testErrorMessage('@vscode/watcher'));
}); });
test('@vscode/deviceid', async () => { test('@vscode/deviceid', async () => {
@@ -3,7 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import parcelWatcher from '@parcel/watcher'; import parcelWatcher from '@vscode/watcher';
import { promises } from 'fs'; import { promises } from 'fs';
import { tmpdir, homedir } from 'os'; import { tmpdir, homedir } from 'os';
import { URI } from '../../../../../base/common/uri.js'; import { URI } from '../../../../../base/common/uri.js';