Commit Graph

86 Commits

Author SHA1 Message Date
João Moreno
f4c2700d45 cleanup any casts (#270371)
related to #269213
cc @mjbvz @jrieken
2025-10-08 14:05:31 +00:00
Johannes Rieken
626370b3f7 no more any-casts in tsb land, https://github.com/microsoft/vscode/issues/269213 (#270192) 2025-10-07 15:07:24 +02:00
Matt Bierner
1174f9b951 Compile build scripts too 2025-10-02 23:46:45 -07:00
Matt Bierner
12a275ffe7 Use ts-native to compile our build scripts
There are a few minor differences in output, mostly around formatting/comments. Const enums are also not inlined but that seems fine in these cases
2025-08-06 11:41:52 -07: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
Benjamin Pasero
c7caef00ea esm - make optimize.ts ESM only 2024-09-27 08:05:06 +02:00
Benjamin Pasero
d34e895b8e esm - more AMD removal 2024-09-27 08:04:23 +02: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
6743fa305c Pick up latest ts for building VS Code (#213170) 2024-05-21 12:33:34 -07:00
Matt Bierner
6403b4367b Pick up latest TS for building VS Code (#207096) 2024-03-07 12:59:59 -08:00
João Moreno
e469272e45 remove inline sourcemaps from build files (#198842) 2023-11-22 14:05:46 +01:00
Matt Bierner
10d94ba0f3 Pick up latest TS nightly for building VS Code (#194631) 2023-10-02 19:40:35 +01:00
Connor Peet
2138622b04 build: add watch/compile tasks for CLI (#182344)
* build: add watch/compile tasks for CLI

I spent time this morning working on the 'developer experience' of the
CLI in vscode, mainly getting the CLI to cross-compile chasing our
initial idea of having it auto-build in a devcontainer.

After some effort and disabling tunnels connections (to avoid having to
pull in OpenSSL which is a huge pain to cross compile), I was able to
get it to cross-compile from Linux to Windows, using the mingw linker.
I could probably figure out how to get macOS working as well with more
effort. However, I'm not a big fan of this, effectively it's one more
'platform' of build we need to support and test.

I think a better approach is downloading the latest compiled CLI from
the update server instead, as needed. That's what this PR does. It just
places the CLI where it _would_ normally get compiled to by cargo; so
far we don't need to do anything special outside of that.
A notice is shown to users if this fallback happens.

* update from review
2023-06-20 14:34:11 -07:00
Robo
8fb5ea0142 feat: use custom tag instead of custom version for MS electron releases (#181309)
* feat: use custom tag instead of custom version for MS electron releases

* chore: bump @vscode/gulp-electron

* chore: move build id to .yarnrc

* chore: rename enableUNCAccessChecks => restrictUNCAccess

* chore: update electron@22.3.11

* chore: add build info to about dialog

* chore: simplify helper function

* chore: remove unused node.js checksums

* chore: bump nodejs internal version

* chore: bump distro

* fix: revert changes to sign.ts

* chore: bump distro
2023-06-17 03:03:35 +02:00
Connor Peet
ccc5e48e92 fix: breakpoints in extension subdirs on windows not working (#184195)
It did not normalize to forward slashes, so the empty sourcemap was
created with a source called `foo\\bar.js`. Then the build process was
adding a new source `foo/bar.js` since it didn't see it already in the
sourcemap, but `foo\\bar.js` was later normalized. This normalized
version came first in the mapping, but didn't have any mapped locations,
so breakpoints never got set.
2023-06-02 20:15:04 +02:00
Connor Peet
0c94abc4a5 implement sign service for web (#182815)
* signing: implement signing service on the web

* update distro
2023-05-17 16:52:56 -07:00
Alexandru Dima
0255bb0b03 If defined, use the runtime configured baseUrl (#176573) 2023-03-09 07:20:15 -07:00
Johannes Rieken
7e69465303 don't use underscore for native JS things (#173282) 2023-02-03 03:47:51 -08:00
Connor Peet
314d7b6c47 debug: allow setting breakpoints in plain .js files (#168921)
* debug: allow setting breakpoints in plain .js files

Fixes #159684

* fixup! don't change sourceURLs in build
2023-01-06 09:22:46 +01:00
Johannes
696c1cf199 build utils with source map to enable JS debug console 2022-11-10 15:05:47 +01:00
易良
59faab44cd Only use string of the remote/web/package.json browser field (#165163)
fix(build): Close #165162, only use string of the package.json `browser` field
2022-11-08 10:30:02 -05:00
Connor Peet
18f743d534 address pr comments 2022-10-05 12:56:07 -07:00
Connor Peet
9bcc88eafe cli: get builds in order 2022-09-23 13:28:26 -07:00
Matt Bierner
2a84b0fb6d Enable alwaysStrict for build scripts (#152778)
Turns on `alwaysStrict` and removes `'use strict';` from our `.ts` files
2022-06-21 19:00:43 +00:00
Logan Ramos
963c961b59 Ensure 1DS can load on the web (#152678)
* Ensure 1DS can load on the web

* Add compiled file
2022-06-20 16:06:16 -07:00
Johannes
2c004b870f recompile build folder with const over let 2022-06-09 10:59:11 +02:00
João Moreno
726eeffa71 introduce distro private builds 2022-03-21 14:40:00 +01:00
Matt Bierner
433bf7cd88 Update build scripts to target es2020 2022-02-28 14:00:17 -08:00
Joao Moreno
a9acf06479 fix webignore patterns for appinsights
also, web: look for minified entrypoints as well

Closes: #140158
2022-01-07 15:18:18 +01:00
Joao Moreno
acdd512060 make api proposal names task play better with gulp
cc @jrieken
2021-12-13 11:36:37 +01:00
Joao Moreno
f0e7d8545a we check in /build ts output to the repo
cc @lramos15
2021-12-08 15:19:50 +01:00
Logan Ramos
d2a8f91fb5 Update build scripts 2021-08-31 10:21:19 -04:00
Johannes Rieken
7e2452498f fix https://github.com/microsoft/vscode/issues/130073 2021-08-31 14:44:42 +02:00
Logan Ramos
279c4d8fcb Use the new loader format for web selfhost (#130592)
* Update workbench html and bump distro

* Bump distro

* Add web node paths to the build task too

* Split task for reuse

* Bump distro
2021-08-11 11:59:14 -04:00
Logan Ramos
8079e0b721 Move webNodePaths to run on compile since we rimraf out 2021-08-10 16:56:23 -04:00
Alexandru Dima
d1fff1a083 Check in .js files from the /build/ folder to improve build speeds 2020-12-14 11:13:16 +01:00
João Moreno
2469bf6832 remove build compilation output 2020-09-22 11:12:55 +02:00
Benjamin Pasero
61c8144361 fix compile leftover 2020-06-12 10:04:05 +02:00
Robo
d5372eb159 Reland "fix: use electron-osx-sign instead of manual code signing (#97582)" (#98145)
This reverts commit f291767f09.
2020-05-20 10:06:15 +02:00
deepak1556
f291767f09 Revert "fix: use electron-osx-sign instead of manual code signing (#97582)"
This reverts commit a1ddfae782.
2020-05-19 00:49:44 -07:00
João Moreno
a1ddfae782 fix: use electron-osx-sign instead of manual code signing (#97582)
* fix: use electron-osx-sign instead of manual code signing

* build/gulpfile.vscode.darwin.js -> build/darwin/sign.ts

* fix script call in pipeline

* fix incorrect keychain path

* fix update path to entitlements

* sign children first

* move electron-osx-sign deps to build/

Co-authored-by: deepak1556 <hop2deep@gmail.com>
2020-05-18 08:43:30 -07:00
Matt Bierner
ff253a8f60 Build VS Code with TS 3.9-nightly 2020-02-29 11:45:48 -08:00
Alexandru Dima
b5ce6014d7 Improve output in case of errors and generate an analysis folder with the source content (for easy diffing) 2019-11-13 11:15:38 +01:00
Joao Moreno
5048816ebf extract yarn electron 2019-10-16 11:15:43 +02:00
Johannes Rieken
c695729eb1 remove gulp-tsb hack, fixes #80629 2019-09-10 14:51:46 +02:00
Joao Moreno
9d75c4e528 cleanup node tasks 2019-07-01 15:20:38 +02:00
Joao Moreno
399ff1a2fe gulp ci build task 2019-07-01 12:24:33 +02:00
Joao Moreno
a477e1eafe extract native modules ignore rules 2019-05-09 16:27:37 +02:00
Alex Dima
c4bed46784 Add a download util that uses a separate process 2019-03-06 10:19:17 +01:00
Alex Dima
af95b7d343 Adopt task.define (better task names) 2019-02-12 20:43:55 +01:00