Commit Graph

94 Commits (ba6907515e1423671b91deb96b2088c5cd8d35a7)

Author SHA1 Message Date
Benjamin Pasero 789c320a1c
Replace mkdirp with fs.mkdirSync(path, { recursive: true }) (#228017)
* Replace mkdirp with fs.mkdirSync(path, { recursive: true })
(fix #227931)

* compile
2024-09-09 22:43:29 -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
Matt Bierner 84607a2fe2
Fix some always true/false errors in codebase (#223359)
* Fix some always true/false errors in codebase

Testing out latest TS nightly that can identify when an expression is always true/false. This caught a few likely coding mistakes in our codebase

Unsure about the intent in some of these cases but I've tried my best to understand them. Pinging relevant code owners for the confusing cases

* Bump TS version

* Fix unreachable in build scripts

* Bump versions

* restore intent

* Revert package.json change

* Fixing a few new layer checker errors

These are global in node now

* Skip lib check in integration project

* One more skiplibcheck

* More skip lib

---------

Co-authored-by: Benjamin Pasero <benjamin.pasero@gmail.com>
2024-07-30 15:37:27 -07:00
Robo 2fe0527205
chore: update to electron 30 (#215406)
* chore: update electron@30.0.9

* chore: update rpm deps

* chore: bump electron@30.1.2

* fix: update kerberos for Node.js 20.x

Refs c1f7acafb2

* fix: use shell when spawning .bat or .cmd files

Refs https://github.com/nodejs/node/commit/6627222409

* fix: update @vscode/test-electron@2.4.0

Refs 3f7a3cc5c5

* fixup! use shell when spawning .bat or .cmd files

* chore: bump nodejs@20.14.0 internal build

* ci: skip nodejsMirror for 20.14.0 due to missing builds

* fixup! use shell when spawning .bat or .cmd files

* chore: update debian deps

* fixup! skip nodejsMirror for 20.14.0 due to missing builds

* fix: universal build

- Updates vscode-universal-bundler to support x64ArchFiles option
- Kerberos starts building universal binaries which should now be
  skipped from lipo step via x64ArchFiles
- Skips bundling *.mk files

* chore: bump distro
2024-07-09 14:33:22 +09:00
Johannes Rieken feae5bf5d6
make sure errors are recreated when making LM requests (#216807)
* add integration tests for LanguageModelChat#sendRequest

* make sure errors are recreated when making LM requests

* disable test with a note for later

* fix remote integration tests
2024-06-24 09:50:48 +02: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 56b0088dce
update vscode-test-web (#201187)
* update vscode-test-web

* add @playwright/browser-chromium

* add skipLibCheck

* add skipLibCheck

* use esnext

* cleanup
2023-12-19 16:03:03 +01:00
João Moreno a5d71aad39
Cleanup dependencies (#195026)
* move build dependencies to devDependencies

* build: bump tree-sitter

* dependencies cleanup

* remove leftover file
2023-10-09 09:34:15 +02:00
Alpha Romer Coma 7ef754c2f6
Fix supported markdown-lint violations in markdown files (#190750)
docs: fix supported markdownlint violations
2023-08-24 08:37:25 +00:00
Robo ea490e5545
chore: update to Electron 25 (#188268)
* chore: update electron@25.3.0

* ci: update NodeTool version

* chore: update @types/node

* add more common types to layers checker

* chore: update debian dependencies

* chore: update rpm dependencies

* fix: use legacy dns result order of Node.js

* ci: remove deprecated always-auth npm config

Refs npm/cli@72a7eeb

* chore: update deb and rpm dependencies

* chore: update armhf rpm dependencies

* chore: update x64 debian dependencies

* chore: update x64 rpm dependencies

* chore: update electron@25.3.1

* chore: update electron@25.4.0

* chore: bump distro

* chore: bump distro

---------

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
2023-08-07 21:46:27 +09:00
Benjamin Pasero 3f7bc08865
tests - do not break `codeAutomationExit` API (refs microsoft/vscode-test-web#82) (#181682) 2023-05-08 12:36:55 +02:00
Benjamin Pasero 1894181c08
logs - make sure to attach all logs in browser tests (#181578)
* logs - make sure to attach all logs in browser tests

* separate server logs into `server` folder
2023-05-05 07:02:40 +02:00
Benjamin Pasero c4a46ef344
Expose client (browser) logs for integration tests running in browser (#180102) (#181513) 2023-05-04 15:28:25 +02:00
Benjamin Pasero 689624e401
tests - fix web integration tests to fail creating a page (#170613) 2023-01-05 02:54:56 -08:00
Alexandru Dima 06b97f6be7
Add more logging and perf markers around resolving the connection token and the socket factory (#170490)
* Add more logging and perf markers around resolving the connection token and the socket factory

* set `exposeFunction` earlier

* bla windows

* also expose function for unit tests beofre opening

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
2023-01-05 10:17:19 +01:00
Matt Bierner 57dd298b47
Add typings for test runner scripts (#169196) 2022-12-15 02:19:24 +01:00
Ladislau Szomoru 96d05578ac
Test - update minimatch (#167101) 2022-11-23 21:33:27 +00:00
Matt Bierner 4efa993b13
Bump targets for test/automation and test/integration (#165298)
Also enables strict mode for test/integration since it only had strict null checks previously
2022-11-02 17:10:12 -07:00
Matt Bierner d1c401cbde
Pick up latest TS for building VS Code (#165104)
* Pick up latest TS for building VS Code

* Pick up latest node typings

* Bump node types
2022-11-01 02:43:09 -07:00
Matt Bierner 99e126b0b2
Pick up latest TS version for building VS Code (#162786)
Pick up latest TS for building VS Code
2022-10-06 12:08:45 -07:00
Matt Bierner abc84e0735
Bump webview fallback commit (#157959)
For #157222
2022-08-11 16:40:05 -07:00
Johannes 0656d21d11
auto-fixed prefer-const violation 2022-06-08 17:49:21 +02:00
Matt Bierner 17c75e1180
Allow reusing webview origins across reloads (#149950)
* Allow reusing webview origins across reloads

Currently webviews are always loaded into a unique origin. This keeps them isolated but also means that we can't benefit from caching across window reloads

This change adds a new `origin` option that you can pass to webviews which controls the origin they use. If this origin is not provided, we use a random one instead

We then save off this origin for webview panels and restore it on window reloads. Webviews restore a little faster on window reload

* Update webview fallback version
2022-05-19 16:07:14 -07:00
Inclusive Coding Bot 4983226088
Switch to gender neutral terms (#146371)
* Switch to gender neutral terms

* Update testrunner.js

* Update fileSearchManager.ts

* Update fileSearch.ts

* Update fileSearch.ts

Co-authored-by: inclusive-coding-bot <inclusive-coding-bot@github.com>
2022-04-04 16:22:09 -07:00
Benjamin Pasero 2ada17080c
Use `playwright` for desktop smoke tests (#146692)
* Use `playwright` for desktop smoke tests

* fix distro issues

* tests - enable prefs tests for web
2022-04-04 10:13:08 +02:00
SteVen Batten 24d49c0f84 disable workspace trust in web integration tests 2022-03-11 08:52:55 -08:00
Robo 32d40cf44e
chore: update to electron 17 (#143223)
* chore: bump electron@17.0.0

* Revert "chore: revert to electron@13 (#143851)"

This reverts commit df645f1450.

* chore: bump electron@17.1.0

* Revert "ci: fix build with latest node-gyp"

This reverts commit c3e948aa30.

* chore: revert ci changes for node v16

* chore: update yarn.lock

* chore: bump electron@17.1.1
2022-03-11 00:51:37 +09:00
Matt Bierner c569182d08
Encode webview parent origin in authority
Fixes #144703
2022-03-08 11:28:59 -08:00
Robo df645f1450
chore: revert to electron@13 (#143851)
* Revert "chore: update to electron 16 (#137241)"

This reverts commit 01df559c18.
This reverts commit 46301339b7

* ci: fix remote compiler for sdl-scan

* chore: fix remote/.yarnrc

* chore: fix build/npm/postinstall.js

* chore: rm crash reporter from shared process

* chore: rm crash reporter from ext host

* chore: fix build/lib/layersChecker.ts

* :chore: preserve some more changes

* fix tests

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
2022-02-24 17:49:49 +01:00
Matt Bierner 31b199da9c
Bump webview commit 2022-02-15 18:36:12 -08:00
Matt Bierner 82fe581566
Bump webview commit 2022-02-14 13:45:05 -08:00
Martin Aeschlimann 22e5d7274a
prepare tests for license terms check 2022-02-09 16:18:37 +01:00
Robo 01df559c18
chore: update to electron 16 (#137241)
* chore: bump electron@15.3.0

* chore: bump node@16.x

* chore: enable render process reuse

* Revert "watcher - use `type` property for crash reporter location"

This reverts commit bfa488dd8f.

* Revert "watcher - enable crash reports on linux (#136264)"

This reverts commit af261488f8.

* chore: enable crashpad on linux

* chore: bump electron@15.3.1

* chore: update api changes

* chore: bump @vscode/sqlite3@5.0.3

* spec: skip non-context aware module unittests

* chore: fix perf hook integration with node environment

* fix: adopt fs api changes

* chore: fix integration tests

* chore: bump electron@15.3.2

* chore: bump electron@16.0.0

* temp(macOS): kill test instances in OSS

* Revert "temp(macOS): kill test instances in OSS"

This reverts commit b0d796c8d64227a5ec012c060bbbee7d9da27568.

* chore: update chromium version for clang downloader

* some 💄 changes

* align with changes

* adopt more fs.rm

* 💄

* chore: bump @vscode/sqlite3@5.0.4

* fix layers check to account for duplicated types from node.js

* update todo for type casts

* smoke - fix compile issue

* chore: update module cache

* watcher - fix unhandled rejection (fix #137416)

* ci: update node version

* enable stack dumping

* update electron types to 16.x

* chore: bump @vscode/sqlite3@5.0.5

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

* fix layer issue

* add `AbortSignal` to core types

* chore: update linux compile flags

Refs 797723ec83

* ci: fix linux build

* ci: update github ci cache

* ci: fix remote build in github ci

* ci: better fix for remote build

* chore: bump azure cache

* chore: fix merge conflict

* :chore: update to electron@16.0.2

* chore: bump @vscode/sqlite3@5.0.7

* ci: update to gcc-4.9 for remote

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

* ci: switch to buster for linux arm

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

* ci: fix build on linux arm64

* ci: fix arm client compiler toolchain

Refs #137927

* chore: bump electron@16.0.3

* ci: fix compile flags for the c toolchain

* chore: bump electron@16.0.4

* Add experimental dark mode flag (#139109)

* Add experimental dark mode flag

* Apply PR feedback

* chore: bump electron@16.0.6

* chore: bump electron@16.0.7

Fixes https://github.com/microsoft/vscode/issues/138792
Fixes https://github.com/microsoft/vscode/issues/139300

* chore: experimental highlight API

* smoke - fix compile issue

* FIXME: custom ELECTRON_RUN_AS_NODE with node worker

* Revert "chore: bump electron@16.0.7"

This reverts commit 5fd01cf37c.

* Revert "Revert "chore: bump electron@16.0.7""

This reverts commit a7f1b73951.

* chore: fix github linux workflow

* chore: address review feedback

* chore: bump electron@16.0.8

* ci: revert to stretch distro for linux arm

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

* ci: force build

* chore: update yarn.lock

* address feedback

* Revert "FIXME: custom ELECTRON_RUN_AS_NODE with node worker"

This reverts commit 7b48fa3732.

* ci: fix remote folder build

* chore: fix github linux ci

* 🆙 `versionSpec`

Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
Co-authored-by: Raymond Zhao <raymondzhao@microsoft.com>
2022-02-08 20:09:00 +01:00
Johannes Rieken 4a130c40ed
enable `@typescript-eslint/member-delimiter-style`, https://github.com/microsoft/vscode/issues/140391 2022-02-02 14:35:33 +01:00
Martin Aeschlimann 3640c1a425
move remote and web tests to scripts folder 2022-01-21 14:33:34 +01:00
Martin Aeschlimann f9cac7c28a
adopt --server-data-dir 2022-01-21 12:11:47 +01:00
Benjamin Pasero 295984b33b
tests - adopt new URL syntax when web is connected to a remote 2022-01-20 15:55:18 +01:00
Benjamin Pasero 365fea1d61
fix #141060 2022-01-20 13:59:47 +01:00
Benjamin Pasero 13461f8c61
Web: change `yarn web` to run with our server instead of playground (#139725)
* web - first cut `yarn web` via our server

* properly pipe output

* web - remove traces of web playground

* web - remember last opened workspace for convinience

* use vscode-test-web for server less, clean up web commands

* fix comment

* fix `yarn web`

* rename to code-server

* open system browser

* code-server script: use minimist

* test resolver: use ./scripts/code-server

* integartion tests: fix code-server command name

Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>
2022-01-20 13:48:08 +01:00
Martin Aeschlimann 36089a9229
fix unused import 2022-01-19 19:49:37 +01:00
Martin Aeschlimann ad928a4e0f
adopt server script in integration tests 2022-01-19 18:08:04 +01:00
Benjamin Pasero c333d44ecd
update integration test docs how to compile 2022-01-19 07:29:38 +01:00
Benjamin Pasero 9be2757019
🆙 `playwright@1.18` (#140767)
* tests - use `@playwright/test@1.18.0-rc1`

* fix bad dependency

* clear more weird ts dependencies
2022-01-15 09:35:39 +01:00
Matt Bierner 9f867c3ed8
Revert service worker usage of MessageChannel (#140351)
* Revert service worker usage of MessageChannel

Reverts 66b6adf035

While I'm not 100% about this, I think 66b6adf035 causes resourses to occasionally not load. I believe this can happen if the service worker is unitilized while the webview remains active. I can't reproduce this myself so it may be related to memory pressure or resource usage, however relying on the service worker not being reinitilized does seem like a potentially bad idea https://stackoverflow.com/questions/34775105/what-causes-the-global-context-of-a-service-worker-to-be-reset

Will investigate if there's another way to achive this since using MessagePort did clean up the code and slightly improve performance

* Bump webview commit versions
2022-01-10 14:22:49 -08:00
Matt Bierner 66b6adf035
Switch webview service-worker to use message channel (#138811)
* Switch webview service-worker to use message channel

This change hooks the service worker used for loading webview resources directly up to the main VS Code process over a message channel. Previously this communication had to go through an extra hop through the webview

This simplifies the logic somewhat (although this change required adding extra logic to exchange the message port). It also improves performance a little

* Update webview content commit version
2021-12-10 16:35:13 -08:00
Benjamin Pasero ec3ba7a320
smoke - rewrite killing 2021-12-09 07:55:25 +01:00
Matt Bierner c2f4daf348
Update webview bits version for tests 2021-12-07 16:16:54 -08:00
Benjamin Pasero 18c6692316
tests - print main process pid when killing fails 2021-11-29 13:48:27 +01:00
Matt Bierner f00c4da8b8
Update default webview commit 2021-11-29 12:27:23 +01:00
Benjamin Pasero e71b28a444
Smoke test lifecycle changes (#137969)
* rewrite teardown

* 💄

* avoid spam errors

* 💄

* split spawning browser from electron

* await copyExtension

* cleanup

* refactor methods

* cleanup

* cleanup

* cleanup

* 🆙 deps
2021-11-28 10:30:52 +01:00