Commit Graph

146 Commits

Author SHA1 Message Date
Matt Bierner
e779f86b17 Build script cleanup
For #277526

Quick cleanup pass after converting these scripts
2025-11-24 14:07:28 -08:00
Matt Bierner
2648263d3e Run our build scripts directly as typescript (#277567)
* Run our build scripts directly as typescript #277567

Follow up on #276864
For #277526

* Remove a few more ts-node references

* Fix linux and script reference

* Remove `_build-script` ref

* Fix script missing closing quote

* use type only import

* Fix export

* Make sure to run copy-policy-dto

* Make sure we run the copy-policy-dto script

* Enable `verbatimModuleSyntax`

* Pipelines fixes

* Try adding explicit ext to path

* Fix bad edit

* Revert extra `--`

---------

Co-authored-by: João Moreno <joaomoreno@users.noreply.github.com>
2025-11-21 14:56:00 +01:00
João Moreno
f4c2700d45 cleanup any casts (#270371)
related to #269213
cc @mjbvz @jrieken
2025-10-08 14:05:31 +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
c7e7a779e8 Add basic mermaid rendering support in core
For #257761

Ports over extension sample + a few improvements to core
2025-09-10 18:22:39 -07:00
Matt Bierner
0b4691fe56 Fix compile of the github extension
All of our webpack scripts are modules now
2025-08-13 10:09:04 -07:00
Matt Bierner
2c749892ad Merge pull request #260466 from mjbvz/sick-marmoset
Convert esbuild scripts to modules
2025-08-07 21:57:27 -07:00
Matt Bierner
e4f9730eae Also update gulp 2025-08-07 20:15:04 -07:00
Matt Bierner
bad96b4abb Also update desktop webpack gulp 2025-08-07 19:40:47 -07:00
Matt Bierner
ed71020bfc Convert extension webpack scripts to modules 2025-08-07 17:20:22 -07:00
Matt Bierner
d865a99c49 Clean up some typings in build
- Adding ts-check in a few more js files
- Switching to use `@types` for a few more packages
- Remove some unused code
2025-08-07 09:38:52 -07:00
Johannes Rieken
cb0950e9d7 Migrate github extension to ESM (2nd attempt) (#248312)
* Revert "GitHub - revert ESM migration (#247322)"

This reverts commit 2047ab0fff.

* use `"@vscode/extension-telemetry": "^1.0.0"` which doesn't use default export anymore
2025-05-07 15:52:46 +02:00
Ladislau Szomoru
2047ab0fff GitHub - revert ESM migration (#247322)
* Revert "fix github extension bundling (#247314)"

This reverts commit 0cffb673f5.

* Revert "migrate github-extension to ESM"

This reverts commit 493874c390.

* Add missing JS file
2025-04-24 19:24:59 +02:00
Johannes
493874c390 migrate github-extension to ESM 2025-04-16 16:04:12 +02:00
Connor Peet
cccd0a35c6 eng: cherry-pick 1.97.1 fixes (#240409) 2025-02-11 19:47:56 +01:00
Aman Karmani
e76c50f20e build: switch build/tsconfig.json to module: nodenext (#238426)
* build/tsconfig: switch to module: nodenext for bun compat

* build: rewrite imports for nodenext compat

* build: re-generate
2025-01-22 20:12:39 +01:00
Tyler James Leonhardt
305134296c Adopt the MSAL broker to talk to the OS for Microsoft auth (#233739)
This adopts the `NativeBrokerPlugin` provided by `@azure/msal-node-extensions` to provide the ability to use auth state from the OS, and show native auth dialogs instead of going to the browser.

This has several pieces:
* The adoption of the broker in the microsoft-authentication extension:
  * Adding `NativeBrokerPlugin` to our PCAs
  * Using the proposed handle API to pass the native window handle down to MSAL calls (btw, this API will change in a follow up PR)
  * Adopting an AccountAccess layer to handle:
    * giving the user control of which accounts VS Code uses
    * an eventing layer so that auth state can be updated across multiple windows
* Getting the extension to build properly and only build what it really needs. This required several package.json/webpack hacks:
  * Use a fake keytar since we don't use the feature in `@azure/msal-node-extensions` that uses keytar
  * Use a fake dpapi layer since we don't use the feature in  `@azure/msal-node-extensions` that uses it
  * Ensure the msal runtime `.node` and `.dll` files are included in the bundle
* Get the VS Code build to allow a native node module in an extension: by having a list of native extensions that will be built in the "ci" part of the build - in other words when VS Code is building on the target platform

There are a couple of followups:
* Refactor the `handle` API to handle (heh) Auxiliary Windows https://github.com/microsoft/vscode/issues/233106
* Separate the call to `acquireTokenSilent` and `acquireTokenInteractive` and all the usage of this native node module into a separate process or maybe in Core... we'll see. Something to experiment with after we have something working. NEEDS FOLLOW UP ISSUE

Fixes https://github.com/microsoft/vscode/issues/229431
2024-11-15 20:53:28 +09:00
Tyler James Leonhardt
d6688b5ba3 Only rewrite sourcemap urls when js (#233626)
This prevents the build from touching any other kind of file.
2024-11-12 00:45:15 +01:00
Alex Ross
e6f2cc2f0a Add an easy way to run performance tests for tree-sitter (#233072)
* Add an easy way to run performance tests for tree-sitter
Part os #210475

* Compile build folder
2024-11-05 15:35:58 +01: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
Connor Peet
1acc838297 fix: yarn run gulp vscode-darwin-arm64 fails when run in the debug terminal (#224245)
>I think that block can just be removed safely since execFile with provide an error if the subprocess has a !=0 exit code

Fixes #221581
2024-07-29 16:30:35 -07:00
João Moreno
addd445017 upload sourcemaps to CDN instead of ticino (#214141) 2024-06-03 16:10:01 +02:00
Benjamin Pasero
8afb685c9b eng - add checksum validation support to nodejs and extensions (#184877)
* eng - add `checksum` validation support to `remote`

* eng - wire in more `checksum` support

* eng - renames for remote fetching

* eng - renames for remote fetching

* eng - disable verbose

* eng - always fetch verbose in CI

* eng - 💄

* eng - add checksums for node

* eng - report checksum matches

* eng - fix build

* eng - warn when not being able to check sum

* eng - support checksums for built in extensions

* eng - clear todo

* eng - add nodejs metadata to product.json

* 🆙 version

* 🆙 distro

* update distro

* eng - switch to checksum file

* cleanup alpine

* fix alpine

* fix bug

* eng - fetch all from remote

* eng - 💄

* eng - print checksums

* eng - fix missing import

* 🆙 distro

* undo version change
2023-06-14 16:57:06 +02:00
Raymond Zhao
06ae4b61c2 Bump windows-mutex to 0.4.4 (#184366)
Also adds OS-specific .moduleignore files
2023-06-09 09:40:10 -07:00
Johannes
978bb08619 add extensions-ci-pr task which does a full build without mangling 2023-06-07 16:36:02 +02:00
Martin Aeschlimann
899cdd5ace remove request dependency (#179149)
* remove request dependency

* replace gulp-remote-retry-src in build scripts

* fix retry delay & polish
2023-04-05 16:05:16 +02:00
Benjamin Pasero
34d69db22c server - introduce support for nodejsRepository (#179105)
* server - introduce support for `nodejsRepository`

* fix path

* add auth

* proper download

* extract to utility function

* reuse

* fix compile
2023-04-05 14:36:25 +02:00
Tyler James Leonhardt
bc392ac9ff Remove stale code & old migration (#176828)
* Remove stale code & old migration

* Removes browserNlsMetadataPath everywhere which was the old attempt to localize the web
* Removes an old migration

* js file
2023-03-13 18:41:59 +01:00
Johannes Rieken
7e69465303 don't use underscore for native JS things (#173282) 2023-02-03 03:47:51 -08:00
João Moreno
326876fa9e bump vsce (#168071)
* bump vsce

* remainder

* use latest vsce

* compile build output
2022-12-22 17:00:21 +01:00
Matt Bierner
ce934ff443 Also run cleanNodeModules on extensions/node_modules (#167476)
Also run cleanNodeModules on extensions/node_modules

Fixes #166652
2022-11-29 12:15:09 -08:00
Martin Aeschlimann
86ff830c3a fix string.replace (for #167239) (#167259) 2022-11-25 14:45:57 +00:00
Matt Bierner
d0d28a6295 Reapply building of web server (#166391)
* Reapply building of web server

Revert 8b4642ab23

* Fix critical dep error
2022-11-15 14:55:40 -08:00
Henning Dieterichs
b11207c539 Revert "Copy webServer from Typescript to VS Code (#165771)"
This reverts commit cb43019d6a.
2022-11-15 14:45:32 +01:00
Nathan Shively-Sanders
cb43019d6a Copy webServer from Typescript to VS Code (#165771)
* Initial draft.

Not working.
Also not correctly formatted, I'll do that later.

* Various fixes

It works now

* A bit of cleanup

* Move webServer to its own directory

And prepare for getting rid of dynamicImportCompat.js hack

* Remove dynamicImportCompat.js hack

* Revert unrelated change

* Webpac tsserver.web.js with webServer.ts as entrypoint

Instead of using CopyPlugin.

1. Shipping multiple entrypoints in a single file required fixes to
build code.
2. There are a couple of warnings from `require` calls in
tsserverlibrary.js. Those are not relevant since they're in non-web
code, but I haven't figured how to turn them off; they are fully dynamic
so `externals` didn't work.

* Ignore warnings from dynamic import in tsserver

* Add to .vscodeignore files
2022-11-14 10:56:31 -08:00
Matt Bierner
d950552131 Allow trailing commas while minifying json resources (#165870)
I noticed a few of our built-in extension's json resources were not being minified. The root cause appears to be trailing commas in the json
2022-11-08 14:38:53 -08:00
Connor Peet
18f743d534 address pr comments 2022-10-05 12:56:07 -07:00
Rob Lourens
c717237d7c Reenable a couple notebook smoketests (#159521)
* Remove vscode-notebook-tests in favor of an .ipynb in vscode-smoketest-express

* Update build folder

* Add build task to correct platform

* Build for smoke tests on other platforms

* Fix repo url and remove comment

* Just -media?

* Update darwin/win32 as well
2022-09-14 13:22:16 -07:00
Tyler James Leonhardt
49394cc44d Enable translations for extension code for the web (#155355)
* Initial attempt

* alex feedback
2022-08-08 09:11:16 -07:00
Connor Peet
ca48c64699 build: cache built-in extensions to avoid rate limiting (#156918) 2022-08-03 00:27:16 +02:00
Michael Lively
e617076801 added ipynb/esbuild.js to the media scripts when building extensions 2022-07-27 09:34:22 -07:00
Matt Bierner
bbe7b54cf4 Remove custom editor tests (#152777)
These tests are not actively being run or maintained. Removing them for now
2022-06-21 15:37:19 -04:00
Johannes
3622010b64 Merge branch 'main' into joh/voluminous-lobster 2022-06-09 09:08:20 +02:00
Matt Bierner
640898db17 Update to build using latest TS nightly (#151576) 2022-06-08 22:02:49 -04:00
Johannes
0656d21d11 auto-fixed prefer-const violation 2022-06-08 17:49:21 +02:00
Connor Peet
5e86e40fab extensions: pull from github in OSS build (#146863)
* extensions: pull from github in OSS build

* fixup! address pr comment
2022-04-10 22:36:12 -07:00
Matt Bierner
fb6cf37ea9 Move simple-browser to use esbuild for webview scripts 2022-03-08 16:23:14 -08:00
Matt Bierner
e65a786a92 Fix build script to use esbuild 2022-03-08 16:09:23 -08:00
rebornix
f2b7964599 re #142429. Image renderer moved to extension. 2022-02-07 12:49:20 -08: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