All notable changes to this project will be documented in this file.
2.0.1 (2022-10-07)
2.0.0 (2022-09-28)
- Replace the CLI argument
--tsserver-log-file
withtsserver.logDirectory
option provided throughinitializationOptions
of theinitialize
request.
- add
tsserver.logDirectory
toinitializationOptions
(#588) (114d430) - add
tsserver.trace
init option for tracing tsserver (#586) (e3e8930)
- completions: don't create snippet kind without
completeFunctionCalls
(#595) (7f69c27) - completions: remove filterText override for bracket accessor (#593) (1ed4e2e)
- wrong import completion when insert/replace supported (#592) (4fe902a)
1.2.0 (2022-09-12)
- Add insert replace support for completions (#583) (fdf9d11)
- add support for new features from TypeScript 4.8 (#576) (7e88db3)
- include "triggerReason" and "kind" in code action requests (#579) (f872078)
- support communicating with tsserver using IPC (#585) (8725b9b)
- support for codeAction disabledSupport client capability (#578) (f93b849)
1.1.2 (2022-08-25)
1.1.1 (2022-08-22)
- move deepmerge to dependencies (06109d4)
1.1.0 (2022-08-21)
- add "Go To Source Definition" command (#560) (9bcdaf2)
- support
textDocument/inlayHint
request from 3.17.0 spec (#566) (9a2fd4e) - support LocationLink[] for textDocument/definition response (#563) (196f328)
- don't trigger error on empty Source Definition response (#568) (146a6ba)
- make wording in the typescript lookup error more generic (585a05e), closes #554
- snippet completions returned to clients that don't support them (#556) (050d335)
- update signature help feature to v3.15.0 LSP spec (#555) (da074a6)
1.0.0 (2022-08-06)
- Ship as an ES module. Might be breaking for programmatic users of this server. Read more about consuming ES module packages at gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c
- deps: LSP libraries updated to match the 3.17 version of the LSP spec. Requires minimum Node 14.
- declare quickfix/refactor CodeAction capabilities (#553) (e76fc64)
- handle shutdown lifecycle properly (#536) (ac8536b)
0.11.2 (2022-06-24)
0.11.1 (2022-06-13)
0.11.0 (2022-06-06)
0.10.1 (2022-05-18)
0.10.0 (2022-05-11)
0.9.7 (2022-02-27)
- add more logging for resolving user-specified tsserver (#412) (7139a32)
- help users resolve no valid tsserver version error (#337) (d835543)
- fix: don't transform zipfile URIs from Vim (#386)
- fix: don't transform Yarn zipfile URIs (#384)
- fix: call configure before completion resolve (#377)
- fix: wait for tsserver configuration requests to finish (#372)
- fix: use correct name for the addMissingImports code action (#371)
- fix: don't use the postinstall script
-
feat: implement additional code actions for handling auto-fixing (#318)
-
feat: report progress when loading the project (#326)
-
feat: add new preferences from typescript 4.5.3 (#304)
-
fix: correct matching of "only" kinds provided by the client (#334)
-
fix: pass format options for organizing import (#348)
-
fix: use snippet type for jsx attribute completions (#362)
- fix: lookup workspace typescript in dirs higher up the tree also (#314)
-
feat: implement semantic tokens support (#290)
-
feat: add support for snippet completions for methods/functions (#303)
-
feat: ability to ignore diagnostics by code (#272) Adds new
diagnostics.ignoredCodes
workspace setting to ignore specific diagnostics. -
feat: add
npmLocation
option to specify NPM location (#293) -
fix: don't announce support for codeActionKinds (#289)
-
fix: mark import completions as snippets (#291)
-
fix: specify minimum node version to be v12 (#301)
-
fix: ensure that the
tsserver
subprocess uses forked node instance (#292) Potentially BREAKING. The lookup oftsserver
was refactored to never usespawn
logic but instead alwaysfork
the current node instance. See more info in the PR. -
fix: exit the server if tsserver process crashes (#305)
-
fix: respect "includeDeclaration" for references request (#306)
- fix: add missing
semver
dependency (#288)
Changes to default options sent to tsserver could affect behavior (hopefully for the better). Read changes below for more details.
-
feat: include import specifier for import completions (#281) For completions that import from another package, the completions will include a "detail" field with the name of the module.
Also aligned some other logic with the typescript language services used in VSCode:
- annotate the completions with the local name of the import when completing a path in import foo from '...'
- update completion "sortText" regardless if the completion "isRecommended"
-
feat: allow skip destructive actions on running OrganizeImports (#228) Add support for the new skipDestructiveCodeActions argument to TypeScript's organize imports feature - [1] to support [2].
Support is added in two places:
- Automatically inferring the proper value based on diagnostics for the file when returning code actions.
- Supporting sending it when manually executing the organize imports action.
Also added documentation to the readme about the supported commands that can be manually executed.
[1] microsoft/TypeScript#43051 [2] apexskier/nova-typescript#273
-
feat: support running server on files without root workspace (#286) The tsserver seems to be good at inferring the project configuration when opening single files without a workspace so don't crash on missing
rootPath
. -
feat: add
disableAutomaticTypingAcquisition
option to disable automatic type acquisition (#285) -
feat: update default tsserver options (#284) Set the following additional options by default:
allowRenameOfImportPath: true, displayPartsForJSDoc: true, generateReturnInDocTemplate: true, includeAutomaticOptionalChainCompletions: true, includeCompletionsForImportStatements: true, includeCompletionsWithSnippetText: true,
This aligns more with the default options of the typescript language services in VSCode.
-
feat: announce support for "source.organizeImports.ts-ls" action (#283) Announcing support for that code action allows editors that support running code actions on save to automatically run the code action if the user has configured the editor with settings like
"codeActionsOnSave": { "source.organizeImports": true, // or "source.organizeImports.ts-ls": true, },
-
chore: change default log level from "warn" to "info" (#287)
- fix: normalize client and tsserver paths (#275) This should ensure consistent behavior regradless of the platform. Previously some functionality could be malfunctioning on Windows depending on the LSP client used due to using non-normalized file paths.
- Handle the
APPLY_COMPLETION_CODE_ACTION
command internally (#270) This means that the clients that have implemented a custom handling for the_typescript.applyCompletionCodeAction
command can remove that code. Without removing the custom handling everything should work as before but some edge cases might work better when custom handling is removed. - fix: ignore empty code blocks in content returned from
textDocument/hover
(#276) - fix: remove unsupported --node-ipc and --socket options (#278)
- Fix broken logging (#267)
- Add support for
workspace/didChangeConfiguration
and setting formatting options per language (#268) - Add option to set inlayHints preferences by language (#266)
- Implement experimental inlay hints (#259) (documentation)
- Send diagnostics even to clients that don't signal support (#261) (reverts #229)
- Mark completion items as deprecated if JSDoc says so (#227)
- Add a
maxTsServerMemory
option (#252) - (chore) Add Windows and Mac CI runner (#248)
- Fix Windows path regression introduced in #220 (#249)
- Refactor code actions to better support filtering against "only" (#170)
- Support Yarn PnP (#220)
- Update internal Typescript dependency from 3.9.0 to 4.3.4 (#226)
- Only publish diagnostics if client supports the capability (#229)
- Add support for "unnecessary" and "deprecated" diagnostic tags (#230)
- Upgrade vscode-languageserver (#231)
- Lookup tsserver using direct path rather than through .bin alias (#234)
- Don't pass deprecated options to Completion request
- Remove hardcoded request timeouts
- Forward user preferences in
initializationOptions
- Use
require.resolve
for module resolution (#195)
- Fix empty documentHighlight results due to inconsistent path delimiters
- Update command line option
tssserver-log-verbosity
to supportoff
- Call compilerOptionsForInferredProjects during initialization (set good defaults when tsconfig.json missing)
- Remove warnings from LSP completion results
- Add support for formatting range (textDocument/rangeFormatting)
- Ensure TSP request cancellation cancels timeout handling
0.4.0 - 2019-08-28
- Upgraded to LSP 5.3.0 and Monaco 0.17.0. #115
0.3.7 - 2018-11-18
- Let documentSymbol return the correct results when mergeable elements are used #77
- Return correct ranges for hierarchical document symbol #79
- Return null when resolving completion request at an invalid location #81
- Initial call hierarchy support #85
- Allowing starting tsserver as a module using cp.fork #88
Thanks to @AlexTugarev and @keyboardDrummer
0.3.6 - 2018-09-18
- Respect URIs received from clients #75
0.3.5 - 2018-09-14
- Fixed publishing diagnostics for all opened documents #71 - thanks to @keyboardDrummer
- Support global tsserver plugins #73
- Configure a tsserver log file via
TSSERVER_LOG_FILE
env variable #73
0.3.4 - 2018-09-12
- Restore containerName for non-hierarchical symbols #69
0.3.3 - 2018-09-11
- Fix updating documents on
didChange
notification #65 - Debounce triggering diagnostics if a client is spamming with edits #65
0.3.2 - 2018-09-06
- Hierarchical document symbols support #62
0.3.1 - 2018-09-04
- Allow a client to enable tsserver logging #59
0.3.0 - 2018-08-23
- Setup the monorepo with yarn workspaces and ts project references #48
- Added a Monaco based example #48
- Aligned
completion/completionResolve
with VS Code behaviour #50 - Interrupt diagnostics to improve response time for other requests, as completion and signature help #51
- Applied refactorings support #51
- Suggest diagnostics support #51
- Diagnostics buffering #51
- Tolerating non-file URIs #51
- Organize imports support #51
- Added
Apply Rename File
command #56