Commit Graph

245 Commits

Author SHA1 Message Date
Yui 171ab06cf0 [Transforms] Merge master 06/14/2016 (#9169)
* Remove check narrowing only certain types, add test showing issues with this

* string literal case test

* Reconcile fix with CFA work

* Defaultable -> NotNarrowable to align with use

* Missed a defaultable in comments

* Add test for narrowing to unions of string literals

* Rewrite isInStringLiteral to accomodate for unterminated strings

* Refactor signatureHelp to expose helper functions

* Add support for completion in string literals

* Remove unused check

* Use const instead of let

* Fix error

* Formatting changes

* Use shorthand properties

* Add failing test for #8738

* Sort baseline reference identifier by name

* Detects assignment to internal module export clause, fixes #8738

* add SharedArrayBuffer

fix

* Factor out assignment op check

* Add test for composite assignment

* Factor out the behaviour and handles x++ and ++x

* Handles ES3 default as identifier name

* Fix missing else statement

* isNameOfExportedDeclarationInNonES6Module

* Reorder options alphabetically

* Mark diagnostics, and skipDefaultLibCheck as internal

* Allow an import of "foo.js" to be matched by a file "foo.ts"

* Improve loadModuleFromFile code

* Respond to PR comments

* Respond to more PR comments

* Fix test

* Actually merge from master

* Revert to old tryLoad implementation

* Run fixupParentReferences when parsing isolated jsDocComment

* initial revision of unit test support for project system in tsserver

* Allow wildcard ("*") patterns in ambient module declarations

* Add non-widening forms of null and undefined

* Create separate control flows for property declarations with initializers

* Add regression test

* Allow trailing commas in function parameter and argument lists

* Add tests

* Remove unused variable

* Add null check and CR feedback

* Support shorthand ambient module declarations

* Revert "Merge pull request #7235 from weswigham/narrow-all-types"

This reverts commit ef0f6c8fe4, reversing
changes made to 9f087cb62a.

* reuse the fixupParentReferences function

* Improve typing of && operator with --strictNullChecks

* Add test

* Respond to PR comments

* Respond to PR comments

* Add merging tests

* Use a function `stringify` to simplify calls to `JSON.stringify(xyz, undefined, 2)`

* Update tests

* Fix mistake

* Include indent in navigation bar protocol

Previously navbar01 test had indents when run in the browser but not when run from node. Now they run the same.

* Remove unnecessary restrictions in property access narrowing

* Fix fourslash test

* Add regression test

* Consider property declarations to be control flow containers

* Adding regression test

* Remove restriction on --target es5 and --module es6

* change type definition for Object.create

* Fix signature help

* Add "implicit any" warning for shorthand ambient modules

* Remove trailing whitespace

* Support using string values in enums for CompilerOptions in transpile methods

* Remove trailing whitespace in jakefile

* Make `jake runtests-browser` support test regexes with spaces

For example: `jake runtests-browser t="transpile .js files"` now works.

* Add another test

* factor out isJsxOrTsxExtension

* Move to a conformance test

* Revert "Revert "Merge pull request #7235 from weswigham/narrow-all-types""

This reverts commit fc3e040c51.

* Use inclusive flag, as originally done, but include almost everything

* Add additional tests

* Respond to PR comments

* Fix typo

* add tests for tsserver project system

* Fix test

* Allow case comparison to undefined and null in strict null checking mode

* Remove incorrectly added tests

* check if moduleResolution when verifying that program can be reused

* more tests for module resolution change and exclude

* Fix linting issues

* Merge JSDoc of assignments from function expressions

* Allow nested assignments in type guards

* Add tests

* Improve order of parameter's merged jsdoc

* Force LF newlines for LKG builds/non debug builds
Fixes 6630

* Create intersection types in type guards for unrelated types

* Split commentsFunction test into expr/decl

And renumber.

* Remove TODO comments

* Accept new baselines

* Add tests

* Remove comments

* Fix test helper

* Recognize relative path using in outDir property (#9025)

* Recognize relative path using in outDir property

* Add projects tests

* Add project .json files

* Update baselines

* Add comments

* Add test case

The test passes in 1.8 and fails in master.

* Return trace when exception happens

* Remove Long-Done TODO

AFAIK, the harness sources have been concatenated into `run.js` for as long as I've known. This stops executing them twice (and in turn makes debugging tests much easier, since you no longer have to debug into eval'd code).

* Allow primitive type guards with typeof on right

Previously, only type guards of the form `typeof x === 'string'` were
allowed. Now you can write `'string' === typeof x`.

* Primitive type guards are now order independent

* Fix comments in tests

* Add handleing for classes

* Add more tests for target=es5 module=es6

* addExportToArgumentListKind

* Accept baseline

* Add more tests

* Adds progress indicators to the runtests-parallel build task.

* Fixed typo

* Fix comment

* Add test for out-of-range error

* Use proper method of not resolving alias

* Fix module loading error

(commandLineOptions_stringToEnum would be undefined if optionDeclarations wasn't loaded yet)

* Update tests

* Contextually type return statement in async function

* Remove stale files

* Undo change

* Improve perf

* Improve tests

* Fix sourcemaps for debugging tests

* Allow --sourceRoot with --inlineSources option
Fixes #8445

* this in parameter initializers resolves to class

Accept baselines now that the test passes.

* Add tests for more kinds of import/export

* Fix7334 Disallow async in functionExpression and ArrowFunction (#9062)

* Error when using async modifier in function-expression and arrow-function when target es5

* Add tests and baselines

* Resolve function-this in parameter initialisers when explicitly provided

* Allow null/undefined guard with null/undefined on left

Also add a test with baselines.

* Code review comments

* Update more diagnostic messages ES6->2015

Fix #8996 CC @mhegazy.

* Fixes an issue with runtests-parallel when global mocha is not installed.

* Update LKG

* Add tests

* fix baselines

* Salsa: get members of variables whose initialisers are functions

* Test adding members to JS variables whose initialisers are functions

* Recommend runtests-parallel in CONTRIBUTING

* Allow empty lists on command line

* Remove single-comma empty array form

* Remove trailing whitespace

* Implicit type inclusion changes

* Only inlineSourceMap when debugging through jake-browser (#9080)

* Only inlineSourceMap when debugging through jake-browser

* Address PR: fix typo in opt's property

* minor fix: add missing return clause

* Use camel-case instead of snake-case (#9134)

* Baseline fix, CR comments, lint

* CR changes

* Add test for jsdoc in navigation bar

* Fixes runtests-parallel not reporting failure for failed tests.

* Fix decorator metadata emit for rest arg with no type

* Add isDefinition to ReferenceEntry

Clients can now easily tell if the reference is to a definition or a
usage.

* Test isDefinition

* Add option to bail out of `jake runtests` when one test fails

* Absolute-ify paths in both places

* Refactor

* Add unit test

* lint

* Added tests.

* Accepted baselines.

* Emit 'exports.' if the shorthand is a general export.

* Accepted baselines.

* Emit 'Promise' decorator metadata return type for async methods

* Respond to PR comment

* Unescape identifiers used in code completion

* Make isDefinition required.

For the deprecated getOccurrencesAtPosition, isDefinition is always false.

* Add more isDefinition tests and fix computed property bug

* Fix bug: do unescaping in the right place, so that it only affects escaped javascript identifiers

* Use `isLiteralComputedPropertyDeclarationName`
2016-06-14 15:00:40 -07:00
Yui f235bf7db8 [Transforms] Merge master 06/06/2016 (#8991)
* Remove check narrowing only certain types, add test showing issues with this

* string literal case test

* Reconcile fix with CFA work

* Defaultable -> NotNarrowable to align with use

* Missed a defaultable in comments

* Add test for narrowing to unions of string literals

* Rewrite isInStringLiteral to accomodate for unterminated strings

* Refactor signatureHelp to expose helper functions

* Add support for completion in string literals

* Remove unused check

* Use const instead of let

* Fix error

* Formatting changes

* Use shorthand properties

* Add failing test for #8738

* Sort baseline reference identifier by name

* Detects assignment to internal module export clause, fixes #8738

* add SharedArrayBuffer

fix

* Factor out assignment op check

* Add test for composite assignment

* Factor out the behaviour and handles x++ and ++x

* Handles ES3 default as identifier name

* Fix missing else statement

* isNameOfExportedDeclarationInNonES6Module

* Reorder options alphabetically

* Mark diagnostics, and skipDefaultLibCheck as internal

* Allow an import of "foo.js" to be matched by a file "foo.ts"

* Improve loadModuleFromFile code

* Respond to PR comments

* Respond to more PR comments

* Fix test

* Actually merge from master

* Revert to old tryLoad implementation

* Run fixupParentReferences when parsing isolated jsDocComment

* initial revision of unit test support for project system in tsserver

* Allow wildcard ("*") patterns in ambient module declarations

* Add non-widening forms of null and undefined

* Create separate control flows for property declarations with initializers

* Add regression test

* Allow trailing commas in function parameter and argument lists

* Add tests

* Remove unused variable

* Add null check and CR feedback

* Support shorthand ambient module declarations

* Revert "Merge pull request #7235 from weswigham/narrow-all-types"

This reverts commit ef0f6c8fe4, reversing
changes made to 9f087cb62a.

* reuse the fixupParentReferences function

* Improve typing of && operator with --strictNullChecks

* Add test

* Respond to PR comments

* Respond to PR comments

* Add merging tests

* Use a function `stringify` to simplify calls to `JSON.stringify(xyz, undefined, 2)`

* Update tests

* Fix mistake

* Include indent in navigation bar protocol

Previously navbar01 test had indents when run in the browser but not when run from node. Now they run the same.

* Remove unnecessary restrictions in property access narrowing

* Fix fourslash test

* Add regression test

* Consider property declarations to be control flow containers

* Adding regression test

* Remove restriction on --target es5 and --module es6

* change type definition for Object.create

* Fix signature help

* Add "implicit any" warning for shorthand ambient modules

* Remove trailing whitespace

* Support using string values in enums for CompilerOptions in transpile methods

* Remove trailing whitespace in jakefile

* Make `jake runtests-browser` support test regexes with spaces

For example: `jake runtests-browser t="transpile .js files"` now works.

* Add another test

* factor out isJsxOrTsxExtension

* Move to a conformance test

* Revert "Revert "Merge pull request #7235 from weswigham/narrow-all-types""

This reverts commit fc3e040c51.

* Use inclusive flag, as originally done, but include almost everything

* Add additional tests

* Respond to PR comments

* Fix typo

* add tests for tsserver project system

* Fix test

* Allow case comparison to undefined and null in strict null checking mode

* Remove incorrectly added tests

* check if moduleResolution when verifying that program can be reused

* more tests for module resolution change and exclude

* Fix linting issues

* Merge JSDoc of assignments from function expressions

* Allow nested assignments in type guards

* Add tests

* Improve order of parameter's merged jsdoc

* Force LF newlines for LKG builds/non debug builds
Fixes 6630

* Create intersection types in type guards for unrelated types

* Split commentsFunction test into expr/decl

And renumber.

* Remove TODO comments

* Accept new baselines

* Add tests

* Remove comments

* Fix test helper

* Recognize relative path using in outDir property (#9025)

* Recognize relative path using in outDir property

* Add projects tests

* Add project .json files

* Update baselines

* Add comments

* Add test case

The test passes in 1.8 and fails in master.

* Return trace when exception happens

* Remove Long-Done TODO

AFAIK, the harness sources have been concatenated into `run.js` for as long as I've known. This stops executing them twice (and in turn makes debugging tests much easier, since you no longer have to debug into eval'd code).

* Allow primitive type guards with typeof on right

Previously, only type guards of the form `typeof x === 'string'` were
allowed. Now you can write `'string' === typeof x`.

* Primitive type guards are now order independent

* Fix comments in tests

* Add handleing for classes

* Add more tests for target=es5 module=es6

* addExportToArgumentListKind

* Accept baseline

* Add more tests

* wip-fixing transforms

* Adds progress indicators to the runtests-parallel build task.

* Fixed typo

* Fix comment

* Add test for out-of-range error

* Use proper method of not resolving alias

* Fix module loading error

(commandLineOptions_stringToEnum would be undefined if optionDeclarations wasn't loaded yet)

* Port 8739

* Update tests

* Update baselines

* Contextually type return statement in async function

* Remove stale files

* Undo change

* Improve perf

* Improve tests

* Fix sourcemaps for debugging tests

* Allow --sourceRoot with --inlineSources option
Fixes #8445

* this in parameter initializers resolves to class

Accept baselines now that the test passes.

* Add tests for more kinds of import/export

* Fix7334 Disallow async in functionExpression and ArrowFunction (#9062)

* Error when using async modifier in function-expression and arrow-function when target es5

* Add tests and baselines

* Resolve function-this in parameter initialisers when explicitly provided

* Allow null/undefined guard with null/undefined on left

Also add a test with baselines.

* Code review comments

* Update more diagnostic messages ES6->2015

Fix #8996 CC @mhegazy.

* Fixes an issue with runtests-parallel when global mocha is not installed.

* Update LKG

* Add tests

* fix baselines

* Recommend runtests-parallel in CONTRIBUTING

* Only inlineSourceMap when debugging through jake-browser (#9080)

* Only inlineSourceMap when debugging through jake-browser

* Address PR: fix typo in opt's property

* Manually port tests from PR 8470

* minor fix: add missing return clause

* Support using string values in enums for CompilerOptions in transpile methods

* Support using string values in enums for CompilerOptions in transpile methods

# Conflicts:
#	tests/cases/unittests/transpile.ts

* Fix test helper

* Add test for out-of-range error

* Fix module loading error

(commandLineOptions_stringToEnum would be undefined if optionDeclarations wasn't loaded yet)

* Use camel-case instead of snake-case (#9134)

* Manually add tests for PR 8988

* Allow wildcard ("*") patterns in ambient module declarations

* Respond to PR comments

* Add another test

* Improve perf

* Improve tests

* Update baseline from merging with master

* Address PR comment

* Update baseline

* Refactor how we retrieve binding-name cache in module transformer

* Temporary accept so we get a clean run-tests result
2016-06-14 11:36:57 -07:00
Yui f619282af1 [Transforms] Update transforms with recent master (#8960)
* Remove check narrowing only certain types, add test showing issues with this

* string literal case test

* Reconcile fix with CFA work

* Defaultable -> NotNarrowable to align with use

* Missed a defaultable in comments

* Add test for narrowing to unions of string literals

* Actually merge from master

* Run fixupParentReferences when parsing isolated jsDocComment

* initial revision of unit test support for project system in tsserver

* Add non-widening forms of null and undefined

* Create separate control flows for property declarations with initializers

* Add regression test

* Add tests

* Remove unused variable

* Add null check and CR feedback

* Revert "Merge pull request #7235 from weswigham/narrow-all-types"

This reverts commit ef0f6c8fe4, reversing
changes made to 9f087cb62a.

* reuse the fixupParentReferences function

* Fix up error from merging with master
2016-06-03 11:02:35 -07:00
Andy Hanson 02d4959dd8 Lint src\server\client.ts 2016-05-23 10:33:47 -07:00
Mohamed Hegazy b637d76b49 Merge pull request #8700 from Microsoft/Fix8692
Fix #8692: fix "tsserver as a library" (lssl) build target
2016-05-21 12:24:23 -07:00
zhengbli 2252b17f28 avoid using sys in editorServices.ts 2016-05-19 16:39:48 -07:00
Mohamed Hegazy c9b5145ed9 Remove use of ts.sys in editor services 2016-05-19 15:55:42 -07:00
Mohamed Hegazy c884fee3eb Remove dependncy on NodeJs from editor services 2016-05-19 13:16:20 -07:00
zhengbli 269416d675 Add test 2016-05-10 16:04:59 -07:00
zhengbli 8bd8ed7d4b Tolerate non-existing files specified 2016-05-06 13:02:57 -07:00
Zhengbo Li 166f95c677 Merge pull request #8311 from zhengbli/reportTsconfigError
[API] Add event for reporting tsconfig errors
2016-05-05 13:11:30 -07:00
zhengbli 4d94ae8749 Wipe out the cached script content if failed to read it 2016-04-29 02:13:50 -07:00
zhengbli 5da620efe4 Add config file diag related types to protocol 2016-04-26 15:31:41 -07:00
zhengbli c14362e2ae Add event for reporting tsconfig errors 2016-04-26 12:53:38 -07:00
Zhengbo Li aca769f8c4 Remove hard-coded new line character option 2016-04-25 15:24:34 -07:00
Zhengbo Li 0f18cf8bb7 Merge pull request #8196 from zhengbli/fileWatcherBackToPolling
Change file watching back to polling.
2016-04-25 11:42:26 -07:00
Mohamed Hegazy 39d64a2709 Add configured projects to the list of projects when searching 2016-04-23 14:10:26 -07:00
zhengbli a09b001c61 Add env to allow switch to non-polling if really wants to 2016-04-22 11:54:09 -07:00
zhengbli 615dfa88f9 Merge branch 'master' of https://github.com/Microsoft/TypeScript into i4420
# Conflicts:
#	src/server/session.ts
2016-04-21 15:17:46 -07:00
zhengbli 1401e504ac Provide server response when reload is done 2016-04-21 15:14:58 -07:00
zhengbli 8709975f0b Merge branch 'master' of https://github.com/Microsoft/TypeScript into i2531
# Conflicts:
#	src/server/session.ts
2016-04-21 14:47:31 -07:00
Zhengbo Li 3a8ebf109f Merge pull request #7954 from zhengbli/supportScriptKindOnServer
Add API support for LS host to specify script kind of a file to open
2016-04-19 15:41:47 -07:00
zhengbli cc58e2d7eb Use string literal type for script kind names 2016-04-19 15:20:05 -07:00
zhengbli 576e5f8055 So we are back to polling. 2016-04-19 14:25:57 -07:00
zhengbli 19596deb7f remove extra deduplicate 2016-04-18 16:20:45 -07:00
Paul van Brenk 96deb553d5 Script side implementation for Brace Completion. (#7587)
* Script side implementation for Brace Completion.

This needs updated Visual Studio components to work.

* Changed CharacterCodes to number, to keep the API simple

* CR feedback

* CR feedback and more JSX tests

* Swapped 2 comments

* typo
2016-04-15 11:38:42 -07:00
Daniel Rosenwasser 5b0b09ca62 Merge pull request #8056 from weswigham/remove-custom-no-null-rule
Remove custom no-null rule, use tslint builtin no null rule
2016-04-13 00:28:24 -07:00
Wesley Wigham 37a0e8f502 Remove custom no-null rule, use tslint builtin no null rule 2016-04-13 02:09:14 -04:00
zhengbli db6f5bd832 Rename the forEachProject function to something sane 2016-04-08 12:53:19 -07:00
zhengbli a2035a572e Add API support for LS host to specify script kind of a file to open 2016-04-07 23:01:20 -07:00
zhengbli fb0d720da7 refactor cr 2016-04-07 14:07:14 -07:00
Vladimir Matveev e2a23fd598 remove compilationRoot parameter, use typesRoot/config file location as a root when computing primary locations 2016-04-05 16:33:11 -07:00
Vladimir Matveev aaaa9c0895 expose type reference resolution for external consumption 2016-04-01 12:41:01 -07:00
Vladimir Matveev 55cbdc9623 Merge pull request #7584 from Microsoft/LS-rename-getSourceFile
mark LanguageService.getSourceFile as internal and rename it
2016-03-24 14:05:49 -07:00
zhengbli e9b514cf8a Use fileName instead of Path when dealing with file systems directly 2016-03-23 12:49:34 -07:00
Vladimir Matveev 200f162bf6 rename LanguageService.getSourceFile to LanguageService.getNonBoundSourceFile and mark it as internal 2016-03-18 11:27:21 -07:00
Bill Ticehurst 59d5df0a56 AllowJS files in tsserver when no project is given
(cherry picked from commit 16d7656160)
2016-03-10 12:59:39 -08:00
zhengbli 2835e259aa Enable navigateTo on all projects for a file 2016-03-02 15:50:00 -08:00
zhengbli 7663a96a7b Enable findReferences on all projects for a file 2016-03-02 15:37:35 -08:00
zhengbli 55f4b02ed4 Enable rename on all projects for a file 2016-03-02 14:25:55 -08:00
Josh Soref bb85817d7d spelling fixes for src
Fixes:
* actual
* algorithm
* analyze
* applies
* collapse
* contrast
* definition
* diagnostic
* different
* displayed
* display
* documentation
* finite
* function
* highlight
* initialize
* intentional
* interface
* invariants
* items
* keystroke
* language
* literal
* original
* output
* position
* receive
* recorder
* response
* sequence
* simplicity
* statement

Changing a \ to a /
2016-02-25 20:08:44 +00:00
Vladimir Matveev 26336cd54b fix linter issues 2016-02-19 22:32:05 -08:00
jramsay 6b05ad7627 Merge pull request #7107 from Microsoft/ScriptBlockSupport
Salsa: adding ScriptKind to ensure script blocks are processed as JS.
2016-02-19 14:40:18 -08:00
Jason Ramsay a71fa457bd Salsa: adding ScriptKind to ensure script blocks (.html, .aspx, .ascx, etc) are processed as JS 2016-02-16 17:37:24 -08:00
Daniel Rosenwasser c5d5d13e61 Remove the 'module' option from 'tsconfig.json' files. 2016-02-12 17:28:10 -08:00
Ryan Cavanaugh 6303d8c723 Remove incorrect changes from server.ts 2016-01-22 15:13:54 -08:00
Ryan Cavanaugh 64c2d66ccb Merge branch 'master' into jsDocFinal 2016-01-22 15:10:02 -08:00
Zhengbo Li d64b603e4b revert breaking changes 2016-01-20 16:53:15 -08:00
zhengbli b5ed7f3eda Add support for jsconfig.json in language service 2016-01-19 16:30:52 -08:00
zhengbli c2f453b8fb Fix the getCanonicalFileName in sys.ts and also check null value in file watcher call back 2016-01-15 14:58:04 -08:00