Commit graph

28950 commits

Author SHA1 Message Date
Daniel Rosenwasser 20f42f45ff
Merge pull request #33709 from microsoft/moveMessageNumbers
Move error codes to appropriate section
2019-10-01 15:37:23 -04:00
Ron Buckton 526ed5284e
Ensure prepend texts are set when skipping internals (#33694) 2019-10-01 12:33:17 -07:00
Daniel Rosenwasser e4d77f8857 Update baselines. 2019-10-01 12:30:37 -07:00
Daniel Rosenwasser 933065b69c Change error codes. 2019-10-01 12:18:01 -07:00
Daniel Rosenwasser a04f1eb7f0
Better error message for mistaken import (#33706)
Better error message for mistaken import
2019-10-01 15:12:29 -04:00
Ryan Cavanaugh 6b63c1bc5c
Rename this function so it stops shadowing a local we use elsewhere (#33692) 2019-10-01 10:37:53 -07:00
Mukesh Prasad 03a3589225 Better error message for mistaken import (#40)
Issue number of the reported bug or feature request: microsoft#13601
2019-10-01 17:27:38 +01:00
csigs 8292af182c
LEGO: Merge pull request 33705
LEGO: Merge pull request 33705
2019-10-01 09:10:57 -07:00
csigs 453007d71e LEGO: check in for master to temporary branch. 2019-10-01 16:10:23 +00:00
Sheetal Nandi 2d96a163d1
Merge pull request #33681 from microsoft/autoTypeReference
Fix issue when types installed after watch/editor is opened for auto type reference that is for global types not being detected
2019-10-01 08:28:08 -07:00
Andrew Branch 7be7cba050 Fixes binding well known symbol assignment via element access (#33687)
* Fix binding well-known symbols by element access

* Add navigationBar test

* Revert settings.json change

* Accept baselines

* Actually make it bind

* Accept API baselines

* Dont use internal name in API
2019-09-30 16:14:07 -07:00
Wenlu Wang 7c50bccec2 nullish coalescing commit (#32883)
* migrate nullish coalescing commit

* add more test case

* add branch type check test

* add more tests

* fix nullish precedence

* update public api

* add rescan question question token to fix regression

* update public api baseline

* Added tests that emit for nullish coalescing operator conforming with grammar restrictions when assertions are used.

* Fixed emit to hoist temporary variables (they previously went undeclared).
Added tests to ensure calls and property accesses are only called once.

* use not equal to null

* rename factory

* add grammar check

* fix more cases

* Fix handling of nullish coalescing oprator in expando objects.

* Fixed classifier to support ?? operator.

* update baseline

* accept baseline

* fix review

* update emitter and more testcase

* update control flow

* make linter happy

* update libs

* avoid unnecessary assert

* fix typooo

* Fixes for control-flow analysis
2019-09-30 15:33:50 -07:00
Michael Tamm 6bd3b21f6c fix (lib): Loosen predicate return types of typed arrays, adapt docs (#31343)
fixes #31472
2019-09-30 15:26:39 -07:00
Wesley Wigham 9a7fdade07
Fix crash in contextual typing of defaulted element access declarations (#33686) 2019-09-30 14:42:55 -07:00
Wesley Wigham 98cf317005
Add error message for set accessor vsibility issues (#33683) 2019-09-30 13:12:40 -07:00
Andrew Branch f89de95955
Allow special element access assignments to create declarations (#33537)
* Start enabling element access special assignment

* Treat element access assignment as special assignment in JS

* Make declarations for bindable element access expressions

* Fix navigationBar crash

* Add multi-level test for JS

* Propagate element access expressions to more code paths

* Fix property access on `this`

* Add quick info test

* Uhhh I guess this is fine

* Fix module["exports"] and property access chained off element access

* Add test for this property assignment

* Add test for and fix prototype property assignment

* Fix teeeest???

* Update APIs

* Fix element access declarations on `this`

* Fix go-to-definition

* Add declaration emit to tests

* Reconcile with late-bound symbol element access assignment

* Fix baselines

* Add JS declaration back to tests

* Fix JS declaration emit of non-late-bound string literal property names

* Revert accidental auto-format

* Use `isAccessExpression`

* Add underscore escaping member to test

* Fix and test navBar changes
2019-09-30 15:08:44 -05:00
Orta 053388d6d2
Merge pull request #33584 from orta/small_ts
Creates a smaller build of TypeScript which just has the language services
2019-09-30 15:52:57 -04:00
Ron Buckton fcd9334f57
Add support for Optional Chaining (#33294)
* Add support for Optional Chaining

* Add grammar error for invalid tagged template, more tests

* Prototype

* PR feedback

* Add errors for invalid assignments and a trailing '?.'

* Add additional signature help test, fix lint warnings

* Fix to insert text for completions

* Add initial control-flow analysis for optional chains

* PR Feedback and more tests

* Update to control flow

* Remove mangled smart quotes in comments

* Fix lint, PR feedback

* Updates to control flow

* Switch to FlowCondition for CFA of optional chains

* Fix ?. insertion for completions on type variables

* Accept API baseline change

* Clean up types

* improve control-flow debug output

* Revert Debug.formatControlFlowGraph helper
2019-09-30 12:33:28 -07:00
Anders Hejlsberg 7ce793c5b8
Merge pull request #33678 from microsoft/fix33617
Property handle recursive type references in type inference
2019-09-30 11:15:27 -07:00
Wesley Wigham 7f3c03d441
Implement declaration emit for accessors in the js declaration emitter (#33649)
* Implement declaration emit for accessors in the js declaration emitter

* Use `or`
2019-09-30 11:09:35 -07:00
Anders Hejlsberg ff5d38a94b
Merge pull request #33622 from microsoft/fix33580
Error when assertion function calls aren't CFA'd
2019-09-30 10:57:26 -07:00
Sheetal Nandi 1a614a27d1 Fix issue when types installed after watch/editor is opened for auto type reference that is for global types not being detected
Fixes #32285
2019-09-30 09:58:33 -07:00
Anders Hejlsberg 2a4d267af8 Accept new baselines 2019-09-30 09:28:26 -07:00
Anders Hejlsberg 46bddedb4b Add regression tests 2019-09-30 09:28:19 -07:00
Anders Hejlsberg ed497c4149 Properly handle recursive type references in type inference 2019-09-30 08:54:02 -07:00
Orta Therox 4c4a683d03 Merge branch 'small_ts' of https://github.com/orta/TypeScript into small_ts 2019-09-30 08:41:56 -04:00
Orta Therox c64af5e505 Remove the post-publish script 2019-09-30 08:29:16 -04:00
Anders Hejlsberg e5af71e3cd Accept new baselines 2019-09-27 15:23:57 -07:00
Anders Hejlsberg 34f6e681c4 Update tests 2019-09-27 15:23:49 -07:00
Anders Hejlsberg 56e0c6b16e Accept new baselines 2019-09-27 15:20:03 -07:00
Anders Hejlsberg 02395a9b27 Fix error message 2019-09-27 15:17:49 -07:00
Sheetal Nandi 20e2be1e1a
Merge pull request #33642 from microsoft/undoListFiles
Undo showing redirected files in --listFiles
2019-09-27 15:10:24 -07:00
Anders Hejlsberg 4648d6aeb2 Revise error messages + related spans + no errors on never-returning functions 2019-09-27 15:05:13 -07:00
Max Heiber c80d565bc5 Enable forceConsistentCasingInFileNames by default in newly generated configs (#39) (#33614)
*Issue number of the reported bug or feature request: #17542*

**Describe your changes**
Enabled `forceConsistentCasingInFileNames` in newly generated `tsconfig.json`s created by `tsc --init`.

**Testing performed**
The configuration option changed in the related tests.

**Additional context**
n/a


Signed-off-by: Prakash Lalwani <plalwani4@bloomberg.net>
2019-09-27 14:42:30 -07:00
Sheetal Nandi 49a52d02d3
Merge pull request #33636 from microsoft/rootReferenceRedirect
Fix the issue when file is attached to project because its a root file name but program contains instead its d.ts
2019-09-27 14:36:08 -07:00
TypeScript Bot c283809062 Update user baselines (#33635) 2019-09-27 14:33:05 -07:00
Sheetal Nandi f713668abe Undo showing redirected files in --listFiles 2019-09-27 14:26:38 -07:00
Wesley Wigham 293816875c
Support some late-bound special property assignments (#33220)
* Support some late-bound special property assignments

* Integrate PR feedback

* PR feedback

* Enable declaration on core tests

* Specialize type of binary expression used for late binding, speculative fix to navigation bar, merge check and type for elem/property accesses

* Add test showing current nav bar behavior (specifically the lack thereof)
2019-09-27 13:54:50 -07:00
Andrew Branch 304fcee09b
Updated: Only auto-import from package.json (#32517)
* Move package.json related utils to utilities

* Add failing test

* Make first test pass

* Don’t filter when there’s no package.json, fix scoped package imports

* Use type acquisition as a heuristic for whether a JS project is using node core

* Make same fix in getCompletionDetails

* Fix re-exporting

* Change JS node core module heuristic to same-file utilization

* Remove unused method

* Remove other unused method

* Remove unused triple-slash ref

* Update comment

* Refactor findAlias to forEachAlias to reduce iterations

* Really fix re-exporting

* Use getModuleSpecifier instead of custom hack

* Fix offering auto imports to paths within node modules

* Rename things and make comments better

* Add another reexport test

* Inline `symbolHasBeenSeen`

* Simplify forEachAlias to findAlias

* Add note that symbols is mutated

* Symbol order doesn’t matter here

* Style nits

* Add test with nested package.jsons

* Fix and add tests for export * re-exports

* Don’t fail when alias isn’t found

* Make some easy optimizations

* Clean up memoization when done

* Remove unnecessary semicolon

* Make getSymbolsFromOtherSourceFileExports pure

* Cache auto imports

* Revert "Cache auto imports"

This reverts commit 8ea4829587.

* Handle merged symbols through cache

* Be safer with symbol declarations, add logging

* Improve cache invalidation for imports and exports

* Check symbol presence first

* Only run cache invalidation logic if there’s something to clear

* Consolidate cache invalidation logic

* Fix reuseProgramStructure test

* Add more logging

* Only clear cache if symbols are different

* Refactor ambient module handling

* Start caching package.json stuff

* Support package.json searching in fourslash

* Move import suggestions cache to Project

* Start making more module specifier work available without having the importing file

* Going to backtrack some from here

* Get rid of dumb cache, fix node core modules stuff

* Start determining changes to a file have invalidated its own auto imports

* Move package.json related utils to utilities

* Add failing test

* Make first test pass

* Don’t filter when there’s no package.json, fix scoped package imports

* Use type acquisition as a heuristic for whether a JS project is using node core

* Make same fix in getCompletionDetails

* Fix re-exporting

* Change JS node core module heuristic to same-file utilization

* Remove unused method

* Remove other unused method

* Remove unused triple-slash ref

* Update comment

* Refactor findAlias to forEachAlias to reduce iterations

* Really fix re-exporting

* Use getModuleSpecifier instead of custom hack

* Fix offering auto imports to paths within node modules

* Rename things and make comments better

* Add another reexport test

* Inline `symbolHasBeenSeen`

* Simplify forEachAlias to findAlias

* Add note that symbols is mutated

* Symbol order doesn’t matter here

* Style nits

* Add test with nested package.jsons

* Fix and add tests for export * re-exports

* Don’t fail when alias isn’t found

* Make some easy optimizations

* Clean up memoization when done

* Remove unnecessary semicolon

* Make getSymbolsFromOtherSourceFileExports pure

* Cache auto imports

* Revert "Cache auto imports"

This reverts commit 8ea4829587.

* Handle merged symbols through cache

* Be safer with symbol declarations, add logging

* Improve cache invalidation for imports and exports

* Check symbol presence first

* Only run cache invalidation logic if there’s something to clear

* Consolidate cache invalidation logic

* Fix reuseProgramStructure test

* Add more logging

* Only clear cache if symbols are different

* Refactor ambient module handling

* Finish(?) sourceFileHasChangedOwnImportSuggestions

* Make package.json info model better

* Fix misplaced paren

* Use file structure cache for package.json detection when possible

* Revert unnecessary changes in moduleSpecifiers

* Revert more unnecessary changes

* Don’t watch package.jsons inside node_modules, fix tests

* Work around declaration emit bug

* Sync submodules?

* Delete unused type

* Add server cache tests

* Fix server fourslash editing

* Fix packageJsonInfo tests

* Add node core modules cache test and fix more fourslash

* Clean up symlink caching

* Improve logging

* Function name doesn’t make any sense anymore

* Move symlinks cache to host

* Fix markFileAsDirty from ScriptInfo

* Mark new Project members internal

* Use Path instead of fileName

* Rename AutoImportSuggestionsCache

* Improve WatchType description

* Remove entries() from packageJsonCache

* Fix path/fileName bug

* Also cache symlinks on Program for benefit of d.ts emit

* Let language service use Program’s symlink cache
2019-09-27 13:38:31 -07:00
Wesley Wigham 558ece72cb
Add support for capturing cpu profiles into tsc itself (#33586)
* Add support for capturing cpu profiles into tsc itself

* Accept baseline for new compiler option in showConfig

* Fix lints

* Support profiling build mode, only ever have one live profiling session

* Minor modification to enable/disable semaphore, accept re-cased baseline

* Add pid into autognerated cpuprofile path

* Rename to fix case

* Sanitize filepaths in emitted cpuprofile for easier adoption by enterprise people, add inspector to browser field
2019-09-27 13:34:44 -07:00
Wesley Wigham 8d7fd2e691
Respect //@ts-nocheck in TS files (#33383) 2019-09-27 12:06:05 -07:00
Andrii Dieiev a34fdb203e Better template literals support in checker (#32064)
* Support template literals in enum declarations

* Support template literals in const enum access

* Support template literals in swith with typeof narrowing

* Support template literals in element access discriminant

* Support template literals in ambient module declaration

* Unify symbols for template literals in computed properties

* Unify expression position checks for template literals

* Support template literals in rename and find all references

* Mark computed properties with template literals as write access

* Inline startsWithQuote
2019-09-27 12:04:13 -07:00
Sheetal Nandi 8e4f47c8a9 Fix the issue when file is attached to project because its a root file name but program contains instead its d.ts
Fixes #33323
2019-09-27 09:00:29 -07:00
Sheetal Nandi 1c24e27ce4 Add the test that fails with find all references 2019-09-27 09:00:29 -07:00
Collins Abitekaniza c0573c59c9 Prevent collision of imported type with exported declarations in current module (#31231)
* check for exported type name for conflict

* refactor baseline tests for import/export name collision
2019-09-27 07:55:04 -07:00
Anders Hejlsberg a13f8621c2 Handle alias symbols in getTypeOfDottedName 2019-09-26 17:24:14 -07:00
Nathan Shively-Sanders e72937deff
Update DOM (#33627)
* Update DOM

* Update baselines
2019-09-26 17:20:05 -07:00
Daniel Rosenwasser b4941f6777
Merge pull request #33625 from m-henderson/mh/33603-error-message-for-missing-member
Better error message for missing member in tslib
2019-09-26 16:22:41 -07:00
Michael Henderson b183b7fd51 Merge branch 'master' into mh/33603-error-message-for-missing-member 2019-09-26 17:30:25 -05:00
Michael Henderson 64683a1a4a update message, generate diagnostics, update src and accept baselines 2019-09-26 17:15:35 -05:00