Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cross-file Typescript support in vscode-web #169311

Merged
merged 63 commits into from
Jan 12, 2023
Merged

Commits on Sep 16, 2022

  1. Configuration menu
    Copy the full SHA
    bd9e555 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    052c6a8 View commit details
    Browse the repository at this point in the history
  3. comment out openSystemBrowser

    Because I dont have the default browser set up correctnly on any of my
    machiens
    sandersn committed Sep 16, 2022
    Configuration menu
    Copy the full SHA
    ea42f84 View commit details
    Browse the repository at this point in the history
  4. Add vscode-wasm-typescript dep

    And some logging as I figure out how to use it
    sandersn committed Sep 16, 2022
    Configuration menu
    Copy the full SHA
    0102053 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f79188b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    bdee414 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2022

  1. 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.
    sandersn committed Sep 26, 2022
    Configuration menu
    Copy the full SHA
    4f0ece1 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2022

  1. Configuration menu
    Copy the full SHA
    6f6c491 View commit details
    Browse the repository at this point in the history
  2. Fix minor syntax in webpack hack

    Nonetheless required for it to work!
    sandersn committed Sep 27, 2022
    Configuration menu
    Copy the full SHA
    21eac11 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2afbf36 View commit details
    Browse the repository at this point in the history
  4. Fix provided typescript path

    Another typo. Guess my local test wasn't running the contents really
    sandersn committed Sep 27, 2022
    Configuration menu
    Copy the full SHA
    80d2729 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9d88cc9 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2022

  1. tsserver.web.js comes from local builds

    Also:
    - tsserver.js is no longer minified
    - log crossOriginIsolated
    sandersn committed Sep 29, 2022
    Configuration menu
    Copy the full SHA
    7db6575 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2022

  1. Configuration menu
    Copy the full SHA
    f67a08e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    092c565 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2022

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

    Because it's browser-specific
    sandersn committed Oct 4, 2022
    Configuration menu
    Copy the full SHA
    bd93d21 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2022

  1. Configuration menu
    Copy the full SHA
    293b6e3 View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2022

  1. Configuration menu
    Copy the full SHA
    124acc8 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2022

  1. Add file watching

    sandersn committed Oct 13, 2022
    Configuration menu
    Copy the full SHA
    40a2626 View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2022

  1. Extract webpack hack

    Build only the ts parts of tsserver.web.js, don't rebuild the vscode
    extension. This is a lot faster.
    sandersn committed Oct 17, 2022
    Configuration menu
    Copy the full SHA
    060d671 View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2022

  1. Remove manual verbose logging

    Sheetal showed me the correct way to create a verbose logger instead.
    sandersn committed Oct 21, 2022
    Configuration menu
    Copy the full SHA
    fac861b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    65b8c46 View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2022

  1. Add vscode-test-web to semantic-supported schemes

    And make isWeb support semantic mode.
    sandersn committed Oct 24, 2022
    Configuration menu
    Copy the full SHA
    d8f495b View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2022

  1. Configuration menu
    Copy the full SHA
    7a1eb58 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2022

  1. Switch to tsserverlibrary

    Also paste in some example code for cancellation, which is not finished
    at all.
    sandersn committed Nov 4, 2022
    Configuration menu
    Copy the full SHA
    4ee41e2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    72a972c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6509c48 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2022

  1. Configuration menu
    Copy the full SHA
    2c32ab4 View commit details
    Browse the repository at this point in the history
  2. remove webpack-like hack

    sandersn committed Dec 1, 2022
    Configuration menu
    Copy the full SHA
    6c56e69 View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2022

  1. Configuration menu
    Copy the full SHA
    673869c View commit details
    Browse the repository at this point in the history
  2. Initial prototype of cancellation

    It compiles and looks kind of plausible. But I haven't tested it yet.
    sandersn committed Dec 2, 2022
    Configuration menu
    Copy the full SHA
    741e3a8 View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2022

  1. Configuration menu
    Copy the full SHA
    a24ae56 View commit details
    Browse the repository at this point in the history
  2. Move watches to a separate MessagePort

    Further simplifies the message dispatch code by shifting complexity to
    setup. And the setup is straight-line code.
    sandersn committed Dec 7, 2022
    Configuration menu
    Copy the full SHA
    6f1415e View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2022

  1. 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.
    sandersn committed Dec 8, 2022
    Configuration menu
    Copy the full SHA
    4b19dee View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c17bf33 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2022

  1. 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.
    sandersn committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    6fade7c View commit details
    Browse the repository at this point in the history
  2. 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.
    sandersn committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    68047c7 View commit details
    Browse the repository at this point in the history
  3. 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.
    sandersn committed Dec 15, 2022
    Configuration menu
    Copy the full SHA
    9ffdb8e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    629804c View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2022

  1. 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.
    sandersn committed Dec 16, 2022
    Configuration menu
    Copy the full SHA
    0f0e155 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    675401e View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2022

  1. Address initial PR comments

    Also add some TODO comments for the revision to watches.
    sandersn committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    41be877 View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2022

  1. Add cancellation bit to each (cancellable) request, locally fix an is…

    …sue with retrieving the cancellation bit
    jrieken committed Dec 22, 2022
    Configuration menu
    Copy the full SHA
    8639b4b View commit details
    Browse the repository at this point in the history
  2. 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.
    sandersn committed Dec 22, 2022
    Configuration menu
    Copy the full SHA
    0138958 View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2022

  1. Parse --serverMode partialSemantic in webServer

    Now the syntax server actually runs as a syntax server.
    sandersn committed Dec 27, 2022
    Configuration menu
    Copy the full SHA
    a8774f3 View commit details
    Browse the repository at this point in the history
  2. Simplify logging code

    sandersn committed Dec 27, 2022
    Configuration menu
    Copy the full SHA
    52506b6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6f1966f View commit details
    Browse the repository at this point in the history

