Commit Graph

647 Commits

Author SHA1 Message Date
Matt Bierner
1c35a4d05c Enforce single quote string usage in extension tests
Single quoted string usage is already enforced everywhere except our tests. Having this inconsistent style can confuse contributors and code generation

Starting with converting over tests in the `extensions` dir
2025-10-15 01:51:43 -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
Raymond Zhao
b4b3cacd74 debt: remove any casts (#270074) 2025-10-06 18:19:46 +00: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
Matt Bierner
ed71020bfc Convert extension webpack scripts to modules 2025-08-07 17:20:22 -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
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
Matt Bierner
8225b496b1 Updating @types/node
Needs some minor code changes too to support the new typings
2025-03-24 13:02:28 -07:00
Raymond Zhao
0fda1098c0 chore: bump emmet-helper (#234295) 2024-11-20 23:42:09 +01:00
Raymond Zhao
cc65d12964 chore: bump emmet extension dependencies (#233704) 2024-11-12 09:51:57 -08:00
Robo
9494a89080 chore: add npmrc to extensions folder (#230214) 2024-10-01 12:43:01 +02:00
hj
88d7b97c93 chore: rm unreached ignore items when build extensions. (#227906)
chore: rm unreached ignore items when compiling extensions.
2024-09-09 10:32:51 +00: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
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
Raymond Zhao
75aea74df7 feat: bump emmet-helper (#210508)
Also add test
2024-04-17 14:21:23 -07:00
vuittont60
ab1c7b42ef fix typos 2023-10-13 20:28:15 +08:00
Matt Bierner
2c52e4ca35 Alias Thenable to PromiseLike (#192456)
Fixes #192385

This fixes some typing issues with `Thenable` that were hiding potential bugs
2023-09-13 10:50:40 -07:00
Mikhail
05673dfd1a Simplify getting rangesToUpdate (#192079) 2023-09-11 08:47:03 -07: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
Alex Ross
b210745306 Revert "Skip failing integration tests (#187424)" (#188459)
This reverts commit 00db67e440.
2023-07-21 08:30:45 -07:00
Alex Ross
00db67e440 Skip failing integration tests (#187424)
Part of #187245
2023-07-10 11:07:58 +02:00
Raymond Zhao
13b90156ab Strengthen Emmet tests (#187204) 2023-07-06 16:14:29 -07:00
Raymond Zhao
b9ada3a2c6 Bump emmet-helper (#185607) 2023-06-23 11:17:15 -07:00
Raymond Zhao
2dad7f52ad Bump emmet-helper (#184616) 2023-06-16 19:10:07 +02:00
Raymond Zhao
075c89881f Bump emmet-helper (#180583) 2023-05-10 16:17:58 -07:00
Matt Bierner
a86726db69 Remove implicit activation events for emmet (#172836)
These are now automatically generated
2023-01-30 11:41:15 -08:00
Raymond Zhao
79d10f9591 Revert "Mark CompletionList as complete (#169574)" (#172581)
This reverts commit 3834785d0c.
2023-01-26 21:14:03 +01:00
Raymond Zhao
1e723aa674 Upgrade emmet-helper (#170188)
* Upgrade emmet-helper

* Bump to 2.8.6
2022-12-29 00:09:10 +01:00
Raymond Zhao
3834785d0c Mark CompletionList as complete (#169574)
Fixes #168997
2022-12-19 22:11:03 +01:00
Raymond Zhao
1846f69774 Await insertSnippet calls (#169570)
* await insertSnippet calls

Fixes #146171

* Exclude eslint file from PR
2022-12-19 12:09:07 -08:00
Matt Bierner
57dd298b47 Add typings for test runner scripts (#169196) 2022-12-15 02:19:24 +01:00
Joyce Er
7b83bc62ad Merge pull request #167867 from microsoft/dev/joyceerhl/jolly-takin
Add `onLanguage` activation event for Emmet
2022-12-06 15:03:46 -08:00
Joyce Er
692791d8a8 Adopt onLanguage for Emmet 2022-12-02 19:21:32 +00:00
Raymond Zhao
5762c7821c Use includes instead of indexOf (#167860)
Use indexOf instead of includes
2022-12-02 01:17:10 +01:00
Raymond Zhao
968026a46d Use includes instead of indexOf (#167778) 2022-11-30 22:44:10 +00:00
Raymond Zhao
096f4de76e Use includes instead of indexOf (#167608)
Tests microsoft/vscode-pull-request-github#4257
2022-11-29 11:24:18 -08:00
Raymond Zhao
7f3a7edf0f Localize emmet using l10n.t (#165568)
Ref #164438
2022-11-04 17:42:01 -07:00
Henning Dieterichs
50b1bccd17 Remove inlineCompletionsNew proposal. Fixes #164856 (#165044) 2022-10-31 13:29:04 +01:00
Raymond Zhao
72a7d0f2e4 Add to emmet.triggerExpansionOnTab description (#164197)
Fixes #159111
2022-10-20 17:38:59 -07:00
Raymond Zhao
d9846c8e43 Remove resource scopes (#164158) 2022-10-20 13:51:17 -07:00
Raymond Zhao
50140a53cc Revert "Fix language-specific tab expansion and polish (#157035)" (#160233)
This reverts commit 9f80085795.
2022-09-06 15:21:34 -07:00
Raymond Zhao
9f80085795 Fix language-specific tab expansion and polish (#157035)
* Fix language-specific tab expansion and polish

Fixes #156075

* Add back check
2022-08-03 16:31:19 -07:00
Raymond Zhao
52a71a1843 Make some Emmet settings language-overridable (#156184)
Fixes #156075
2022-07-25 20:00:36 +02:00
Raymond Zhao
d627aa4606 Emmet: Add back trigger character arguments (#154940)
Fixes #154375
2022-07-12 09:15:01 -07:00
Raymond Zhao
623cde6b38 Disable inline completions by default for Emmet (#153926)
Ref #139247
2022-07-01 16:20:19 +00:00
Raymond Zhao
70738ed4f2 Fix Emmet integration test warning, fixes #152827 (#152925) 2022-06-23 06:57:26 -07:00
Raymond Zhao
9ef049b089 Add note to description 2022-06-20 17:15:07 -07:00
Raymond Zhao
76f65c4521 Emmet inline completions (#151559)
Affects #139247

This PR changes Emmet to use inline completions when suggesting completions.
It also provides a boolean setting so that users can opt out.
This PR does not change the "Wrap with Abbreviation" behaviour in Emmet.

Co-authored-by: Henning Dieterichs <notify.henning.dieterichs@live.de>
2022-06-14 08:39:28 +02:00
Johannes
0656d21d11 auto-fixed prefer-const violation 2022-06-08 17:49:21 +02:00
Benjamin Pasero
8e8b3026fc tests - reduce spam and work 2022-04-06 19:34:41 +02:00