* Add zx package
* Add stub task and script
* Add missing file
* Remove code
* Another try
* Fingers crossed
* Another try
* Add remaining steps
* Add back tasks
* Fix things
* Another try
* More fixes
* Use deemon
* Fixing things
* watcher - perf improvements for non-recursive watching (#245644)
* Feedback: before / after selectors not rendering correctly (#245645)
Fixes#244575
* Add highlights rule for character escapes (#245647)
* ci: split gnu arm targets for cli stage (#245651)
* Fix inline edit acceptance on click (#245649)
fix clicking insertion does not accept
* Feedback: variables render differently in Insiders (#245650)
Fixes#244579
* !important different color (#245654)
Fixes#244632
* @property css different color (#245656)
Fixes#244634
* > different color (#245658)
Fixes#244631
* notifications - adopt more `NotificationPriority.OPTIONAL` (#245664)
* Adds more inline completion tests
* Fixes CI
* feat: enable gpu channel async from the runtime (#241640)
* Update WinGet configuration file location & extension (#242241)
* Update WinGet configuration file location & extension
* Remove prerelease: true & add securityContext
* High CPU on large workspace with many TypeScript watched folders (fix#245366) (#245670)
* High CPU on large workspace with many TypeScript watched folders (fix#245366)
* reduce throttle delay
* Moving away from `execCommand` for pasting (#239233)
* adding code to invetsigate the clipboard
* adding more code
* adding change
* adding logs
* adding notes
* making deubgging easier
* adding code to fix paste
* adding code to allow await before trigger paste
* removing all logs
* removing log
* refactoring
* removing change
* adding fix after call
* polishing
* fixing merge conflict
* polishing
* Fixing property initializiation order (#245673)
fixing property initializiation order
* voice - fix some leaks (#245676)
* update css service (#245688)
* Engineering - bump deemon (#245634)
* Engineering - bump deemon
* Bump deemon again
* Always run the Codesign post-job
* Another fix
* Try signing in parallel
* Clean up signing script
Update task name
Tweak script
Some more cleanup
Some more cleanup
More cleanup
* Attempt to run signing in parallel
---------
Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
Co-authored-by: Alex Ross <38270282+alexr00@users.noreply.github.com>
Co-authored-by: Robo <hop2deep@gmail.com>
Co-authored-by: Benjamin Christopher Simmonds <44439583+benibenj@users.noreply.github.com>
Co-authored-by: Henning Dieterichs <hdieterichs@microsoft.com>
Co-authored-by: Muhammad Danish <mdanishkhdev@gmail.com>
Co-authored-by: Aiday Marlen Kyzy <amarlenkyzy@microsoft.com>
Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>
* 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
The typescript-formatter package isn't being maintained (lots of old PRs) and has broken in the most recent version of TS
Long term we may explore switching to another formatter, but for now I've hook up the basic formatter logic for our hygiene scripts
* eng: add support for snapshot tests
This adds Jest-like support for snapshot testing.
Developers can do something like:
```js
await assertSnapshot(myComplexObject)
```
The first time this is run, the snapshot expectation file is written
to a `__snapshots__` directory beside the test file. Subsequent runs
will compare the object to the snapshot, and fail if it doesn't match.
You can see an example of this in the test for snapshots themselves!
After a successful run, any unused snapshots are cleaned up. On a failed
run, a gitignored `.actual` snapshot file is created beside the
snapshot for easy processing and inspection.
Shortly I will do some integration with the selfhost test extension to
allow developers to easily update snapshots from the vscode UI.
For #189680
cc @ulugbekna @hediet
* fix async stacktraces getting clobbered
* random fixes
* comment out leak detector, for now
* add option to snapshot file extension
Resubmission of #157532 with the following changes:
- Use `eslint-plugin-local` instead of `yarn` link to run our plugins
- Move our plugins to a top level `.eslintplugin` dir (as required by `eslint-plugin-local`)
- Update all names to `local/`
* Run our custom eslint rules using ts-node
Use `ts-node` to run our custom eslint rules. This lets us delete the pre-compiled js. It also means you can don't have to compile the rules while editing them
As part of this change, I've also switched us to using an eslint plugin instead of a rulesDir. This is now the preferred way to ship custom rules
* Fix two more disables
* Move ts-node to project root
* Enable transpileOnly
* Add support for TS's Hierarchical refactorings API
https://github.com/microsoft/TypeScript/pull/41975
* Add simple browser extension
This change adds a new 'simple browser' extension. This extension uses a webview to render webpages directly in VS Code. We plan on using it for optionally previewing local servers in both desktop and codespaces
The browser itself has a number of limitations due to the security around iframes:
- It traps keyboard focus
- We can't detect if a page fails to load
- We can't track the current url of the iframe
* Add experimental alert when the iframe is focused
* Disable events on focus warning
* Hooking up simple browser to opener