Commit Graph

96 Commits

Author SHA1 Message Date
Logan Ramos
8e6bcc9b9e Bump module to new package (#173599) 2023-02-06 12:29:36 -08:00
Nathan Shively-Sanders
3261c7d3af Cross-file Typescript support in vscode-web (#169311)
* recreate logging from other machine

* comment out openSystemBrowser

Because I dont have the default browser set up correctnly on any of my
machiens

* Add vscode-wasm-typescript dep

And some logging as I figure out how to use it

* remove unused reference to module

* use require reference that linter allows

* Add vscode-wasm-typescript to tsserver.web.js

Use webpack's CopyPlugin transform pattern to do this manually. This is
probably a bad idea! It's just for prototyping purposes.

* Update vscode-wasm-typescript dependency

* Fix minor syntax in webpack hack

Nonetheless required for it to work!

* Fix another typo in webpack hack!

* Fix provided typescript path

Another typo. Guess my local test wasn't running the contents really

* Try to improve module.exports handling in webpack hac

* tsserver.web.js comes from local builds

Also:
- tsserver.js is no longer minified
- log crossOriginIsolated

* First attempt to set up server-side support

* Remove auto-imported identifier

* Move sync-api setup code to serverProcess.browser.ts

Because it's browser-specific

* Reorder webpack hack and clean up unused logging

* Update vscode-wasm/vscode-wasm-typescript dependencies

* Add file watching

* Extract webpack hack

Build only the ts parts of tsserver.web.js, don't rebuild the vscode
extension. This is a lot faster.

* Remove manual verbose logging

Sheetal showed me the correct way to create a verbose logger instead.

* Add vscode-test-web to semantic-supported schemes

And make isWeb support semantic mode.

* Also update the webpack-hack-only build

* Switch to tsserverlibrary

Also paste in some example code for cancellation, which is not finished
at all.

* Remove bogus auto-import and unneeded (?) dep

* remove webpack-like hack

* move code from vscode-wasm-typescript

* Initial prototype of cancellation

It compiles and looks kind of plausible. But I haven't tested it yet.

* Switch tsserver to separate MessageChannel

* Move watches to a separate MessagePort

Further simplifies the message dispatch code by shifting complexity to
setup. And the setup is straight-line code.

* switch vscode-web from in-memory to real filesystem

goto-def is currently broken because some part of main vscode still
needs treat the files as in-memory, though.

* Make toResource translate / -> vscode-test-web

* Encode scheme and authority in TS filenames

Like the previous host did, but without the leading ^ that TS hard-codes
as "in-memory".

The tsserver host needs to know about the encoding, but the translation
is in a single function. This also means that displayed file paths are
prefixed with /scheme/authority (/vscode-test-web/mount in my testing), but I think that's fine.

* Lift parseUri outside createServerHost

I'm not using it to set the schema/authority for getCurrentDirectory
right now, so there's no shared state to mutate.

* Special-case URI of lib*d.ts in webServer.toResource

Similar to the special-casing in typescriptServiceClient.toResource.
Also requires passing in the extensionUri. This feels like it's breaking
through at least one abstraction layer, which might be a problem.

* Improve cancellation

1. Simplify cancellation checking in web tsserver host to match the
checking in typescript's node host.
2. Move cancellation of request in the extension to tryCancelRequest
from sendNextRequests.
3. Only send cancellation via node or web cancellation, not both.

* Pass in current request instead of waiting for a fresh one.

* Address initial PR comments

Also add some TODO comments for the revision to watches.

* Add cancellation bit to each (cancellable) request, locally fix an issue with retrieving the cancellation bit

* Switch to per-file/directory watches

Watching the entire filesystem recursively is supposed to be
inefficient.

Not done yet: there is an error when watching directories, but it works.
And I can't tell whether watching files works yet.

* Parse --serverMode partialSemantic in webServer

Now the syntax server actually runs as a syntax server.

* Simplify logging code

* Cleanup in webServer

1. Remove a little logging.
2. Correct failure return value for getFileSize
3. Reorder some methods and parameters.

* Switch to markdown extension's FileWatcherManager

I'm not sure if it's OK to depend on a module from another extension;
it's probably better to include the files from a central place instead.

* Clean up host methods

1. Copy and adapt implementations from node host where possible.
2. Note questions for the PR elsewhere.
3. Remove logging except for caught exceptions.

* More logging/TODO cleanup

* Remove duplicate dependency

* Add setting to enable/disable semantic mode on web

Also gate it behind a check to `crossOriginIsolated`

* Re-order and re-arrange code to minimise PR diff

It won't minimise it *much*, but I also consolidated some
unnecessarily-spread-out code that will be easier to read in the long
term, and possibly easier to read in diff form as well.

* Copy fileWatchingManager to typescript extension

Copy from markdown extension to typescript extension. I used the
existing dependencies in the typescript extension, but verified that
they would work the same.

* Fix linting of webServer

* Align formatting of catch / else

* Extract isProjectWideIntellisenseOnWebEnabled and keep using in-memory prefix when project wide intellisense is disabled

* Make sure we still work if SharedArrayBuffers aren't supported

* Remove symlink support and fix typo

Symlinks are implicitly supported by the filesystem right now.

* Fix compile errors

Co-authored-by: Johannes <johannes.rieken@gmail.com>
Co-authored-by: Matt Bierner <matb@microsoft.com>
2023-01-12 11:54:39 -08:00
Logan Ramos
4acf2d9b46 Update the telemetry modules (#170512)
Update the module
2023-01-03 15:10:45 -05:00
Logan Ramos
b1076b41f3 Bump telemetry packages (#169283) 2022-12-15 17:29:10 +01:00
Matt Bierner
4fdcdb17c6 Pick up latest jsonc parser (#166334) 2022-11-15 13:46:52 -08:00
Logan Ramos
73d882bcf7 Update telemetry package (#166292) 2022-11-14 09:30:33 -08:00
Logan Ramos
bf1697d98c Consume proposed telemetry API (#165862)
* Consume proposed telemetry API

* Update webpack
2022-11-08 21:58:28 -05:00
Matt Bierner
0bd1531e00 Adopt l10n for ts extension (#165450)
For #164438

Also refines the eslint rule from #165448
2022-11-04 09:50:18 +01:00
Tyler James Leonhardt
29e985eca0 rev vscode-nls to version that doesn't ask for vscode-nls-web-data (#161819)
ref #161297
2022-09-26 11:10:54 -07:00
Matt Bierner
f25d47121b Pick up newer vscode-tas-client version (#161344) 2022-09-20 13:52:29 -07:00
Tyler James Leonhardt
d8453c0440 Rev built-in versions of vscode-nls to 5.1.0 (#157530)
* rev version of vscode-nls to 5.1.0

* and yarn lock
2022-08-08 18:43:45 +02:00
Logan Ramos
a20329d291 Switch extensions to 1DS (#154299)
* Move extensions to 1DS

* Switch extensions to 1DS
2022-07-06 17:18:41 -07:00
Matt Bierner
c16036705e Initial contents for experimentation in typescript-language-features. (#153358)
Co-authored-by: Daniel Rosenwasser <Daniel.Rosenwasser@microsoft.com>
2022-06-27 12:53:24 -07:00
Logan Ramos
4a7a6a597a Update extension telemetry modules (#153057) 2022-06-24 00:53:23 +00:00
Logan Ramos
9b7268acf9 Update telemetry module 2022-03-18 11:34:33 -04: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
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
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
Matt Bierner
820c2b3a12 Update yarn lock 2022-02-03 09:37:29 -08:00
Logan Ramos
b22ee20028 Move to @vscode/extension-telemetry 2022-01-19 15:57:17 -05:00
Logan Ramos
932ab8e485 Update vscode extension telemetry modules 2021-12-28 11:06:48 -05:00
Logan Ramos
00de6a5f2f Update telemetry module 2021-11-08 10:00:44 -05:00
Matt Bierner
ce9c6361dc Remove typescript-vscode-sh-plugin
Fixes #136389
2021-11-03 14:48:48 -07:00
Logan Ramos
a4342f3add Bump telemetry module 2021-10-01 16:52:56 -04:00
Logan Ramos
282f499c22 Update extension telemetry module 2021-09-23 11:26:57 -04:00
Logan Ramos
8dbad73de5 Update built in extensions telemetry 2021-08-27 15:45:42 -04:00
Logan Ramos
ecc7fdac90 Bump extension telemetry module 2021-08-27 11:29:48 -04:00
Logan Ramos
da7d76d2ec Update extension telemetry module 2021-08-10 12:43:41 -04:00
Logan Ramos
6aa5b9226b Update extension telemetry module 2021-08-09 13:16:08 -04:00
Logan Ramos
9350fa3c9d Bump telemetry module to fix packaging 2021-08-02 14:29:37 -04:00
Logan Ramos
b7a07daa5a Fix #129727 2021-08-02 13:04:26 -04:00
Logan Ramos
87e0cb1d43 Fix #129474 2021-07-29 11:39:03 -04:00
Logan Ramos
c8e6d08e3a Update to the latest extension module 2021-07-26 13:44:43 -04:00
Martin Aeschlimann
7ebe6a6054 adopt web extensions to webpack 5 2021-07-08 21:41:03 +02:00
Robo
bce4d71f64 chore: bump node@14.x in devDependencies (#122905) 2021-05-04 10:04:13 +02:00
Martin Aeschlimann
3e16e9151b update typescript-vscode-sh-plugin. For #120103 2021-03-29 16:42:37 +02:00
SteVen Batten
9c00242866 updating telemetry module for built-in exts 2021-03-22 16:28:08 -07:00
Matt Bierner
e7f3b77a9c Remove typings for unused package 2021-03-17 16:50:32 -07:00
Martin Aeschlimann
c09b3d2358 typescript: enable built-in 2020 semantic token support 2021-03-17 00:15:42 +01:00
Matt Bierner
a0855b30c7 Use rmdirSync instead of rimraf
Fixes #115668
2021-02-04 11:44:33 -08:00
Matt Bierner
925d9234b8 Pick up latest TypeScript 4.2 nightly
This also migrates us to use our normal TS install for the serverless version
2021-02-01 14:15:27 -08:00
Alexandru Dima
20831dd3df Keep only @types/* deps in /build/ and share terser (#112718) 2020-12-18 19:51:10 +01:00
Alexandru Dima
f74ad9692f Align @types/* dev dependencies (#112718) 2020-12-18 13:28:39 +01:00
Alexandru Dima
7ca71e763d Move away from deprecated 'vscode' node module (#112718) 2020-12-17 21:40:14 +01:00
Alexandru Dima
cbc47b1d7b Do not share terser 2020-12-17 14:38:44 +01:00
Alexandru Dima
1cada18542 Share webpack related node modules (#112718) 2020-12-17 11:16:03 +01:00
Matt Bierner
072d922c45 Revert "Revert "Pick up offical TS build for web server""
This reverts commit eb5c4388c7.
2020-12-11 13:39:19 -08:00
Matt Bierner
eb5c4388c7 Revert "Pick up offical TS build for web server"
This reverts commit f29a3cabc4.
2020-12-11 12:14:58 -08:00
Matt Bierner
f29a3cabc4 Pick up offical TS build for web server 2020-12-09 17:22:26 -08:00
Matt Bierner
f1e631ab83 Update ts server web build 2020-09-25 16:22:05 -07:00