369 Commits

Author SHA1 Message Date
Matt Bierner
5e957b6922 Update build ts version 2026-04-08 20:49:29 -07:00
Rob Lourens
c065b175fd Add argument parsing, suite filtering, and grep support to integration test scripts (#305837)
* Add argument parsing, suite filtering, and grep support to integration test scripts

- Add --run, --runGlob, --grep, --suite, and --help argument parsing
- --suite selects extension host test suites (comma-separated, glob patterns)
- --grep forwards test name filter to all runners via MOCHA_GREP env var
- Validate --suite filter matches at least one known suite
- Add MOCHA_GREP support to testrunner.js, CSS and HTML test runners
- Seed user settings to suppress dock bounce notifications
- Always apply *.integrationTest.js glob for node.js tests
- Add integration-tests skill documentation

* Address Copilot review feedback

- Quote cd $ROOT, rm -rf $VSCODEUSERDATADIR, rmdir %VSCODEUSERDATADIR%
- Quote --runGlob pattern to prevent premature glob expansion
- Use GREP_ARGS array for safe grep forwarding in .sh
- Use conditional call with proper quoting for grep in .bat
- Deduplicate suite list into KNOWN_SUITES variable
- Remove unused EXTRA_ARGS and ARGS variables from .bat

* Fix Windows CI: remove unnecessary enabledelayedexpansion

The original script used plain 'setlocal'. Adding 'enabledelayedexpansion'
may affect path resolution behavior on Windows CI. Since no delayed
expansion (\!var\!) syntax is used, revert to the original 'setlocal'.

* Fix Windows CI: capture %~dp0 before call :label corrupts it

In Windows batch, 'call :label' can change what %~dp0 resolves to.
Our should_run_suite subroutine uses 'call :should_run_suite', which
caused %~dp0 to resolve to the wrong directory for extension paths
that appear after the subroutine call. Capture the script directory
once at startup into %SCRIPT_DIR% and use it everywhere.
2026-03-28 11:23:37 +11:00
Matt Bierner
af32b7b329 Revert "Add min-release-age in npmrc files"
This reverts commit a440ae0518.
2026-03-11 10:07:42 -07:00
Matt Bierner
a440ae0518 Add min-release-age in npmrc files
For #299632

Not fully enabled unless you're using a recent npm. Next step will be to bump the min node/npm versions for the workspace too
2026-03-10 20:33:07 -07:00
Matt Bierner
ffc4f9dcb3 Reapply 8e445caeff
Switching to a slightly older postcss version to avoid the official build issue
2026-03-03 10:57:52 -08:00
Matt Bierner
8e445caeff Revert "Remove remaining webpack references for building extensions"
This reverts commit 3d7cf10fd1.
2026-03-02 22:42:15 -08:00
Matt Bierner
3d7cf10fd1 Remove remaining webpack references for building extensions
All extensions now should be fully ported over to use esbuild instead of webpack
2026-03-02 15:07:39 -08:00
Martin Aeschlimann
36d424971f [html/css/json] update services (#297113) 2026-02-23 22:17:23 +00:00
Matt Bierner
d36696b482 Esbuild the html and json extensions
Switches from webpack to esbuild
2026-02-19 00:33:01 -08:00
Raymond Zhao
e987c5242e chore: bump extension versions (#295040) 2026-02-13 04:15:03 +05:00
Matt Bierner
ee01088b74 Update roots 2026-01-30 13:12:58 -08:00
Matt Bierner
0d9a2ef2b0 Add explicit rootDirs 2026-01-30 11:07:53 -08:00
Martin Aeschlimann
5561fdf4f3 [css/html/json] update services (#280428) 2025-12-01 20:45:13 +00:00
Martin Aeschlimann
cee904f80c remove some anys (#271651) 2025-10-16 11:48:38 +02:00
Matt Bierner
162806006a Update a few package-locks for mocha 2025-10-13 11:13:12 -07:00
Matt Bierner
98b069c041 Work towards getting isolated built-in extension compiles
For #271167

This makes it so our built-in extensions can mostly be built using `tsc` on the command line. Previously the extensions were picking up a lot of typing info from the root `node_modules` that meant they weren't truly independent
2025-10-13 11:03:20 -07:00
Matt Bierner
360c9fd134 Add lint rule for as any and bulk ignore all existing breaks
For #269213

This adds a new eslint rule for `as any` and `<any>({... })`. We'd like to remove almost all of these, however right now the first goal is to prevent them in new code. That's why with this first PR I simply add `eslint-disable` comments for all breaks

Trying to get this change in soon after branching off for release to hopefully minimize disruption during debt week work
2025-10-02 23:38:33 -07:00
Martin Aeschlimann
153c4c2aa9 [css/html/json] update services (#268964) 2025-09-29 22:00:05 +00:00
Matt Bierner
ed71020bfc Convert extension webpack scripts to modules 2025-08-07 17:20:22 -07:00
Matt Bierner
30b93b1217 Bump extensions to target es2024
I reviewed the various changes and library additions of es2024 and it seems they are widely supported across node and modern browsers
2025-08-05 10:40:33 -07:00
Ladislau Szomoru
4d7c56ee82 Engineering - Add GitHub action for pull requests (#254056)
* Test - handle running tests as part of a GitHub action

* Add GitHub action files
2025-07-04 08:21:56 +00:00
Martin Aeschlimann
b9558f6405 [css/html/json] update services (#253088) 2025-06-30 23:15:58 +02:00
Martin Aeschlimann
a74b37c62f [css/json/html] update services (#250307) 2025-06-02 17:48:12 +00:00
Robo
12326f9906 chore: update to Electron 35 (#245423)
* chore: bump electron@35.0.1

* chore: update types/node@22.x

* chore: update web types for node v22.x

* chore: bump electron@35.1.2

* chore: update node.js build

* chore: update app.dock usage

Refs 71f3ff6bf2

* chore: bump electron@35.1.4

* chore: bump electron@35.1.5

* ci: bump sysroot to glibc 2.28 and gcc 10.5.0

* ci: enable timeout for smoketests

* chore: bump min glibcxx to 3.4.26 for server

* Revert "ci: enable timeout for smoketests"

This reverts commit afb637e85d.

* chore: update debian dependencies

* fix: workaround npm.ps1 argument parsing with powershell

* chore: update rpm dependencies

* test: partially revert changes from 242535

* test: remove redudant keybinding dispatch for selectTab

* test: fix test failure from running configured tasks

* test: focus settings editor for preferences.test.ts

* node - adopt compile cache (#246835)

* node - adopt compile cache

* adopt for utility process

* tweaks

* log state of compilation cache

* Revert "log state of compilation cache"

This reverts commit f3840387a583013834762e2c44f6e8424929297f.

* Revert "node - adopt compile cache (#246835)"

This reverts commit 673a00cab66c9bac87f3cd27b80efa41c80150f1.

* chore: update builds

* chore: bump electron@35.2.0

* chore: bump electron@35.2.1

* chore: bump electron@35.2.2

---------

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
2025-05-09 19:03:36 +09:00
Martin Aeschlimann
d9951c029e [html] JavaScript IntelliSense in <script type=module> HTML without quotes breaks (#247405) 2025-04-29 14:32:54 +00:00
Martin Aeschlimann
63acf66b1c [css/html/json] update services (#247404) 2025-04-25 09:28:57 -07:00
Martin Aeschlimann
d15f6eee9b Merge pull request #244074 from nknguyenhc/goto-html
Goto definition for built-in symbols in HTML script
2025-04-10 16:50:55 +02:00
Martin Aeschlimann
165c1094cd polish 2025-04-10 11:24:30 +02:00
Martin Aeschlimann
e833c72359 update css service (#245688) 2025-04-04 16:29:20 +02:00
nknguyenhc
618a091f90 Remove sending of extension URI 2025-03-28 23:00:30 +08:00
nknguyenhc
4baf61eeb2 Add reading library files to HTML server 2025-03-28 22:48:10 +08:00
Martin Aeschlimann
b3c8c9f11d [css/html/json] update services (#244509) 2025-03-24 15:32:33 -07:00
nknguyenhc
c1da035939 Some error handling 2025-03-22 00:53:20 +08:00
nknguyenhc
c8c2281cba Handle libs on web 2025-03-22 00:47:25 +08:00
nknguyenhc
f2ea517495 Move function to javascriptLib 2025-03-21 19:02:12 +08:00
nknguyenhc
d9d05285b9 Goto definition for DOM classes in HTML 2025-03-20 11:23:00 +08:00
Derek Yang
77f0483dcd Add additional test case containing no escaped quotes 2024-12-05 14:22:54 -05:00
Derek Yang
4685d75964 Fix CSS errors when using HTML escaped quotes 2024-12-04 23:48:25 -05:00
Martin Aeschlimann
8713346d2b [css/json/html] update services (#235034) 2024-12-02 22:13:01 +01:00
Martin Aeschlimann
fc6d94b806 [css/json/html] adopt latest lsp, update to module: node16 (#230371)
* adopt latest language-server/client

* update package-locks

* transpiler to support Node16
2024-10-03 13:49:56 +02:00
Johannes
e6f315d2fc eng - use esModuleInterop for extensions 2024-10-01 21:57:30 +02:00
Robo
9494a89080 chore: add npmrc to extensions folder (#230214) 2024-10-01 12:43:01 +02:00
Matt Bierner
51fa4d0172 Fix more type assertions (#230156)
* Fix more type assertions

For #211878

* Fix type error
2024-09-30 14:17:06 -07:00
Robo
b5a6aa14a8 feat: switch to npm as default package manager (#226927)
* feat: move from yarn to npm

* chore: skip yarn.lock files

* fix: playwright download

* chore: fix compile and hygiene

* chore: bump vsce@2.17.0

Refs 8b49e9dfdf

* test: update results for bat and sh colorizer tests

* fix: add missing lock files for windows

* fix: switch to legacy-peer-deps

* chore: update markdown-it@14.1.0

Refs 737c95a129

esbuild step in extensions-ci-pr was previously using markdown-it
from root which had userland punycode and was able to compile successfully.

* ci: increase pr timeout for windows integration tests

* chore: fix product build

* build: ignore extension dev dependency for rcedit

* build: fix working directory inside container

* build: fix dependency generation

* npm: update dependencies

* ci: use global npmrc

* ci: update cache

* ci: setup global npmrc for private npm auth

* build: fix extension bundling

* chore: sync npm dependencies

* ci: debug env variables for container

* ci: fix win32 cli pipeline

* build: fix npmrc config usage for build/ and remote/ dirs

* fix: windows build

* fix: container builds

* fix: markdown-language-features tests and bundling

```
[03:58:22] Error: Command failed: /Users/demohan/.nvm/versions/node/v20.15.1/bin/node /Users/demohan/github/vscode/extensions/markdown-language-features/esbuild-notebook.js --outputRoot /Users/demohan/github/vscode/.build/extensions/markdown-language-features
✘ [ERROR] Could not resolve "punycode"

    extensions/markdown-language-features/node_modules/markdown-it/lib/index.js:14:27:
      14 │ var punycode     = require('punycode');
         ╵                            ~~~~~~~~~~

  The package "punycode" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
```

Adds userland package based on beed9aee2c

* fix: container builds for distro

* chore: update yarn occurrences

* fixup! chore: bump vsce@2.17.0

Uses the closest version to `main` branch that does not
include d3cc84cdec
while still having the fix 8b49e9dfdf

* chore: sync npm dependencies

* chore: sync npm dependencies

* chore: sync npm dependencies

* chore: throw error when yarn is used for installation

* chore: add review feedback

* chore: switch exec => run where needed

* chore: npm sync dependencies

* fix: markdown-language-features bundling

```
✘ [ERROR] Could not resolve "punycode"

    extensions/markdown-language-features/node_modules/markdown-it/lib/index.js:14:27:
      14 │ var punycode     = require('punycode');
         ╵                            ~~~~~~~~~~

  The package "punycode" wasn't found on the file system but is built into node. Are you trying to bundle for node? You can use "platform: 'node'" to do that, which will remove this error.
```

Adds missing userland package based on markdown-it/markdown-it@beed9ae,
can be removed once we update markdown-it >= 14.1.0

* ci: rename no-yarn-lock-changes.yml

* chore: sync npm dependencies

* ci: restore no-yarn-lock-changes.yml

We can disable it in a separate PR to keep the required
checks happy and also need workflow edit perms.

* chore: sync npm dependencies

* ci: rebuild cache

* ci: fix no-package-lock-changes.yml

* chore: bump distro

* chore: rm yarn.lock files

* chore: rm yarn.lock files without dependencies

* chore: add vscode-selfhost-import-aid to postinstall dirs

* chore: bump distro
2024-09-06 22:18:02 +09:00
Martin Aeschlimann
ce9ce04ab5 [css/json/html] update services (#226666)
* [css/json/html] update services

* revert server/client update
2024-08-27 00:25:24 +02:00
Martin Aeschlimann
45be8b8f75 [css/json/html] update services (#217364) 2024-06-24 11:47:01 -07:00
Robo
5216c04428 chore: update to electron 29 (#209818)
* chore: update electron@29.1.0

* chore: update typings to 20.x

* chore: bump electron@29.1.5

* ci: fix crash in compiling extensions-ci

* chore: disable .d.ts check for build/

$ ../node_modules/.bin/tsc -p tsconfig.build.json
node_modules/@types/chokidar/index.d.ts:21:14 - error TS2420: Class 'import("/Users/demohan/github/vscode/build/node_modules/@types/chokidar/index").FSWatcher' incorrectly implements interface 'import("fs").FSWatcher'.
  Type 'FSWatcher' is missing the following properties from type 'FSWatcher': ref, unref

21 export class FSWatcher extends EventEmitter implements fs.FSWatcher {
                ~~~~~~~~~

node_modules/chokidar/types/index.d.ts:8:14 - error TS2420: Class 'import("/Users/demohan/github/vscode/build/node_modules/chokidar/types/index").FSWatcher' incorrectly implements interface 'import("fs").FSWatcher'.
  Type 'FSWatcher' is missing the following properties from type 'FSWatcher': ref, unref

8 export class FSWatcher extends EventEmitter implements fs.FSWatcher {
               ~~~~~~~~~

Found 2 errors in 2 files.

Errors  Files
     1  node_modules/@types/chokidar/index.d.ts:21
     1  node_modules/chokidar/types/index.d.ts:8

Refs a0f9e09f64

* chore: update core types

* temp: fix layer validation

* chore: update nodejs checksums

* ci: use latest v20 LTS for missing node-gyp

Refs eacec5f490

* ci: define LIBCPP_HARDENING_MODE

* ci: fix crash in vscode-web-min-ci

* chore: update rpm deps-list

* chore: bump tree-sitter-typescript@0.20.5

* chore: bump electron@29.3.0

* chore: bump electron@29.3.1

* chore: update rpm deps-list for x86_64

* ci: disable io_uring UV backend on linux

* ci: disable io_uring backend for oss as well

* chore: update typings to 20.x

* ci: add TODO for io_uring workaround

* chore: bump distro

* chore: update preinstall node version checks

* chore: update @types/gulp

Refs https://github.com/microsoft/vscode/issues/212442

* ci: disable io_uring in more test suites
2024-05-11 01:20:28 +09:00
Martin Aeschlimann
fb757ca041 [json/html/css] update services (#208443)
* [json/html/css] update services

* use older language client

* older languageclient

---------

Co-authored-by: Logan Ramos <lramos15@gmail.com>
2024-03-22 21:52:12 +01:00
Martin Aeschlimann
4b0d700f7a [json/css/html] Update dependencies (#203084)
* update json/css/html

* fix typing

* revert to vscode-languageclient@9.0.1
2024-01-23 13:00:55 +01:00
Martin Aeschlimann
8f0f284b0f [html] update service (#196318) 2023-10-23 14:21:46 -07:00