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

TS Version Selector for Multiroot Workspaces #30262

Closed
mjbvz opened this issue Jul 7, 2017 · 1 comment
Closed

TS Version Selector for Multiroot Workspaces #30262

mjbvz opened this issue Jul 7, 2017 · 1 comment
Assignees
Labels
feature-request Request for new features or functionality on-testplan typescript Typescript support issues workbench-multiroot Multi-root (multiple folders) issues
Milestone

Comments

@mjbvz
Copy link
Collaborator

mjbvz commented Jul 7, 2017

Question

How should the TS version work in multi root workspaces?

You can currently select between the workspace version of TS or from the bundled / global version. In the multiroot world, we plan on only starting a single TSserver instance but what version options should be shown in these cases

Startup Scenarios

  1. Two+ workspaces with no tsdk settings

    Proposed Version Suggestions:
    - Bundled TS version

  2. Two+ workspaces with user tsdk settings that points to an absolute path

    Proposed Version Suggestions:
    - TS at the absolute path from the tsdk

  3. Two+ workspaces with user tsdk settings that points to a relative path

    Proposed Version Suggestions:
    - For each workspace, check if the tsdk can be resolved relative to the workspace. Include in suggestions if it does. Filter out duplicate TS versions. Pick first as default.

  4. Two+ workspaces where one has a tsdk setting in the workspace settings

    Proposed Version Suggestions:
    - Bundled TS version (default)
    - Version from tsdk from the workspace

  5. Two+ workspaces where multiple workspaces have tsdk settings in their workspace settings

    Proposed Version Suggestions:
    - Bundled TS version (default)
    - For each workspace, check if the tsdk can be resolved relative to that workspace. Include in suggestions if it does. Filter out duplicate TS versions

  6. Two+ workspaces where one or more workspaces have tsdk settings in their workspace settings and the user has an absolute path tsdk setting

    Proposed Version Suggestions:
    - TSDK from absolute user path (default)
    - For each workspace, check if the tsdk can be resolved relative to that workspace. Include in suggestions if it does. Filter out duplicate TS versions

  7. Two+ workspaces where one or more workspaces have tsdk settings in their workspace settings and the user has relative path tsdk setting

    Proposed Version Suggestions:
    - For each workspace, check both the workspace tsdk and the user tsdk. Include these in suggestions if they can be resolved. Filter out duplicate TS versions. Pick first version from the user tsdk setting as the default.

@mjbvz mjbvz added feature-request Request for new features or functionality workbench-multiroot Multi-root (multiple folders) issues typescript Typescript support issues labels Jul 7, 2017
@mjbvz mjbvz added this to the July 2017 milestone Jul 7, 2017
@mjbvz mjbvz self-assigned this Jul 7, 2017
@mjbvz mjbvz changed the title Pickup TS Versions From All Workspaces for TS Version Selector TS Version Selector for Multiroot Workspaces Jul 7, 2017
@mjbvz
Copy link
Collaborator Author

mjbvz commented Jul 24, 2017

Different proposal now that we have the explicit concept of workspaces and workspace settings:

Scenarios

  1. One folder, no tsdk setting:

    Proposed Version Suggestions:
    - Bundled TS version
    - Version from node_modules if it exists

  2. One folder, user tsdk setting:

    Proposed Version Suggestions:
    - User tsdk version
    - Version from node_modules if it exists

  3. One folder, folder tsdk setting:

    Proposed Version Suggestions:
    - Bundled tsdk version
    - Folder tsdk version

  4. One folder, user tsdk setting and folder tsdk setting:

    Proposed Version Suggestions:
    - User tsdk version
    - Folder tsdk version

  5. Two+ folders with no tsdk settings

    Proposed Version Suggestions:
    - Bundled TS version
    - Versions from node_modules in folders if these exist

  6. Two+ folders with user tsdk settings that points to an absolute path

    Proposed Version Suggestions:
    - TS at the absolute path from the tsdk
    - Versions from node_modules in folders if these exist

  7. Two+ folders with user tsdk settings that points to a relative path

    Proposed Version Suggestions:
    - Unsupported tsdk value. User must quality which workspace to use by prefixing tsdk with workspace name
    - Versions from node_modules in folders if these exist

  8. Two+ folders workspace tsdk setting

    Proposed Version Suggestions:
    - Bundled TS version
    - Version from workspace tsdk setting

  9. Two+ folders workspace tsdk setting and user tsdk setting

    Proposed Version Suggestions:
    - User TS version
    - Version from workspace tsdk setting

typescript.tsdk setting

The typescript.tsdk setting will support the following types of paths:

  • /an/absolute/path/
  • ./node_modules/typescript/lib and node_modules/typescript/lib - Supported in single folder scenarios only
  • ./workspace_name/node_modules/typescript/lib and workspace_name/node_modules/typescript/lib

@mjbvz mjbvz closed this as completed Jul 31, 2017
@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 17, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request Request for new features or functionality on-testplan typescript Typescript support issues workbench-multiroot Multi-root (multiple folders) issues
Projects
None yet
Development

No branches or pull requests

1 participant