Commits on Dec 29, 2022

  1. Cleanup in webServer

    1. Remove a little logging.
    2. Correct failure return value for getFileSize
    3. Reorder some methods and parameters.
    sandersn committed Dec 29, 2022
    Configuration menu
    Copy the full SHA
    a07f98c View commit details
    Browse the repository at this point in the history

Commits on Jan 6, 2023

  1. 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.
    sandersn committed Jan 6, 2023
    Configuration menu
    Copy the full SHA
    0288f0f View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2023

  1. 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.
    sandersn committed Jan 9, 2023
    Configuration menu
    Copy the full SHA
    1c52093 View commit details
    Browse the repository at this point in the history
  2. More logging/TODO cleanup

    sandersn committed Jan 9, 2023
    Configuration menu
    Copy the full SHA
    f48e065 View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2023

  1. Remove duplicate dependency

    mjbvz committed Jan 10, 2023
    Configuration menu
    Copy the full SHA
    f5dade7 View commit details
    Browse the repository at this point in the history
  2. Add setting to enable/disable semantic mode on web

    Also gate it behind a check to `crossOriginIsolated`
    mjbvz committed Jan 10, 2023
    Configuration menu
    Copy the full SHA
    cde1ffc View commit details
    Browse the repository at this point in the history
  3. 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.
    sandersn committed Jan 10, 2023
    Configuration menu
    Copy the full SHA
    8f130c0 View commit details
    Browse the repository at this point in the history
  4. 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.
    sandersn committed Jan 10, 2023
    Configuration menu
    Copy the full SHA
    4952d5d View commit details
    Browse the repository at this point in the history
  5. Fix linting of webServer

    mjbvz committed Jan 10, 2023
    Configuration menu
    Copy the full SHA
    8a72e7d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    98ae48e View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2023

  1. Extract isProjectWideIntellisenseOnWebEnabled and keep using in-memor…

    …y prefix when project wide intellisense is disabled
    mjbvz committed Jan 11, 2023
    Configuration menu
    Copy the full SHA
    9069220 View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2023

  1. Configuration menu
    Copy the full SHA
    6057abc View commit details
    Browse the repository at this point in the history
  2. Remove symlink support and fix typo

    Symlinks are implicitly supported by the filesystem right now.
    sandersn committed Jan 12, 2023
    Configuration menu
    Copy the full SHA
    e36a6db View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0b2a13c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    aad4f87 View commit details
    Browse the repository at this point in the history
  5. Fix compile errors

    mjbvz committed Jan 12, 2023
    Configuration menu
    Copy the full SHA
    6a1b2c3 View commit details
    Browse the repository at this point in the history